@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap";

:root {
  --color-00-black: #000000;
  --color-01-black: #040404;
  --color-00-white: #ffffff;
  --color-00-point: #00b6b9;
  --color-00-yellow: #e5ff19;
  --color-00-blue: #345dd0;
  --color-01-blue: #1cc6d9;
  --color-00-green: #34d072;
  --color-00-pink: #ff488b;
  --line-height-l: 2;
  --line-height-m: 1.75;
  --line-height-s: 1.5;
  --line-height-xs: 1.3;
  --letter-spacing-l: .12em;
  --letter-spacing-m: .08em;
  --letter-spacing-s: 0em
}

html {
  scroll-behavior: smooth;
  scroll-padding: 100px
}

.content {
  background-color: var(--color-00_white);
  color: var(--color-00_black);
  font-style: normal;
  font-weight: 400;
  line-height: var(--line-height-l);
  font-family: Zen Kaku Gothic New, sans-serif;
  font-optical-sizing: auto;
  font-feature-settings: "palt"1;
  -webkit-font-smoothing: antialiased
}

.content>* {
  font-size: 1.6rem
}

.content img {
  display: block;
  width: 110%;
  max-width: 100%;
  height: auto
}

.content .pc {
  display: none
}

.content .sp {
  display: block
}

.wrapper {
  width: 100%
}

@keyframes spin {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

.l-main .float {
  z-index: 20;
  position: fixed;
  right: 0;
  bottom: 8vw;
  left: 0
}

.l-main .float a {
  display: flex;
  position: relative;
  width: 73.3333333333vw;
  margin: 0 auto;
  padding: 5.3333333333vw;
  border-radius: 80vw;
  background: var(--color-00-point);
  color: #fff;
  line-height: 1;
  -moz-column-gap: 4.5333333333vw;
  column-gap: 4.5333333333vw;
  overflow: hidden;
  font-weight: 700;
  font-size: 4.8vw
}
.l-main .float .no_sale_btn{
  background: #868686
}

.l-main .float a:hover:before {
  opacity: 0
}

.l-main .float a span {
  z-index: 2;
  position: relative
}

.l-main .float a:before {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(88deg, #37a8ff 5.74%, #12d2a8 94.39%);
  content: "";
  transition: opacity .2s ease-in-out
}
.l-main .float .no_sale_btn:before{
  background: #868686;
}
.l-main .float a:after {
  display: block;
  z-index: 2;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  background: url(../images/seasonpass2526/icon_arrow_cta.svg) no-repeat;
  background-size: contain;
  content: ""
}
.l-main .float .no_sale_btn:after{
  background-image:none;
  content:none;
}
.l-main .kv {
  position: relative;
  height: 168vw;
  border-radius: 0 0 16vw 16vw;
  background: url(../images/seasonpass2526/bg_kv_smp.webp) no-repeat center 100%;
  background-size: cover
}

.l-main .kv__menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 20.2666666667vw 13.3333333333vw 0;
  background: #dce7ef
}

.l-main .kv__menu ul li {
  border-bottom: .2666666667vw solid #000
}

.l-main .kv__menu ul li:last-child {
  border-bottom: unset
}

.l-main .kv__menu ul li a {
  display: block;
  padding: 5.3333333333vw 0;
  font-weight: 700;
  font-size: 5.8666666667vw;
  line-height: 1.5
}

.l-main .kv__menu ul li a svg {
  width: 8vw;
  height: 8vw
}

.l-main .kv__wrap {
  position: relative;
  margin-bottom: 10.6666666667vw
}

.l-main .kv__logo {
  position: absolute;
  top: 6.4vw;
  left: 6.4vw;
  width: 50.6666666667vw
}

.l-main .kv h1 {
  position: absolute;
  top: 25.6vw;
  left: 9.3333333333vw;
  width: 81.3333333333vw
}

.l-main .kv h1 img {
  width: 100%;
  max-width: 100%
}

.l-main .kv__nav {
  z-index: 20;
  position: relative
}

.l-main .kv__nav__btn {
  position: fixed;
  top: 6.4vw;
  right: 6.4vw;
  width: 11.2vw;
  height: 11.2vw;
  border-radius: 50%;
  background: #fff
}

.l-main .kv__nav__btn.is-active span {
  top: 5.3333333333vw;
  transform: rotate(20deg)
}

.l-main .kv__nav__btn.is-active span:nth-child(2) {
  top: 5.3333333333vw;
  transform: rotate(-20deg)
}

.l-main .kv__nav__btn span {
  display: block;
  position: absolute;
  top: 4.2666666667vw;
  left: 3.2vw;
  width: 4.8vw;
  height: .5333333333vw;
  background: #000;
  transition: .1s top ease-in-out, .2s transform ease-in-out
}

.l-main .kv__nav__btn span:nth-child(2) {
  top: 6.6666666667vw
}

.l-main .off {
  padding: 10.6666666667vw 11.2vw 13.3333333333vw;
  border-radius: 16vw;
  background: var(--color-00-yellow)
}

.l-main .off h2 {
  width: 47.4666666667vw;
  margin: 0 auto 4.8vw
}

.l-main .off__list li {
  margin-bottom: 0
}

.l-main .off__list li:last-child {
  margin-bottom: 0
}

.l-main .intro {
  margin-bottom: 10.6666666667vw
}

.l-main .intro__inner {
  padding: 0 5.3333333333vw
}

.l-main .intro h2 {
  margin-bottom: 8vw;
  font-weight: 700;
  font-size: 5.8666666667vw;
  line-height: 1.5;
  text-align: center
}

.l-main .intro h2 span {
  display: block;
  font-size: 4.8vw
}

.l-main .intro__nav li {
  margin-bottom: 4vw;
  font-size: 4.8vw
}

.l-main .intro__nav li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 29.3333333333vw;
  padding: 0 4.5333333333vw;
  border: .2666666667vw solid var(--color-00-blue);
  border-radius: 160vw;
  background: var(--color-00-blue);
  color: #fff;
  font-weight: 700;
  font-size: inherit;
  line-height: 1.5;
  -moz-column-gap: 2.4vw;
  column-gap: 2.4vw;
  transition: background .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out
}

.l-main .intro__nav li a:hover {
  border-color: var(--color-00-blue);
  background-color: #fff;
  color: var(--color-00-blue)
}

.l-main .intro__nav li a:hover .no svg path {
  fill: var(--color-00-blue)
}

.l-main .intro__nav li a:hover .after svg circle,
.l-main .intro__nav li a:hover .after svg path {
  stroke: var(--color-00-blue)
}

.l-main .intro__nav li a .no {
  display: block;
  width: 14.6666666667vw;
  height: 9.8666666667vw
}

.l-main .intro__nav li a .no svg {
  width: 100%;
  max-width: 100%;
  height: 100%
}

.l-main .intro__nav li a .no svg path {
  transition: .2s fill ease-in-out
}

.l-main .intro__nav li a .txt {
  flex-grow: 1;
  flex-shrink: 0
}

.l-main .intro__nav li a .after {
  width: 8vw;
  height: 8vw;
  font-size: 0;
  line-height: 1
}

.l-main .intro__nav li a .after svg {
  width: 8vw;
  height: 8vw
}

.l-main .intro__nav li a .after svg path,
.l-main .intro__nav li a .after svg circle {
  transition: .2s stroke ease-in-out
}

.l-main .intro__nav li:nth-child(2) a {
  border-color: var(--color-01-blue);
  background-color: var(--color-01-blue)
}

.l-main .intro__nav li:nth-child(2) a:hover {
  border-color: var(--color-01-blue);
  background-color: #fff;
  color: var(--color-01-blue)
}

.l-main .intro__nav li:nth-child(2) a:hover .no svg path {
  fill: var(--color-01-blue)
}

.l-main .intro__nav li:nth-child(2) a:hover .after svg circle,
.l-main .intro__nav li:nth-child(2) a:hover .after svg path {
  stroke: var(--color-01-blue)
}

