@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 default
==================================================================================*/
/* -------------------------------------------
 * initialize
 */
main div, main span, main object, main iframe, main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre, main abbr, main address, main cite, main code, main del, main dfn, main em, main img, main ins, main kbd, main q, main samp, main small, main strong, main sub, main sup, main var, main b, main i, main dl, main dt, main dd, main ol, main ul, main li, main fieldset, main form, main label, main legend, main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td, main article, main aside, main dialog, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main time, main mark, main audio, main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEI1MzY2NTA1RTY2MTFFNUExRTlDMDdERTNCNDFENkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEI1MzY2NTE1RTY2MTFFNUExRTlDMDdERTNCNDFENkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowQjUzNjY0RTVFNjYxMUU1QTFFOUMwN0RFM0I0MUQ2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowQjUzNjY0RjVFNjYxMUU1QTFFOUMwN0RFM0I0MUQ2QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pj3ggHcAAAAQSURBVHjaYvj//z8DQIABAAj8Av7bok0WAAAAAElFTkSuQmCC");
}

main * {
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}

main {
  display: block;
}
main article, main aside, main dialog, main figure, main footer, main header, main hgroup, main nav, main section {
  display: block;
}
main sup {
  font-size: 10px;
  vertical-align: super;
}
main sub {
  font-size: 10px;
  vertical-align: sub;
}
main div,
main figure {
  line-height: 0;
}
main ul li, main ol li {
  list-style: none;
}
main input, main select {
  vertical-align: middle;
}
main .hide {
  display: none;
}
main img {
  ms-interpolation-mode: bicubic;
}
main a {
  text-decoration: none;
}
@media (min-width: 1025px) {
  main a:hover {
    opacity: .7;
  }
}
main .clearfix {
  zoom: 1;
}
main .clearfix:before, main .clearfix:after {
  content: "";
  display: table;
}
main .clearfix:after {
  clear: both;
}
main iframe {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
}
main video {
  width: 100%;
  height: auto;
}
main .serif {
  font-family: YuMincho, Yu Mincho, "游明朝", serif;
}
main .sansSerif {
  font-family: "Noto Sans JP", YuGothic, Yu Gothic, "游ゴシック", sans-serif;
}
main .bold {
  font-weight: bold !important;
}
main .weightNormal {
  font-weight: normal !important;
}
main .colorBlack {
  color: #333 !important;
}
main .colorWhite {
  color: #fff !important;
}
main .colorRed01 {
  color: #FF0000 !important;
}
main .colorBlue01 {
  color: #0068B7 !important;
}
main .colorOrange01 {
  color: #F05B2D !important;
}
main .colorYellow01 {
  color: #FFE410 !important;
}
main .wrap {
  margin: 0 auto;
  width: 83.33333vw;
}
main .inlineBlock {
  display: inline-block;
}
main .noBreaks {
  word-break: keep-all;
}
main .alignCenter {
  text-align: center;
}
main .alignLeft {
  text-align: left;
}
main .alignRight {
  text-align: right;
}
@media (min-width: 768px) {
  main a.tel {
    pointer-events: none;
  }
}
main main img,
main header img,
main footer img {
  max-width: 100%;
  height: auto;
}
main .fontSize50 {
  font-size: 50%;
}
main .fontSize55 {
  font-size: 55%;
}
main .fontSize60 {
  font-size: 60%;
}
main .fontSize65 {
  font-size: 65%;
}
main .fontSize70 {
  font-size: 70%;
}
main .fontSize75 {
  font-size: 75%;
}
main .fontSize80 {
  font-size: 80%;
}
main .fontSize85 {
  font-size: 85%;
}
main .fontSize90 {
  font-size: 90%;
}
main .fontSize95 {
  font-size: 95%;
}
main .fontSize100 {
  font-size: 100%;
}
main .fontSize105 {
  font-size: 105%;
}
main .fontSize110 {
  font-size: 110%;
}
main .fontSize115 {
  font-size: 115%;
}
main .fontSize120 {
  font-size: 120%;
}
main .fontSize125 {
  font-size: 125%;
}
main .fontSize130 {
  font-size: 130%;
}
main .fontSize135 {
  font-size: 135%;
}
main .fontSize140 {
  font-size: 140%;
}
main .fontSize145 {
  font-size: 145%;
}
main .fontSize150 {
  font-size: 150%;
}
main .fontSize155 {
  font-size: 155%;
}
main .fontSize160 {
  font-size: 160%;
}
main .fontSize165 {
  font-size: 165%;
}
main .fontSize170 {
  font-size: 170%;
}
main .fontSize175 {
  font-size: 175%;
}
main .fontSize180 {
  font-size: 180%;
}
main .fontSize185 {
  font-size: 185%;
}
main .fontSize190 {
  font-size: 190%;
}
main .fontSize195 {
  font-size: 195%;
}
main .fontSize200 {
  font-size: 200%;
}
main .fontSize205 {
  font-size: 205%;
}
main .fontSize210 {
  font-size: 210%;
}
main .fontSize215 {
  font-size: 215%;
}
main .fontSize220 {
  font-size: 220%;
}
main .fontSize225 {
  font-size: 225%;
}
main .fontSize230 {
  font-size: 230%;
}
main .fontSize235 {
  font-size: 235%;
}
main .fontSize240 {
  font-size: 240%;
}
main .fontSize245 {
  font-size: 245%;
}
main .fontSize250 {
  font-size: 250%;
}
main .fontSize255 {
  font-size: 255%;
}
main .fontSize260 {
  font-size: 260%;
}
main .fontSize265 {
  font-size: 265%;
}
main .fontSize270 {
  font-size: 270%;
}
main .fontSize275 {
  font-size: 275%;
}
main .fontSize280 {
  font-size: 280%;
}
main .fontSize285 {
  font-size: 285%;
}
main .fontSize290 {
  font-size: 290%;
}
main .fontSize295 {
  font-size: 295%;
}
main .fontSize300 {
  font-size: 300%;
}

