@charset 'utf-8';

:root {
  --font-base: 'Noto Sans JP', sans-serif;
  --font-en: 'din-condensed-variable', sans-serif;
  --color-lime: #E8FF34;
  --color-purple: #736BEB;
  --fs-10: 2.5641vw;  /* 10px */
  --fs-11: 2.8205vw;  /* 11px */
  --fs-12: 3.0769vw;  /* 12px */
  --fs-13: 3.3333vw;  /* 13px */
  --fs-14: 3.5897vw;  /* 14px */
  --fs-15: 3.8462vw;  /* 15px */
  --fs-16: 4.1026vw;  /* 16px */
  --fs-17: 4.3590vw;  /* 17px */
  --fs-18: 4.6154vw;  /* 18px */
  --fs-19: 4.8718vw;  /* 19px */
  --fs-20: 5.1282vw;  /* 20px */
  --fs-21: 5.3846vw;  /* 21px */
  --fs-22: 5.6410vw;  /* 22px */
  --fs-23: 5.8974vw;  /* 23px */
  --fs-24: 6.1538vw;  /* 24px */
  --fs-28: 7.179vw;  /* 28px */
  --fs-30: 7.692vw;
  --fs-32: 8.205vw;
  --fs-40: 10.256vw;
  --fs-42: 10.769vw;
  --fs-50: 12.821vw;
  --fs-90: 23.077vw;
}

/* splide */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}

body {
  font-family: var(--font-base);
}
::selection {
  background: #D8D6FA;
  color: #222;
}
.u-font-en {
  font-family: var(--font-en);
}
.wrap {
  font-weight: normal;
  line-height: 1;
}
.wrap a:hover {
  color: inherit;
  text-decoration: none;
}
.wrap img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.pcOnly {
  display: none;
}

.c-heading {
  margin-bottom: 21.282vw;
  font-size: var(--fs-50);
  font-weight: bold;
  text-align: center;
}
.c-headingJP {
  display: block;
  margin-top: .5em;
  font-size: var(--fs-16);
}

/* ヘッダー */
.header {
  line-height: 1;
}

/* ヘッダー（TOP以外） */
.header--sub {
  position: relative;
  padding: 3.077vw 3.59vw 6.154vw;
  background: linear-gradient(to bottom, var(--color-lime), rgba(255,255,255, 0));
  z-index: 10;
}
.header__logo {
  width: 32.308vw;
}

/* ハンバーガーメニュー */
.header__menu {
  position: fixed;
  top: 2.8vw;
  right: 3vw;
  z-index: 10;
}
.header__menuBtn {
  width: 42.051vw;
  height: 6.154vw;
  padding: 0 2.051vw;
  background-color: #303030;
  border-radius: 0 3.846vw 0 0;
  color: var(--color-lime);
  font-size: var(--fs-14);
  font-weight: 300;
  transition: .5s all;
}
.header__menuBtn:focus-visible {
  outline: none;
}
.is-open .header__menuBtn {
  width: 56.154vw;
}
.header__menuBtn::before,
.header__menuBtn::after {
  content: '';
  position: absolute;
  right: 4.103vw;
  width: 5.128vw;
  height: 1px;
  background-color: var(--color-lime);
  transition: .5s all;
}
.header__menuBtn::before {
  top: 2.521vw;
}
.is-open .header__menuBtn::before {
  top: 3.121vw;
  transform: rotate(20deg);
}
.header__menuBtn::after {
  top: 3.621vw;
}
.is-open .header__menuBtn::after {
  top: 3.121vw;
  transform: rotate(-20deg);
}
.header__menuBtn span {
  display: block;
  transform: translateY(.08em);
  opacity: 1;
  transition: .5s all;
}
.is-open .header__menuBtn span {
  opacity: 0;
}
.header__menuList {
  position: relative;
  width: 100%;
  height: 6.154vw;
  margin-top: -6.154vw;
  background-color: #303030;
  border-radius: 0 3.846vw 0 3.846vw;
  overflow: hidden;
  z-index: -1;
  transition: .5s all;
}
.is-open .header__menuList {
  height: auto;
  padding: 10.256vw 4.359vw;
}
.header__menuList > li {
  font-size: var(--fs-40);
}
.header__menuList > li + li {
  margin-top: .5em;
}
.header__menuList li {
  color: var(--color-lime);
}
.header__menuListChild {
  margin-top: 2.821vw;
  padding-left: 4.103vw;
}
.header__menuListChild li {
  font-size: var(--fs-21);
}
.header__menuListChild li + li {
  margin-top: .5em;
}

