@charset "UTF-8";
.hukidashi_group {
  text-align: center;
  padding: 0 5vw;
  position: relative;
  margin-top: 1vw;
}
.hukidashi_group::before, .hukidashi_group::after {
  position: absolute;
  content: "";
  width: 5.7vw;
  height: 6.7vw;
  background: url("../img/hukidashi.svg") no-repeat center/contain;
  top: 50%;
}
@media only screen and (max-width: 767px) {
  .hukidashi_group::before, .hukidashi_group::after {
    width: 46px;
    height: 51px;
  }
}
.hukidashi_group::before {
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .hukidashi_group::before {
    left: -5vw;
  }
}
.hukidashi_group::after {
  right: 0;
  -webkit-transform: rotateY(180deg) translateY(-50%);
          transform: rotateY(180deg) translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .hukidashi_group::after {
    right: -5vw;
  }
}

.hukidashi {
  font-weight: 900;
  font-size: 1.6vw;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .hukidashi {
    font-size: 4vw;
  }
}
.hukidashi .big {
  font-size: 2.3vw;
}
@media only screen and (max-width: 767px) {
  .hukidashi .big {
    font-size: 5vw;
  }
}
.hukidashi .num {
  font-size: 3.4vw;
}
@media only screen and (max-width: 767px) {
  .hukidashi .num {
    font-size: 8vw;
  }
}
.hukidashi .guess_text {
  position: relative;
}
.hukidashi .guess_text::before {
  position: absolute;
  content: "ふろの日";
  font-size: 1.2vw;
  top: -1.2em;
  left: 0.4vw;
  letter-spacing: 0.26em;
}
@media only screen and (max-width: 767px) {
  .hukidashi .guess_text::before {
    font-size: 2.5vw;
    top: -1.5em;
    left: 1.5vw;
  }
}
.hukidashi .bottom {
  letter-spacing: 0.16em;
}

.ex_group {
  margin: 1.8vw auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .ex_group {
    margin-top: 2.8vw;
  }
}

.ex_texts {
  font-size: 1.3vw;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .ex_texts {
    font-size: 4vw;
  }
}

.coupon_group {
  background-color: #fff;
  border: 2px solid #0F326E;
  border-radius: 8px;
  font-weight: 900;
  padding: 0 0 1.7vw;
  text-align: center;
  width: 40vw;
  margin: 3.5vw auto 1vw;
}
@media only screen and (max-width: 767px) {
  .coupon_group {
    width: 100%;
    max-width: 90%;
    padding: 0 0 4.7vw;
    border: 1px solid #0F326E;
    margin: 10.5vw auto 1vw;
  }
}