@media (min-width: 1025px) {
  main .sp {
    display: none !important;
  }
}
@media (min-width: 768px) {
  main .sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  main .wrap {
    width: 94vw;
  }
  main sup,
  main sub {
    font-size: 8px;
  }
  main .pc {
    display: none !important;
  }
}
/*==================================================================================
 animations
==================================================================================*/
@keyframes characterAnime01 {
  0% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(10deg);
  }
}
/*==================================================================================
 common style
==================================================================================*/
#group_footer {
  margin-top: 0;
}

html {
  scroll-behavior: smooth;
}

main {
  font-family: "Noto Sans JP", YuGothic, Yu Gothic, "游ゴシック", sans-serif;
  font-weight: 700;
  color: #0F326E;
}
main .commonText01 {
  line-height: 1;
  font-size: 5.33333vw;
}
main .commonText02 {
  line-height: 1;
  font-size: 3.33333vw;
}
main .commonText03 {
  line-height: 1;
  font-size: 2.13333vw;
}
main .commonText04 {
  line-height: 1;
  font-size: 2vw;
}
main .commonText05 {
  line-height: 1;
  font-size: 1.86667vw;
}
main .commonText06 {
  line-height: 1;
  font-size: 1.73333vw;
}
main .commonText07 {
  line-height: 1;
  font-size: 1.6vw;
}
main .commonText08 {
  line-height: 1;
  font-size: 1.46667vw;
}
main .commonText09 {
  line-height: 1;
  font-size: 1.33333vw;
}
main .commonText10 {
  line-height: 1;
  font-size: 1.2vw;
}
main .commonText11 {
  line-height: 1;
  font-size: 1.06667vw;
}
main .commonText12 {
  line-height: 1;
  font-size: 1vw;
}
main .commonText13 {
  line-height: 1;
  font-size: 0.93333vw;
}
main .commonText14 {
  line-height: 1;
  font-size: 0.8vw;
}
main .commonText15 {
  line-height: 1;
  font-size: 0.66667vw;
}
main .lineHeight10 {
  line-height: 1 !important;
}
main .lineHeight11 {
  line-height: 1.1 !important;
}
main .lineHeight12 {
  line-height: 1.2 !important;
}
main .lineHeight13 {
  line-height: 1.3 !important;
}
main .lineHeight14 {
  line-height: 1.4 !important;
}
main .lineHeight15 {
  line-height: 1.5 !important;
}
main .lineHeight16 {
  line-height: 1.6 !important;
}
main .lineHeight17 {
  line-height: 1.7 !important;
}
main .lineHeight18 {
  line-height: 1.8 !important;
}
main .lineHeight19 {
  line-height: 1.9 !important;
}
main .lineHeight20 {
  line-height: 2 !important;
}
main .lineHeight21 {
  line-height: 2.1 !important;
}
main .lineHeight22 {
  line-height: 2.2 !important;
}
main .lineHeight23 {
  line-height: 2.3 !important;
}
main .lineHeight24 {
  line-height: 2.4 !important;
}
main .lineHeight25 {
  line-height: 2.5 !important;
}
main .lineHeight26 {
  line-height: 2.6 !important;
}
main .lineHeight27 {
  line-height: 2.7 !important;
}
main .lineHeight28 {
  line-height: 2.8 !important;
}
main .lineHeight29 {
  line-height: 2.9 !important;
}
main .lineHeight30 {
  line-height: 3 !important;
}
main .underLine {
  text-decoration: underline;
}
main a.underLine:hover {
  opacity: 1;
}
@media (min-width: 1025px) {
  main a.underLine:hover {
    text-decoration: none;
  }
}
main .indent01 {
  font-feature-settings: normal;
  padding-left: 1em;
  text-indent: -1em;
}
main .indent02 {
  font-feature-settings: normal;
  padding-left: 2em;
  text-indent: -2em;
}
main .indent03 {
  font-feature-settings: normal;
  padding-left: 3em;
  text-indent: -3em;
}
main .indent04 {
  font-feature-settings: normal;
  padding-left: 4em;
  text-indent: -4em;
}
main .indent05 {
  font-feature-settings: normal;
  padding-left: 5em;
  text-indent: -5em;
}
main .indent06 {
  font-feature-settings: normal;
  padding-left: 6em;
  text-indent: -6em;
}
main .indent07 {
  font-feature-settings: normal;
  padding-left: 7em;
  text-indent: -7em;
}

