@charset "UTF-8";
/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
body {
  background: #fff;
  color: #2F2F2F;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
  font-feature-settings: "palt";
}

input, button, textarea, select {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  outline: none;
}

*:before, *:after {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}
img.w100 {
  width: 100%;
}

a {
  text-decoration: none;
}

a[href*="tel:"] {
  text-decoration: underline;
}
@media (hover: hover) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}

@media (max-width: 768px) {
  .pc-br {
    display: none;
  }
}

@media (min-width: 769px) {
  .sp-br {
    display: none;
  }
}

@container (max-width: 768px) {
  .cont-pc-br {
    display: none;
  }
}

@container (min-width: 769px) {
  .cont-sp-br {
    display: none;
  }
}

@media (max-width: 768px) {
  .pc-disp {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp-disp {
    display: none !important;
  }
}

@media (hover: hover) {
  .opacity-link {
    transition: opacity 0.2s ease;
  }
  .opacity-link:hover {
    opacity: 0.6;
  }
}
.txt-link {
  text-decoration: underline;
}
@media (hover: hover) {
  .txt-link:hover {
    text-decoration: none;
  }
}

.txt-line {
  text-decoration: underline;
}

.wrapper {
  min-width: 320px;
  clip-path: inset(0 0 0 0);
}

/* =========================================================
common parts
========================================================= */
/*------------------------------------------
title
------------------------------------------*/
.c-ttl01 {
  max-width: 1366px;
  margin: 0 auto;
}
.c-ttl01__en {
  color: #fff;
  font-family: "Krona One", sans-serif;
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 768px) {
  .c-ttl01__en {
    font-size: clamp(1px, 13.33vw, 50px);
  }
}
@media (min-width: 769px) {
  .c-ttl01__en {
    font-size: clamp(1px, 11.71vw, 160px);
  }
}
.c-ttl01__ja {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  line-height: 1.45;
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .c-ttl01__ja {
    padding: 0 5.33vw;
    font-size: 14px;
    gap: 5px;
  }
}
@media (min-width: 769px) {
  .c-ttl01__ja {
    padding: 0 clamp(1px, 9.73vw, 133px);
    font-size: clamp(1px, 1.46vw, 20px);
    gap: 10px;
  }
}
.c-ttl01__ja::before {
  content: "";
  aspect-ratio: 1/1;
  background: #208AFF;
  -webkit-mask: url(../images/common/star01.svg) no-repeat center/contain;
          mask: url(../images/common/star01.svg) no-repeat center/contain;
}
@media (max-width: 768px) {
  .c-ttl01__ja::before {
    width: 24px;
  }
}
@media (min-width: 769px) {
  .c-ttl01__ja::before {
    width: 33px;
  }
}
@media (max-width: 768px) {
  .c-ttl01.type02 .c-ttl01__en {
    font-size: clamp(1px, 10.13vw, 38px);
  }
}
@media (min-width: 769px) {
  .c-ttl01.type02 .c-ttl01__en {
    font-size: clamp(1px, 5.85vw, 80px);
  }
}
.c-ttl01.type02 .c-ttl01__ja {
  padding: 0;
}

/*------------------------------------------
button
------------------------------------------*/
.c-btn01 a,
.c-btn01 button {
  padding: 26px 0;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.c-btn01 a::before,
.c-btn01 button::before {
  content: "";
  width: 17px;
  height: 17px;
  -webkit-mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/common/ico_arrow01.svg) no-repeat center/contain;
  background: #2F2F2F;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}
.c-btn01 .en {
  font-family: "Krona One", sans-serif;
  font-weight: 400;
}
.c-btn01.shadow-w a,
.c-btn01.shadow-w button {
  box-shadow: 0px 0px 60px #fff;
}
.c-btn01.shadow-b a,
.c-btn01.shadow-b button {
  box-shadow: 0px 0px 60px #d9ebff;
}
@media (hover: hover) {
  .c-btn01 a,
  .c-btn01 button {
    transition: color 0.2s ease, background 0.2s ease, letter-spacing 0.2s ease;
  }
  .c-btn01 a::before,
  .c-btn01 button::before {
    transition: right 0.2s ease, background 0.2s ease;
  }
  .c-btn01 a:hover,
  .c-btn01 button:hover {
    background: #208AFF;
    color: #fff;
    letter-spacing: 0.1em;
  }
  .c-btn01 a:hover::before,
  .c-btn01 button:hover::before {
    background: #fff;
    right: 20px;
  }
}
.c-btn01.re a::before,
.c-btn01.re button::before {
  left: 30px;
  right: auto;
  transform: translateY(-50%) rotate(180deg);
}

.c-voice-btn button {
  width: 50px;
  height: 50px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-voice-btn button::before {
  content: "";
  width: 20px;
  height: 14px;
  -webkit-mask: url(../images/common/ico_vol.svg) no-repeat center/contain;
          mask: url(../images/common/ico_vol.svg) no-repeat center/contain;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: background 0.2s ease;
}
.c-voice-btn button::after {
  content: "";
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #208AFF;
  box-shadow: 0 0 0 5px rgba(32, 138, 255, 0.7), 0 0 0 10px rgba(32, 138, 255, 0.4);
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .c-voice-btn button:hover::before {
    background: #208AFF;
  }
  .c-voice-btn button:hover::after {
    background: #fff;
  }
}
.c-voice-btn button.is-on::before {
  -webkit-mask: url(../images/common/ico_stop.svg) no-repeat center/contain;
          mask: url(../images/common/ico_stop.svg) no-repeat center/contain;
}
.c-voice-btn button.is-on::after {
  animation: ripples 1s linear infinite;
}

/*------------------------------------------
card
------------------------------------------*/
.c-card01 {
  position: relative;
}
.c-card01 .c-voice-btn {
  position: absolute;
  z-index: 1;
}
@media (max-width: 768px) {
  .c-card01 .c-voice-btn {
    top: 10px;
    right: 10px;
  }
}
@media (min-width: 769px) {
  .c-card01 .c-voice-btn {
    top: 5px;
    right: 5px;
  }
}
.c-card01 a {
  display: block;
  position: relative;
}
.c-card01__img {
  overflow: hidden;
}
.c-card01__name {
  width: clamp(1px, 74.66vw, 280px);
  padding: 13px 20px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 0 30px 0 0;
  -webkit-backdrop-filter: blur(18.1875px);
          backdrop-filter: blur(18.1875px);
  font-size: 16px;
  line-height: 1.5;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-card01 a .c-card01__img img {
  transition: transform 0.4s ease;
}
@media (hover: hover) {
  .c-card01 a:hover .c-card01__img img {
    transform: scale(1.3);
  }
}

@keyframes ripples {
  0%, 100% {
    box-shadow: 0 0 0 5px rgba(32, 138, 255, 0.7), 0 0 0 10px rgba(32, 138, 255, 0.4);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(32, 138, 255, 0.4), 0 0 0 10px rgba(32, 138, 255, 0.1);
  }
}
.c-card02 {
  container-type: inline-size;
}
.c-card02 a {
  display: block;
  position: relative;
  background: #fff;
}
@media (max-width: 768px) {
  .c-card02 a {
    border-radius: 0 20px;
  }
}
@media (min-width: 769px) {
  .c-card02 a {
    border-radius: 0 30px;
  }
}
.c-card02 a::before {
  content: "";
  border-style: solid;
  border-color: transparent #208AFF #208AFF transparent;
  position: absolute;
}
@media (max-width: 768px) {
  .c-card02 a::before {
    border-width: 9px;
    right: 5px;
    bottom: 5px;
  }
}
@media (min-width: 769px) {
  .c-card02 a::before {
    border-width: 12px;
    right: 10px;
    bottom: 10px;
  }
}
.c-card02__img {
  position: relative;
}
.c-card02__img .img {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  z-index: 1;
}
.c-card02__img .img img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.c-card02__img .bg {
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #9BBAFF 0%, #fff 100%);
  position: absolute;
  bottom: -10px;
  right: -10px;
}
.c-card02 .wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.c-card02__tag {
  border-radius: 40px;
  background: #208AFF;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-card02__date {
  flex: 1;
  line-height: 1;
}
.c-card02__txt {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (max-width: 768px) {
  .c-card02__txt {
    margin: 10px auto 0;
  }
}
@media (min-width: 769px) {
  .c-card02__txt {
    margin: 14px auto 0;
  }
}
@media (hover: hover) {
  .c-card02 a::before {
    transition: bottom 0.2s ease, right 0.2s ease;
  }
  .c-card02 a .c-card02__img img {
    transition: transform 0.4s ease;
  }
  .c-card02 a:hover::before {
    right: 0;
    bottom: 0;
  }
  .c-card02 a:hover .c-card02__img img {
    transform: scale(1.3);
  }
}

/*------------------------------------------
box
------------------------------------------*/
.c-box01 {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}
.c-box01 + .c-box01 {
  margin: 40px auto 0;
}
@media (max-width: 768px) {
  .c-box01 > * + * {
    margin: 10px auto 0;
  }
}
@media (min-width: 769px) {
  .c-box01 > * + * {
    margin: 20px auto 0;
  }
}
.c-box01__ttl01 {
  color: #208AFF;
  font-weight: 700;
}
@media (max-width: 768px) {
  .c-box01__ttl01 {
    font-size: 20px;
    line-height: 1.45;
  }
}
@media (min-width: 769px) {
  .c-box01__ttl01 {
    font-size: 24px;
    line-height: 1.45;
  }
}
.c-box01__ttl02 {
  font-weight: 700;
}
@media (min-width: 769px) {
  .c-box01__ttl02 {
    font-size: 18px;
    line-height: 1.44;
  }
}
.c-box01__list01 > li {
  padding: 0 0 0 20px;
  position: relative;
}
.c-box01__list01 > li::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #208AFF;
  position: absolute;
  top: 0.65em;
  left: 0;
}
.c-box01__list01 > li + li {
  margin: 10px auto 0;
}
.c-box01__list02 > li {
  padding: 0 0 0 1em;
  position: relative;
}
.c-box01__list02 > li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

/*------------------------------------------
accordion
------------------------------------------*/
.js-accarea {
  display: grid;
  grid-template-rows: 50px;
  transition: grid-template-rows 0.4s linear;
  overflow: hidden;
}

.js-acc:has(.js-accbtn.is-open) .js-accarea {
  grid-template-rows: 410px;
}

/* =========================================================
common layout
========================================================= */
/*------------------------------------------
contents
------------------------------------------*/
.c-cont01 .c-cont__in {
  max-width: 1366px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .c-cont01 .c-cont__in {
    padding: 0 5.33vw;
  }
}
@media (min-width: 769px) {
  .c-cont01 .c-cont__in {
    padding: 0 clamp(1px, 9.73vw, 133px);
  }
}

/*------------------------------------------
block
------------------------------------------*/
.c-block01 {
  background: #fff;
}
@media (max-width: 768px) {
  .c-block01 {
    border-radius: 0 30px;
    padding: 40px 8vw;
  }
}
@media (min-width: 769px) {
  .c-block01 {
    border-radius: 0 80px;
    padding: 60px clamp(1px, 4.39vw, 60px);
  }
}
@media (max-width: 768px) {
  .c-block01__ttl {
    font-size: 20px;
    line-height: 1.5;
  }
}
@media (min-width: 769px) {
  .c-block01__ttl {
    font-size: 24px;
    line-height: 1.66;
  }
}
.c-block01__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .c-block01__head {
    margin: 20px auto 0;
    gap: 10px;
  }
}
@media (min-width: 769px) {
  .c-block01__head {
    margin: 30px auto 0;
    gap: 20px;
  }
}
.c-block01__tag {
  border-radius: 20px;
  background: #208AFF;
  color: #fff;
  line-height: 1;
}
@media (max-width: 768px) {
  .c-block01__tag {
    padding: 3px 12px;
    font-size: 12px;
  }
}
@media (min-width: 769px) {
  .c-block01__tag {
    padding: 8px 28px 9px;
    font-size: 16px;
  }
}
.c-block01__date {
  line-height: 1;
}
@media (max-width: 768px) {
  .c-block01__date {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .c-block01__date {
    font-size: 18px;
  }
}
.c-block01__img {
  text-align: center;
}
@media (max-width: 768px) {
  .c-block01__img {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .c-block01__img {
    margin: 50px auto 0;
  }
}
.c-block01__article {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
}
@media (max-width: 768px) {
  .c-block01__article {
    margin: 40px auto 0;
  }
}
@media (min-width: 769px) {
  .c-block01__article {
    margin: 20px auto 0;
  }
}
.c-block01__article iframe[src*=youtube],
.c-block01__article iframe[src*="youtu.be"] {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

/*------------------------------------------
list
------------------------------------------*/
.col1-3 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
}
@media (max-width: 768px) {
  .col1-3 {
    gap: 20px;
  }
}
@media (min-width: 769px) {
  .col1-3 {
    gap: clamp(1px, 2.92vw, 40px) clamp(1px, 2.78vw, 38px);
  }
}

.col1-2 {
  display: grid;
}
@media (max-width: 768px) {
  .col1-2 {
    gap: 20px;
  }
}
@media (min-width: 769px) {
  .col1-2 {
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
    gap: clamp(1px, 4.39vw, 60px) clamp(1px, 2.92vw, 40px);
  }
}

/* =========================================================
splash
========================================================= */
.splash {
  width: 100vw;
  height: 100lvh;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.splash-stars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.splash-stars .star {
  width: 38px;
  height: 38px;
  -webkit-mask: url(../images/common/star01.svg) no-repeat center/contain;
          mask: url(../images/common/star01.svg) no-repeat center/contain;
  background: #fff;
}
.splash [class*=splash-circle0] {
  width: var(--diagonal);
  height: var(--diagonal);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.splash-circle01 {
  background: #208AFF;
}
.splash-circle02 {
  background: #469EFF;
}
.splash-circle03 {
  background: #76B7FF;
}
.splash-circle04 {
  background: #A0CDFF;
}

.splash {
  background: #fff;
  -webkit-mask-image: linear-gradient(#000, #000), url("../images/common/mask_circle.svg");
          mask-image: linear-gradient(#000, #000), url("../images/common/mask_circle.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: 100% 100%, 0 0;
          mask-size: 100% 100%, 0 0;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  transition: -webkit-mask 1s cubic-bezier(0.76, 0, 0.24, 1) 3s;
  transition: mask 1s cubic-bezier(0.76, 0, 0.24, 1) 3s;
  transition: mask 1s cubic-bezier(0.76, 0, 0.24, 1) 3s, -webkit-mask 1s cubic-bezier(0.76, 0, 0.24, 1) 3s;
}
.splash-stars .star {
  transform: scale(0);
  transition: transform 0.5s ease;
}
.splash [class*=splash-circle0] {
  width: 0;
  height: 0;
  transition: width 0.2s ease, height 0.2s ease;
}

.splash.is-active {
  background: radial-gradient(circle, #208AFF 0%, #9BBAFF 100%) no-repeat center/cover;
  -webkit-mask-size: 100% 100%, var(--diagonal) var(--diagonal);
          mask-size: 100% 100%, var(--diagonal) var(--diagonal);
}
.splash.is-active .splash-stars .star {
  transform: scale(1);
}
.splash.is-active .splash-stars .star:nth-child(2) {
  transition-delay: 0.5s;
}
.splash.is-active .splash-stars .star:nth-child(3) {
  transition-delay: 1s;
}
.splash.is-active [class*=splash-circle0] {
  width: var(--diagonal);
  height: var(--diagonal);
  transition: width 1s cubic-bezier(0.76, 0, 0.24, 1), height 1s cubic-bezier(0.76, 0, 0.24, 1);
}
.splash.is-active .splash-circle01 {
  transition-delay: 1.5s;
}
.splash.is-active .splash-circle02 {
  transition-delay: 1.7s;
}
.splash.is-active .splash-circle03 {
  transition-delay: 1.9s;
}
.splash.is-active .splash-circle04 {
  transition-delay: 2.1s;
}

@keyframes vanish {
  0% {
    opacity: 1;
    clip-path: circle(100% at 50% 50%);
  }
  100% {
    opacity: 0;
    clip-path: circle(0% at 50% 50%);
  }
}
@keyframes expand {
  to {
    -webkit-mask-size: 300% 300%;
            mask-size: 300% 300%;
  }
}
/* =========================================================
sticky back
========================================================= */
.c-sticky-bg {
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
}
.c-sticky-bg__gradient {
  width: 100%;
  height: 100lvh;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  background: #208AFF;
  transition: background 1s ease;
}
.c-sticky-bg__gradient::before, .c-sticky-bg__gradient::after {
  content: "";
  width: 1px;
  height: 1px;
  border-radius: 50%;
  filter: blur(100px);
  transition: background 1s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  isolation: isolate;
}
.c-sticky-bg__gradient::before {
  background: #9BBAFF;
}
.c-sticky-bg__gradient::after {
  background: #208AFF;
}
.c-sticky-bg__gradient.type01 {
  background: #208AFF;
}
.c-sticky-bg__gradient.type01::before {
  background: #9BBAFF;
}
.c-sticky-bg__gradient.type01::after {
  background: #208AFF;
}
.c-sticky-bg__gradient.type02 {
  background: #E5DCFF;
}
.c-sticky-bg__gradient.type02::before {
  background: #91A7FF;
}
.c-sticky-bg__gradient.type02::after {
  background: #E5DCFF;
}
.c-sticky-bg__gradient.type03 {
  background: #E5DCFF;
}
.c-sticky-bg__gradient.type03::before {
  background: #69C6FF;
}
.c-sticky-bg__gradient.type03::after {
  background: #E5DCFF;
}
.c-sticky-bg__ripples {
  width: 100%;
  height: 100vh;
  height: 100lvh;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: screen;
  z-index: 2;
}
.c-sticky-bg__ripples video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-sticky-bg__bubbles {
  width: 100%;
  height: calc(100vh + var(--parallax-height) * 2);
  mix-blend-mode: screen;
  position: absolute;
  top: -20%;
  left: 0;
  z-index: 2;
}
@media (max-width: 768px) {
  .c-sticky-bg__bubbles {
    background: url(../images/common/bg_bubbles_sp.webp) repeat-y center/100% auto;
  }
}
@media (min-width: 769px) {
  .c-sticky-bg__bubbles {
    background: url(../images/common/bg_bubbles_pc.webp) repeat-y center/100% auto;
  }
}

.c-sticky-bg__gradient::before {
  animation: gradient 20s linear infinite;
}
.c-sticky-bg__gradient::after {
  animation: gradient 20s linear infinite 10s;
}

@keyframes gradient {
  0% {
    width: 0;
    height: 0;
    z-index: 2;
  }
  50% {
    width: var(--diagonal);
    height: var(--diagonal);
    z-index: 2;
  }
  51% {
    width: var(--diagonal);
    height: var(--diagonal);
    z-index: 1;
  }
  100% {
    width: var(--diagonal);
    height: var(--diagonal);
    z-index: 1;
  }
}
/* =========================================================
animation
========================================================= */
.fadeup {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fadeup.is-active {
  opacity: 1;
  transform: translateY(0);
}

.wysiwyg {
  word-break: break-all;
}
.wysiwyg *,
.wysiwyg ::before,
.wysiwyg ::after {
  box-sizing: content-box;
}

.wysiwyg h1 {
  font-size: 2em;
  font-weight: 600;
}

.wysiwyg h2 {
  font-size: 1.5em;
  font-weight: 600;
}

.wysiwyg h3 {
  font-size: 1.17em;
  font-weight: 600;
}

.wysiwyg h4 {
  font-weight: 600;
}

.wysiwyg h5 {
  font-size: 0.83em;
  font-weight: 600;
}

.wysiwyg h6 {
  font-size: 0.67em;
  font-weight: 600;
}

.wysiwyg hr {
  display: block;
}

.wysiwyg a {
  color: #208AFF;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}

@media (hover: hover) {
  .wysiwyg a:hover {
    opacity: 0.6;
  }
}
.wysiwyg strong,
.wysiwyg b {
  font-weight: 600;
}

.wysiwyg em {
  font-style: italic;
}

.wysiwyg ul {
  list-style-type: none !important;
}

.wysiwyg ul li {
  display: flex;
  gap: 0 10px;
  align-items: baseline;
}

.wysiwyg ul li::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  background: #208AFF;
  border-radius: 50%;
}

.wysiwyg ol {
  padding-left: 1.5em;
}

.wysiwyg ol {
  list-style: decimal;
}

.wysiwyg table {
  border-collapse: separate;
}

/* =========================================================
header
========================================================= */
/*------------------------------------------
header
------------------------------------------*/
.c-hd {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
}
.c-hd__logo {
  width: clamp(1px, 39.2vw, 243px);
  position: absolute;
}
@media (max-width: 768px) {
  .c-hd__logo {
    top: 15px;
    left: 20px;
  }
}
@media (min-width: 769px) {
  .c-hd__logo {
    top: 35px;
    left: clamp(1px, 2.92vw, 40px);
  }
}
.c-hd__logo a {
  display: block;
}
.c-hd__btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media (min-width: 1025px) {
  .c-hd__btn {
    display: none;
  }
}
.c-hd__btn button {
  width: 100px;
  height: 50px;
  background: #fff;
  border-radius: 0 0 0 20px;
  display: flex;
  align-items: center;
  gap: 5px;
}
@media (max-width: 768px) {
  .c-hd__btn button {
    width: 100px;
    height: 50px;
    padding: 0 0 0 14px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-hd__btn button {
    width: 120px;
    height: 70px;
    padding: 0 0 0 24px;
  }
}
.c-hd__btn button::before {
  content: "";
  width: 15px;
  height: 15px;
  -webkit-mask: url(../images/common/star01.svg) no-repeat center/contain;
          mask: url(../images/common/star01.svg) no-repeat center/contain;
  background: #208AFF;
}
.c-hd__btn button::after {
  content: "MENU";
  color: #208AFF;
  font-family: "Krona One", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
}
.c-hd__btn button.is-open {
  background: none;
}
.c-hd__btn button.is-open::before {
  background: #fff;
}
.c-hd__btn button.is-open::after {
  content: "CLOSE";
  color: #fff;
}
.c-hd:has(.c-hd__btn button.is-open) .c-hd__logo {
  opacity: 0;
  pointer-events: none;
}

.c-gnav {
  position: fixed;
  z-index: 10;
}
@media (max-width: 768px) {
  .c-gnav {
    display: none;
    width: 100%;
    height: 100lvh;
    height: 100vh;
    background: radial-gradient(circle, #208AFF 0%, #9BBAFF 100%) no-repeat center/cover;
    overflow: auto;
    top: 0;
    left: 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-gnav {
    display: none;
    width: 100%;
    height: 100lvh;
    height: 100vh;
    background: radial-gradient(circle, #208AFF 0%, #9BBAFF 100%) no-repeat center/cover;
    overflow: auto;
    top: 0;
    left: 0;
  }
}
@media (min-width: 1025px) {
  .c-gnav {
    display: block !important;
    top: 40px;
    right: clamp(1px, 2.92vw, 40px);
    mix-blend-mode: difference;
  }
}
@media (max-width: 768px) {
  .c-gnav__in {
    width: 100%;
    min-height: 100%;
    padding: 100px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-gnav__in {
    width: 100%;
    min-height: 100%;
    padding: 100px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}
@media (min-width: 1025px) {
  .c-gnav__in {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1px, 4.17vw, 57px);
  }
}
@media (min-width: 1025px) {
  .c-gnav__list01 {
    display: flex;
    gap: clamp(1px, 2.92vw, 40px);
  }
}
@media (max-width: 768px) {
  .c-gnav__list01 .item {
    text-align: center;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-gnav__list01 .item {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .c-gnav__list01 .item + .item {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-gnav__list01 .item + .item {
    margin: 30px auto 0;
  }
}
.c-gnav__list01 a {
  font-family: "Krona One", sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 28px;
  line-height: 1;
}
@media (min-width: 1025px) {
  .c-gnav__list01 a {
    font-size: 16px;
  }
}
.c-gnav__list02 {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .c-gnav__list02 {
    margin: 40px auto 0;
    justify-content: center;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-gnav__list02 {
    margin: 60px auto 0;
    justify-content: center;
  }
}
@media (min-width: 1025px) {
  .c-gnav__list02 {
    gap: clamp(1px, 1.46vw, 20px);
  }
}
.c-gnav__list02 [class*=c-gnav__sns] a {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1025px) {
  .c-gnav__list02 [class*=c-gnav__sns] a {
    width: 40px;
    height: 40px;
    background: #111;
  }
}
.c-gnav__list02 [class*=c-gnav__sns] a::before {
  content: "";
  aspect-ratio: 35/24;
  width: 35px;
  background: #fff;
}
@media (min-width: 1025px) {
  .c-gnav__list02 [class*=c-gnav__sns] a::before {
    width: 24px;
  }
}

.c-gnav__sns--x a::before {
  -webkit-mask: url(../images/common/ico_x.svg) no-repeat center/contain;
          mask: url(../images/common/ico_x.svg) no-repeat center/contain;
}
.c-gnav__sns--yt a::before {
  -webkit-mask: url(../images/common/ico_yt.svg) no-repeat center/contain;
          mask: url(../images/common/ico_yt.svg) no-repeat center/contain;
}
.c-gnav-btn {
  margin: 20px auto 0;
}
.c-gnav-btn > * + * {
  margin: 12px 0 0;
}

/* =========================================================
footer
========================================================= */
/*------------------------------------------
footer
------------------------------------------*/
.c-ft {
  background: linear-gradient(90deg, #208AFF 0%, #9BBAFF 100%);
  color: #fff;
}
@media (max-width: 768px) {
  .c-ft {
    border-radius: 0 60px 0 0;
  }
}
@media (min-width: 769px) {
  .c-ft {
    border-radius: 0 80px 0 0;
  }
}
.c-ft__in {
  max-width: 1366px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .c-ft__in {
    padding: 70px 5.33vw 25px;
  }
}
@media (min-width: 769px) {
  .c-ft__in {
    display: grid;
    gap: 0 40px;
    padding: 70px clamp(1px, 4.02vw, 55px) 36px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-ft__in {
    grid-template-columns: 294px 1fr;
    grid-template-rows: repeat(4, max-content);
    grid-template-areas: "logo sns" "list01 list01" "list02 list02" "list03 list03" "copyright copyright";
  }
}
@media (min-width: 1025px) {
  .c-ft__in {
    grid-template-columns: 294px 1fr 50%;
    grid-template-rows: 60px repeat(2, max-content);
    grid-template-areas: "logo sns list03" "list02 list02 list03" "copyright copyright copyright";
  }
}
@media (max-width: 768px) {
  .c-ft__logo {
    width: 273px;
  }
}
@media (min-width: 769px) {
  .c-ft__logo {
    width: 284px;
    grid-area: logo;
  }
}
.c-ft__logo a {
  display: block;
  aspect-ratio: 273/57;
  -webkit-mask: url(../images/common/logo.svg) no-repeat center/contain;
          mask: url(../images/common/logo.svg) no-repeat center/contain;
  background: #fff;
}
.c-ft__list01 {
  display: flex;
  align-items: center;
  gap: 25px;
}
@media (max-width: 768px) {
  .c-ft__list01 {
    margin: 20px auto 0;
  }
}
@media (min-width: 769px) {
  .c-ft__list01 {
    grid-area: sns;
  }
}
.c-ft__list01 [class*=c-ft__sns] a {
  display: block;
  height: 20px;
  background: #fff;
}

.c-ft__sns--x a {
  width: 20px;
  -webkit-mask: url(../images/common/ico_x.svg) no-repeat center/contain;
          mask: url(../images/common/ico_x.svg) no-repeat center/contain;
}
.c-ft__sns--yt a {
  width: 30px;
  -webkit-mask: url(../images/common/ico_yt.svg) no-repeat center/contain;
          mask: url(../images/common/ico_yt.svg) no-repeat center/contain;
}
.c-ft__list02 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
}
@media (max-width: 768px) {
  .c-ft__list02 {
    margin: 74px auto 0;
  }
}
@media (min-width: 769px) {
  .c-ft__list02 {
    grid-area: list02;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-ft__list02 {
    margin: 40px 0 0;
  }
}
@media (min-width: 1025px) {
  .c-ft__list02 {
    margin: 70px 0 0;
  }
}
.c-ft__list02 a {
  font-family: "Krona One", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
}
.c-ft__list03 {
  font-weight: 500;
}
@media (max-width: 768px) {
  .c-ft__list03 {
    margin: 40px auto 0;
    padding: 40px 0 0;
    border-top: 1px solid #fff;
    font-size: 14px;
    line-height: 1.42;
  }
}
@media (min-width: 769px) {
  .c-ft__list03 {
    grid-area: list03;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-ft__list03 {
    margin: 40px 0 0;
  }
}
@media (min-width: 1025px) {
  .c-ft__list03 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1em auto;
    grid-template-areas: "head sub-list02" "sub-list01 sub-list02";
    gap: 20px 40px;
  }
}
@media (min-width: 1025px) {
  .c-ft__list03 .head {
    grid-area: head;
  }
}
@media (max-width: 768px) {
  .c-ft__list03 [class*=list0] li + li {
    margin: 14px auto 0;
  }
}
@media (min-width: 769px) {
  .c-ft__list03 [class*=list0] li + li {
    margin: 20px auto 0;
  }
}
@media (max-width: 768px) {
  .c-ft__list03 .list01 {
    margin: 14px auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-ft__list03 .list01 {
    margin: 20px 0 0;
  }
}
@media (min-width: 1025px) {
  .c-ft__list03 .list01 {
    grid-area: sub-list01;
  }
}
.c-ft__list03 .list01 li {
  padding: 0 0 0 1em;
  position: relative;
}
.c-ft__list03 .list01 li::before {
  content: "";
  width: 10px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 0.7em;
  left: 0;
}
@media (max-width: 768px) {
  .c-ft__list03 .list01 + * {
    margin: 24px auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-ft__list03 .list01 + * {
    margin: 40px auto 0;
  }
}
@media (min-width: 1025px) {
  .c-ft__list03 .list02 {
    grid-area: sub-list02;
  }
}
.c-ft__copyright {
  font-family: "Krona One", sans-serif;
  font-weight: 400;
  color: #9BBAFF;
  white-space: nowrap;
  word-break: keep-all;
}
@media (max-width: 768px) {
  .c-ft__copyright {
    margin: 52px auto 0;
    font-size: clamp(1px, 2.4vw, 9px);
    line-height: 1.8;
  }
}
@media (min-width: 769px) {
  .c-ft__copyright {
    grid-area: copyright;
    margin: 92px auto 0;
    font-size: 10px;
    line-height: 1;
    text-align: center;
  }
}
/*# sourceMappingURL=maps/common.css.map */
