@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap");
/*----------------------------------------
  トップページ
----------------------------------------*/
/* キービジュアル
----------------------------------------*/
.p-kv {
  position: relative;
  z-index: 0;
  height: min(36.1111111111vw, 520px);
}
@media (max-width: 767px) {
  .p-kv {
    height: min(141.0256410256vw, 550px);
  }
}
.p-kv__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: min(30.625vw, 441px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-kv__logo {
    width: min(76.9230769231vw, 300px);
  }
}
.p-kv__img {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: min(100vw, 1440px);
}
@media (max-width: 767px) {
  .p-kv__img {
    width: min(153.8461538462vw, 600px);
  }
}
.p-kv__bg {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.p-kv__bg .swiper {
  height: 100%;
}
.p-kv__bg .swiper-slide {
  transition-property: opacity !important;
}
.p-kv__bg .swiper-slide figure {
  height: 100%;
}
.p-kv__bg .swiper-slide figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0s linear 2s;
}
.p-kv__bg .swiper-slide figcaption {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.5em 1em;
  font-size: min(1.0416666667vw, 15px);
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .p-kv__bg .swiper-slide figcaption {
    top: initial;
    bottom: 0;
    font-size: min(3.3333333333vw, 13px);
  }
}
.p-kv__bg .swiper-slide-active figure img {
  scale: 1.1;
  transition: scale 7s linear;
}