@media (max-width: 767px) {
  main .wrap {
    width: 90%;
  }
  main .commonText01 {
    line-height: 1;
    font-size: 21.33333vw;
  }
  main .commonText02 {
    line-height: 1;
    font-size: 13.33333vw;
  }
  main .commonText03 {
    line-height: 1;
    font-size: 8.53333vw;
  }
  main .commonText04 {
    line-height: 1;
    font-size: 8vw;
  }
  main .commonText05 {
    line-height: 1;
    font-size: 7.46667vw;
  }
  main .commonText06 {
    line-height: 1;
    font-size: 6.93333vw;
  }
  main .commonText07 {
    line-height: 1;
    font-size: 6.4vw;
  }
  main .commonText08 {
    line-height: 1;
    font-size: 5.86667vw;
  }
  main .commonText09 {
    line-height: 1;
    font-size: 5.33333vw;
  }
  main .commonText10 {
    line-height: 1;
    font-size: 4.8vw;
  }
  main .commonText11 {
    line-height: 1;
    font-size: 4.26667vw;
  }
  main .commonText12 {
    line-height: 1;
    font-size: 4vw;
  }
  main .commonText13 {
    line-height: 1;
    font-size: 3.73333vw;
  }
  main .commonText14 {
    line-height: 1;
    font-size: 3.2vw;
  }
  main .commonText15 {
    line-height: 1;
    font-size: 2.66667vw;
  }
}
/*==================================================================================
 contents style
==================================================================================*/
main section.introduce {
  padding-bottom: 6.4vw;
  /* background: url(../../../../img/information/season/1126sale_07/intro-bg.jpg) center center; */
  /* background-size: cover; */
}
main section.introduce h1 {
  padding-bottom: 3.2vw;
}
main section.introduce .texts {
  margin: auto;
  padding-bottom: 3.73333vw;
  width: 52.33333vw;
}
main section.introduce .linkButtons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6vw 8vw;
  margin: auto;
  padding-bottom: 3.73333vw;
  width: 58.66667vw;
}
main section.introduce .linkButtons li {
  flex: 0 0 25.33333vw;
}
main section.introduce .linkButtons li:last-child {
  flex: 0 0 38.93333vw;
}
main section.introduce section.recommend {
  margin: auto;
  width: 58.66667vw;
}
main section.introduce section.recommend h2 {
  display: flex;
  align-items: center;
  gap: 0 0.8vw;
  padding-bottom: 1.6vw;
  font-size: 2.13333vw;
  font-weight: 900;
}
main section.introduce section.recommend h2:before, main section.introduce section.recommend h2:after {
  content: '';
  flex: 1 1 auto;
  display: block;
  position: relative;
  border-radius: 1px;
  height: 2px;
  background: #0F326E;
}
main section.introduce section.recommend .content {
  display: flex;
  gap: 0 2.66667vw;
  padding: 2.2vw 2.13333vw;
  border-radius: 1.06667vw;
  box-shadow: 0 1.06667vw 1.26667vw 0 rgba(0, 0, 0, 0.15);
  background: #fff;
}
main section.introduce section.recommend .content .image {
  flex: 0 0 23.2vw;
}
main section.introduce section.recommend .content .textArea {
  flex: 1 1 auto;
}
main section.introduce section.recommend .content .textArea .name {
  padding-bottom: 0.8vw;
  line-height: 1;
  font-size: 1.6vw;
  font-weight: 900;
}
main section.introduce section.recommend .content .textArea .catch {
  padding-bottom: 0.8vw;
  line-height: 1.4;
  font-size: 1.2vw;
  font-weight: 600;
}
main section.introduce section.recommend .content .textArea .lead {
  line-height: 2;
  font-size: 1.06667vw;
  font-weight: 400;
}
main .sections {
  overflow: hidden;
  position: relative;
  padding: 8vw 0;
  background: url(../img/sale01-bg.webp) center center;
  background-size: 100% 100%;
}
main .sections .contentsWrapper {
  box-sizing: border-box;
  margin: auto;
  padding: 5.33333vw 3.33333vw;
  width: 80vw;
  border-radius: 2vw;
  background: #fff;
  box-shadow: 0 0 2vw 0 rgba(0, 0, 0, 0.15);
}
main .sections h2 {
  margin: auto;
  padding-bottom: 3.33333vw;
  width: 52vw;
}
main .sections .areaTabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.06667vw 0;
  padding: 0 2.53333vw 3.46667vw;
}
main .sections .areaTabs li {
  flex: 0 0 16.26667vw;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  height: 4.26667vw;
  border-bottom: 1px solid #0F326E;
  font-size: 1.33333vw;
  font-weight: 900;
  opacity: .5;
}
main .sections .areaTabs li.current {
  opacity: 1;
}
main .sections .areaTabs li:after {
  content: '';
  display: block;
  position: absolute;
  top: 1.93333vw;
  right: 0.26667vw;
  width: 0.93333vw;
  height: 0.6vw;
  background: url(../img/icon-arrow01.svg) no-repeat center center;
  background-size: 100% 100%;
}
@media (min-width: 1025px) {
  main .sections .areaTabs li:hover {
    opacity: 1;
  }
}
main section.sale01 .illusts {
  position: absolute;
  z-index: 1;
}
main section.sale01 .illust01 {
  top: 0;
  left: 0;
  width: 30.33333vw;
}
main section.sale01 .illust02 {
  top: 8.66667vw;
  right: 2.66667vw;
  width: 14.86667vw;
  animation: characterAnime01 1.8s ease 0s infinite;
}
main section.sale01 .illust03 {
  top: 45vw;
  left: 1.33333vw;
  width: 16.66667vw;
  animation: characterAnime01 2.5s ease 0s infinite;
}
@media (min-width: 768px) {
  main section.sale01 .areaTabs li:nth-child(n+5) {
    flex: 0 0 12.8vw;
  }
}
main section.sale01 .flexArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 4vw;
}
main section.sale01 .flexArea .maps li:not(:first-child) {
  display: none;
}
main section.sale01 .flexArea .coupons li:not(:last-child) {
  padding-bottom: 1.73333vw;
}
main section.sale02 {
  padding-bottom: 11.66667vw;
  background-image: url(../../../../img/information/season/1126sale_07/sale02-bg.jpg);
}
main section.sale02 .contentsWrapper {
  padding-top: 0;
}
main section.sale02 h2 {
  position: relative;
  top: -2vw;
  padding-bottom: 1.33333vw;
}
main section.sale02 .areas > li:not(:first-child) {
  display: none;
}
main section.sale02 .areas .areaName {
  padding-bottom: 2.66667vw;
  text-align: center;
  line-height: 1;
  letter-spacing: 1.5vw;
  font-size: 3.73333vw;
  font-weight: 900;
}
main section.sale02 .areas .areaName .en {
  display: block;
  line-height: 1;
  padding-top: 0.66667vw;
  letter-spacing: .4vw;
  font-size: 1.06667vw;
  color: #9FDCFF;
}
main section.sale02 .areas .facilitys {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 3.2vw 2.66667vw;
}
main section.sale02 .areas .facilitys > li {
  flex: 0 0 22.53333vw;
  position: relative;
  padding-bottom: 0.66667vw;
  border-radius: 0.66667vw;
  background: #fff;
  box-shadow: 0.66667vw 0.66667vw 0 0 rgba(0, 0, 0, 0.05);
}
main section.sale02 .areas .facilitys > li:before {
  content: '';
  display: block;
  position: relative;
  margin-bottom: -0.88667vw;
  width: 100%;
  height: 3.33333vw;
  z-index: 2;
  background: url(../../../../img/information/season/1126sale_07/discount01.png) no-repeat center center;
  background-size: 100% 100%;
}
main section.sale02 .areas .facilitys > li.discount02:before {
  background-image: url(../../../../img/information/season/1126sale_07/discount02.png);
}
main section.sale02 .areas .facilitys > li.discount03:before {
  background-image: url(../../../../img/information/season/1126sale_07/discount03.png);
}
main section.sale02 .areas .facilitys > li.discount04:before {
  background-image: url(../../../../img/information/season/1126sale_07/discount04.png);
}
main section.sale02 .areas .facilitys > li.discount05:before {
  background-image: url(../../../../img/information/season/1126sale_07/discount05.png);
}
main section.sale02 .areas .facilitys .image {
  position: relative;
  margin-bottom: 2.33333vw;
  line-height: 0;
}
main section.sale02 .areas .facilitys .image .areaTag {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.53333vw;
  line-height: 1;
  font-weight: 500;
  font-size: 0.86667vw;
  color: #0F326E;
  background: #DFF3FF;
}
main section.sale02 .areas .facilitys .name {
  box-sizing: border-box;
  position: absolute;
  bottom: 5.06667vw;
  left: 0;
  padding: 0.66667vw 1vw;
  max-width: 18.66667vw;
  line-height: 1.3;
  font-size: 1.33333vw;
  background: #fff;
  z-index: 2;
}
main section.sale02 .areas .facilitys .links {
  display: flex;
  justify-content: space-between;
  margin: auto;
  width: 20.53333vw;
}
main section.sale02 .areas .facilitys .links li {
  flex: 0 0 10.06667vw;
}
main section.sale02 .areas .facilitys .links li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding: 0 0.46667vw 0 0.66667vw;
  height: 3.2vw;
  border-radius: 0.2vw;
  font-size: 0.93333vw;
  color: #fff;
  background: #0F326E;
}
main section.sale02 .areas .facilitys .links li a:after {
  content: '';
  display: block;
  position: relative;
  margin-top: 0.1vw;
  width: 0.66667vw;
  height: 1.06667vw;
  background: url(../../../../img/information/season/1126sale_07/icon-arrow02.svg) no-repeat center center;
  background-size: 100% 100%;
}
@media (min-width: 1025px) {
  main section.sale02 .areas .facilitys .links li a:hover {
    opacity: .7;
  }
}
main section.sale02 .areas .facilitys .links li:first-child a:after {
  filter: brightness(0) invert(1);
}
main section.sale02 .areas .facilitys .links li:last-child a {
  border: 0.13333vw solid #0F326E;
  color: #0F326E;
  background: #fff;
}

