html {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #1B1B1B;
    font-size: 16px;
}

body {
    min-width: 390px;
}

body.page {
    max-width: 500px;
    margin: 0 auto;
}

body.js-active {
  overflow: hidden;
}

main {
    overflow: hidden;
}

picture {
    display: block;
}

img {
    width: 100%;
    height: auto;
    display: block;
}

a {
    display: inline-block;
    color: #1B1B1B;
}

@media screen and (min-width: 1001px) {
    a.--nomal {
        transition: opacity .5s;
    }

    a.--nomal:hover {
        opacity: 0.7;
    }

  }

@media screen and (min-width: 1201px) {
  html{
    font-size: 23.11px;
  }
}

/* utility */
.u-en {
  font-family: "Manrope", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* layout */
.l-wrapper {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.l-inner {
  width: 100%;
  margin: 0 auto;
}

/* common */
.pc-only {
    display: block;
}

.br-pc-only {
    display: inline-block;
}

.sp-only {
    display: none;
}

.br-sp-only {
    display: none;
}




@media screen and (max-width: 1000px) {
    .pc-only {
        display: none;
    }

    .br-pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .br-sp-only {
        display: inline-block;
    }
}


@media screen and (min-width: 1001px){
  body.top{
    height: 100vh;
    overflow: hidden;
    position: relative;
    background: url(../img/pc-bg.webp) no-repeat center center / cover;
  }
}

/*===========================================================================*/
/*  pc版  */
/*===========================================================================*/

.p-header__inner{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  height: 3.625rem;
}

.p-header__logo{
  display: inline-block;
  width: 9.75rem;
}


.p-pc-main .left-box,
.p-pc-main .right-box{
  position: absolute;
  z-index: 2;
  width: calc(50vw - (560px / 2));
  height: 100vh;
  position: absolute;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 38, 68, 0.9);
}

.p-pc-main .left-box{
  left: 0;
  padding: 0 20px;
}
.p-pc-main .right-box{
  right: 0;
}

.pc-logo{
  width: 100%;
  max-width: 318px;
  display: block;
}

.left-box__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pc-cta{
  margin-top: 20px;
  display: flex;
  align-items: center;
  text-align: center;
  flex-direction: column;
}

.pc-cta__top{
  display: block;
  max-width: 350px;
  width: 100%;
}

.pc-btn{
  width: 100%;
  max-width: 292px;
  height: 70px;
  border-radius: 9999px;
  background: #038DF9;
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 140%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
}

.pc-btn:hover{
  opacity: 0.8;
}

.pc-nav-list{
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.pc-nav-item{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.pc-nav-item .u-en{
  color: #038DF9;
  font-size: 10px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}

.pc-nav-item .title-ja{
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 100%;
}

.c-cta{
  width: 100%;
  border-radius: 10px;
  background: #FFF;
  padding: 1.5rem 1.5rem 1.875rem;
}


.c-btn{
  margin-top: 1rem;
  width: 100%;
  border-radius: 9999px;
  background: #038DF9;
  color: #FFF;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 140%;
  margin-left: auto;
  margin-right: auto;
  width: 15.625rem;
  display: block;
  padding: 1.125rem 0;
}

.c-btn:hover{
  opacity: 0.8;
}

.section-title{
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.75rem;
}

.section-title.--left{
  align-items: flex-start;
}

.section-title .title-en{
  color: #038DF9;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.section-title .title-ja{
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 100%;
}

.section-title .title-ja.--white{
  color: #FFF;
}

.section-title .title-ja .u-en{
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 120%;
  font-weight: 700;
}

.p-pc-main__video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



@media screen and (max-width: 1000px){
  .p-pc-main{
    display: none;
  }
  body.top{
    overflow: auto;
  }
}

/*===========================================================================*/
/*  mv  */
/*===========================================================================*/
.p-main{
  width: 560px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 2;
  overflow: hidden;
  filter: drop-shadow(32.667px 32.667px 65.333px rgba(24, 51, 83, 0.25));
}
main{
  height: 100vh;
  overflow-y: scroll;
}

.p-mv{
  position: relative;
  padding-top: 2.3125rem;
  padding-bottom: 2.5rem;
}

@media screen and (min-width: 1001px){
  .p-mv{
    min-height: 100vh;
    display: flex;
    align-items: center;
  }
}

.p-mv__inner{
  position: relative;
  z-index: 2;
}

.p-mv__bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  background: #002644;
  z-index: 1;
}

.p-mv__video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mv__text{
  display: block;
  width: 100%;
  margin-bottom: 0.9375rem;
}


@media screen and (max-width: 1200px){
  .p-main{
    width: 390px;
  }

  .p-pc-main .left-box,
  .p-pc-main .right-box{
    width: calc(50vw - (390px / 2));
  }
}

@media screen and (max-width: 1000px){
  .p-main{
    width: 100%;
    max-width: 450px;
    height: auto;
    position: relative;
    top: 0;
    left: initial;
    transform: initial;
    -webkit-transform: initial;
    -ms-transform: initial;
    z-index: 2;
    margin: 0 auto;
    border-radius: 0;
    border: none;
  }
  main{
    height: 100%;
    overflow-y: hidden;
  }
}

/*===========================================================================*/
/*  media  */
/*===========================================================================*/
.p-media{
  padding-top: 3.125rem;
  padding-bottom: 2.5rem;
  overflow: hidden;
  position: relative;
  background: #E9EDF0;
}

.p-media::before{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  top: 0;
  right: 0;
}

.l-inner{
  position: relative;
  z-index: 1;
}

.p-media__img{
  display: block;
  filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.25));
  margin-top: 1.4375rem;
}