.coupon_ttl {
  margin: 0 auto;
  color: #fff;
  font-size: 1.7vw;
  letter-spacing: 0.25em;
  position: relative;
  z-index: 1;
  background: url("../img/vector.svg") no-repeat;
  background-size: contain;
  background-position: center;
  padding: 1vw 2.5vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media only screen and (max-width: 767px) {
  .coupon_ttl {
    font-size: 3.7vw;
    padding: 2vw 6vw;
  }
}

.coupon_txt {
  font-size: 1.5vw;
  letter-spacing: 0.04em;
  margin-top: -0.7vw;
}
@media only screen and (max-width: 767px) {
  .coupon_txt {
    font-size: 4vw;
    margin-top: -1.7vw;
  }
}
.coupon_txt .big {
  font-size: 2.2vw;
}
@media only screen and (max-width: 767px) {
  .coupon_txt .big {
    font-size: 6vw;
  }
}

.swiper_group {
  max-width: 43%;
}
@media only screen and (max-width: 767px) {
  .swiper_group {
    max-width: 100%;
  }
}

.linkButtons {
  padding-bottom: 4.7vw !important;
}
@media only screen and (max-width: 767px) {
  .linkButtons {
    padding-bottom: 12.8vw !important;
  }
}

.swiper_cont .swiper-pagination {
  bottom: 0vw !important;
}
.swiper_cont .swiper-wrapper {
  padding-bottom: 1.5vw !important;
}
@media only screen and (max-width: 767px) {
  .swiper_cont .swiper-wrapper {
    padding-bottom: 5.5vw !important;
  }
}
.swiper_cont .swiper-pagination-bullet-active {
  background-color: #0F326E !important;
}
.swiper_cont .swiper-slide img {
  border-radius: 8px;
}

.under_ttl {
  font-weight: 900;
  font-size: 4.5vw;
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  padding: 2vw 1em 1.4vw !important;
  letter-spacing: 0.05em;
  background: -webkit-gradient(linear, left bottom, left top, from(#F9F39C), color-stop(42%, #F9F39C), color-stop(42%, transparent), to(transparent));
  background: -webkit-linear-gradient(bottom, #F9F39C 0%, #F9F39C 42%, transparent 42%, transparent 100%);
  background: linear-gradient(to top, #F9F39C 0%, #F9F39C 42%, transparent 42%, transparent 100%);
  position: relative;
  width: fit-content !important;
}
@media only screen and (max-width: 767px) {
  .under_ttl {
    font-size: 8vw;
    padding: 2vw 0.6em 1.4vw !important;
  }
}
.under_ttl.--blue {
  background: -webkit-gradient(linear, left bottom, left top, from(#B4DCFD), color-stop(42%, #B4DCFD), color-stop(42%, transparent), to(transparent));
  background: -webkit-linear-gradient(bottom, #B4DCFD 0%, #B4DCFD 42%, transparent 42%, transparent 100%);
  background: linear-gradient(to top, #B4DCFD 0%, #B4DCFD 42%, transparent 42%, transparent 100%);
  margin-top: 1vw;
  padding: 2vw 1.5em 1.4vw !important;
}
@media only screen and (max-width: 767px) {
  .under_ttl.--blue {
    padding: 2vw 0.6em 3vw !important;
  }
}
.under_ttl::before, .under_ttl::after {
  position: absolute;
  content: "";
  background: url("../img/vector_ttl.svg") no-repeat center/contain;
  width: 6vw;
  height: 5vw;
  top: 50%;
}
@media only screen and (max-width: 767px) {
  .under_ttl::before, .under_ttl::after {
    width: 9vw;
    height: 10vw;
  }
}
.under_ttl::before {
  left: -0.3em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.under_ttl::after {
  right: -0.3em;
  -webkit-transform: rotateY(-180deg) translateY(-50%);
          transform: rotateY(-180deg) translateY(-50%);
}
.under_ttl .big {
  font-size: 5.5vw;
}
@media only screen and (max-width: 767px) {
  .under_ttl .big {
    font-size: 10.5vw;
  }
}
.under_ttl .guess_text {
  position: relative;
}
.under_ttl .guess_text::before {
  position: absolute;
  content: "ふろ";
  letter-spacing: 1em;
  font-size: 1.5vw;
  top: 0em;
  left: 0.9vw;
}
@media only screen and (max-width: 767px) {
  .under_ttl .guess_text::before {
    top: -0.6em;
    left: 0.7vw;
    font-size: 2.5vw;
    top: 0em;
    left: 2.5vw;
  }
}

.pc_none {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
}

.tabi_txt {
  color: #1F81CD;
  position: relative;
  top: 0;
  margin: 0 auto;
  -webkit-transform: translateY(-43%);
          transform: translateY(-43%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #FFF240;
  border-radius: 70px;
  font-size: 2vw;
  letter-spacing: 0.05em;
  padding: 1.2vw 2.4vw;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .tabi_txt {
    font-size: 5vw;
    padding: 3.6vw 6vw;
  }
}
.tabi_txt::after {
  position: absolute;
  content: "";
  background: url("../img/fukidashi.svg") no-repeat center/contain;
  width: 2vw;
  height: 2vw;
  right: 4.5vw;
  bottom: -1.5vw;
}
@media only screen and (max-width: 767px) {
  .tabi_txt::after {
    width: 6vw;
    height: 6vw;
    right: 4.5vw;
    bottom: -2.5vw;
  }
}

.contentsWrapper.--tabi {
  position: relative;
}

.rounded_ttl {
  font-size: 2vw;
  font-weight: 900;
  background-color: rgba(249, 243, 156, 0.5);
  border-radius: 60px;
  text-align: center;
  margin: 3.4vw auto 4vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.05em;
  padding: 0.5vw 3vw 1vw;
}
@media only screen and (max-width: 767px) {
  .rounded_ttl {
    font-size: 4vw;
    line-height: 1.5;
    padding: 2vw 3vw 3vw;
    margin-top: 13vw;
  }
}
.rounded_ttl .num {
  font-size: 2.8vw;
}
@media only screen and (max-width: 767px) {
  .rounded_ttl .num {
    font-size: 5vw;
  }
}
.rounded_ttl.--blue {
  background-color: #B4DCFD;
  margin-top: 2.4vw;
}

.offCoupons_area {
  max-width: 32vw;
  width: 100%;
  min-width: 40%;
}
@media only screen and (max-width: 767px) {
  .offCoupons_area {
    margin-top: 2vw;
    max-width: 100%;
  }
}

.offCoupons_ttl {
  font-size: 1.3vw;
  letter-spacing: 0.04em;
  font-weight: 900;
  text-align: center;
  padding-bottom: 0.5vw;
}
@media only screen and (max-width: 767px) {
  .offCoupons_ttl {
    font-size: 4vw;
    padding-bottom: 2.5vw;
  }
}

.offCoupons_cont {
  border-radius: 1vw;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .offCoupons_cont {
    border-radius: 2vw;
  }
}

.offCoupons_priceWrap {
  background-color: #F5C62A;
  padding: 0.7vw 1.2vw 0.8vw;
  text-align: center;
  color: #fff;
  font-size: 2vw;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .offCoupons_priceWrap {
    font-size: 6vw;
    padding: 2.7vw 1.2vw 3vw;
  }
}
.offCoupons_priceWrap .big {
  font-size: 3.6vw;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .offCoupons_priceWrap .big {
    font-size: 10vw;
  }
}
.offCoupons_priceWrap .comma {
  font-size: 2vw;
}
@media only screen and (max-width: 767px) {
  .offCoupons_priceWrap .comma {
    font-size: 6vw;
  }
}
.offCoupons_priceWrap .yen {
  font-size: 1.3vw;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .offCoupons_priceWrap .yen {
    font-size: 4vw;
  }
}
.offCoupons_priceWrap.--orange {
  background-color: #EB912A;
}
.offCoupons_priceWrap.--red {
  background-color: #EF5C24;
}

.offCoupons_get {
  padding: 1vw;
  text-align: center;
  background-color: #FCF0C8;
}
@media only screen and (max-width: 767px) {
  .offCoupons_get {
    padding: 2vw;
  }
}
.offCoupons_get.--orange {
  background-color: #FFE7CB;
}
.offCoupons_get.--red {
  background-color: #FFE5DB;
}

.offCoupons_getTxt {
  font-size: 1vw;
  position: relative;
  padding-right: 2.5vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #C29500;
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  .offCoupons_getTxt {
    font-size: 3.5vw;
    padding-right: 8vw;
  }
}
.offCoupons_getTxt::after {
  position: absolute;
  content: "";
  -webkit-mask: url("../img/icon_arrow.svg") center/contain no-repeat;
          mask: url("../img/icon_arrow.svg") center/contain no-repeat;
  background-color: #c29500;
  width: 2vw;
  height: 2vw;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .offCoupons_getTxt::after {
    width: 5vw;
    height: 5vw;
  }
}
.offCoupons_getTxt.--orange {
  color: #EB912A;
}
.offCoupons_getTxt.--orange::after {
  background-color: #EB912A;
}
.offCoupons_getTxt.--red {
  color: #EF5C24;
}
.offCoupons_getTxt.--red::after {
  background-color: #EF5C24;
}

.u-ib {
  display: inline-block;
}

.linkBtn_group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.linkBtn_fukidashi {
  color: #fff;
  background-color: #0F326E;
  border-radius: 0.4vw;
  font-size: 1.05vw;
  letter-spacing: 0.1em;
  padding: 0.7vw 0.4vw;
  max-width: 21vw;
  width: 100%;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .linkBtn_fukidashi {
    max-width: 100%;
    font-size: 3.6vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 1.2vw;
    letter-spacing: 0.15em;
    padding: 1.8vw 3.5vw;
  }
}
.linkBtn_fukidashi::after {
  position: absolute;
  content: "";
  bottom: -1.8vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border: 1vw solid transparent;
  border-top: 1vw solid #0F326E;
}
@media only screen and (max-width: 767px) {
  .linkBtn_fukidashi::after {
    bottom: -5.4vw;
    border: 2.8vw solid rgba(0, 0, 0, 0);
    border-top: 3.8vw solid #0f326e;
  }
}

.linkBtn_cont {
  font-size: 1.8vw;
  color: #0F326E;
  border: 2px solid #0F326E;
  border-radius: 80px;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFFCD2), color-stop(50%, #FFFCD2), color-stop(50%, #F9F39C), to(#F9F39C));
  background: -webkit-linear-gradient(top, #FFFCD2 0%, #FFFCD2 50%, #F9F39C 50%, #F9F39C 100%);
  background: linear-gradient(to bottom, #FFFCD2 0%, #FFFCD2 50%, #F9F39C 50%, #F9F39C 100%);
  padding: 1.5vw 3vw;
  width: 100%;
  margin-top: 1.2vw;
}
@media only screen and (max-width: 767px) {
  .linkBtn_cont {
    padding: 2.8vw 3vw;
    max-width: 90%;
    margin-top: 4vw;
  }
}
.linkBtn_cont.--blue {
  background: -webkit-gradient(linear, left top, left bottom, from(#E6F4FF), color-stop(50%, #E6F4FF), color-stop(50%, #B4DCFD), to(#B4DCFD));
  background: -webkit-linear-gradient(top, #E6F4FF 0%, #E6F4FF 50%, #B4DCFD 50%, #B4DCFD 100%);
  background: linear-gradient(to bottom, #E6F4FF 0%, #E6F4FF 50%, #B4DCFD 50%, #B4DCFD 100%);
}
.linkBtn_cont.--red {
  background: -webkit-gradient(linear, left top, left bottom, from(#FFDCCF), color-stop(50%, #FFDCCF), color-stop(50%, #FFA785), to(#FFA785));
  background: -webkit-linear-gradient(top, #FFDCCF 0%, #FFDCCF 50%, #FFA785 50%, #FFA785 100%);
  background: linear-gradient(to bottom, #FFDCCF 0%, #FFDCCF 50%, #FFA785 50%, #FFA785 100%);
}

.linkBtn_img {
  margin: 0 auto 0.4vw;
  max-width: 20vw;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .linkBtn_img {
    max-width: 100%;
  }
}

.linkBtn_contTxt {
  padding-right: 1.8vw;
  position: relative;
  letter-spacing: 0.05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .linkBtn_contTxt {
    font-size: 4.5vw;
    width: 100%;
    text-align: center;
    padding: 2vw 5vw;
  }
}
.linkBtn_contTxt::after {
  position: absolute;
  content: "";
  -webkit-mask: url("../img/icon_arrow.svg") center/contain no-repeat;
          mask: url("../img/icon_arrow.svg") center/contain no-repeat;
  background-color: #0F326E;
  width: 2vw;
  height: 2vw;
  right: -0.3vw;
  top: 50%;
  -webkit-transform: rotate(90deg) translateX(-50%);
          transform: rotate(90deg) translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .linkBtn_contTxt::after {
    width: 6vw;
    height: 6vw;
  }
}
.linkBtn_contTxt.--blue {
  padding-left: 1vw;
  padding-right: 2.2vw;
}
@media only screen and (max-width: 767px) {
  .linkBtn_contTxt.--blue {
    padding: 2vw 5vw;
  }
}
.linkBtn_contTxt.--red {
  padding-left: 0.6vw;
  padding-right: 2vw;
}
@media only screen and (max-width: 767px) {
  .linkBtn_contTxt.--red {
    padding: 2vw 5vw;
  }
}
.linkBtn_contTxt .guess_text {
  position: relative;
}
.linkBtn_contTxt .guess_text::after {
  position: absolute;
  content: "ふろ";
  font-size: 0.7vw;
  left: 0.2vw;
  top: -0.2vw;
  letter-spacing: 0.4em;
}
@media only screen and (max-width: 767px) {
  .linkBtn_contTxt .guess_text::after {
    font-size: 2vw;
    left: 0;
    top: -0.8vw;
    letter-spacing: 0.5em;
  }
}

@media only screen and (max-width: 767px) {
  .linkBtn_last {
    padding-top: 0 !important;
  }
}

.sale02 {
  position: relative;
  background: transparent !important;
}
.sale02::after {
  content: "";
  width: 100%;
  height: 100dvh;
  inset: 0;
  position: fixed;
  background-image: url("../img/parallax_bg.png") !important;
  /* 背景を固定 */
  background-position: top center !important;
  background-size: cover !important;
  background-repeat: no-repeat;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .sale02::after {
    background-image: url("../img/parallax_bg_sp.png") !important;
  }
}
.sale02.is-absolute::after {
  position: absolute;
  top: auto;
  bottom: 0;
}
.sale02::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 34.5vw;
  background: url("../img/bg_bottom.png") no-repeat;
  background-size: contain;
  bottom: -1vw;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .sale02::before {
    background: url("../img/bg_bottom_sp.png") no-repeat;
    background-size: contain;
    height: 99vw;
  }
}

main section.sale02 {
  padding-bottom: 18vw !important;
}
@media only screen and (max-width: 767px) {
  main section.sale02 {
    padding-bottom: 62vw !important;
    padding-top: 32vw;
  }
}

main .sections .areaTabs {
  gap: 1.06667vw;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  main .sections .areaTabs {
    gap: 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-slide-ttl {
  line-height: 1.3 !important;
  text-align: center;
}

main section.introduce {
  /* ベースカラー */
  position: relative;
}
main section.introduce::before {
  position: absolute;
  content: "";
  inset: 0;
  background-color: #EFEABF;
  background-image: url(../img/noise.png);
  background-size: cover;
  background-blend-mode: screen;
  background-blend-mode: lighten;
  width: 100%;
  height: 100%;
}
main section.introduce .texts,
main section.introduce .linkButtons {
  position: relative;
  z-index: 3;
}
main section.introduce .recommend {
  position: relative;
  z-index: 3;
}

.lead .small {
  font-size: 0.8vw;
}
@media (max-width: 767px) {
  .lead .small {
    font-size: 2.46667vw;
  }
}

main .introduce {
  padding-top: 3.2vw;
}
@media (max-width: 767px) {
  main .introduce {
    padding-top: 6.66667vw;
  }
}

.banner-area {
  margin: 40px -15px 0;
}
@media (max-width: 767px) {
  .banner-area {
    margin-top: 20px;
  }
}

.renewal_ttlWrap {
  max-width: 403px;
  margin: 0 auto;
}
.renewal_ttlWrap + .p-slide-ttl {
  margin-top: 10px;
}

.renewal_time {
  color: #0F326E;
  font-weight: 900;
  font-size: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media (max-width: 767px) {
  .renewal_time {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    letter-spacing: 0.08em;
    gap: 5px;
    font-size: 14px;
  }
}
.renewal_time .big {
  font-size: 26px;
  font-weight: 900;
}
@media (max-width: 767px) {
  .renewal_time .big {
    font-size: 22px;
  }
}
.renewal_time .renewal {
  font-weight: 900;
  font-size: 20px;
}
@media (max-width: 767px) {
  .renewal_time .renewal {
    font-size: 17px;
  }
}

.renewal_detail {
  color: #0F326E;
  font-weight: 900;
  font-size: 16px;
  background-color: #F9F39C;
  border-radius: 30px;
  text-align: center;
  padding: 7px;
  margin-top: 8px;
}
@media (max-width: 767px) {
  .renewal_detail {
    font-size: 14px;
  }
}
.renewal_detail span {
  position: relative;
  padding: 0 12px;
}
.renewal_detail span::before, .renewal_detail span::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 16px;
  background-color: #0F326E;
  border-radius: 3px;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.renewal_detail span::before {
  left: 0;
  -webkit-transform: translateY(-50%) rotate(-30deg);
          transform: translateY(-50%) rotate(-30deg);
}
.renewal_detail span:after {
  right: 0;
  -webkit-transform: translateY(-50%) rotate(30deg);
          transform: translateY(-50%) rotate(30deg);
}etail {
    font-size: 14px;
  }
}
.renewal_detail span {
  position: relative;
  padding: 0 12px;
}
.renewal_detail span::before, .renewal_detail span::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 16px;
  background-color: #0F326E;
  border-radius: 3px;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.renewal_detail span::before {
  left: 0;
  -webkit-transform: translateY(-50%) rotate(-30deg);
          transform: translateY(-50%) rotate(-30deg);
}
.renewal_detail span:after {
  right: 0;
  -webkit-transform: translateY(-50%) rotate(30deg);
          transform: translateY(-50%) rotate(30deg);
}

.coupon_listWrap {
  margin-top: 2.4vw;
}

.coupon_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 2.5vw;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .coupon_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}

.coupon_item {
  background-color: #f7f7f7;
  border-radius: 2.8vw;
  -webkit-box-shadow: 8px 8px 0 0 rgba(0, 0, 0, 0.11);
          box-shadow: 8px 8px 0 0 rgba(0, 0, 0, 0.11);
  padding: 1.6vw;
  width: calc((100% - 5vw) / 3);
}
@media (max-width: 1300px) {
  .coupon_item {
    width: calc((100% - 2.5vw) / 2);
  }
}
@media (max-width: 767px) {
  .coupon_item {
    border-radius: 28px;
    width: 100%;
    padding: 3.6vw 3vw;
  }
}

.coupon_head {
  text-align: center;
}
.coupon_head p {
  font-size: 1.1vw;
  font-weight: 900;
  margin-top: 8px;
  color: #333;
}
@media (max-width: 767px) {
  .coupon_head p {
    font-size: 4.1vw;
  }
}

.coupon_itemLogo {
  max-width: 12vw;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .coupon_itemLogo {
    max-width: 48vw;
  }
}
.coupon_itemLogo img {
  width: 100%;
}
.coupon_itemLogo.wide {
  max-width: 100%;
}
@media (max-width: 767px) {
  .coupon_itemLogo.wide {
    max-width: 70vw;
    margin-bottom: 3vw;
  }
}

.coupon_bodyTtl {
  position: relative;
  margin-top: 2vw;
}
@media (max-width: 767px) {
  .coupon_bodyTtl {
    margin-top: 16px;
  }
}
.coupon_bodyTtl.amber {
  margin-top: 0.7vw;
}
@media (max-width: 767px) {
  .coupon_bodyTtl.amber {
    margin-top: 0;
  }
}

.coupon_bodyLogo {
  max-width: 6.5vw;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .coupon_bodyLogo {
    max-width: 17.6vw;
  }
}

.coupon_getLink,
.coupon_facilityLink {
  padding: 1vw 2vw 1.1vw 1vw;
  position: relative;
  font-weight: 900;
  border-radius: 8px;
}
@media (max-width: 767px) {
  .coupon_getLink,
  .coupon_facilityLink {
    padding: 3vw 8.5vw 3.6vw 4.2vw;
  }
}

.coupon_getLink {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  color: #fff;
  margin-top: 8px;
}
.coupon_getLink::before {
  position: absolute;
  content: "";
  -webkit-mask: url(../img/icon_arrow.svg) center/contain no-repeat;
          mask: url(../img/icon_arrow.svg) center/contain no-repeat;
  width: 1.6vw;
  height: 1.6vw;
  right: 0.8vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #fff;
}
@media (max-width: 767px) {
  .coupon_getLink::before {
    width: 24px;
    height: 24px;
  }
}
.coupon_getLink.orange {
  background-color: #FF6D40;
}
.coupon_getLink.pink {
  background-color: #F778A4;
}
.coupon_getLink.blue {
  background-color: #35ABD3;
}
.coupon_getLink.green {
  background-color: #04AF7A;
}
.coupon_getLink.amber {
  background-color: #F4AB00;
}

.coupon_facilityLink {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  margin-top: 4px;
  border: 2px solid;
}
.coupon_facilityLink::before {
  position: absolute;
  content: "";
  -webkit-mask: url(../img/icon_arrow.svg) center/contain no-repeat;
          mask: url(../img/icon_arrow.svg) center/contain no-repeat;
  width: 1.6vw;
  height: 1.6vw;
  right: 0.8vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .coupon_facilityLink::before {
    width: 24px;
    height: 24px;
  }
}
.coupon_facilityLink.orange {
  color: #FF6D40;
  border-color: #FF6D40;
}
.coupon_facilityLink.orange:before {
  background-color: #FF6D40;
}
.coupon_facilityLink.pink {
  color: #FF6198;
}
.coupon_facilityLink.pink:before {
  background-color: #F778A4;
}
.coupon_facilityLink.blue {
  color: #2FA9D2;
}
.coupon_facilityLink.blue:before {
  background-color: #2FA9D2;
}
.coupon_facilityLink.green {
  color: #04AF7A;
}
.coupon_facilityLink.green:before {
  background-color: #04AF7A;
}
.coupon_facilityLink.amber {
  color: #EAA400;
}
.coupon_facilityLink.amber:before {
  background-color: #EAA400;
}

.coupon_addLinkWrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5%;
  margin-top: 4vw;
}
@media (max-width: 767px) {
  .coupon_addLinkWrap {
    margin-top: 6vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.coupon_hotelLink, .coupon_gradeLink {
  text-align: center;
}
@media (max-width: 767px) {
  .coupon_hotelLink, .coupon_gradeLink {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.coupon_hotelLink .linkBtn_contTxt::after, .coupon_gradeLink .linkBtn_contTxt::after {
  -webkit-transform: rotate(0deg) translate(50%, -50%);
          transform: rotate(0deg) translate(50%, -50%);
}