@media (max-width: 767px) {
  main section.introduce {
    padding-bottom: 13.33333vw;
  }
  main section.introduce h1 {
    padding-bottom: 6.66667vw;
  }
  main section.introduce .texts {
    padding-bottom: 8.53333vw;
    width: 93.06667vw;
  }
  main section.introduce .linkButtons {
    flex-direction: column;
    justify-content: normal;
    gap: 4.53333vw 0;
    padding-bottom: 12.8vw;
    width: 93.06667vw;
  }
  main section.introduce .linkButtons li {
    flex: 0 0 auto !important;
  }
  main section.introduce .linkButtons li:last-child {
    padding-top: 4vw;
  }
  main section.introduce section.recommend {
    width: 93.06667vw;
  }
  main section.introduce section.recommend h2 {
    gap: 0 2.13333vw;
    padding-bottom: 4.26667vw;
    font-size: 6.4vw;
  }
  main section.introduce section.recommend .content {
    flex-direction: column;
    gap: 4.26667vw 0;
    padding: 3.2vw 3.2vw 8.53333vw;
    border-radius: 4.26667vw;
    box-shadow: 0 0 8vw 0 rgba(0, 0, 0, 0.15);
  }
  main section.introduce section.recommend .content .image {
    flex: 0 0 auto;
  }
  main section.introduce section.recommend .content .textArea {
    flex: 0 0 auto;
  }
  main section.introduce section.recommend .content .textArea .name {
    padding-bottom: 2.13333vw;
    font-size: 5.33333vw;
  }
  main section.introduce section.recommend .content .textArea .catch {
    padding-bottom: 3.2vw;
    font-size: 4.26667vw;
    font-weight: 600;
  }
  main section.introduce section.recommend .content .textArea .lead {
    line-height: 1.8;
    font-size: 3.46667vw;
  }
  main .sections {
    padding: 4vw 0 32;
    background-image: url(../img/sp/sale01-bg.webp);
  }
  main .sections .contentsWrapper {
    padding: 13.33333vw 5.33333vw 8vw;
    width: 92vw;
  }
  main .sections h2 {
    padding-bottom: 8vw;
    width: 100%;
  }
  main .sections .areaTabs {
    gap: 0 0;
    padding: 0 0 8vw;
  }
  main .sections .areaTabs li {
    flex: 0 0 38.66667vw;
    height: 16vw;
    font-size: 4.26667vw;
  }
  main .sections .areaTabs li:after {
    top: 7.73333vw;
    right: 1.06667vw;
    width: 3.73333vw;
    height: 2.4vw;
  }
  main section.sale01 .contentsWrapper {
    padding-top: 17.33333vw;
  }
  main section.sale01 .illusts {
    position: absolute;
    z-index: 1;
  }
  main section.sale01 .illust01 {
    width: 28vw;
  }
  main section.sale01 .illust02 {
    top: 16vw;
    right: -6.66667vw;
    width: 24vw;
  }
  main section.sale01 .illust03 {
    top: 34.66667vw;
    left: 0;
    width: 24vw;
  }
  main section.sale01 .flexArea {
    flex-direction: column;
    align-items: normal;
    justify-content: normal;
    gap: 8vw 0;
  }
  main section.sale01 .flexArea .maps li:not(:first-child) {
    display: none;
  }
  main section.sale01 .flexArea .coupons li:not(:last-child) {
    padding-bottom: 4.26667vw;
  }
  main section.sale02 {
    padding: 10.66667vw 0 32vw;
    background-image: url(../../../../img/information/season/1126sale_07/sp/sale02-bg.jpg);
  }
  main section.sale02 h2 {
    top: -5.33333vw;
    padding-bottom: 0;
  }
  main section.sale02 .areaTabs {
    padding-bottom: 16vw;
  }
  main section.sale02 .areas > li:not(:first-child) {
    display: none;
  }
  main section.sale02 .areas .areaName {
    padding-bottom: 8vw;
    letter-spacing: 2vw;
    font-size: 8vw;
  }
  main section.sale02 .areas .areaName .en {
    padding-top: 2.66667vw;
    letter-spacing: .4vw;
    font-size: 4.26667vw;
  }
  main section.sale02 .areas .facilitys {
    flex-direction: column;
    align-items: normal;
    gap: 10.66667vw 0;
  }
  main section.sale02 .areas .facilitys > li {
    flex: 0 0 auto;
    padding-bottom: 4vw;
    border-radius: 2.66667vw;
    box-shadow: 2.13333vw 2.13333vw 0 0 rgba(0, 0, 0, 0.05);
  }
  main section.sale02 .areas .facilitys > li:before {
    margin-bottom: -2.93333vw;
    height: 14.93333vw;
    background-image: url(../../../../img/information/season/1126sale_07/sp/discount01.png);
  }
  main section.sale02 .areas .facilitys > li.discount02:before {
    background-image: url(../../../../img/information/season/1126sale_07/sp/discount02.png);
  }
  main section.sale02 .areas .facilitys > li.discount03:before {
    background-image: url(../../../../img/information/season/1126sale_07/sp/discount03.png);
  }
  main section.sale02 .areas .facilitys > li.discount04:before {
    background-image: url(../../../../img/information/season/1126sale_07/sp/discount04.png);
  }
  main section.sale02 .areas .facilitys > li.discount05:before {
    background-image: url(../../../../img/information/season/1126sale_07/sp/discount05.png);
  }
  main section.sale02 .areas .facilitys .image {
    margin-bottom: 9.33333vw;
  }
  main section.sale02 .areas .facilitys .image .areaTag {
    padding: 2.13333vw;
    font-size: 3.46667vw;
  }
  main section.sale02 .areas .facilitys .name {
    bottom: 20.26667vw;
    padding: 2.66667vw 4vw;
    max-width: 74.66667vw;
    font-size: 5.33333vw;
  }
  main section.sale02 .areas .facilitys .links {
    width: 76vw;
  }
  main section.sale02 .areas .facilitys .links li {
    flex: 0 0 37.33333vw;
  }
  main section.sale02 .areas .facilitys .links li a {
    padding: 0 1.86667vw 0 2.66667vw;
    height: 12.8vw;
    border-radius: 0.8vw;
    font-size: 3.73333vw;
  }
  main section.sale02 .areas .facilitys .links li a:after {
    content: '';
    display: block;
    position: relative;
    margin-top: 0.4vw;
    width: 2.66667vw;
    height: 4.26667vw;
    background: url(../../../../img/information/season/1126sale_07/icon-arrow02.svg) no-repeat center center;
    background-size: 100% 100%;
  }
}