.l-main .intro__nav li:nth-child(3) a {
  border-color: var(--color-00-green);
  background-color: var(--color-00-green)
}

.l-main .intro__nav li:nth-child(3) a:hover {
  border-color: var(--color-00-green);
  background-color: #fff;
  color: var(--color-00-green)
}

.l-main .intro__nav li:nth-child(3) a:hover .no svg path {
  fill: var(--color-00-green)
}

.l-main .intro__nav li:nth-child(3) a:hover .after svg circle,
.l-main .intro__nav li:nth-child(3) a:hover .after svg path {
  stroke: var(--color-00-green)
}

.l-main .privilege {
  z-index: 1;
  padding: 28.2666666667vw 5.3333333333vw 0;
  overflow: hidden;
  border-radius: 16vw;
  background: var(--color-00-blue)
}

.l-main .privilege__inner {
  z-index: 10;
  position: relative;
  padding: 13.0666666667vw 0 13.3333333333vw;
  border-radius: calc(infinity * 1px) calc(infinity * 1px) 0 0;
  background: #fff
}

.l-main .privilege__btn {
  margin: 5.3333333333vw 8vw 13.3333333333vw
}

.l-main .privilege__btn.-last {
  margin: 0 13.3333333333vw 13.3333333333vw
}

.l-main .privilege__btn a {
  display: block;
  position: relative;
  padding: 5.3333333333vw;
  border-radius: 80vw;
  background: var(--color-00-yellow);
  color: var(--color-00-point);
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1;
  text-align: center;
  transition: .2s background-color ease-in-out, .2s color ease-in-out
}

.l-main .privilege__btn a:hover {
  background-color: var(--color-00-point);
  color: var(--color-00-yellow)
}

.l-main .privilege__btn a:hover span.arrow svg path,
.l-main .privilege__btn a:hover span.arrow svg circle {
  stroke: var(--color-00-yellow)
}

.l-main .privilege__btn a span {
  line-height: 1.3
}

.l-main .privilege__btn a span span {
  display: block;
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 3.7333333333vw
}

.l-main .privilege__btn a span.arrow {
  position: absolute;
  top: 50%;
  right: 5.3333333333vw;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  transform: translateY(-50%)
}

.l-main .privilege__btn a span.arrow svg {
  display: block;
  width: 100%;
  height: 100%
}

.l-main .privilege__btn a span.arrow svg path,
.l-main .privilege__btn a span.arrow svg circle {
  transition: .2s stroke ease-in-out
}

.l-main .privilege__block h2 {
  margin-bottom: 5.3333333333vw;
  font-weight: 700;
  font-size: 5.8666666667vw;
  line-height: 1.5;
  text-align: center
}

.l-main .privilege__block h2:before {
  display: block;
  width: 12.5333333333vw;
  height: 9.8666666667vw;
  margin: 0 auto 6.6666666667vw;
  background: url(../images/seasonpass2526/privilege01_no.svg) no-repeat;
  background-size: contain;
  content: ""
}

.l-main .privilege__block h3 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 8vw;
  padding: 2.6666666667vw 6.6666666667vw;
  border: .4vw solid var(--color-00-blue);
  border-radius: 26.6666666667vw;
  color: var(--color-00-blue);
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.5;
  text-align: center
}

.l-main .privilege__block2 {
  margin: 0 8vw 5.3333333333vw
}

.l-main .privilege__block2 figure {
  position: relative;
  margin-bottom: 5.3333333333vw
}

.l-main .privilege__block2 figure .badge {
  position: absolute;
  top: 2.9333333333vw;
  left: 2.9333333333vw;
  width: 16vw;
  height: 16vw;
  border-radius: 50%
}

.l-main .privilege__block2 figure .badge svg {
  width: 100%;
  max-width: 100%;
  height: auto
}

.l-main .privilege__block2__cont h4 {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.5
}

.l-main .privilege__list01 {
  margin: 0 8vw 13.3333333333vw
}

.l-main .privilege__list01.-col2 {
  margin-bottom: 0
}

.l-main .privilege__list01.-col2>li>ul>li:first-child:after {
  display: block;
  width: 5.8666666667vw;
  height: 5.8666666667vw;
  margin: 2.1333333333vw auto;
  background: url(../images/seasonpass2526/list01_col2_x.svg) no-repeat;
  background-size: contain;
  content: ""
}

.l-main .privilege__list01.-col2>li h4 {
  margin-bottom: 4vw;
  color: var(--color-01-blue);
  font-style: normal;
  font-weight: 400;
  font-weight: 800;
  font-size: 5.3333333333vw;
  font-family: Bricolage Grotesque, sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "wdth"100
}

.l-main .privilege__list01.-col2>li figure {
  margin-bottom: 2.6666666667vw
}

.l-main .privilege__list01.-col2>li p {
  margin-top: 2.6666666667vw
}

.l-main .privilege__list01>li {
  margin-bottom: 4vw;
  padding: 6.6666666667vw;
  border-radius: 5.3333333333vw;
  background: #fff;
  box-shadow: 0 0 5.3333333333vw #0003
}

.l-main .privilege__list01>li:last-child {
  margin-bottom: 0
}

.l-main .privilege__list01>li figure {
  position: relative;
  margin-bottom: 5.3333333333vw;
  overflow: hidden;
  border-radius: 2.6666666667vw
}

.l-main .privilege__list01>li figure .badge {
  position: absolute;
  top: 2.9333333333vw;
  left: 2.9333333333vw;
  width: 16vw;
  height: 16vw;
  border-radius: 50%
}

.l-main .privilege__list01>li figure .badge svg {
  width: 100%;
  max-width: 100%;
  height: auto
}

.l-main .privilege__list01>li h4 {
  margin-bottom: 5.3333333333vw;
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.5
}

.l-main .privilege__list01>li p {
  font-size: 3.7333333333vw;
  line-height: 1.5
}

.l-main .privilege__list02 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1.3333333333vw;
  gap: 4vw
}

.l-main .privilege__list02 li {
  width: calc((100% - 4vw)/2);
  padding: 4vw;
  border-radius: 5.3333333333vw;
  background: #fff;
  box-shadow: 0 0 5.3333333333vw #0003
}

.l-main .privilege__list02 li:last-child {
  margin-bottom: 0
}

.l-main .privilege__list02 li figure {
  margin-bottom: 2.6666666667vw;
  overflow: hidden;
  border-radius: 2.6666666667vw
}

.l-main .privilege__list02 li p {
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.3
}

.l-main .privilege__list03 {
  display: flex;
  flex-wrap: wrap;
  gap: 2.6666666667vw;
  font-size: 3.2vw
}

.l-main .privilege__list03 li.icon {
  padding: 1.3333333333vw 3.7333333333vw;
  border: .2666666667vw solid #000;
  border-radius: 26.6666666667vw;
  font-size: 3.2vw;
  line-height: 1
}

.l-main #privilege01 {
  position: relative
}

.l-main #privilege01:before {
  display: block;
  z-index: -1;
  position: absolute;
  top: 15.2vw;
  left: -8vw;
  width: 117.0666666667vw;
  height: 117.0666666667vw;
  background: url(../images/seasonpass2526/privilege01.svg) no-repeat center;
  background-size: contain;
  content: "";
  animation: spin 100s linear infinite;
  pointer-events: none
}

.l-main #privilege01:after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 74.6666666667vw;
  left: 0;
  width: 100vw;
  height: 41.3333333333vw;
  background: var(--color-00-blue);
  content: ""
}

.l-main #privilege02 {
  position: relative
}

.l-main #privilege02:before {
  display: block;
  z-index: -1;
  position: absolute;
  top: 15.2vw;
  left: -8vw;
  width: 117.0666666667vw;
  height: 117.0666666667vw;
  background: url(../images/seasonpass2526/privilege02.svg) no-repeat center;
  background-size: contain;
  content: "";
  animation: spin 100s linear infinite;
  pointer-events: none
}