/* フッター（TOPのみ） */
.footer {
  padding: 5.128vw;
  background-color: #000;
  color: #fff;
}
.footer__contact {
  padding: 7.692vw 5.128vw;
  background-color: #1B1B1C;
}
.footer__contact-heading {
  margin-bottom: 1.282vw;
  font-size: var(--fs-40);
}
.footer__contact-text {
  font-size: var(--fs-13);
  line-height: 1.6;
}
.footer__contact-btn {
  position: relative;
  display: block;
  margin-top: 6.41vw;
  padding: 2.821vw 4.103vw;
  border: solid 1px #fff;
  border-radius: 7.692vw;
  font-size: var(--fs-13);
}
.footer__contact-btn::after {
  content: '';
  position: absolute;
  top: 0;
  right: 4.103vw;
  bottom: 0;
  width: 7.949vw;
  height: 2.051vw;
  margin: auto;
  background: url(../img/icon_arrow_wh.svg) left top / contain no-repeat;
}
.footer__logo {
  margin-top: 10.256vw;
}
.footer__logo span {
  display: block;
  margin-bottom: 3.59vw;
  font-size: var(--fs-20);
  font-weight: 300;
}
.footer__copyright {
  display: block;
  margin-top: 1.5em;
  color: #ABABAB;
  font-size: var(--fs-10);
  text-align: right;
}

/* 下層ページ共通 */
.sub {
  padding-block: 21.282vw;
}

/* voice splide */
.voiceSlide__list {
  height: auto;
}
.voiceSlide__list li {
  border-radius: 2.051vw;
  overflow: hidden;
}
.voiceSlide__list li a,
.voiceSlide__list li > span {
  position: relative;
  display: block;
}
.voiceSlide__list li a::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 13.59vw;
  height: 6.923vw;
  background: url(../img/icon_arrow_ye.svg) center center / 8.205vw 2.251vw no-repeat var(--color-purple);
  border-radius: 2.051vw 0 0 0;
}
.voiceSlide__list li a span,
.voiceSlide__list li > span span {
  position: absolute;
  left: 1em;
  bottom: 1em;
  width: 70%;
  color: #fff;
  font-size: var(--fs-13);
  line-height: 1.8;
  text-align: left;
}

