@charset "UTF-8";
/* layouts */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&Noto+Serif+JP:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Special+Gothic+Expanded+One&display=swap");
:root {
  /* custom color */
  --black: #000;
  --white: #fff;
  --kous-black: #333;
  --gray: #ddd;
  --blue: blue;
  --main_blue: #00aaf2;
  --dark_blue: #0068b7;
  --lightblue_bg: #f1f6f8;
  --border: #C9C9C9;
  --border_blue: #CED2D6;
  --time_color: #BBBCBE;
  /* template color */
  --main-color: var(--kous-black);
  --main-bg-color: var(--white);
  --main-border-color: #e1e1e1;
  /* footer */
  --footer-menu-border: var(--gray);
  --copyright-bg: var(--white);
  --copyright-color: var(--kous-black);
  /* hamburger menu */
  --hamburger-trigger-bg: var(--kous-black);
  --hamburger-trigger-bar: var(--white);
  --hamburger-bg: var(--dark_blue);
  --hamburger-border: var(--white);
  --hamburger-color: var(--white);
  /* pagenavi */
  --pagenavi-navi-bg: var(--blue);
  --pagenavi-navi-border: var(--white);
  /* contact page Navi*/
  --form-page-tab: #F1F6F8;
  --form-tab-border: transparent;
  --form-tab-line: #173F92;
  --form-page-active: #00AAF2;
  --form-active-color: var(--white);
  /* policy */
  --policy-dt-color: var(--kous-black);
  --policy-link-color: var(--dark_blue);
  /* 404 */
  --404-h1_color: var(--kous-black);
  --404-p_color: #C9C9C9;
  --404-menu-border: #C9C9C9;
}

/* form */
.mw_wp_form {
  --form-bg-color: #F1F6F8;
  --form-white: var(--white);
  --form-red: #c50000;
  --form-gray: #999999;
  --form-border: #cccccc;
  --form-policy-linkcolor: var(--dark_blue);
  --form-go-bg: var(--dark_blue);
  --form-go-color: var(--white);
  --form-back-bg: var(--dark_blue);
}

:root {
  font-size: 16px;
}

.mincho {
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 500;
}

.disp__only {
  display: none;
}
@media screen and (max-width: 900px) {
  .disp__only.--mobile {
    display: block;
  }
}
@media screen and (max-width: 450px) {
  .disp__only.--sp {
    display: block;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex._list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex._fdr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 900px) {
  .flex._fdr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.l-mv {
  position: relative;
  padding-top: clamp(24px, 3.5555555556vw, 32px);
  padding-bottom: clamp(120px, 35.25vw, 564px);
}
@media screen and (min-width: 1601px) {
  .l-mv {
    padding-bottom: clamp(120px, 75.5555555556vw, 680px);
  }
}
@media screen and (max-width: 900px) {
  .l-mv {
    padding-top: 40px;
    padding-bottom: clamp(96px, 13.3333333333vw, 120px);
  }
}
.l-mv-catch {
  position: relative;
  z-index: 1;
  display: inline-block;
}
.l-mv-catch span {
  opacity: 0;
}
.lazy-show .l-mv-catch span {
  opacity: 1;
}
.l-mv-catch span.en {
  color: var(--main_blue);
  font-family: "Special Gothic Expanded One", sans-serif;
  font-weight: 400;
  font-size: clamp(3.1875rem, 8.75vw, 8.75rem);
  line-height: 1.05em;
  -webkit-transition: all 0.3s 1.5s;
  transition: all 0.3s 1.5s;
}
@media screen and (max-width: 900px) {
  .l-mv-catch span.en {
    font-size: clamp(3.1875rem, 10.9375vw, 8.75rem);
  }
}
.l-mv-catch span.jp {
  position: absolute;
  right: clamp(80px, 10.3vw, 206px);
  top: clamp(30px, 3.875vw, 62px);
  font-size: clamp(0.9375rem, 1.8888888889vw, 1.0625rem);
  font-weight: 600;
  line-height: 1.8823529412em;
  -webkit-transition: all 0.3s 1.7s;
  transition: all 0.3s 1.7s;
}
@media screen and (max-width: 1240px) {
  .l-mv-catch span.jp {
    position: relative;
    right: initial;
    top: initial;
    display: block;
    margin-top: 8px;
  }
}
.l-mv-slider {
  position: absolute;
  width: 95%;
  top: clamp(36px, 22.265625vw, 285px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0 clamp(20px, 3.125vw, 40px);
  max-width: 1520px;
}
@media screen and (max-width: 900px) {
  .l-mv-slider {
    position: relative;
    display: block;
    top: initial;
    left: initial;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    width: calc(100% - 80px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 36px 40px 0;
    aspect-ratio: 12/13;
  }
}
@media screen and (max-width: 450px) {
  .l-mv-slider {
    margin: 36px 20px 0;
    width: calc(100% - 40px);
    aspect-ratio: 6/8;
  }
}
.l-mv-slider ._left {
  overflow: hidden;
  border-radius: 20px;
  opacity: 0;
  margin-top: clamp(140px, 20.5vw, 328px);
  width: clamp(224px, 39.5vw, 632px);
  -webkit-transition: all 0.5s 1s;
  transition: all 0.5s 1s;
}
@media screen and (max-width: 900px) {
  .l-mv-slider ._left {
    position: absolute;
    bottom: 0;
    width: clamp(224px, 49.375vw, 632px);
  }
}
.lazy-show .l-mv-slider ._left {
  opacity: 1;
}
.l-mv-slider ._right {
  overflow: hidden;
  border-radius: 20px;
  opacity: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 55.79%;
  -webkit-transition: all 0.5s 0.5s;
  transition: all 0.5s 0.5s;
}
@media screen and (max-width: 900px) {
  .l-mv-slider ._right {
    width: clamp(300px, 66.25vw, 848px);
    position: absolute;
    right: 0;
  }
}
.lazy-show .l-mv-slider ._right {
  opacity: 1;
}