.l-main #privilege02:after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 74.6666666667vw;
  left: 0;
  width: 100vw;
  height: 41.3333333333vw;
  background: var(--color-01-blue);
  content: ""
}

.l-main #privilege02.privilege {
  background: var(--color-01-blue)
}

.l-main #privilege02.privilege .privilege__block h2:before {
  width: 15.2vw;
  height: 9.8666666667vw;
  background: url(../images/seasonpass2526/privilege02_no.svg) no-repeat;
  background-size: contain
}

.l-main #privilege02.privilege .privilege__block h3 {
  border-color: var(--color-01-blue);
  color: var(--color-01-blue)
}

.l-main #privilege03 {
  position: relative
}

.l-main #privilege03:before {
  display: block;
  z-index: -1;
  position: absolute;
  top: 15.2vw;
  left: -8vw;
  width: 117.0666666667vw;
  height: 117.0666666667vw;
  background: url(../images/seasonpass2526/privilege02.svg) no-repeat center;
  background-size: contain;
  content: "";
  animation: spin 100s linear infinite;
  pointer-events: none
}

.l-main #privilege03:after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 74.6666666667vw;
  left: 0;
  width: 100vw;
  height: 41.3333333333vw;
  background: var(--color-00-green);
  content: ""
}

.l-main #privilege03.privilege {
  background: var(--color-00-green)
}

.l-main #privilege03.privilege .privilege__block h2:before {
  width: 15.7333333333vw;
  height: 9.8666666667vw;
  background: url(../images/seasonpass2526/privilege03_no.svg) no-repeat;
  background-size: contain
}

.l-main #privilege03.privilege .privilege__block h3 {
  border-color: var(--color-00-green);
  color: var(--color-00-green)
}

.l-main #privilege03.privilege .privilege__lead {
  margin: 0 8vw 8.5333333333vw;
  font-size: 3.7333333333vw;
  text-align: center
}

.l-main .privilege__slide {
  display: flex;
  margin: 0 calc(50% - 50vw);
  overflow: hidden
}

@keyframes hscroll {
  0% {
    transform: translate(0) translateZ(1px)
  }

  to {
    transform: translate(-100%) translateZ(1px)
  }
}

.l-main .privilege__slide__contents {
  position: relative;
  flex-shrink: 0;
  width: 230.4vw;
  height: 133.3333333333vw;
  animation: hscroll 29s linear infinite
}

.l-main .privilege__slide__contents li {
  position: absolute
}

.l-main .privilege__slide__contents li figure figcaption {
  margin-top: 2.6666666667vw;
  font-size: 3.2vw;
  line-height: 1.5
}

.l-main .privilege__slide__contents li:nth-child(1) {
  top: 30.4vw;
  left: 0;
  width: 60.8vw
}

.l-main .privilege__slide__contents li:nth-child(2) {
  top: 0;
  left: 78.6666666667vw;
  width: 60.8vw
}

.l-main .privilege__slide__contents li:nth-child(3) {
  top: 82.6666666667vw;
  left: 70.1333333333vw;
  width: 41.8666666667vw
}

.l-main .privilege__slide__contents li:nth-child(4) {
  top: 63.4666666667vw;
  left: 149.3333333333vw;
  width: 60.8vw
}

.l-main .privilege__slide__contents li:nth-child(5) {
  top: 0;
  left: 178.6666666667vw;
  width: 41.0666666667vw
}

.l-main .bg {
  margin-bottom: 13.3333333333vw;
  border-radius: 16vw;
  background: #dce7ef
}

.l-main .bg__inner {
  padding: 13.3333333333vw 5.3333333333vw 10.6666666667vw
}

.l-main .price {
  margin-bottom: 13.3333333333vw
}

.l-main .price h2 {
  margin-bottom: 10.6666666667vw;
  font-weight: 700;
  font-size: 5.8666666667vw;
  line-height: 1.5;
  text-align: center
}

.l-main .price h2:before {
  display: block;
  width: 40.2666666667vw;
  height: 14.6666666667vw;
  margin: 0 auto 4vw;
  background: url(../images/seasonpass2526/price_ttl.svg) no-repeat;
  background-size: contain;
  content: ""
}

.l-main .price section.price__block {
  position: relative;
  margin-bottom: 4.5333333333vw;
  padding: 10.6666666667vw 8vw;
  border-radius: 5.3333333333vw;
  background: #fff
}

.l-main .price section.price__block.-supereary:before {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 2.6666666667vw 5.3333333333vw;
  transform: translate(-50%);
  border-radius: 0 0 5.3333333333vw 5.3333333333vw;
  background: var(--color-00-pink);
  content: "絶賛販売中！";
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  line-height: 1
}

.l-main .price section.price__block.-eary h3,
.l-main .price section.price__block.-normal h3,
.l-main .price section.price__block.-spring h3 {
  color: var(--color-00-point)
}

.l-main .price section.price__block.-eary .price__sub,
.l-main .price section.price__block.-normal .price__sub,
.l-main .price section.price__block.-spring .price__sub {
  background: #ceebec;
  color: var(--color-00-point)
}

.l-main .price section.price__block.-eary .price__table dl dt,
.l-main .price section.price__block.-normal .price__table dl dt,
.l-main .price section.price__block.-spring .price__table dl dt {
  background: var(--color-00-point)
}

.l-main .price section.price__block.-eary .price__table__price,
.l-main .price section.price__block.-normal .price__table__price,
.l-main .price section.price__block.-spring .price__table__price {
  color: var(--color-00-point)
}

.l-main .price section.price__block.-normal .price__sub,
.l-main .price section.price__block.-spring .price__sub {
  padding: 0;
  background: unset
}

.l-main .price section.price__block.-normal .price__table dl dd,
.l-main .price section.price__block.-spring .price__table dl dd {
  padding: 8vw 0
}

.l-main .price section.price__block.-normal .price__table dl dd .price__table__original,
.l-main .price section.price__block.-spring .price__table dl dd .price__table__original {
  font-style: normal;
  font-weight: 400;
  font-weight: 800;
  font-size: 9.6vw;
  font-family: Bricolage Grotesque, sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "wdth"100
}

.l-main .price section.price__block.-normal .price__table dl dd .price__table__original span,
.l-main .price section.price__block.-spring .price__table dl dd .price__table__original span {
  font-style: normal;
  font-weight: 700;
  font-size: 4.8vw;
  font-family: Zen Kaku Gothic New, sans-serif;
  font-optical-sizing: auto
}

.l-main .price section.price__block h3 {
  margin-bottom: 5.3333333333vw;
  color: var(--color-00-pink);
  font-weight: 700;
  font-size: 5.8666666667vw;
  text-align: center
}

.l-main .price__sub {
  margin-bottom: 4vw;
  padding: 2.4vw 4.8vw;
  border-radius: 2.6666666667vw;
  background: #ffe2ec;
  color: var(--color-00-pink);
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.5;
  text-align: center
}

.l-main .price__sub span {
  font-size: 5.8666666667vw
}

.l-main .price__table dl {
  margin-bottom: 2.6666666667vw;
  overflow: hidden;
  border-radius: 2.6666666667vw;
  text-align: center
}

.l-main .price__table dl dt {
  background: #ff488b;
  color: #fff;
  font-weight: 700;
  font-size: 4.8vw
}

.l-main .price__table dl dd {
  padding: 1.3333333333vw 0 4vw;
  background: #f2f7fa;
  line-height: 1.3
}

.l-main .price__table__price {
  color: var(--color-00-pink);
  font-style: normal;
  font-weight: 400;
  font-weight: 800;
  font-size: 9.6vw;
  font-family: Bricolage Grotesque, sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "wdth"100
}

.l-main .price__table__price span.yen {
  font-style: normal;
  font-weight: 700;
  font-size: 4.8vw;
  font-family: Zen Kaku Gothic New, sans-serif;
  font-optical-sizing: auto
}