@media screen and (min-width: 768px) {

  :root {
    --fs-10: clamp(1px, 0.694vw, 0.625rem);  /* 10px */
    --fs-11: clamp(1px, 0.764vw, 0.6875rem); /* 11px */
    --fs-12: clamp(1px, 0.833vw, 0.75rem);   /* 12px */
    --fs-13: clamp(1px, 0.903vw, 0.8125rem); /* 13px */
    --fs-14: clamp(1px, 0.972vw, 0.875rem);  /* 14px */
    --fs-15: clamp(1px, 1.042vw, 0.9375rem); /* 15px */
    --fs-16: clamp(1px, 1.111vw, 1rem);      /* 16px */
    --fs-17: clamp(1px, 1.181vw, 1.0625rem); /* 17px */
    --fs-18: clamp(1px, 1.25vw, 1.125rem);   /* 18px */
    --fs-19: clamp(1px, 1.319vw, 1.1875rem); /* 19px */
    --fs-20: clamp(1px, 1.389vw, 1.25rem);   /* 20px */
    --fs-21: clamp(1px, 1.458vw, 1.3125rem); /* 21px */
    --fs-22: clamp(1px, 1.528vw, 1.375rem);  /* 22px */
    --fs-23: clamp(1px, 1.597vw, 1.4375rem); /* 23px */
    --fs-24: clamp(1px, 1.667vw, 1.5rem);    /* 24px */
    --fs-32: clamp(1px, 2.222vw, 2rem);
    --fs-36: clamp(1px, 2.5vw, 2.25rem);
    --fs-40: clamp(1px, 2.778vw, 2.5rem);
    --fs-41: clamp(1px, 2.847vw, 2.5625rem);
    --fs-48: clamp(1px, 3.333vw, 3rem);
    --fs-60: clamp(1px, 4.167vw, 3.75rem);
    --fs-64: clamp(1px, 4.444vw, 4rem);
    --fs-81: clamp(1px, 5.625vw, 5.0625rem);
    --fs-90: clamp(1px, 6.25vw, 5.625rem);
    --fs-124: clamp(1px, 8.611vw, 7.75rem);
  }

  .wrap a {
    transition: .25s opacity;
  }
  .wrap a:hover {
    opacity: .7;
  }
  .spOnly {
    display: none;
  }
  .pcOnly {
    display: block;
  }

  .c-heading {
    margin-bottom: 6.25vw;
    font-size: var(--fs-81);
  }
  .c-headingJP {
    font-size: var(--fs-24);
  }

  /* ヘッダー（TOP以外） */
  .header--sub {
    padding: 1.528vw 1.528vw 1.736vw;
  }
  .header__logo {
    width: 14.097vw;
  }

  /* ハンバーガーメニュー */
  .header__menu {
    top: 1.25vw;
    right: 1.5vw;
    width: 18.125vw;
  }
  .header__menuBtn {
    width: 18.125vw;
    height: 2.431vw;
    padding: 0 2.051vw;
    border-radius: 0 1.389vw 0 0;
    font-size: var(--fs-16);
  }
  .is-open .header__menuBtn {
    width: 18.125vw;
  }
  .header__menuBtn::before,
  .header__menuBtn::after {
    right: 1.389vw;
    width: 2.083vw;
  }
  .header__menuBtn::before {
    top: 1.1vw;
  }
  .is-open .header__menuBtn::before {
    top: 1.7vw;
  }
  .header__menuBtn::after {
    top: 1.5vw;
  }
  .is-open .header__menuBtn::after {
    top: 1.7vw;
  }
  .header__menuList {
    height: 2.431vw;
    margin-top: -2.431vw;
    padding: 0 1.389vw;
    border-radius: 0 1.389vw 0 1.389vw;
  }
  .is-open .header__menuList {
    padding: 2.778vw 1.389vw;
  }
  .header__menuList > li {
    font-size: var(--fs-40);
  }
  .header__menuListChild {
    margin-top: .764vw;
    padding-left: 1.111vw;
  }
  .header__menuListChild li {
    font-size: var(--fs-21);
  }

  /* フッター（TOPのみ） */
  .footer {
    position: relative;
    padding: 4.167vw;
  }
  .footer__contact {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 4.514vw 4.236vw;
  }
  .footer__contact-heading {
    margin-bottom: 1.282vw;
    font-size: var(--fs-90);
  }
  .footer__contact-text {
    font-size: var(--fs-18);
    line-height: 1.8;
  }
  .footer__contact-btn {
    width: 36.111vw;
    margin-top: 0;
    padding: 1.944vw 2.292vw;
    border-radius: 7.692vw;
    font-size: var(--fs-20);
  }
  .footer__contact-btn::after {
    right: 2.292vw;
    width: 4.028vw;
    height: 1.042vw;
  }
  .footer__logo {
    margin-top: 7.639vw;
  }
  .footer__logo span {
    margin-bottom: 4.653vw;
    font-size: var(--fs-60);
  }
  .footer__copyright {
    position: absolute;
    right: 4.167vw;
    bottom: 18vw;
    margin-top: 0;
    font-size: var(--fs-12);
  }

  /* 下層ページ共通 */
  .sub {
    padding-block: 80px;
  }

  /* voice splide */
  .voiceSlide__list li {
    border-radius: 10px;
  }
  .voiceSlide__list li a::after {
    width: 59px;
    height: 35px;
    background: url(../img/icon_arrow_ye.svg) center center / 32px 8px no-repeat var(--color-purple);
    border-radius: 10px 0 0 0;
  }
  .voiceSlide__list li a span,
  .voiceSlide__list li > span span {
    font-size: var(--fs-18);
  }

}


/* global footer
-----------------------------------------------------------------------------*/

.global-footer .pagetop {
  z-index: 3;
}