/* お知らせ
----------------------------------------*/
.p-news {
  padding: min(8.3333333333vw, 120px) 0 min(6.9444444444vw, 100px);
}
@media (max-width: 767px) {
  .p-news {
    padding: min(15.3846153846vw, 60px) 0 min(12.8205128205vw, 50px);
  }
}
.p-news__title {
  font-size: 2em;
  font-weight: bold;
  text-align: center;
  color: var(--color-sub);
}
@media (max-width: 767px) {
  .p-news__title {
    font-size: 1.5em;
  }
}
.p-news__content {
  border: min(0.1388888889vw, 2px) solid var(--color-border);
  border-radius: min(2.0833333333vw, 30px);
  margin-top: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-news__content {
    border-width: min(0.5128205128vw, 2px);
    border-radius: min(5.1282051282vw, 20px);
    margin-top: min(5.1282051282vw, 20px);
  }
}
.p-news__content-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(2.0833333333vw, 30px);
  padding: min(1.9444444444vw, 28px) min(5.4166666667vw, 78px);
}
@media (max-width: 767px) {
  .p-news__content-inner {
    gap: min(5.1282051282vw, 20px);
    padding: min(7.1794871795vw, 28px) min(4.6153846154vw, 18px);
  }
}
.p-news__list {
  overflow-y: hidden;
  width: 100%;
  max-height: min(16.1805555556vw, 233px);
  padding-right: 12px;
  margin-right: -12px;
}
@media (max-width: 767px) {
  .p-news__list {
    max-height: min(76.9230769231vw, 300px);
  }
}
.p-news__list.is-open {
  overflow-y: scroll;
  max-height: min(22.1527777778vw, 319px);
}
@media (max-width: 767px) {
  .p-news__list.is-open {
    max-height: min(94.358974359vw, 368px);
  }
}
.p-news__list.is-open .p-news__item {
  display: grid;
}
.p-news__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: min(2.0833333333vw, 30px);
  padding: min(1.3888888889vw, 20px) 0;
  border-top: 1px dashed var(--color-border);
}
@media (max-width: 767px) {
  .p-news__item {
    grid-template-columns: auto;
    gap: min(1.2820512821vw, 5px);
    padding: min(3.8461538462vw, 15px) 0;
  }
}
.p-news__item:first-child {
  padding-top: 0;
  border-top: 0;
}
.p-news__item:last-child {
  padding-bottom: 0;
}
.p-news__item:nth-child(n+4) {
  display: none;
}
.p-news__item time {
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: var(--color-sub);
}
.p-news__item p {
  line-height: 1.8;
}
.p-news__item p a {
  font-weight: 500;
  color: var(--color-sub);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-news__item p a:hover {
  text-decoration: none;
}

/* キャンペーン内容
----------------------------------------*/
.p-about {
  padding: min(8.3333333333vw, 120px) 0;
  background: var(--color-lightblue);
}
@media (max-width: 767px) {
  .p-about {
    padding: min(15.3846153846vw, 60px) 0;
  }
}
.p-about__content {
  padding: min(4.1666666667vw, 60px) min(5.5555555556vw, 80px);
  border-radius: min(2.0833333333vw, 30px);
  background: #fff;
}
@media (max-width: 767px) {
  .p-about__content {
    padding: min(7.6923076923vw, 30px) min(5.1282051282vw, 20px);
    border-radius: min(5.1282051282vw, 20px);
  }
}
@media (max-width: 767px) {
  .p-about__title {
    width: min(51.5384615385vw, 201px);
    margin: 0 auto;
  }
}
.p-about__text-wrap {
  display: flex;
  justify-content: space-around;
  margin-top: min(2.5vw, 36px);
}
@media (max-width: 767px) {
  .p-about__text-wrap {
    position: relative;
    max-width: min(79.4871794872vw, 310px);
    width: 100%;
    margin: min(7.6923076923vw, 30px) auto 0;
  }
}
.p-about__text {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 2.4;
  text-align: center;
}
@media (max-width: 767px) {
  .p-about__text {
    font-size: 1em;
  }
}
.p-about__img:nth-of-type(1) {
  width: min(9.2361111111vw, 133px);
  margin-bottom: auto;
}
@media (max-width: 767px) {
  .p-about__img:nth-of-type(1) {
    position: absolute;
    top: max(-17.9487179487vw, -70px);
    left: max(-2.5641025641vw, -10px);
    width: min(14.358974359vw, 56px);
  }
}
.p-about__img:nth-of-type(2) {
  width: min(9.1666666667vw, 132px);
  margin-top: auto;
}
@media (max-width: 767px) {
  .p-about__img:nth-of-type(2) {
    position: absolute;
    top: max(-17.9487179487vw, -70px);
    right: max(-2.5641025641vw, -10px);
    width: min(14.358974359vw, 56px);
  }
}
.p-about__ota {
  margin-top: min(4.8611111111vw, 70px);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: min(4.1666666667vw, 60px);
  display: flex;
  flex-direction: column;
  gap: min(1.8055555556vw, 26px);
}
@media (max-width: 767px) {
  .p-about__ota {
    margin: min(7.6923076923vw, 30px) auto 0;
    max-width: min(128.2051282051vw, 500px);
    padding-top: min(6.4102564103vw, 25px);
    gap: min(3.3333333333vw, 13px);
  }
}
.p-about__logo-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(2.9166666667vw, 42px);
}
@media (max-width: 767px) {
  .p-about__logo-list {
    gap: min(3.3333333333vw, 13px) min(5.1282051282vw, 20px);
  }
}
.p-about__logo img {
  width: auto;
  height: min(5vw, 72px);
}
@media (max-width: 767px) {
  .p-about__logo img {
    height: min(8.2051282051vw, 32px);
  }
}
.p-about__step-list {
  display: flex;
  justify-content: center;
  gap: min(2.7777777778vw, 40px);
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-about__step-list {
    flex-direction: column;
    gap: min(5.1282051282vw, 20px);
    max-width: min(128.2051282051vw, 500px);
    margin: min(7.6923076923vw, 30px) auto 0;
  }
}
.p-about-step {
  position: relative;
}
@media (max-width: 767px) {
  .p-about-step {
    padding: 1em;
    border-radius: min(2.5641025641vw, 10px);
    background: var(--color-lightblue);
  }
}
.p-about-step__img {
  width: min(14.5833333333vw, 210px);
}
@media (max-width: 767px) {
  .p-about-step__img {
    position: absolute;
    top: 50%;
    left: 1em;
    translate: 0 -50%;
    width: min(12.8205128205vw, 50px);
  }
}
@media (max-width: 767px) {
  .p-about-step__text {
    margin-left: calc(1em + min(12.8205128205vw, 50px));
    font-weight: bold;
  }
}
.p-about-step:not(:last-child)::after {
  position: absolute;
  right: max(-0.7638888889vw, -11px);
  bottom: 50%;
  translate: 100% 50%;
  content: "";
  width: min(1.3194444444vw, 19px);
  aspect-ratio: 19/32;
  background: #231815;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media (max-width: 767px) {
  .p-about-step:not(:last-child)::after {
    right: 50%;
    bottom: max(-0.7692307692vw, -3px);
    translate: 50% 100%;
    width: min(2.5641025641vw, 10px);
    rotate: 90deg;
  }
}