.p-media__list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.375rem;
  margin-top: 0.9375rem;
}

.p-media__list li{
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  background: #FFF;
  padding: 0.5rem 0.375rem;
}

.p-media__list li img{
  max-width: 100%;
  width: auto;
  max-height: 1.5rem;
}

.p-media__award{
  text-align: center;
  margin-top: 1.25rem;
}

.p-media__award-box{
  display: inline-block;
  width: 100%;
  max-width: 15.875rem;
  position: relative;
}

.p-media__award-box::before{
  content: "";
  aspect-ratio: 66.31 / 101.69;
  background: url(../img/award-left.webp) no-repeat center center / contain;
  position: absolute;
  bottom: -0.5rem;
  width: 4.125rem;
  right: calc(100% + 0.6875rem);
}
.p-media__award-box::after{
  content: "";
  aspect-ratio: 75.96 / 82.01;
  background: url(../img/award-right.webp) no-repeat center center / contain;
  position: absolute;
  bottom: -0.5625rem;
  width: 4.75rem;
  left: calc(100% + 0.625rem);
}

.p-media__reviews{
  display: block;
  margin-top: 1.375rem;
}

/*===========================================================================*/
/*  feature  */
/*===========================================================================*/
.p-feature{
  padding-top: 3.125rem;
  padding-bottom: 2.5rem;
  overflow: hidden;
  position: relative;
  background: #fff;
}

.p-feature::before{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg-gray.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  top: 0;
  right: 0;
}
.p-feature::after{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg-gray.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
}

.l-inner{
  position: relative;
  z-index: 1;
}

.p-feature__list{
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2.125rem;
}

.p-feature__item{
  position: relative;
  padding-left: 2.6875rem;
}

.p-feature__num{
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(90deg) translateY(-1em);
  -webkit-transform: rotate(90deg) translateY(-1em);
  -ms-transform: rotate(90deg) translateY(-1em);
  transform-origin: left top;
  white-space: nowrap;
  color: #038DF9;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.02em;
}

.p-feature__num::before{
  content: "";
  position: absolute;
  width: 8.1875rem;
  height: 1px;
  background: linear-gradient(to right, rgba(3, 141, 249, 1) 0%, rgba(3, 141, 249, 0) 100%);
  top: 50%;
  left: calc(100% + 0.4375rem);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-feature__title{
  margin-top: -.7em;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 130%;
  text-decoration: underline;
  margin-left: -1px;
}

.p-feature__title span{
  background: #fff;
  padding: 0 .1em;
}

.p-feature__text{
  margin-top: .9375rem;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 165%;
  letter-spacing: 0.02em;
  font-feature-settings: 'pwid' on, 'palt' on;
}

.p-feature__case{
  margin-top: 1.25rem;
}

.p-feature__case-text{
  font-feature-settings: 'pwid' on, 'palt' on;
  margin-top: .5rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 165%;
  letter-spacing: 0.02em;
}

/*===========================================================================*/
/*  cta  */
/*===========================================================================*/
.p-cta{
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  position: relative;
  overflow: hidden;
  background: url(../img/cta-bg.webp) no-repeat center center / cover;
}

.p-cta::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #002644;
  opacity: 0.6;
}