/*# sourceMappingURL=style.css.map */

.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%);
}
html, body {
  overflow-x: hidden;
}

main .sections#sale02 {
  background: transparent url(../img/sale_bg.webp) no-repeat top center/cover !important;
}
main section.introduce::before {
  background-image: url(../img/noise.webp);
  background-color: #E3F9FF;
  background-blend-mode: overlay;
}
main section.introduce::after {
  display: none !important;
}

/* 旧: SP・PCともに擬似要素を非表示（PC側でも !important の連鎖を引き起こしていたため SP 専用に変更）
.sale02::after {
  background-image: none !important;
  display: none !important;
}

.sale02::before {
  background-image: none !important;
  display: none !important;
}
*/
@media (max-width: 767px) {
  .sale02::after {
    background-image: none !important;
    display: none !important;
  }
  .sale02::before {
    background-image: none !important;
    display: none !important;
  }
}

main section.introduce .linkBtn_contTxt.--blue {
  letter-spacing: 0.02em;
  padding-left: 0.4vw;
  padding-right: 1.8vw;
}

.coupon_group {
  background-color: transparent;
}

.rounded_ttl .small {
  font-size: 1.5vw;
}

@media (max-width: 767px) {
  .rounded_ttl .small {
    font-size: 3vw;
  }
}
.rounded_ttl.--blue {
  background-color: rgba(180, 220, 253, 0.5);
}