.l-main .price__table__off {
  font-weight: 700;
  font-size: 4.2666666667vw
}

.l-main .price__table__off span {
  display: inline-block;
  position: relative;
  margin-left: 1.3333333333vw;
  padding: 0 .5333333333vw;
  font-style: normal;
  font-weight: 400;
  font-weight: 800;
  font-size: 5.8666666667vw;
  font-family: Bricolage Grotesque, sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "wdth"100
}

.l-main .price__table__off span:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: .2666666667vw;
  background: #000;
  content: ""
}

.l-main .price__table__off span span.yen {
  margin-left: 0;
  font-style: normal;
  font-size: 3.7333333333vw;
  font-family: Zen Kaku Gothic New, sans-serif;
  font-optical-sizing: auto
}

.l-main .price__table__off span span.yen:before {
  content: none
}

.l-main .price__link a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  -moz-column-gap: 2.6666666667vw;
  column-gap: 2.6666666667vw;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-size: 3.7333333333vw;
  text-decoration: underline;
  transition: .2s color ease-in-out
}

.l-main .price__link a:hover {
  color: var(--color-00-point)
}

.l-main .price__link a:hover svg circle {
  fill: var(--color-00-point)
}

.l-main .price__link a:hover svg path {
  stroke: var(--color-00-yellow)
}

.l-main .price__link a svg {
  display: block
}

.l-main .price__link a svg circle {
  transition: .2s fill ease-in-out
}

.l-main .price__link a svg path {
  transition: .2s stroke ease-in-out
}

.l-main .price__btn {
  margin-top: 10.6666666667vw
}

.l-main .price__btn a {
  display: flex;
  position: relative;
  width: 73.3333333333vw;
  margin: 0 auto;
  padding: 5.3333333333vw;
  border-radius: 80vw;
  background: var(--color-00-point);
  color: #fff;
  line-height: 1;
  -moz-column-gap: 4.5333333333vw;
  column-gap: 4.5333333333vw;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-weight: 700;
  font-size: 4.8vw
}
.l-main .price__btn .no_sale_btn{
  background: #868686;
}
.l-main .price__btn a:hover:before {
  opacity: 0
}

.l-main .price__btn a span {
  z-index: 2;
  position: relative;
  white-space: nowrap
}

.l-main .price__btn a:before {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(88deg, #37a8ff 5.74%, #12d2a8 94.39%);
  content: "";
  transition: opacity .2s ease-in-out
}
.l-main .price__btn .no_sale_btn:before {
  background: #868686;
}
.l-main .price__btn a:after {
  display: block;
  z-index: 2;
  flex-shrink: 0;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  background: url(../images/seasonpass2526/icon_arrow_cta.svg) no-repeat;
  background-size: contain;
  content: ""
}
.l-main .price__btn .no_sale_btn:after {
  background-image: none;
  content:none;
}

.l-main .flow {
  margin-bottom: 13.3333333333vw
}

.l-main .flow h2 {
  margin-bottom: 10.6666666667vw;
  font-weight: 700;
  font-size: 5.8666666667vw;
  line-height: 1.5;
  text-align: center
}

.l-main .flow h2:before {
  display: block;
  width: 34.6666666667vw;
  height: 12.2666666667vw;
  margin: 0 auto 4vw;
  background: url(../images/seasonpass2526/flow_ttl.svg) no-repeat;
  background-size: contain;
  content: ""
}

.l-main .flow ol li {
  position: relative;
  margin-bottom: 13.3333333333vw;
  padding: 8vw;
  border-radius: 5.3333333333vw;
  background: #fff
}

.l-main .flow ol li:after {
  display: block;
  position: absolute;
  bottom: -9.3333333333vw;
  left: 50%;
  width: 9.8666666667vw;
  height: 5.6vw;
  transform: translate(-50%);
  background: url(../images/seasonpass2526/icon_arrow.svg) no-repeat;
  background-size: contain;
  content: ""
}

.l-main .flow ol li:last-child {
  margin-bottom: 0
}

.l-main .flow ol li:last-child:after {
  display: none
}

.l-main .flow ol li h3 {
  margin-bottom: 5.3333333333vw;
  color: #dce7ef;
  font-style: normal;
  font-weight: 400;
  font-weight: 800;
  font-size: 10.6666666667vw;
  line-height: 1;
  font-family: Bricolage Grotesque, sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: "wdth"100;
  text-align: center
}

.l-main .flow ol li figure {
  margin-bottom: 8vw
}

.l-main .flow ol li h4 {
  margin-bottom: 8vw;
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.5;
  text-align: center
}

.l-main .flow ol li p {
  font-size: 3.7333333333vw;
  line-height: 1.5
}

.l-main .flow ol li p a {
  font-weight: 700;
  text-decoration: underline
}

.l-main .flow ol li .flow__note {
  margin-top: 5.3333333333vw;
  font-size: 3.2vw;
  line-height: 1.5
}

.l-main .faq h2 {
  margin-bottom: 10.6666666667vw;
  font-weight: 700;
  font-size: 5.8666666667vw;
  line-height: 1.5;
  text-align: center
}

.l-main .faq h2:before {
  display: block;
  width: 29.0666666667vw;
  height: 14.4vw;
  margin: 0 auto 4vw;
  background: url(../images/seasonpass2526/faq_ttl.svg) no-repeat;
  background-size: contain;
  content: ""
}

.l-main .faq ul li {
  margin-bottom: 4vw;
  border-radius: 2.6666666667vw;
  background: #fff
}

.l-main .faq ul li dl {
  position: relative
}

.l-main .faq ul li dl dt {
  display: flex;
  align-items: center;
  height: 20vw;
  -moz-column-gap: 4vw;
  column-gap: 4vw;
  padding: 0 16vw 0 5.3333333333vw;
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  cursor: pointer
}

.l-main .faq ul li dl dt:hover span {
  background-color: var(--color-00-point)
}

.l-main .faq ul li dl dt:hover span:before,
.l-main .faq ul li dl dt:hover span:after {
  background-color: var(--color-00-yellow)
}

.l-main .faq ul li dl dt.is-active span:after {
  transform: rotate(0)
}

.l-main .faq ul li dl dt:before {
  content: "Q";
  font-size: calcSp(16)
}

.l-main .faq ul li dl dt span {
  position: absolute;
  top: 6.6666666667vw;
  right: 6.6666666667vw;
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  border-radius: 50%;
  background: var(--color-00-yellow);
  transition: .2s background-color ease-in-out
}

.l-main .faq ul li dl dt span:before {
  display: block;
  position: absolute;
  top: 3.2vw;
  left: 1.8666666667vw;
  width: 2.9333333333vw;
  height: .5333333333vw;
  background: var(--color-00-point);
  content: "";
  transition: .2s background-color ease-in-out
}

.l-main .faq ul li dl dt span:after {
  display: block;
  position: absolute;
  top: 3.2vw;
  left: 1.8666666667vw;
  width: 2.9333333333vw;
  height: .5333333333vw;
  transform: rotate(90deg);
  background: var(--color-00-point);
  content: "";
  transition: .2s transform ease-in-out, .2s background-color ease-in-out
}

.l-main .faq ul li dl dd {
  display: none
}

.l-main .faq ul li dl dd .dd__inner {
  display: flex;
  font-size: 3.7333333333vw;
  -moz-column-gap: 4vw;
  column-gap: 4vw;
  padding: 0 16vw 5.3333333333vw 5.3333333333vw;
  line-height: 1.5
}

.l-main .faq ul li dl dd .dd__inner:before {
  content: "A";
  font-weight: 700;
  font-size: calcSp(16)
}

.l-main .pagetop {
  display: block;
  margin-right: 7.7333333333vw
}

.l-main .pagetop a {
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 2.6666666667vw;
  column-gap: 2.6666666667vw;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-size: 3.7333333333vw;
  transition: .2s color ease-in-out
}

.l-main .pagetop a:hover {
  color: var(--color-00-point)
}

.l-main .pagetop a:hover svg circle {
  fill: var(--color-00-point)
}

.l-main .pagetop a:hover svg path {
  stroke: var(--color-00-yellow)
}

.l-main .pagetop a svg {
  display: block;
  line-height: 1
}

.l-main .pagetop a svg circle {
  transition: .2s fill ease-in-out
}

.l-main .pagetop a svg path {
  transition: .2s stroke ease-in-out
}

.l-main .modal {
  display: none;
  z-index: 20;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00000080
}

.l-main .modal__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 5.3333333333vw
}