/* キャンペーン概要
----------------------------------------*/
.p-overview {
  padding: min(8.3333333333vw, 120px) 0;
  background: #C3ECFB;
}
@media (max-width: 767px) {
  .p-overview {
    padding: min(15.3846153846vw, 60px) 0;
  }
}
.p-overview__text {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 767px) {
  .p-overview__text {
    font-size: 1.25em;
    text-align: left;
  }
}
.p-overview__text span {
  font-weight: bold;
  background: linear-gradient(to top, #FFEE69 min(0.6944444444vw, 10px), transparent min(0.6944444444vw, 10px));
}
@media (max-width: 767px) {
  .p-overview__text span {
    background: linear-gradient(to top, #FFEE69 min(1.2820512821vw, 5px), transparent min(1.2820512821vw, 5px));
  }
}
.p-overview__caption {
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 767px) {
  .p-overview__caption {
    text-align: left;
  }
}

.p-overview-schedule {
  display: flex;
  flex-direction: column;
  gap: min(2.0833333333vw, 30px);
}
@media (max-width: 767px) {
  .p-overview-schedule {
    gap: min(5.1282051282vw, 20px);
  }
}
.p-overview-schedule:nth-of-type(1) {
  --main-color: #0498CE;
  --bg-color: #E6F5FB;
  --amount-color: #45CDFF;
}
.p-overview-schedule:nth-of-type(2) {
  --main-color: #F58C12;
  --bg-color: #FEF4E8;
  --amount-color: #FFC558;
}
.p-overview-schedule:nth-of-type(3) {
  --main-color: #F26EA7;
  --bg-color: #FEF1F7;
  --amount-color: #FFA2CA;
}
.p-overview-schedule__title {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: min(1.3888888889vw, 20px);
  padding: min(0.5555555556vw, 8px) 0;
  font-size: 1.5em;
  font-weight: bold;
  letter-spacing: 0.3em;
  text-align: center;
  color: #fff;
  background: var(--main-color);
  border: 1px solid;
  border-radius: 100vmax;
}
@media (max-width: 767px) {
  .p-overview-schedule__title {
    gap: min(2.5641025641vw, 10px);
    padding: min(3.0769230769vw, 12px) 0;
    font-size: 1.25em;
    border-radius: min(3.8461538462vw, 15px);
  }
}
.p-overview-schedule__title span {
  padding: min(0.3472222222vw, 5px) min(1.0416666667vw, 15px);
  border: 1px solid;
}
@media (max-width: 767px) {
  .p-overview-schedule__title span {
    padding: 0 min(3.8461538462vw, 15px) min(1.2820512821vw, 5px);
    border: none;
    border-bottom: 1px solid;
  }
}
.p-overview-schedule__title strong {
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-overview-schedule__title strong em {
  font-size: 1.25em;
}
.p-overview-schedule__table {
  border-collapse: collapse;
}
.p-overview-schedule__table tr {
  height: min(6.9444444444vw, 100px);
}
.p-overview-schedule__table tr:not(:first-child) {
  border-top: min(0.3472222222vw, 5px) solid #fff;
}
@media (max-width: 767px) {
  .p-overview-schedule__table tr:not(:first-child) {
    border-width: min(1.2820512821vw, 5px);
  }
}
.p-overview-schedule__table th, .p-overview-schedule__table td {
  padding: min(1.3888888889vw, 20px) min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-overview-schedule__table th, .p-overview-schedule__table td {
    padding: min(2.5641025641vw, 10px) min(5.1282051282vw, 20px);
  }
}
.p-overview-schedule__table th {
  width: min(20.625vw, 297px);
  font-size: 1.25em;
  font-weight: bold;
  text-align: left;
  color: var(--main-color);
  background: var(--bg-color);
}
@media (max-width: 767px) {
  .p-overview-schedule__table th {
    width: min(28.2051282051vw, 110px);
    font-size: 1.125em;
  }
}
.p-overview-schedule__table td {
  font-weight: 500;
  line-height: 1.8;
  background: var(--color-lightgray);
}
.p-overview-schedule__table td > span {
  font-size: 1.25em;
  font-weight: bold;
}
@media (max-width: 767px) {
  .p-overview-schedule__table td > span {
    font-size: 1.125em;
  }
}
.p-overview-schedule__table td > em {
  font-size: 2em;
  font-weight: bold;
}
@media (max-width: 767px) {
  .p-overview-schedule__table td > em {
    font-size: 1.5em;
  }
}
.p-overview-schedule__note {
  margin-top: max(-1.3888888889vw, -20px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: min(0.6944444444vw, 10px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-overview-schedule__note {
    margin-top: max(-5.1282051282vw, -20px);
    grid-template-columns: auto;
    gap: min(1.2820512821vw, 5px);
  }
}
.p-overview-schedule__note dt {
  font-weight: bold;
}

.p-overview-usage {
  display: flex;
  flex-direction: column;
  gap: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-overview-usage {
    gap: min(7.6923076923vw, 30px);
  }
}
.p-overview-usage__info {
  padding: min(2.0833333333vw, 30px) min(4.1666666667vw, 60px);
  border-radius: min(0.6944444444vw, 10px);
  background: #FFFBDE;
}
@media (max-width: 767px) {
  .p-overview-usage__info {
    padding: min(5.1282051282vw, 20px);
  }
}
.p-overview-usage__info-title {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  color: #896500;
}
@media (max-width: 767px) {
  .p-overview-usage__info-title {
    font-size: 1.25em;
  }
}
.p-overview-usage__info-note {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  line-height: 1.8;
}
.p-overview-usage__info-note li {
  position: relative;
  padding-left: 1.25em;
}
.p-overview-usage__info-note li::before {
  position: absolute;
  top: calc(0.5lh - 0.3125em);
  left: 0;
  content: "";
  width: 0.625em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #E2C700;
}

.p-overview-coupon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-overview-coupon {
    gap: min(7.6923076923vw, 30px);
  }
}
.p-overview-coupon__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2.0833333333vw, 30px);
}
@media (max-width: 767px) {
  .p-overview-coupon__title {
    flex-direction: column;
    gap: min(2.5641025641vw, 10px);
  }
}
.p-overview-coupon__title dt {
  min-width: min(10.7638888889vw, 155px);
  padding: min(0.5555555556vw, 8px) 1em;
  border: 1px solid;
  border-radius: 100vmax;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-overview-coupon__title dt {
    min-width: min(28.2051282051vw, 110px);
    padding: min(1.0256410256vw, 4px) 1em;
    font-size: 1.125em;
  }
}
.p-overview-coupon__title dd {
  font-size: 1.25em;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .p-overview-coupon__title dd {
    font-size: 1em;
  }
}
.p-overview-coupon__title dd em {
  font-size: 1.5em;
}
@media (max-width: 767px) {
  .p-overview-coupon__title dd em {
    font-size: 1.25em;
  }
}
.p-overview-coupon__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em 1.25em;
}
@media (max-width: 767px) {
  .p-overview-coupon__list {
    position: relative;
    gap: min(2.5641025641vw, 10px);
  }
  .p-overview-coupon__list::before, .p-overview-coupon__list::after {
    order: 1;
    content: "";
    width: min(38.4615384615vw, 150px);
    height: 0;
  }
}
.p-overview-coupon__item {
  width: min(16.1111111111vw, 232px);
}
@media (max-width: 767px) {
  .p-overview-coupon__item {
    width: min(38.4615384615vw, 150px);
  }
}
.p-overview-coupon__link {
  overflow: hidden;
  display: block;
  border: 1px solid var(--color-border);
  border-radius: min(0.6944444444vw, 10px);
  transition: opacity 0.3s;
}
.p-overview-coupon__link:hover {
  opacity: 0.6;
}
.p-overview-coupon__link[aria-disabled] {
  pointer-events: none;
}
.p-overview-coupon__link[aria-disabled] img {
  opacity: 0.2;
}
.p-overview-coupon__caption {
  margin-top: 0.5em;
  font-size: 0.875em;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.p-overview-coupon__caption span {
  font-size: 0.8571428571em;
  display: block;
  color: #e00;
}

.p-overview-target__caption {
  margin-top: 1em;
  line-height: 1.8;
  text-align: center;
}

.p-overview-caution {
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-overview-caution {
    margin-top: min(7.6923076923vw, 30px);
  }
}
.p-overview-caution__title {
  display: flex;
  align-items: center;
  gap: min(0.5555555556vw, 8px);
  font-size: 1.125em;
  font-weight: bold;
}
@media (max-width: 767px) {
  .p-overview-caution__title {
    gap: min(1.7948717949vw, 7px);
    font-size: 1.075em;
  }
}
.p-overview-caution__title::before {
  content: "";
  width: 1lh;
  aspect-ratio: 1/1;
  background: url(../images/top/icon_caution.svg) no-repeat center/contain;
}
.p-overview-caution__note {
  margin-top: 0.5em;
  line-height: 2;
}
.p-overview-caution__note li {
  padding-left: 1em;
  text-indent: -1em;
}
.p-overview-caution__note li::before {
  content: "・";
}
.p-overview-caution__note li span {
  font-weight: 600;
  color: #e00;
}

.p-overview-schedule__col {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.0833333333vw, 30px);
  margin-top: min(0.3472222222vw, 5px);
}
@media (max-width: 767px) {
  .p-overview-schedule__col {
    justify-content: start;
    gap: min(5.1282051282vw, 20px) min(7.6923076923vw, 30px);
    margin-top: min(2.5641025641vw, 10px);
    width: -moz-fit-content;
    width: fit-content;
    font-size: min(2.5641025641vw, 10px);
  }
}

.p-campaign-discount {
  display: flex;
  align-items: center;
  gap: min(0.6944444444vw, 10px);
}
@media (max-width: 767px) {
  .p-campaign-discount {
    flex-direction: column;
  }
}
.p-campaign-discount__text {
  font-size: min(1.25vw, 18px);
  font-weight: bold;
  line-height: 1.2;
  color: var(--main-color);
}
@media (max-width: 767px) {
  .p-campaign-discount__text {
    font-size: min(3.8461538462vw, 15px);
  }
}
.p-campaign-discount__text sup {
  color: #212121;
}
.p-campaign-discount__body {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-campaign-discount__amount {
  font-size: min(1.6666666667vw, 24px);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.03em;
  color: var(--amount-color);
  -webkit-text-stroke: min(0.1388888889vw, 2px) #000;
  paint-order: stroke;
  text-shadow: min(0.2083333333vw, 3px) min(0.2083333333vw, 3px) 0 #000;
}
@media (max-width: 767px) {
  .p-campaign-discount__amount {
    font-size: min(4.6153846154vw, 18px);
    -webkit-text-stroke: min(0.5128205128vw, 2px) #000;
    text-shadow: 1px 1px 0 #000;
  }
}
.p-campaign-discount__amount em {
  font-family: "Roboto", sans-serif;
  font-size: min(3.1944444444vw, 46px);
}
@media (max-width: 767px) {
  .p-campaign-discount__amount em {
    font-size: min(10.2564102564vw, 40px);
  }
}
.p-campaign-discount__caption {
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-campaign-discount__caption {
    font-size: min(3.0769230769vw, 12px);
  }
}/*# sourceMappingURL=top.css.map */