/* =============================== */
/* 2026_08 */
/* =============================== */
main section.introduce::before {
  background-image: url(../img/noise.webp), linear-gradient(240deg, rgba(249, 249, 155, 1) 0%, rgba(224, 248, 94, 1) 90%);
  background-blend-mode: overlay;
  background-color: transparent;
}

@media only screen and (max-width: 767px) {
  main .sections#sale02 {
    background: url(../img/sale_bg_sp.webp) no-repeat top center / cover, linear-gradient(46deg, #B5DFFF 0%, #B6E0FE 42%, #FFF8CD 100%) !important;
  }
}

main .sections#sale02 {
  background-size: 100% auto !important;
}

@media only screen and (max-width: 767px) {
  main .sections#sale02 {
    background-size: 100% auto, 100% 100% !important;
  }
}

@media (min-width: 768px) {
  /* ::before(z-index:1)・::after(z-index:0) の上にコンテンツを表示するため z-index:2 を指定 */
  main .sections#sale02 .contentsWrapper {
    z-index: 2;
  }
  main .sections#sale02 {
    /* line 2396 の !important（sale_bg.webp）を上書きするため !important 必須 */
    background: url(../img/bg_03.webp) no-repeat top center / cover !important;
    background-size: 100% auto, 100% 100% !important;
  }
  main .sections#sale02::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    height: 100%;
    z-index: 1;
    background: url(../img/bg_02.webp) no-repeat bottom center / 100% auto;
    pointer-events: none;
  }
  main .sections#sale02::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    height: 100%;
    z-index: 0;
    /* 元の視差背景（parallax_bg.png !important）を上書きするため !important 必須 */
    background: url(../img/bg_01.webp) no-repeat top center / 100% auto !important;
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  main .sections#sale02 .contentsWrapper {
    z-index: 2;
    position: relative;
  }
  main .sections#sale02::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    height: 100%;
    z-index: 1;
    background: url(../img/bg_02_sp.webp) no-repeat bottom center / 100% auto;
    pointer-events: none;
  }
  main .sections#sale02::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    height: 100%;
    z-index: 0;
    background: url(../img/bg_01_sp.webp) no-repeat top center / 100% auto !important;
    pointer-events: none;
  }
}