.l-main .modal__inner {
  padding: 5.3333333333vw 5.3333333333vw 13.3333333333vw;
  border-radius: 2.6666666667vw;
  background: #fff
}

.l-main .modal__table {
  overflow: hidden;
  border-radius: 1.6vw
}

.l-main .modal__table table {
  width: 100%;
  margin-bottom: 13.3333333333vw;
  border-spacing: 1.0666666667vw
}

.l-main .modal__table table thead th {
  padding: 2.6666666667vw;
  background: var(--color-00-point);
  color: #fff;
  font-weight: 700;
  font-size: 4.2666666667vw
}

.l-main .modal__table table tbody th,
.l-main .modal__table table tbody td {
  padding: 2.6666666667vw;
  background: #f2f7fa
}

.l-main .modal__table table tbody th {
  font-weight: 700;
  font-size: 4.2666666667vw
}

.l-main .modal__table table tbody td {
  font-size: 4.2666666667vw;
  line-height: 1.5
}

.l-main .modal__btn a {
  display: block;
  position: relative;
  padding: 2.6666666667vw;
  border-radius: 80vw;
  background: var(--color-00-yellow);
  color: var(--color-00-point);
  font-weight: 700;
  font-size: 4.8vw;
  text-align: center;
  transition: .2s background-color ease-in-out, .2s color ease-in-out
}

.l-main .modal__btn a:hover {
  background: var(--color-00-point);
  color: var(--color-00-yellow)
}

.l-main .modal__btn a:hover svg circle {
  stroke: var(--color-00-yellow)
}

.l-main .modal__btn a:hover svg path {
  stroke: var(--color-00-yellow)
}

.l-main .modal__btn a span {
  position: absolute;
  top: 50%;
  right: 5.3333333333vw;
  transform: translateY(-50%);
  line-height: 1
}

.l-main .modal__btn a span svg {
  display: block;
  width: 5.3333333333vw;
  height: 5.3333333333vw
}

.l-main .modal__btn a span svg path,
.l-main .modal__btn a span svg circle {
  transition: .2s stroke ease-in-out
}

@media print,
screen and (min-width: 1024px) and (orientation: landscape),
screen and (min-width: 1025px) {
  .footer {
    width: 100%
  }
}

