@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");


@media screen and (min-width: 769px) {
  .pc-none {
    display: none;
  }

  .sp-none {
    display: block;
  }
}

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

  .sp-none {
    display: none;
  }
}

.js-fadeup {
  transform: translateY(16px);
  opacity: 0;
  transition: opacity 1.5s, transform 1.5s;
}

.js-fadeup.is-visible {
  transform: translateY(0);
  opacity: 1;
}

.js-fadeup-row-child {
  transform: translateY(16px);
  opacity: 0;
  transition: opacity 1.5s, transform 1.5s;
}

.js-fadeup-row.is-visible .js-fadeup-row-child {
  transform: translateY(0);
  opacity: 1;
}

.page-top {
  position: fixed;
  z-index: 99;
}

.page-top.is-absolute {
  position: absolute;
}

#footer {
  margin-top: 0;
}

.sec .color-red {
  color: #cc1c35;
}

img {
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}

.modal .c-present-block img {
  width: auto;
}

#main {
  padding-top: 80px;
}

/*レイアウト（PC）*/
.l-contents__wide {
  display: none;
}

.l-contents__narrow {
  display: contents;
}

.l-inner {
  width: 90.233%;
  max-width: 1000px;
  margin: 0 auto;
}

.l-block {
  display: block;
}

.c-present__sec {
  font-family: "Noto Sans JP", serif;
  letter-spacing: .06em;
}

/*モジュール（PC）*/
.m-heading-01 {
  margin-bottom: 36px;
  color: #333;
  text-align: center;
}

.m-heading-01__img {
  display: block;
  max-width: 360px;
  margin: 0 auto 20px;
}

.m-heading-01__large {
  font-size: clamp(38px, 4.94vw, 45px);
  font-weight: 500;
  text-align: center;
}

.m-heading-01__middle {
  font-size: clamp(21px, 2.73vw, 28px);
  font-weight: 700;
  letter-spacing: .13em;
  text-align: center;
}

.m-heading-01__middle .is-small {
  display: inline-block;
  position: relative;
  top: -3px;
}

.m-heading-01__middle .is-accent {
  margin-left: .1em;
  color: #00c8be;
  font-size: clamp(38px, 4.94vw, 45px);
}

.m-heading-01__middle .is-accent .is-small {
  font-size: clamp(21px, 2.73vw, 30px);
}

.m-heading-01__small {
  color: #189c88;
  font-size: clamp(14px, 1.8vw, 16px);
  letter-spacing: .1em;
}

.m-btn-01 {
  display: block;
  max-width: fit-content;
  margin: 4px auto 0;
  text-align: center;
  transition: opacity .3s ease;
}
.m-btn-01:hover {
  opacity: .8;
}

.u-txt-center {
  text-align: center;
}

/*ここからMV(PC)*/
.mv {
  padding: 2px 4% 0;
  background: url(/assets/campaign/present/image/mv_bg_pc.jpg)no-repeat center /cover;
  text-align: center;
}
.mv__img {
  position: relative;
}
.mv__img picture {
  position: relative;
}

.modal .mv__img {
  width: 90.033%;
  margin: 0 auto;
}

.intro {
  background: #fff;
  margin-bottom: 51px;
}

.into__date {
  text-align: center;
  line-height: 1;
  position: relative;
  top: -12px;
  background: url(../image/date_bg.png)repeat center;
  height: 104px;
  padding: 33px 0 0;
  box-sizing: border-box;
}

.intro__benefits {
  padding-top: 40px;
}

.intro__note {
  max-width: 815px;
  width: 88%;
  margin: 12px auto 0;
  padding: 0 0 0 1.4%;
  padding-left: 1rem;
  color: #333;
  font-size: 12px;
  font-weight: 300;
  text-align: left;
  text-indent: -.9rem;
  line-height: 1.4;
}

/*ここから特典(PC)*/
.benefits {
  padding: 40px 0 42px;
  background-color: #f6f1d2;
  text-align: center;
}

.benefits__img01 {
  position: relative;
  margin-bottom: 26px;
  text-align: center;
}

.benefits__img03 {
  margin: 0 auto 35px;
  text-align: center;
}

.benefits__img03 img {
  max-width: 46px;
}

.benefits__img02 {
  position: relative;
  max-width: 100%;
  text-align: center;
  margin-top: 30px;
}

.modal .benefits__img02 {
  max-width: 840px;
}

.benefits__img04 {
  margin-top: 40px;
}

.benefits__img-note {
  margin-top: 6px;
  padding: 0 0 0 1.4%;
  padding-left: 1.2rem;
  color: #333;
  font-size: 12px;
  font-weight: 300;
  text-align: left;
  text-indent: -1.2rem;
  line-height: 1.4;
}