.p-cta .l-inner{
  position: relative;
  z-index: 1;
}

/*===========================================================================*/
/*  comparison  */
/*===========================================================================*/
.p-comparison{
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  background: #E9EDF0;
  position: relative;
  overflow: hidden;
}

.p-comparison::before{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  top: 0;
  right: 0;
}
.p-comparison::after{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
}

.p-comparison__img{
  overflow-x: auto;
  margin-top: 1.5625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.p-comparison__img img{
  width: 808px;
}

.p-comparison__area{
  margin-top: 1.4375rem;
  border-radius: 10px;
  background: #038DF9;
  padding: 2.5rem 2rem;
  position: relative;
}

.p-comparison__area::before{
  content: "";
  aspect-ratio: 1 / 1;
  width: 12px;
  background: url(../img/quotation.svg) no-repeat center center / contain;
  position: absolute;
  top: 1.1875rem;
  left: 0.75rem;
}

.p-comparison__area::after{
  content: "";
  aspect-ratio: 1 / 1;
  width: 12px;
  background: url(../img/quotation.svg) no-repeat center center / contain;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
}

.p-comparison__area-item:last-child{
  margin-top: 1.5625rem;
}

.p-comparison__area-title{
  text-align: center;
  color: #FFF;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 140%;
  padding-bottom: 0.8125rem;
  margin-bottom: 0.8125rem;
  border-bottom: 1px solid #FFF;
}

.p-comparison__area-text{
  color: #FFF;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 165%;
  letter-spacing: 0.02em;
}

.p-comparison__area-img{
  display: block;
  margin-top: 0.9375rem;
}

/*===========================================================================*/
/*  achievements  */
/*===========================================================================*/
.p-achievements{
  padding-top: 3.125rem;
  padding-bottom: 2.3125rem;
  background: #1F2937;
  position: relative;
}

.p-achievements::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/achievements-bg.webp) no-repeat center center / cover;
  opacity: 0.08;
}

.p-achievements .l-inner{
  position: relative;
  z-index: 1;
}

.p-achievements__list{
  margin-top: 1.625rem;
}

.p-achievements__item{
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0.625rem 0 1.125rem;
  text-align: center;
  color: #fff;
}

.p-achievements__item:last-child{
  padding-bottom: 0;
}

.p-achievements__main .--ja{
  font-size: 2.0625rem;
  font-weight: 700;
  line-height: 130%;
}

.p-achievements__main .--big{
  font-size: 4.25rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: -0.05em;
}

.p-achievements__main .--unit{
  font-size: 2.625rem;
  font-weight: 700;
  line-height: 100%;
}

.p-achievements__text{
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 130%;
  margin-top: 0.25rem;
}

/*===========================================================================*/
/*  voice  */
/*===========================================================================*/
.p-voice{
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  position: relative;
  background: #E9EDF0;
}

.p-voice::before{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  top: 0;
  right: 0;
}

.p-voice .l-inner{
  position: relative;
  z-index: 1;
}

.p-voice__award{
  text-align: center;
  margin-top: 1.25rem;
}

.p-voice__award-box{
  display: inline-block;
  width: 100%;
  max-width: 15.875rem;
  position: relative;
}

.p-voice__award-box::before{
  content: "";
  aspect-ratio: 66.31 / 101.69;
  background: url(../img/award-left.webp) no-repeat center center / contain;
  position: absolute;
  bottom: -0.5rem;
  width: 4.125rem;
  right: calc(100% + 0.6875rem);
}
.p-voice__award-box::after{
  content: "";
  aspect-ratio: 75.96 / 82.01;
  background: url(../img/award-right.webp) no-repeat center center / contain;
  position: absolute;
  bottom: -0.5625rem;
  width: 4.75rem;
  left: calc(100% + 0.625rem);
}

.p-voice__list{
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  margin-top: 1rem;
}

.p-voice__item{
  border-radius: 8px;
  background: #FFF;
  overflow: hidden;
}

.p-voice__item-img{
  aspect-ratio: 335 / 159;
  overflow: hidden;
  display: block;
  width: 100%;
}

.p-voice__item-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-voice__item-content{
  padding: 0.9375rem 1.125rem 1.125rem;
}