@media print,
screen and (min-width:768px) {
  .content .pc {
    display: block
  }

  .content .sp {
    display: none
  }

  .l-main .float {
    bottom: clamp(37.5873015873px, 4.8941798942vw, 74px);
    left: auto;
    writing-mode: vertical-rl
  }

  .l-main .float a {
    width: auto;
    padding: clamp(10.1587301587px, 1.3227513228vw, 20px) clamp(12.1904761905px, 1.5873015873vw, 24px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px);
    -moz-column-gap: clamp(5.0793650794px, .6613756614vw, 10px);
    column-gap: clamp(5.0793650794px, .6613756614vw, 10px);
    align-items: center;
    border-radius: clamp(10.1587301587px, 1.3227513228vw, 20px) 0 0 clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .float a:before {
    background: linear-gradient(2deg, #37a8ff 11.24%, #12d2a8)
  }

  .l-main .float a:after {
    width: clamp(15.2380952381px, 1.9841269841vw, 30px);
    height: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .kv {
    height: clamp(498.7936507937px, 64.9470899471vw, 982px);
    border-radius: 0 0 clamp(45.7142857143px, 5.9523809524vw, 90px) clamp(45.7142857143px, 5.9523809524vw, 90px);
    background: url(../images/seasonpass2526/bg_kv.webp) no-repeat center center;
    background-size: cover
  }

  .l-main .kv__wrap {
    margin-bottom: clamp(50.7936507937px, 6.6137566138vw, 100px)
  }

  .l-main .kv__logo {
    top: clamp(18.7936507937px, 2.4470899471vw, 37px);
    left: clamp(20.3174603175px, 2.6455026455vw, 40px);
    width: clamp(142.2222222222px, 18.5185185185vw, 280px)
  }

  .l-main .kv h1 {
    top: clamp(84.8253968254px, 11.044973545vw, 167px);
    right: clamp(89.9047619048px, 11.7063492063vw, 177px);
    left: auto;
    width: clamp(290.5396825397px, 37.8306878307vw, 572px)
  }

  .l-main .kv__nav ul {
    display: flex;
    position: fixed;
    top: clamp(20.3174603175px, 2.6455026455vw, 40px);
    right: clamp(20.3174603175px, 2.6455026455vw, 40px);
    align-items: center;
    -moz-column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    padding: clamp(7.1111111111px, .9259259259vw, 14px) clamp(17.7777777778px, 2.3148148148vw, 35px);
    border-radius: clamp(50.7936507937px, 6.6137566138vw, 100px);
    background: #fff;
    box-shadow: 0 0 clamp(10.1587301587px, 1.3227513228vw, 20px) 0 #0000001a
  }

  .l-main .kv__nav ul li {
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px)
  }

  .l-main .kv__nav ul li a {
    margin-block: calc((1em - 1lh)/2);
    font-weight: 700;
    font-size: inherit;
    transition: color .2s ease-in-out
  }

  .l-main .kv__nav ul li a:hover {
    color: var(--color-00-point)
  }

  .l-main .kv__nav ul li a:hover svg path {
    fill: var(--color-00-point)
  }

  .l-main .kv__nav ul li a svg {
    display: block
  }

  .l-main .kv__nav ul li a svg path {
    transition: .2s fill ease-in-out
  }

  .l-main .off {
    position: absolute;
    right: 0;
    bottom: clamp(25.3968253968px, 3.3068783069vw, 50px);
    left: 0;
    padding: unset;
    background: unset
  }

  .l-main .off__inner {
    display: flex;
    align-items: center;
    width: clamp(642.0317460317px, 83.5978835979vw, 1264px);
    margin: 0 auto;
    -moz-column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .off h2 {
    width: clamp(111.746031746px, 14.5502645503vw, 220px);
    margin: 0
  }

  .l-main .off__list {
    display: flex;
    -moz-column-gap: clamp(9.1428571429px, 1.1904761905vw, 18px);
    column-gap: clamp(9.1428571429px, 1.1904761905vw, 18px)
  }

  .l-main .off__list li {
    width: clamp(165.5873015873px, 21.5608465608vw, 326px);
    margin-bottom: 0
  }

  .l-main .intro {
    margin-bottom: clamp(50.7936507937px, 6.6137566138vw, 100px)
  }

  .l-main .intro__inner {
    width: clamp(507.9365079365px, 66.1375661376vw, 1000px);
    margin: 0 auto;
    padding: 0
  }

  .l-main .intro h2 {
    margin-bottom: clamp(35.5555555556px, 4.6296296296vw, 70px);
    font-size: clamp(25.3968253968px, 3.3068783069vw, 50px)
  }

  .l-main .intro h2 span {
    font-size: clamp(12.1904761905px, 1.5873015873vw, 24px)
  }

  .l-main .intro__nav {
    display: flex;
    -moz-column-gap: clamp(40.6349206349px, 5.291005291vw, 80px);
    column-gap: clamp(40.6349206349px, 5.291005291vw, 80px)
  }

  .l-main .intro__nav li {
    width: calc((100% - clamp(81.2698412698px, 10.582010582vw, 160px)) / 3);
    margin-bottom: 0;
    font-size: clamp(12.6984126984px, 1.6534391534vw, 25px)
  }

  .l-main .intro__nav li a {
    display: block;
    height: auto;
    padding: clamp(37.5873015873px, 4.8941798942vw, 74px) 0 clamp(15.2380952381px, 1.9841269841vw, 30px);
    border-width: clamp(.5079365079px, .0661375661vw, 1px);
    border-radius: clamp(507.9365079365px, 66.1375661376vw, 1000px);
    text-align: center
  }

  .l-main .intro__nav li a .no {
    width: clamp(36.5714285714px, 4.7619047619vw, 72px);
    height: clamp(22.3492063492px, 2.9100529101vw, 44px);
    margin: 0 auto clamp(14.2222222222px, 1.8518518519vw, 28px)
  }

  .l-main .intro__nav li a .after {
    width: clamp(41.6507936508px, 5.4232804233vw, 82px);
    height: clamp(41.6507936508px, 5.4232804233vw, 82px);
    margin: clamp(13.2063492063px, 1.7195767196vw, 26px) auto 0
  }

  .l-main .intro__nav li a .after svg {
    width: clamp(41.6507936508px, 5.4232804233vw, 82px);
    height: clamp(41.6507936508px, 5.4232804233vw, 82px)
  }

  .l-main .privilege {
    padding: clamp(150.8571428571px, 19.6428571429vw, 297px) clamp(36.5714285714px, 4.7619047619vw, 72px) 0;
    border-radius: clamp(45.7142857143px, 5.9523809524vw, 90px)
  }

  .l-main .privilege__inner {
    padding: clamp(54.3492063492px, 7.0767195767vw, 107px) 0 clamp(40.6349206349px, 5.291005291vw, 80px)
  }

  .l-main .privilege__btn.-last {
    width: clamp(386.0317460317px, 50.2645502646vw, 760px);
    margin: 0 auto clamp(71.1111111111px, 9.2592592593vw, 140px)
  }

  .l-main .privilege__btn.-last span.arrow {
    width: clamp(24.380952381px, 3.1746031746vw, 48px);
    height: clamp(24.380952381px, 3.1746031746vw, 48px)
  }

  .l-main .privilege__btn {
    margin: clamp(15.2380952381px, 1.9841269841vw, 30px) 0 0
  }

  .l-main .privilege__btn a {
    padding: clamp(10.1587301587px, 1.3227513228vw, 20px);
    font-size: clamp(17.2698412698px, 2.2486772487vw, 34px)
  }

  .l-main .privilege__btn a span span {
    font-weight: 500;
    font-size: clamp(11.1746031746px, 1.455026455vw, 22px)
  }

  .l-main .privilege__btn a span.arrow {
    right: clamp(15.2380952381px, 1.9841269841vw, 30px);
    width: clamp(12.1904761905px, 1.5873015873vw, 24px);
    height: clamp(12.1904761905px, 1.5873015873vw, 24px)
  }

  .l-main .privilege__block {
    width: clamp(684.6984126984px, 89.1534391534vw, 1348px);
    margin: 0 auto
  }

  .l-main .privilege__block h2 {
    margin-bottom: clamp(30.4761904762px, 3.9682539683vw, 60px);
    font-size: clamp(27.4285714286px, 3.5714285714vw, 54px)
  }

  .l-main .privilege__block h2:before {
    width: clamp(59.9365079365px, 7.8042328042vw, 118px);
    height: clamp(46.7301587302px, 6.0846560847vw, 92px);
    margin-bottom: clamp(34.5396825397px, 4.4973544974vw, 68px)
  }

  .l-main .privilege__block h3 {
    margin-bottom: clamp(30.4761904762px, 3.9682539683vw, 60px);
    padding: clamp(5.0793650794px, .6613756614vw, 10px) clamp(20.3174603175px, 2.6455026455vw, 40px);
    border-width: clamp(.5079365079px, .0661375661vw, 1px);
    font-size: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .privilege__block2 {
    display: flex;
    margin: 0 clamp(42.6666666667px, 5.5555555556vw, 84px) clamp(55.873015873px, 7.2751322751vw, 110px);
    -moz-column-gap: clamp(30.4761904762px, 3.9682539683vw, 60px);
    column-gap: clamp(30.4761904762px, 3.9682539683vw, 60px)
  }

  .l-main .privilege__block2 figure {
    width: clamp(365.7142857143px, 47.619047619vw, 720px);
    margin-bottom: 0
  }

  .l-main .privilege__block2 figure .badge {
    top: clamp(15.2380952381px, 1.9841269841vw, 30px);
    left: clamp(15.2380952381px, 1.9841269841vw, 30px);
    width: clamp(58.9206349206px, 7.671957672vw, 116px);
    height: clamp(58.9206349206px, 7.671957672vw, 116px)
  }

  .l-main .privilege__block2__cont {
    width: clamp(213.3333333333px, 27.7777777778vw, 420px);
    padding-top: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .privilege__block2__cont h4 {
    font-size: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .privilege__list01 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 clamp(-20px, -1.3227513228vw, -10.1587301587px) clamp(55.873015873px, 7.2751322751vw, 110px);
    gap: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .privilege__list01.-col2 {
    grid-template-columns: repeat(2, 1fr)
  }

  .l-main .privilege__list01.-col2>li {
    display: block
  }

  .l-main .privilege__list01.-col2>li>ul {
    display: flex;
    -moz-column-gap: clamp(30.4761904762px, 3.9682539683vw, 60px);
    column-gap: clamp(30.4761904762px, 3.9682539683vw, 60px)
  }

  .l-main .privilege__list01.-col2>li>ul>li:first-child {
    position: relative
  }

  .l-main .privilege__list01.-col2>li>ul>li:first-child:after {
    position: absolute;
    top: clamp(40.6349206349px, 5.291005291vw, 80px);
    right: clamp(-43px, -2.8439153439vw, -21.8412698413px);
    width: clamp(12.6984126984px, 1.6534391534vw, 25px);
    height: clamp(12.6984126984px, 1.6534391534vw, 25px);
    margin: 0
  }

  .l-main .privilege__list01.-col2>li h4 {
    margin-bottom: clamp(12.1904761905px, 1.5873015873vw, 24px);
    font-size: clamp(20.3174603175px, 2.6455026455vw, 40px)
  }

  .l-main .privilege__list01.-col2>li figure {
    margin-bottom: clamp(7.619047619px, .9920634921vw, 15px)
  }

  .l-main .privilege__list01.-col2>li p {
    margin-top: clamp(7.619047619px, .9920634921vw, 15px)
  }

  .l-main .privilege__list01>li {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    margin-bottom: 0;
    padding: clamp(20.3174603175px, 2.6455026455vw, 40px);
    gap: 0;
    border-radius: clamp(15.2380952381px, 1.9841269841vw, 30px);
    box-shadow: 0 0 clamp(10.1587301587px, 1.3227513228vw, 20px) 0 #0003
  }

  .l-main .privilege__list01>li figure {
    margin-bottom: clamp(7.619047619px, .9920634921vw, 15px);
    border-radius: clamp(5.0793650794px, .6613756614vw, 10px)
  }

  .l-main .privilege__list01>li figure .badge {
    top: clamp(4.0634920635px, .5291005291vw, 8px);
    left: clamp(4.0634920635px, .5291005291vw, 8px);
    width: clamp(43.1746031746px, 5.6216931217vw, 85px);
    height: clamp(43.1746031746px, 5.6216931217vw, 85px)
  }

  .l-main .privilege__list01>li h4 {
    margin-bottom: clamp(7.619047619px, .9920634921vw, 15px);
    font-size: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .privilege__list01>li p {
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px)
  }

  .l-main .privilege__list02 {
    margin: 0 clamp(-20px, -1.3227513228vw, -10.1587301587px);
    -moz-column-gap: clamp(10.1587301587px, 1.3227513228vw, 20px);
    column-gap: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .privilege__list02 li {
    width: calc((100% - clamp(30.4761904762px, 3.9682539683vw, 60px))/4);
    padding: clamp(15.2380952381px, 1.9841269841vw, 30px);
    border-radius: clamp(15.2380952381px, 1.9841269841vw, 30px);
    box-shadow: 0 0 clamp(10.1587301587px, 1.3227513228vw, 20px) 0 #0003
  }

  .l-main .privilege__list02 li figure {
    margin-bottom: clamp(7.619047619px, .9920634921vw, 15px);
    border-radius: clamp(5.0793650794px, .6613756614vw, 10px)
  }

  .l-main .privilege__list02 li p {
    font-size: clamp(12.1904761905px, 1.5873015873vw, 24px)
  }

  .l-main .privilege__list03 {
    align-items: flex-start;
    gap: clamp(6.0952380952px, .7936507937vw, 12px);
    font-size: clamp(7.619047619px, .9920634921vw, 15px)
  }

  .l-main .privilege__list03 li.icon {
    padding: clamp(2.5396825397px, .3306878307vw, 5px) clamp(7.1111111111px, .9259259259vw, 14px);
    border-width: clamp(.5079365079px, .0661375661vw, 1px);
    font-size: clamp(7.619047619px, .9920634921vw, 15px)
  }

  .l-main #privilege01:before {
    top: 8.1349206349vw;
    left: -6.1507936508vw;
    width: 112.6322751323vw;
    height: 112.6322751323vw
  }

  .l-main #privilege01:after {
    top: clamp(548.5714285714px, 71.4285714286vw, 1080px);
    width: 100%;
    height: clamp(406.3492063492px, 52.9100529101vw, 800px)
  }

  .l-main #privilege02:before {
    top: 8.1349206349vw;
    left: -6.1507936508vw;
    width: 112.6322751323vw;
    height: 112.6322751323vw
  }

  .l-main #privilege02:after {
    top: clamp(548.5714285714px, 71.4285714286vw, 1080px);
    width: 100%;
    height: clamp(406.3492063492px, 52.9100529101vw, 800px)
  }

  .l-main #privilege02.privilege .privilege__block h2:before {
    width: clamp(73.6507936508px, 9.5899470899vw, 145px);
    height: clamp(46.7301587302px, 6.0846560847vw, 92px)
  }

  .l-main #privilege03:before {
    top: 8.1349206349vw;
    left: -6.1507936508vw;
    width: 112.6322751323vw;
    height: 112.6322751323vw
  }

  .l-main #privilege03:after {
    top: clamp(548.5714285714px, 71.4285714286vw, 1080px);
    width: 100%;
    height: clamp(406.3492063492px, 52.9100529101vw, 800px)
  }

  .l-main #privilege03.privilege .privilege__block h2:before {
    width: clamp(75.1746031746px, 9.7883597884vw, 148px);
    height: clamp(46.7301587302px, 6.0846560847vw, 92px)
  }

  .l-main #privilege03.privilege .privilege__lead {
    margin: 0 0 clamp(30.4761904762px, 3.9682539683vw, 60px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .privilege__slide__contents {
    width: 82.0105820106vw;
    height: 47.4867724868vw
  }

  .l-main .privilege__slide__contents li figure figcaption {
    margin-top: .6613756614vw;
    font-size: .9920634921vw
  }

  .l-main .privilege__slide__contents li:nth-child(1) {
    top: 10.9126984127vw;
    width: 21.8253968254vw
  }

  .l-main .privilege__slide__contents li:nth-child(2) {
    left: 28.2407407407vw;
    width: 21.8253968254vw
  }

  .l-main .privilege__slide__contents li:nth-child(3) {
    top: 29.5634920635vw;
    left: 24.9338624339vw;
    width: 14.6825396825vw
  }

  .l-main .privilege__slide__contents li:nth-child(4) {
    top: 23.6111111111vw;
    left: 53.373015873vw;
    width: 21.8253968254vw
  }

  .l-main .privilege__slide__contents li:nth-child(5) {
    left: 63.8227513228vw;
    width: 14.6825396825vw
  }

  .l-main .bg {
    margin-bottom: clamp(25.3968253968px, 3.3068783069vw, 50px);
    border-radius: clamp(45.7142857143px, 5.9523809524vw, 90px)
  }

  .l-main .bg__inner {
    width: clamp(591.2380952381px, 76.9841269841vw, 1164px);
    margin: 0 auto;
    padding: clamp(60.9523809524px, 7.9365079365vw, 120px) 0
  }

  .l-main .price {
    margin-bottom: clamp(50.7936507937px, 6.6137566138vw, 100px)
  }

  .l-main .price h2 {
    margin-bottom: clamp(40.6349206349px, 5.291005291vw, 80px);
    font-size: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .price h2:before {
    width: clamp(167.1111111111px, 21.7592592593vw, 329px);
    height: clamp(79.2380952381px, 10.3174603175vw, 156px);
    margin-bottom: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .price section.price__block {
    margin-bottom: clamp(10.1587301587px, 1.3227513228vw, 20px);
    padding: clamp(35.5555555556px, 4.6296296296vw, 70px) clamp(25.3968253968px, 3.3068783069vw, 50px);
    border-radius: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .price section.price__block.-supereary:before {
    padding: clamp(3.0476190476px, .3968253968vw, 6px) clamp(15.2380952381px, 1.9841269841vw, 30px) clamp(5.0793650794px, .6613756614vw, 10px);
    border-radius: 0 0 clamp(15.2380952381px, 1.9841269841vw, 30px) clamp(15.2380952381px, 1.9841269841vw, 30px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .price section.price__block.-normal .price__sub,
  .l-main .price section.price__block.-spring .price__sub {
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .price section.price__block.-normal .price__sub span,
  .l-main .price section.price__block.-sprign .price__sub span {
    font-size: inherit
  }

  .l-main .price section.price__block.-normal .price__table dl dd,
  .l-main .price section.price__block.-spring .price__table dl dd {
    padding: clamp(30.4761904762px, 3.9682539683vw, 60px) 0
  }

  .l-main .price section.price__block.-normal .price__table dl dd .price__table__original,
  .l-main .price section.price__block.-spring .price__table dl dd .price__table__original {
    font-size: clamp(18.2857142857px, 2.380952381vw, 36px)
  }

  .l-main .price section.price__block.-normal .price__table dl dd .price__table__original span,
  .l-main .price section.price__block.-spring .price__table dl dd .price__table__original span {
    font-size: clamp(9.1428571429px, 1.1904761905vw, 18px)
  }

  .l-main .price section.price__block h3 {
    margin-bottom: clamp(15.2380952381px, 1.9841269841vw, 30px);
    font-size: clamp(20.3174603175px, 2.6455026455vw, 40px)
  }

  .l-main .price__sub {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto clamp(15.2380952381px, 1.9841269841vw, 30px);
    padding: clamp(2.5396825397px, .3306878307vw, 5px) clamp(9.1428571429px, 1.1904761905vw, 18px);
    border-radius: clamp(3.0476190476px, .3968253968vw, 6px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .price__sub span {
    margin-left: clamp(5.0793650794px, .6613756614vw, 10px);
    font-size: clamp(14.2222222222px, 1.8518518519vw, 28px)
  }

  .l-main .price__table {
    display: flex;
    -moz-column-gap: clamp(3.0476190476px, .3968253968vw, 6px);
    column-gap: clamp(3.0476190476px, .3968253968vw, 6px)
  }

  .l-main .price__table dl {
    width: calc((100% - clamp(12.1904761905px, 1.5873015873vw, 24px))/5);
    margin-bottom: 0;
    border-radius: clamp(3.0476190476px, .3968253968vw, 6px)
  }

  .l-main .price__table dl dt {
    font-size: clamp(9.1428571429px, 1.1904761905vw, 18px)
  }

  .l-main .price__table dl dd {
    padding: clamp(19.3015873016px, 2.5132275132vw, 38px) 0
  }

  .l-main .price__table__price {
    font-size: clamp(18.2857142857px, 2.380952381vw, 36px)
  }

  .l-main .price__table__price span.yen {
    font-size: clamp(9.1428571429px, 1.1904761905vw, 18px)
  }

  .l-main .price__table__off {
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px)
  }

  .l-main .price__table__off span {
    padding: 0 clamp(1.0158730159px, .1322751323vw, 2px);
    font-size: clamp(11.1746031746px, 1.455026455vw, 22px)
  }

  .l-main .price__table__off span:before {
    height: clamp(.5079365079px, .0661375661vw, 1px)
  }

  .l-main .price__table__off span span.yen {
    font-size: clamp(7.1111111111px, .9259259259vw, 14px)
  }

  .l-main .price__link a {
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px);
    -moz-column-gap: clamp(2.0317460317px, .2645502646vw, 4px);
    column-gap: clamp(2.0317460317px, .2645502646vw, 4px);
    margin-top: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .price__btn {
    bottom: clamp(37.5873015873px, 4.8941798942vw, 74px);
    left: auto;
    margin-top: clamp(5.0793650794px, .6613756614vw, 10px)
  }

  .l-main .price__btn a {
    width: clamp(185.9047619048px, 24.2063492063vw, 366px);
    padding: clamp(10.1587301587px, 1.3227513228vw, 20px) clamp(12.6984126984px, 1.6534391534vw, 25px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px);
    -moz-column-gap: clamp(5.0793650794px, .6613756614vw, 10px);
    column-gap: clamp(5.0793650794px, .6613756614vw, 10px)
  }

  .l-main .price__btn a:after {
    width: clamp(15.2380952381px, 1.9841269841vw, 30px);
    height: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .flow {
    margin-bottom: clamp(50.7936507937px, 6.6137566138vw, 100px)
  }

  .l-main .flow h2 {
    margin-bottom: clamp(40.6349206349px, 5.291005291vw, 80px);
    font-size: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .flow h2:before {
    width: clamp(141.2063492063px, 18.3862433862vw, 278px);
    height: clamp(49.2698412698px, 6.4153439153vw, 97px);
    margin-bottom: clamp(35.5555555556px, 4.6296296296vw, 70px)
  }

  .l-main .flow ol {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .flow ol li {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    margin-bottom: 0;
    padding: clamp(15.2380952381px, 1.9841269841vw, 30px);
    gap: 0;
    border-radius: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .flow ol li:after {
    top: calc(50% - clamp(5.0793650794px, .6613756614vw, 10px));
    right: clamp(-35px, -2.3148148148vw, -17.7777777778px);
    left: auto;
    width: clamp(18.7936507937px, 2.4470899471vw, 37px);
    height: clamp(10.6666666667px, 1.3888888889vw, 21px);
    transform: rotate(-90deg)
  }

  .l-main .flow ol li h3 {
    margin-bottom: clamp(15.2380952381px, 1.9841269841vw, 30px);
    font-size: clamp(20.3174603175px, 2.6455026455vw, 40px)
  }

  .l-main .flow ol li figure {
    margin-bottom: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .flow ol li h4 {
    align-self: center;
    margin-bottom: clamp(10.1587301587px, 1.3227513228vw, 20px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .flow ol li p {
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px)
  }

  .l-main .flow ol li .flow__note {
    margin-top: clamp(6.0952380952px, .7936507937vw, 12px);
    font-size: clamp(6.6031746032px, .8597883598vw, 13px)
  }

  .l-main .faq h2 {
    margin-bottom: clamp(40.6349206349px, 5.291005291vw, 80px);
    font-size: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .faq h2:before {
    width: clamp(118.8571428571px, 15.4761904762vw, 234px);
    height: clamp(57.3968253968px, 7.4735449735vw, 113px);
    margin-bottom: clamp(25.3968253968px, 3.3068783069vw, 50px)
  }

  .l-main .faq ul li {
    margin-bottom: clamp(6.0952380952px, .7936507937vw, 12px);
    border-radius: clamp(5.0793650794px, .6613756614vw, 10px)
  }

  .l-main .faq ul li dl dt {
    height: auto;
    -moz-column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    padding: clamp(15.2380952381px, 1.9841269841vw, 30px);
    font-size: clamp(9.1428571429px, 1.1904761905vw, 18px)
  }

  .l-main .faq ul li dl dt br {
    display: none
  }

  .l-main .faq ul li dl dt:before {
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .faq ul li dl dt span {
    top: clamp(15.2380952381px, 1.9841269841vw, 30px);
    right: clamp(15.2380952381px, 1.9841269841vw, 30px);
    width: clamp(18.2857142857px, 2.380952381vw, 36px);
    height: clamp(18.2857142857px, 2.380952381vw, 36px)
  }

  .l-main .faq ul li dl dt span:before {
    top: clamp(8.6349206349px, 1.1243386243vw, 17px);
    left: clamp(5.0793650794px, .6613756614vw, 10px);
    width: clamp(7.619047619px, .9920634921vw, 15px);
    height: clamp(1.0158730159px, .1322751323vw, 2px)
  }

  .l-main .faq ul li dl dt span:after {
    top: clamp(8.6349206349px, 1.1243386243vw, 17px);
    left: clamp(5.0793650794px, .6613756614vw, 10px);
    width: clamp(7.619047619px, .9920634921vw, 15px);
    height: clamp(1.0158730159px, .1322751323vw, 2px)
  }

  .l-main .faq ul li dl dd .dd__inner {
    -moz-column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    column-gap: clamp(15.2380952381px, 1.9841269841vw, 30px);
    padding: clamp(15.2380952381px, 1.9841269841vw, 30px);
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px)
  }

  .l-main .faq ul li dl dd .dd__inner:before {
    position: relative;
    top: clamp(-2px, -.1322751323vw, -1.0158730159px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .pagetop {
    width: 100%;
    max-width: clamp(591.2380952381px, 76.9841269841vw, 1164px);
    margin: 0 auto
  }

  .l-main .pagetop a {
    font-size: clamp(8.126984127px, 1.0582010582vw, 16px);
    -moz-column-gap: clamp(5.0793650794px, .6613756614vw, 10px);
    column-gap: clamp(5.0793650794px, .6613756614vw, 10px)
  }

  .l-main .modal {
    padding: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .modal__inner {
    width: clamp(507.9365079365px, 66.1375661376vw, 1000px);
    padding: clamp(50.7936507937px, 6.6137566138vw, 100px) 0;
    border-radius: clamp(15.2380952381px, 1.9841269841vw, 30px)
  }

  .l-main .modal__table {
    width: clamp(365.7142857143px, 47.619047619vw, 720px);
    margin: 0 auto
  }

  .l-main .modal__table table {
    width: 100%;
    margin-bottom: clamp(40.6349206349px, 5.291005291vw, 80px);
    border-spacing: clamp(3.0476190476px, .3968253968vw, 6px)
  }

  .l-main .modal__table table thead th {
    padding: clamp(5.0793650794px, .6613756614vw, 10px) clamp(7.619047619px, .9920634921vw, 15px);
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .modal__table table tbody th,
  .l-main .modal__table table tbody td {
    padding: clamp(5.0793650794px, .6613756614vw, 10px) clamp(7.619047619px, .9920634921vw, 15px)
  }

  .l-main .modal__table table tbody th,
  .l-main .modal__table table tbody td {
    font-size: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .modal__table table tbody td br {
    display: none
  }

  .l-main .modal__btn a {
    width: clamp(114.7936507937px, 14.9470899471vw, 226px);
    margin: 0 auto;
    padding: clamp(5.0793650794px, .6613756614vw, 10px);
    font-size: clamp(9.1428571429px, 1.1904761905vw, 18px)
  }

  .l-main .modal__btn a span {
    right: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }

  .l-main .modal__btn a span svg {
    width: clamp(10.1587301587px, 1.3227513228vw, 20px);
    height: clamp(10.1587301587px, 1.3227513228vw, 20px)
  }
}