.benefits__img-note + .benefits__img-note {
  margin-top: 3px;
}

.benefits__benefits {
  display: inline-block;
  margin: 65px auto 0;
}

.benefits__txt {
  text-align: center;
  margin-bottom: 6px;
}

/*キャンペーン概要(PC)*/
.summary {
  margin: 75px 0 0;
}

.summary .m-btn-01 {
  margin-bottom: 50px;
}

.summary__txt {
  font-size: clamp(14px, 1.78vw, 16px);
  line-height: 2;
  letter-spacing: .12em;
}

.summary__txt .is-bold {
  font-weight: 700;
}

.summary__txt li {
  font-size: clamp(14px, 1.78vw, 16px);
  line-height: 2;
}

.summary__indent li {
  padding-left: 2em;
  text-indent: -1em;
}

.summary__desc:not(:last-child) {
  margin-bottom: 30px;
}

.summary__note a, .summary__txt a {
  border-bottom: 1px solid #333;
  color: #333;
  padding-bottom: 0;
}

.summary__txt a.is-color01 {
  border-bottom: 1px solid #189c88;
  color: #189c88;
}

.summary__list-wrap {
  margin-top: 78px;
}

.summary__list {
  margin-bottom: 85px;
}

.summary__lead {
  margin-bottom: 12px;
  color: #189c88;
  font-size: clamp(26px, 3.33vw, 30px);
}

.is-left .summary__txt {
  margin-bottom: 2em;
  text-align: left;
}

.summary__note ul {
  margin-left: 4px;
}

