@charset "utf-8";
/*---------- html/body ----------*/
html {
  scroll-behavior: smooth;
  background: var(--color_base);
}
body {
  opacity: 0;
  transition: opacity 0.6s ease;
  overflow-x: hidden;
}
body.is-loaded {
  opacity: 1;
}
html,body {
  width: 100%;
  height: 100%;
  font-family: var(--font_body);
  font-weight: 500;
  color: var(--color_txt_base);
}
html,body,
:where(p, h1, h2, h3, h4, h5, h6) {
  line-height: 1.4;
  letter-spacing: .02em;
  font-size: 20px;
}

@media screen and (max-width : 767px){
  main {
    overflow: hidden;
  }
}
@media screen and (max-width : 1000px){
  html,body,
  :where(p, h1, h2, h3, h4, h5, h6) {
    font-size: 17px;
  }
}
@media screen and (max-width : 767px){
  html,body,
  :where(p, h1, h2, h3, h4, h5, h6) {
    font-size: 15px;
  }
}
@media screen and (max-width : 414px){
  html,body,
  :where(p, h1, h2, h3, h4, h5, h6) {
    font-size: 3.5vw;
  }
}

/*---------- WordPressスクリーンリーダー ----------*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
/*---------- link ----------*/
a {
  outline: none;
  text-decoration: none;
  color: var(--color_txt_base);
  transition: .3s;
}

/*---------- マウスオーバー ----------*/
.ov{
  display:inline-block;
}
@media (hover: hover) and (pointer: fine) {
  /*----- :hover -----*/
  .ov{
    -webkit-transition:.3s;
    transition: .3s;
    cursor: pointer;
  }
  .ov:hover{
    opacity: .65;
    text-decoration: none;
  }
}
/*---------- font ----------*/
.font_regular {
  font-weight: 400;
}
.font_medium {
  font-weight: 400;
  font-weight: 500;
}
.font_bold {
  font-weight: 600;
  font-weight: 700;
}
.font_josefin { /*google font*/
  font-family: 'Josefin Sans', 'Yu Gothic medium', YuGothic, 'Hiragino Sans', Meiryo, sans-serif;
}
.font_gothic { /*google font*/
  font-family: 'Yu Gothic medium', YuGothic, 'Hiragino Sans', Meiryo, sans-serif;
}
.font_mincho { /*google font*/
  font-family: YuMincho, 'Yu Mincho', 'Hiragino Mincho ProN', serif;
}
.font_size50 {
  font-weight: inherit;
  font-size: 50%;
}
.font_size60 {
  font-weight: inherit;
  font-size: 60%;
}
.font_size70 {
  font-weight: inherit;
  font-size: 70%;
}
.font_size80 {
  font-weight: inherit;
  font-size: 80%;
}
.font_size85 {
  font-weight: inherit;
  font-size: 85%;
}
.font_size90 {
  font-weight: inherit;
  font-size: 90%;
}
.font_size95 {
  font-weight: inherit;
  font-size: 95%;
}
.font_size100 {
  font-weight: inherit;
  font-size: 100%;
}
.font_size110 {
  font-weight: inherit;
  font-size: 110%;
}
.font_size120 {
  font-weight: inherit;
  font-size: 120%;
}
.font_size130 {
  font-weight: inherit;
  font-size: 130%;
}
.font_size140 {
  font-weight: inherit;
  font-size: 140%;
}
.font_size150 {
  font-weight: inherit;
  font-size: 150%;
}
.font_size160 {
  font-weight: inherit;
  font-size: 160%;
}
.font_size170 {
  font-weight: inherit;
  font-size: 170%;
}
.font_size180 {
  font-weight: inherit;
  font-size: 180%;
}
.font_size200 {
  font-weight: inherit;
  font-size: 200%;
}
/*---------- text ----------*/
.text_center {
  text-align: center;
}

/*---------- color ----------*/
.color_red {
  color: #e60012;
}
.color_navy {
  color: #0a2e6c;
}
.color_blue {
  color: #296abc;
}
.color_000 {
  color: #000;
}
.color_333 {
  color: #333;
}

/*---------- indent ----------*/
.ind_1em {
  text-indent: -1em;
  margin-left: 1em;
}

/*---------- display ----------*/
.display_none {
  display: none;
}
.display_block {
  display: block;
}
.inline_block {
  display: inline-block;
}
/*---------- flex ----------*/
.flex {
  display: flex;
  flex-grow: 1;
}

/*---------- margin ----------*/
.mt_00 {
  margin-top: 0 !important;
}
.mt_05em {
  margin-top: .5em !important;
}
.mt_06em {
  margin-top: .6em !important;
}
.mt_07em {
  margin-top: .7em !important;
}
.mt_1em {
  margin-top: 1em !important;
}
.mt_2em {
  margin-top: 2em !important;
}
.mt_3em {
  margin-top: 3em !important;
}
.mt_4em {
  margin-top: 4em !important;
}
.mt_5em {
  margin-top: 5em !important;
}
.ml_1em {
  margin-left: 1em !important;
}

/* -----------------------------------------------------------------
 for_sp / for_pc
----------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  :where(.for_sp) {
    display: block;
  }
  .for_pc {
    display: none;
  }
  .for_pc_inline {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .for_sp {
    display: none;
  }
  .for_sp_inline {
    display: none;
  }
  :where(.for_pc) {
    display: block;
  }
}