.p-voice__star{
  display: flex;
  gap: 0.25rem;
}

.p-voice__star img{
  width: 1rem;
}

.p-voice__item-text{
  margin-top: 0.5rem;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 165%;
}

.p-voice__item.--hidden {
  display: none;
}

.p-voice__more{
  text-align: center;
  margin-top: 1.5625rem;
}

.p-voice__more-btn {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.02em;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  text-transform: uppercase;
  position: relative;
}

.p-voice__more-btn::after{
  content: "";
  aspect-ratio: 1 / 1;
  width: 0.5625rem;
  background: url(../img/plus.svg) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  left: calc(100% + 0.375rem);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

/*===========================================================================*/
/*  message  */
/*===========================================================================*/
.p-message{
  padding-bottom: 3.125rem;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #038DF9 24.49%, #77C3FF 100%);
}

.p-message__title{
  text-align: center;
  margin-top: -1.3em;
  font-size: 1.8125rem;
}

.p-message__title span{
  display: inline-block;
  color: #038DF9;
  background: #fff;
  font-feature-settings: 'pwid' on, 'palt' on;
  padding: 0 0.2rem;
  font-weight: 700;
  line-height: 130%;
}

.p-message__content{
  position: relative;
  padding-left: 2.3125rem;
  margin-top: 1.5rem;
}

.p-message__num{
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(90deg) translateY(-1em);
  -webkit-transform: rotate(90deg) translateY(-1em);
  -ms-transform: rotate(90deg) translateY(-1em);
  transform-origin: left top;
  white-space: nowrap;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.02em;
}

.p-message__num::before{
  content: "";
  position: absolute;
  width: 8.1875rem;
  height: 1px;
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  top: 50%;
  left: calc(100% + 0.4375rem);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-message__text{
  color: #FFF;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 165%;
}


/*===========================================================================*/
/*  price  */
/*===========================================================================*/
.p-price{
  padding-top: 3.125rem;
  padding-bottom: 2.5rem;
  position: relative;
  background: #E9EDF0;
}

.p-price::before{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  top: 0;
  right: 0;
}

.p-price .l-inner{
  position: relative;
  z-index: 1;
}

.p-price__content{
  margin-top: 1.875rem;
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}

.p-price__movie-title{
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 1.125rem;
}

.iframe-container{
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}
.iframe-container iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-price__more{
  text-align: center;
}
.p-price__more-btn {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.02em;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  text-transform: uppercase;
  position: relative;
}

.p-price__more-btn::after{
  content: "";
  aspect-ratio: 1 / 1;
  width: 0.5625rem;
  background: url(../img/plus.svg) no-repeat center center / contain;
  position: absolute;
  top: 50%;
  left: calc(100% + 0.375rem);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

/* price menu accordion */
.p-price__menu{
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-price__menu-item{
  border-radius: 6px;
  overflow: hidden;
  background: #FFF;
}

.p-price__menu-header{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem;
  border: none;
  background: #FFF;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.p-price__menu-title{
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
}

.p-price__menu-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.p-price__menu-icon svg path{
  transition: stroke 0.3s ease;
}

.p-price__menu-item.is-open .p-price__menu-icon{
  transform: rotate(180deg);
}


.p-price__menu-content{
  display: none;
  padding: 0 1.25rem 1.25rem;
}

.p-price__menu-content__inner{
  padding-top: 1em;
  border-top: 1px dashed #C9D0D6;
}

.p-price__menu-text{
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 140%;
}

.p-price__menu-label{
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
  padding: 1rem 0 1.125rem;
  text-align: center;
  border-radius: 8px;
  background: #038DF9;
  color: #FFF;
}

.p-price__menu-cards{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.p-price__menu-cards img{
  display: block;
  width: 100%;
}

.p-price__menu-list{
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.p-price__menu-list li{
  padding-left: 1rem;
  position: relative;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 100%;
}
.p-price__menu-list li::before{
  content: "";
  position: absolute;
  width: 0.8125rem;
  height: 0.8125rem;
  background: url(../img/check.svg) no-repeat center center / contain;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-price__menu-border{
  margin-top: 1.25rem;
  margin-bottom: 1rem;
  border-top: 1px dashed #C9D0D6;
}

/*===========================================================================*/
/*  faq  */
/*===========================================================================*/
.p-faq{
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  position: relative;
  background: #fff;
}

.p-faq__list{
  margin-top: 1.5625rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-faq__item{
  overflow: hidden;
}

.p-faq__question{
  width: 100%;
  padding: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  border: none;
  background: transparent;
  text-align: left;
  position: relative;
  border-radius: 6px;
  background: #E9EDF0;
}

.p-faq__q{
  color: #038DF9;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}

.p-faq__question-text{
  flex: 1;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.02em;
}

.p-faq__icon{
  width: 0.8125rem;
  height: 0.8125rem;
  position: relative;
  flex-shrink: 0;
}

.p-faq__icon::before,
.p-faq__icon::after{
  content: "";
  position: absolute;
  background: #038DF9;
  transition: transform 0.3s ease;
}

.p-faq__icon::before{
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.p-faq__icon::after{
  width: 2px;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.p-faq__item.is-open .p-faq__icon::after{
  transform: translateX(-50%) rotate(90deg);
}

.p-faq__answer{
  display: none;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0 0 0.9375rem;
}

.p-faq__a{
  color: #038DF9;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}

.p-faq__answer-text{
  flex: 1;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 145%;
  letter-spacing: 0.02em;
}

/*===========================================================================*/
/*  access  */
/*===========================================================================*/
.p-access{
  padding-top: 3.125rem;
  padding-bottom: 3.75rem;
  position: relative;
  background: #E9EDF0;
}

.p-access::before{
  content: "";
  aspect-ratio: 337 / 176;
  background: url(../img/section-bg.webp) no-repeat center center / contain;
  width: 89.8667%;
  position: absolute;
  top: 0;
  right: 0;
}

.p-access__time-ttl{
  font-feature-settings: 'pwid' on, 'palt' on;
  text-align: center;
  margin-top: 0.9375rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 130%;
}

.p-access__container{
  margin-top: 1.875rem;
  display: flex;
  flex-direction: column;
  gap: 3.4375rem;
}

.p-access__area-title{
  text-align: center;
  position: relative;
}

.p-access__area-title::before,
.p-access__area-title::after{
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #038DF9;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-access__area-title::before{
  top: calc(50% - 1.5px);
}

.p-access__area-title::after{
  top: calc(50% + 1.5px);
}

.p-access__area-title span{
  color: #038DF9;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 130%;
  display: inline-block;
  background: #E9EDF0;
  padding: 0 0.4375rem;
  position: relative;
  z-index: 1;
}

.p-access__list{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.125rem;
}

.p-access_map{
  width: 100%;
  aspect-ratio: 335/144;
}

.p-access_map iframe{
  width: 100%;
  height: 100%;
}

.p-access__title{
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 100%;
  margin-top: 0.75rem;
  padding-left: 0.5rem;
  border-left: 0.125rem solid #038DF9;
}

.p-access__address{
  margin-top: 0.5rem;
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 150%;
}

.p-access__time{
  font-feature-settings: 'pwid' on, 'palt' on;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 150%;
  margin-top: 0.125rem;
}


/*===========================================================================*/
/*  reserve  */
/*===========================================================================*/
.p-reserve{
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  position: relative;
  background: url(../img/achievements-bg.webp) no-repeat center center / cover;
  overflow: hidden;
}

.p-reserve::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 38, 68, 0.70);
  backdrop-filter: blur(12px);
}

.p-reserve .l-inner{
  position: relative;
  z-index: 1;
}

.p-reserve__content{
  margin-top: 1.375rem;
  border-radius: 10px;
  background: #FFF;
}

/*===========================================================================*/
/*  footer  */
/*===========================================================================*/
.p-footer{
  padding-top: 1.875rem;
  padding-bottom: 4.125rem;
  background: #fff;
}

.p-footer .l-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-footer__logo{
  display: block;
  max-width: 224.64px;
}

.p-footer__privacy{
  text-align: center;
  margin-top: 1.6875rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0.02em;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.p-footer__copyright{
  margin-top: 2.125rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 0.02em;
}

/* thanks page */
.p-thanks {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  background: #fff;
}

.p-thanks__content {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-thanks__en {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 100%;
  color: #038DF9;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.p-thanks__title {
  font-size: 28px;
  font-weight: 700;
  line-height: 140%;
  margin-bottom: 20px;
}

.p-thanks__text {
  font-size: 13px;
  font-weight: 700;
  line-height: 160%;
  margin-bottom: 28px;
}