.summary__note li {
  padding-left: calc(19 / 900 * 100%);
  font-size: clamp(14px, 1.78vw, 16px);
  line-height: 2;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

/*ここからnote(PC)*/
.note {
  margin-top: 20px;
  padding: 0 1%;
}

.note__txt {
  font-size: 12px;
}

.note__txt + .note__txt {
  margin-top: 1.5em;
}

/*ここからモーダル(PC)*/
.c-modal {
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  max-height: calc(var(--vh, 1vh) * 100);
  max-height: 100dvh;
  background: rgba(0, 0, 0, .25);
  opacity: 0;
  transition: opacity .3s, visibility .3s, z-index .3s;

  pointer-events: none;
}

.c-modal.is-modalShow {
  visibility: visible;
  z-index: 9001;
  opacity: 1;

  pointer-events: auto;
}

.c-modal__contents {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 37px 15px 41px;
  overflow: auto;
}

.c-modal__inner {
  align-self: flex-start;
  position: relative;
  width: 100%;
  max-width: 900px;
}

.c-modal__inner.is-modalCenter {
  align-self: center;
}

.c-modal__blc {
  overflow: hidden;
  background: #fff;
}

.c-modal__area {
  padding: 95px 100px 50px;
}

.c-modal__close {
  position: absolute;
  top: 70px;
  right: 55px;
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;

  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-modal__close:hover {
  opacity: .8;
  cursor: pointer;
}

.c-modal__close span {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #898989;
}

.c-modal__close span:first-child {
  transform: translateY(-50%) rotate(45deg);
}

.c-modal__close span:last-child {
  transform: translateY(-50%) rotate(-45deg);
}

.c-modal__ttl {
  color: #027dc3;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}

.c-modal__body {
  margin-top: 32px;
}

.c-modal__body dl dt {
  padding: .6em .8em;
  background-color: #ebf6f9;
  color: #027dc3;
  font-size: 18px;
  font-weight: 700;
}

.c-modal__body dl dd {
  padding: 1.5em 0;
  font-size: 16px;
  line-height: 1.875;
}

.c-modal__body dl dd > ul > li {
  padding-left: 1em;
  font-size: 16px;
  line-height: 1.875;
  text-indent: -1em;
}

.c-modal__body dl dd > ul > li > ul > li {
  padding-left: 1em;
  font-size: 16px;
  line-height: 1.875;
  text-indent: -1em;
}

.c-modal__body dl dd > ul > li > ul > li:before {
  content: "・";
}

.c-modal__body dl dd a {
  color: inherit;
  font-weight: 500;
  text-decoration: underline;
}

.c-modal__foot {
  margin-top: 40px;
}

.c-modal__foot__close {
  text-align: center;
}

/*ここからスマホ*/
@media screen and (max-width: 767px) {
  /* #main::after{
    padding-top: calc(100vw * 150 / 750);
  } */
  .sp-none {
    display: none;
  }

  .is-sp-content {
    display: contents;
  }

  #main {
    padding-top: 0;
  }

  #wrapper .modal:has(.c-present-block) {
    box-sizing: content-box;
  }

  /*レイアウト（SP）*/
  .l-inner {
    width: 92%;
    max-width: 87vw;
  }

  .l-contents__body {
    margin: 0;
  }

  /*モジュール（SP）*/
  .m-heading-01 {
    margin-bottom: calc(66 / 750 * 100%);
  }

  .m-heading-01__img {
    width: calc(468 / 750 * 100%);
    max-width: none;
    margin: 0 auto calc(30 / 750 * 100%);
  }

  .m-heading-01__large {
    font-size: calc(50 / 750 * 100vw);
  }

  .m-heading-01__middle {
    font-size: calc(46 / 750 * 100vw);
  }

  .m-heading-01__middle .is-small {
    display: block;
  }

  .m-heading-01__middle .is-accent {
    font-size: clamp(35px, 11vw, 40px);
    line-height: 1;
  }

  .m-heading-01__middle .is-accent .is-small {
    display: inline-block;
  }

  .m-heading-01__small {
    font-size: calc(24 / 750 * 100vw);
  }

  .m-btn-01 {
    display: block;
    width: 96.5%;
    max-width: none;
    margin: 6px 0 0 2%;
  }

  /*ここからMV(SP)*/
  .mv {
    margin-top: 0 !important;
    padding: 9px 0 12px;
    background: url(/assets/campaign/present/image/mv_bg_sp.jpg) no-repeat center / cover;
  }

  .modal .mv__img {
    width: 100%;
    margin: 0;
  }

  .intro {
    margin-bottom: calc(100vw * 50 / 750);
  }

  .into__date {
    padding: 12px calc(50% - 68px) 0;
    top: -15px;
    height: 34px;
    background: url(../image/date_bg_sp.png);
    background-size: auto 34px;
    background-position: top center;
  }

  .intro__benefits {
    padding-top: 13px;
  }

  .intro__note {
    margin-top: calc(100vw * 7 / 750);
    padding: 0 4%;
    font-size: calc(100vw * 18 / 750);
  }

  /*ここから特典(SP)*/
  .benefits-head {
    max-width: 77%;
    margin: 0 auto 51px;
  }
  .benefits {
    padding: calc(50 / 750 * 100%) 0 calc(40 / 750 * 100%);
  }

  .benefits .l-inner {
    max-width: 90.7vw;
  }

  .benefits__ttl {
    margin-bottom: 28px;
    padding: calc(100vw * 32 / 750);
  }

  .benefits__lead-txt01 {
    font-size: calc(32 / 750 * 100vw);
  }

  .benefits__lead-txt02 {
    margin: 10px 0 0;
    padding: 0 2%;
    font-size: calc(47.2 / 750 * 100vw);
  }

  .benefits__img-note {
    margin-top: calc(100vw * 15 / 750);
    font-size: calc(100vw * 18 / 750);
  }

  .benefits__img01 {
    margin-bottom: calc(20 / 750 * 100%);
  }

  .benefits__plus {
    width: 70px;
    margin: 0 auto;
  }

  .benefits__img02 {
    margin-top: calc(20 / 750 * 100%);
  }

  .benefits__img04 {
    margin-top: calc(60 / 750 * 100%);
  }

  .benefits__benefits {
    margin-top: calc(55 / 750 * 100%);
  }

  .benefits__benefits .benefits__img-note {
    max-width: 98%;
    margin: calc(100vw * 15 / 750) auto 0;
    padding-left: calc(4% + .6rem);
    text-indent: -.6rem;
  }

  .benefits__txt {
    width: calc(523 / 750 * 100%);
    max-width: none;
    margin: 0 auto;
  }

  .accordion__btn {
    padding: calc(100vw * 31 / 750) 0;
  }
  .accordion__btn-img {
    width: calc(100vw * 369 / 750);
    margin-inline: auto;
  }
  .accordion__btn-txt {
    font-size: calc(100vw * 40 / 750);
  }
  .accordion__btn-txt .is-accent {
    font-size: calc(100vw * 60 / 750);
  }
  .accordion__btn::after {
    content: "";
    top: 50%;
    right: calc(100vw * 50 / 750);
    transform: translateY(-50%);
    width: calc(100vw * 18 / 750);
    height: calc(100vw * 12 / 750);
  }
  .accordion__content .content-heading {
    padding: calc(100vw * 31 / 750) 0;
    font-size: calc(100vw * 30 / 750);
  }

  .accordion__content .content-detail {
    flex-direction: column;
    max-width: none;
    margin-inline: auto;
    padding: calc(100vw * 20 / 750) 6% calc(100vw * 40 / 750);
  }

  .content-detail__img {
    width: calc(100vw * 274 / 750);
    margin-right: 0;
  }

  .accordion__content .content-detail__txt .is-title {
    margin-bottom: calc(100vw * 30 / 750);
    font-size: calc(100vw * 26 / 750);
  }

  .accordion__content .content-detail__txt .is-note {
    font-size: calc(100vw * 24 / 750);
  }

  /*キャンペーン概要(SP)*/
  .summary {
    margin: calc(80 / 750 * 100%) 0 0;
  }

  .summary__txt {
    font-size: calc(26 / 750 * 100vw);
    line-height: 1.75;
    letter-spacing: .025em;
  }

  .summary__txt li {
    font-size: calc(26 / 750 * 100vw);
    line-height: 1.75;
  }

  .summary__indent li {
    padding-left: 0;
    text-indent: 0;
  }

  .summary__list-wrap {
    margin-top: calc(100 / 750 * 100%);
  }

  .summary__list {
    margin-bottom: calc(100 / 750 * 100%);
  }

  .summary__lead {
    margin-bottom: calc(40 / 750 * 100%);
    font-size: calc(45 / 750 * 100vw);
    line-height: 1;
  }

  .is-left .summary__txt {
    margin-bottom: calc(50 / 750 * 100%);

    line-break: anywhere;
  }

  .summary__note .summary__indent {
    text-indent: 0;
  }

  .summary__note ul {
    margin-left: 0;
  }

  .summary__note li {
    margin-left: 1em;
    padding-left: 1em;
    font-size: calc(24 / 750 * 100vw);
    text-indent: -1em;
  }

  .u-mb0 {
    margin-bottom: 0 !important;
  }

  .c-present__more-item.item01 {
    bottom: calc(100vw * -27 / 750);
    left: calc(100vw * 15 / 750);
    width: calc(100vw * 234 / 750);
    height: calc(100vw * 142 / 750);
  }

  .c-present__more-item.item02 {
    top: calc(100vw * -35 / 750);
    right: calc(100vw * 45 / 750);
    width: calc(100vw * 130 / 750);
    height: calc(100vw * 67/ 750);
  }

  .c-present__sec-block .block01-ttl {
    font-size: calc(100vw * 40 / 750);
  }

  .c-present__sec-block .block01-ttl::after {
    width: 100%;
  }

  .c-present__more {
    padding: 8vw;
  }

  .c-present__more .is-text {
    flex: 0 0 calc(100vw * 136 / 750);
    padding: calc(100vw * 50 / 750) calc(100vw * 21 / 750);
    font-size: calc(100vw * 24 / 750);
  }

  .c-present__more .is-ttl {
    margin-left: 5%;
    padding: 0;
    font-size: calc(100vw * 38 / 750);
  }

  .c-present__more .is-ttl .is-red {
    display: inline-block;
    font-size: calc(100vw * 64 / 750);
  }

  /* .c-present__link {
    margin-top: 5.3333333333vw;
  } */
  .c-present__norikae .is-link {
    top: 89%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 12.2666666667vw;
  }
}

.u-link03 {
  display: inline-block;
  padding: 20px 50px;
  border: 1px solid #027dc3;
  border-radius: 28px;
  color: #027dc3 !important;
  font-size: 18px;
  line-height: 1;
}


@media only screen and (max-width: 750px) {
  .u-link03 {
    padding: 15px 40px;
    border-radius: 48px;
    font-size: 15px;
  }
}

.u-link03:before {
  content: "✖";
  margin-right: .5em;
  font-size: 80%;
  vertical-align: .1em;
}
@media only screen and (max-width: 750px) {
  .c-modal__contents {
    padding: 0;
  }

  .c-modal__area {
    padding: 52px 25px 30px;
  }

  .c-modal__close {
    top: calc(100vh * 54 / 750);
    top: calc(100dvh * 54 / 750);
    right: calc(100vw * 54 / 750);
    width: calc(100vw * 30 / 750);
    min-width: 20px;
    height: calc(100vw * 30 / 750);
    min-height: 20px;
  }

  .c-modal__ttl {
    font-size: 21px;
  }

  .c-modal__body {
    margin-top: 20px;
  }

  .c-modal__body dl dt {
    font-size: 14px;
  }

  .c-modal__body dl dd {
    font-size: 13px;
  }

  .c-modal__body dl dd > ul > li {
    font-size: 13px;
  }

  .c-modal__body dl dd > ul > li > ul > li {
    font-size: 13px;
  }

  .c-modal__foot {
    margin-top: 36px;
  }
}

@media only screen and (min-width: 930px) {
  .c-modal__close {
    right: calc(50% - 410px);
  }
}