@charset "UTF-8";
body {
  position : relative;
  z-index : 1;
  width : 100%;
  height : auto;
  overflow : hidden;
  font-size : 16px;
  line-height : 1.6;
  -webkit-font-smoothing : antialiased;
}
body > * {
  -webkit-box-sizing : border-box;
  box-sizing : border-box;
}

a {
  text-decoration : none;
  outline : none;
}

a:hover {
  text-decoration : none;
}

a:focus,
*:focus {
  outline : none;
}

img {
  vertical-align : top;
  border : none;
  border-style : none;
}

ol,
ul,
li {
  list-style : none;
}

input[type=submit],
input[type=button] {
  -webkit-box-sizing : content-box;
  box-sizing : border-box;
  border : none;
  border-radius : 0;
  -webkit-appearance : button;
  -moz-appearance : button;
  appearance : button;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display : none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset : -2px;
}

.SPshow {
  display : none;
}

.PCshow {
  display : block;
}

.header__inner > h1 > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : cover;
  object-fit : cover;
}

.ss-coupons {
  padding : 0 60px;
  background-color : #205C82;
}
.ss-coupons__inner {
  width : 100%;
  max-width : 1440px;
  padding : 60px 0 80px;
  margin : 0 auto;
  font-family : "Noto Serif JP", serif;
  color : #ffffff;
}
.ss-coupons__inner .ss-coupons-message {
  margin-bottom : 30px;
  font-family : "Noto Serif JP";
  font-size : 40px;
  font-style : normal;
  font-weight : 600;
  line-height : 140%; /* 56px */
  text-align : center;
  letter-spacing : 1.6px;
}
.ss-coupons__inner .ss-coupons-day {
  width : 100%;
  max-width : 530px;
  padding : 13px 0 14px;
  margin : 0 auto;
  margin-bottom : 54px;
  font-size : 30px;
  font-style : normal;
  font-weight : 600;
  line-height : 130%; /* 39px */
  text-align : center;
  letter-spacing : 1.2px;
  border-top : 1px solid #ffffff;
  border-bottom : 1px solid #ffffff;
}
.ss-coupons__inner .ss-coupons-lead-image {
  display : block;
  width : 675px;
  height : auto;
  margin : 0 auto 4px;
}
.ss-coupons__inner .ss-coupons-lead-image > source,
.ss-coupons__inner .ss-coupons-lead-image > img {
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}
.ss-coupons__inner .ss-coupons-guide {
  margin-bottom : 18px;
  font-size : 30px;
  font-style : normal;
  font-weight : 600;
  line-height : 130%; /* 39px */
  text-align : center;
  letter-spacing : 1.2px;
}
.ss-coupons__inner .ss-coupons-card-top {
  display : block;
  width : 100%;
  max-width : 900px;
  margin : 0 auto 30px;
  -webkit-transition : .3s;
  transition : .3s;
}
.ss-coupons__inner .ss-coupons-card-top__image {
  display : block;
  width : 100%;
  height : auto;
}
.ss-coupons__inner .ss-coupons-card-top__image > source,
.ss-coupons__inner .ss-coupons-card-top__image > img {
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}
.ss-coupons__inner .ss-coupons-card-list {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -ms-flex-wrap : wrap;
  flex-wrap : wrap;
  gap : 30px;
  max-width : 1090px;
  margin : 0 auto;
}
.ss-coupons__inner .ss-coupons-card-list__item {
  display : block;
  width : calc(50% - 15px);
}
.ss-coupons__inner .ss-coupons-card-list__item--link {
  display : block;
  width : 100%;
  height : auto;
  -webkit-transition : .3s;
  transition : .3s;
}
.ss-coupons__inner .ss-coupons-card-list__item--link .ss-coupons-card-list-image {
  display : block;
  width : 100%;
  height : auto;
}
.ss-coupons__inner .ss-coupons-card-list__item--link .ss-coupons-card-list-image > source,
.ss-coupons__inner .ss-coupons-card-list__item--link .ss-coupons-card-list-image > img {
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}

.ss-footer {
  padding : 80px 0;
  text-align : center;
  background-color : #962124;
}
.ss-footer__inner {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-orient : vertical;
  -webkit-box-direction : normal;
  -ms-flex-direction : column;
  flex-direction : column;
  gap : 35px;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  max-width : 1440px;
  margin : 0 auto;
}
.ss-footer__inner .ss-footer-logo {
  display : block;
  width : 180px;
  height : auto;
}
.ss-footer__inner .ss-footer-logo > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}
.ss-footer__inner .ss-footer-copy {
  font-family : "Noto Serif JP", serif;
  font-size : 10px;
  font-weight : 600;
  color : #ffffff;
  letter-spacing : .1em;
}

.ss-header {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  padding : 8px 0 7px;
  background-color : #ffffff;
}
.ss-header__logo {
  display : block;
  width : 140px;
  height : 55px;
}
.ss-header__logo > img {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}

.ss-insert {
  display : block;
  width : 100%;
  height : auto;
}
.ss-insert__image {
  display : block;
  width : 100%;
  height : auto;
}
.ss-insert__image > source,
.ss-insert__image > img {
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}

.ss-kv {
  display : block;
  width : 100%;
  height : auto;
}
.ss-kv__image {
  display : block;
  width : 100%;
  height : auto;
}
.ss-kv__image > source,
.ss-kv__image > img {
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}

@media screen and (max-width: 767px) {
  .ss-footer {
    padding: 80px 0 130px;
}
}


.ss-page-links {
  display : block;
  background-color: #962124;
}
.ss-page-links__list {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}
.ss-page-links__list--item {
  display: block;
  width : 167px;
  height : 80px;
  border-left: 0.5px solid #fff;
}
.ss-page-links__list--item:last-of-type {
  border-right: 0.5px solid #fff;
}
.ss-page-links__list--item > a {
  display : block;
  width : 100%;
  color: #fff;
  text-align: center;
  padding: 16px 0 21px;
  line-height: 115%;
  background-image: url(../images/nav_arrow.svg);
  font-weight: 600;
  background-position: center bottom;
  background-repeat: no-repeat;
  font-family : "Noto Serif JP", serif;
}


.ss-section {
  padding : 0 60px;
}
.ss-section.-yellowBg {
  background-color : #a8954c;
}
.ss-section.-chocoBg {
  background-color : #82cddd;
}
.ss-section.-darkPinkBg {
  background-color : #8d93c8;
}
.ss-section.-lightBrownBG {
  background-color : #a8969a;
}
.ss-section.-oceangreenBg {
  background-color : #006888;
}
.ss-section.-greenBlueBg {
  background-color : #7a99cf;
}
.ss-section.-blackBg {
  background-color : #001e43;
}
.ss-section.-blackBg02 {
  background-color : #12110e;
}
.ss-section.-blackBg03 {
  background-color : #000000;
}
.ss-section__inner {
  max-width : 1090px;
  padding : 0 0 30px;
  margin : 0 auto;
  font-family : "Noto Serif JP", serif;
  color : #ffffff;
}
.ss-section__inner.-pt50 {
  padding-top : 50px;
}
.ss-section__inner.-pt60 {
  padding-top : 60px;
}
.ss-section__inner.-pt80 {
  padding-top : 80px;
}
.ss-section__inner.-pt89 {
  padding-top : 89px;
}
.ss-section__inner .ss-title-and-image {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  -webkit-box-pack : center;
  -ms-flex-pack : center;
  justify-content : center;
  margin-bottom : 40px;
}
.ss-section__inner .ss-title-and-image.-mt80 {
  margin-top : 80px;
}
.ss-section__inner .ss-title-and-image > span {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  gap : 24px;
  -webkit-box-align : center;
  -ms-flex-align : center;
  align-items : center;
  font-family : "Noto Serif JP";
  font-size : 32px;
  font-style : normal;
  font-weight : 500;
  line-height : 160%; /* 51.2px */
  color : var(--fff, #ffffff);
  text-align : center;
  letter-spacing : .64px;
}

.ss-section__inner .ss-section-title {
  margin-bottom : 20px;
  font-size : 64px;
  font-style : normal;
  font-weight : 500;
  line-height : 130%; /* 83.2px */
  text-align : center;
  letter-spacing : 2.56px;
}
.ss-section__inner .ss-section-lead {
  margin-bottom : 30px;
  font-size : 32px;
  font-style : normal;
  font-weight : 500;
  line-height : 160%; /* 51.2px */
  text-align : center;
  letter-spacing : .64px;
}
.ss-section__inner .ss-section-description {
  margin-bottom : 30px;
  font-family : "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
  font-size : 18px;
  font-style : normal;
  font-weight : 500;
  line-height : 180%; /* 32.4px */
  text-align : center;
  letter-spacing : -.36px;
}
.ss-section__inner .ss-section-description:last-of-type {
  margin-bottom : 60px;
}

.ss-single {
  display : block;
  width : 100%;
  height : auto;
}

.ss-thumbnails {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  -ms-flex-wrap : wrap;
  flex-wrap : wrap;
  gap : 30px;
}
.ss-thumbnails__item {
  width : calc(50% - 15px);
  max-height : 530px;
}
.ss-thumbnails__item--link {
  display : block;
  width : 100%;
  height : 100%;
  -webkit-transition : .3s;
  transition : .3s;
}
.ss-thumbnails__item--link .ss-thumbnails-image {
  display : block;
  width : 100%;
  height : 100%;
  -o-object-fit : contain;
  object-fit : contain;
}


@media screen and (max-width: 767px) {
  .SPshow {
    display : block;
  }
  .PCshow {
    display : none;
  }
  #kspFloatingNav {
    visibility : hidden;
    opacity : 0;
    -webkit-transition : .3s;
    transition : .3s;
  }
#kspFloatingNav.js-page-link-on {
  visibility : visible;
  opacity : 1;
}
.ss-float-banner{
  position: fixed;
  bottom: 62px;
  right: 0;
  max-width: 156px;
  z-index: 3;
}
.ss-float-banner img{
  width: 100%;
}
  .ss-page-links {
    position: fixed;
    bottom: 0;
    z-index: 3;
    width : 100%;
    margin : unset;
    background-color: #000000;
  }
  .ss-page-links__list--item {
    width : 20%;
    height : auto;
  }
  .ss-page-links__list--item:first-of-type {
    border-left: none;
  }
  .ss-page-links__list--item:last-of-type{
    border-right: none;
  }
  .ss-page-links__list--item > a {
    width : auto;
    height : auto;
    font-size: 15px;
    background: none;
    padding: 10px 0 11px;
  }
  .ss-section {
    padding : 0 15px;
  }
  .ss-section__inner {
    padding : 0 0 60px;
  }
  .ss-section__inner.-pt50 {
    padding-top : 30px;
  }
  .ss-section__inner.-pt80 {
    padding-top : 30px;
  }
  .ss-section__inner.-pt89 {
    padding-top : 30px;
  }
  .ss-section__inner .ss-title-and-image {
    margin-bottom : 20px;
  }
  .ss-section__inner .ss-title-and-image > span {
    gap : 16px;
    font-size : 20px;
    font-style : normal;
    font-weight : 500;
    line-height : 160%; /* 32px */
    letter-spacing : .4px;
  }
  .ss-section__inner .ss-title-and-image > span::before,
  .ss-section__inner .ss-title-and-image > span::after {
    width : 31px;
    height : 34px;
  }
  .ss-section__inner .ss-section-symbol {
    width : 124px;
    margin : 0 auto 20px;
  }
  .ss-section__inner .ss-section-title {
    font-size : 35px;
    font-style : normal;
    font-weight : 500;
    line-height : 130%; /* 45.5px */
    letter-spacing : 1.4px;
  }
  .ss-section__inner .ss-section-lead {
    margin-bottom : 24px;
    font-size : 20px;
    font-style : normal;
    font-weight : 500;
    line-height : 160%; /* 32px */
    letter-spacing : .4px;
  }
  .ss-section__inner .ss-section-description {
    font-size : 14px;
    font-style : normal;
    font-weight : 500;
    line-height : 180%; /* 25.2px */
    letter-spacing : -.28px;
  }
  .ss-section__inner .ss-section-description:last-of-type {
    margin-bottom : 30px;
  }
  .ss-thumbnails {
    gap : 15px;
    max-width : 390px;
    margin : 0 auto;
  }
  .ss-thumbnails__item {
    width : 100%;
  }
}



/* 画像を包むpタグ、またはaタグに指定 */
.ss-wide-card-image {
  flex-shrink: 0; /* flexアイテムとして勝手に縮んだり伸びたりしないようにする */
  width: 300px;   /* 必要に応じて画像の横幅を指定してください */
}

/* 画像自体の制御 */
.ss-wide-card-image a {
  display: block;
  line-height: 0;
}

.ss-wide-card-image img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease; /* ふんわり変化させる */
}

/* ホバー演出 */
.ss-wide-card-image a:hover img {
  opacity: 0.7;
}

/* ========================================
  共通パーツ
======================================== */
/* タイトル */
.ss-heading {
  margin-bottom : 35px;
  text-align : center;
}

.ss-title {
  margin : 0;
  font-size : 36px;
  font-weight : 500;
  line-height : 1.4;
  letter-spacing : .1em;
  font-family : "Noto Serif JP", serif;
}

.ss-title-en {
  margin-top : 2px;
  font-family : "Noto Serif JP", serif;
  font-size : 18px;
  font-weight : 500;
  line-height : 1;
  color : #9f8120;
}
/* ========================================
  EVENT SCHEDULE SP
======================================== */
@media screen and (max-width: 767px) {
.ss-title {
  font-size : 30px;
  letter-spacing : .02em;
}

.ss-title-en {
  font-size : 12px;
}
}

/* ========================================
  EVENT SCHEDULE
======================================== */
.ss-schedule {
  padding : 0 15px;
  background-color : #f6f3eb;
}

.ss-schedule__inner {
  width : 100%;
  max-width : 1000px;
  padding : 100px 0 110px;
  margin : 0 auto;
  font-family : "Noto Serif JP", serif;
  color : #4E0505;
}

/* list */
.ss-schedule-list {
  width : 100%;
  border-top : 1px solid #c6bda7;
}

.ss-schedule-item {
  position : relative;
  display : grid;
  grid-template-columns : 130px minmax(0, 1fr) 117px;
  align-items : center;
  min-height : 145px;
  padding: 21px 18px 21px 25px;
  border-bottom : 1px solid #c6bda7;
}

.ss-schedule-item.-pickup {
  background-color : #f3d9c9;
}

.ss-schedule-item.-lastchance {
  background-color : #F1E9D6;
}

.ss-schedule-item.-period {
  min-height : 169px;
    padding-bottom: 3em;
}

.ss-schedule-item.-final {
  grid-template-columns : 145px minmax(0, 1fr);
}

/* ribbon label */
.ss-schedule-label {
  position : absolute;
  top: -30px;
  left: -8px;
  z-index : 2;
  min-width : 158px;
  padding : 8px 20px 9px;
  font-size : 16px;
  font-weight : 500;
  line-height : 1.4;
  color : #ffffff;
  text-align : center;
  border-radius : 30px;
}
.ss-schedule-label span{
  font-size : 23px;
}

.ss-schedule-label::after {
  position : absolute;
  bottom : -10px;
  left : 50%;
  width : 0;
  height : 0;
  content : "";
  border-right : 8px solid transparent;
  border-left : 8px solid transparent;
  transform : translateX(-50%);
}

.ss-schedule-label.-red {
  background-color : #c91e2c;
}

.ss-schedule-label.-red::after {
  border-top : 11px solid #c91e2c;
}

.ss-schedule-label.-gold {
  background-color : #b9ac69;
  top: -22px;
  left: 0;
  font-size: 18px;
}

.ss-schedule-label.-gold::after {
  border-top : 11px solid #b9ac69;
}

.ss-schedule-item.end::after {
  content: "終了しました";
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  color: #fff;
  font-weight: 900;
  text-align: center;
  font-family: sans-serif;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 25px;
}
.ss-schedule-item.end .ss-schedule-label {
display: none;
}
/* date */
.ss-schedule-date {
  padding-left : 2px;
}

.ss-schedule-date-main {
  display : flex;
  align-items : baseline;
  white-space : nowrap;
  position: relative;
}

.ss-schedule-month {
  margin-right : 3px;
  font-family :"Noto Serif JP", serif;
  font-size : 27px;
  font-weight : 500;
  line-height : 1;
}

.ss-schedule-day {
  font-family :"Noto Serif JP", serif;
  font-size : 53px;
  font-weight : 900;
  line-height : .9;
  letter-spacing : -.03em;
}

.ss-schedule-week {
  margin-left : 3px;
  font-size : 20px;
  font-weight : 400;
}

.ss-schedule-item.-period .line {
  justify-content: center;
  position: relative;
}
.ss-schedule-item.-period .line div {
  position: absolute;
  font-weight: 500;
  left: 34px;
  top: -5px;
}

.ss-schedule-date-main.-end {
  padding-left : 23px;
  margin-top: 18px;
}

.ss-schedule-date-note {
  margin-top : 7px;
  font-size : 18px;
  line-height : 1;
  color : #846E5E;
}

/* contents */
.ss-schedule-content {
  min-width : 0;
}

.ss-schedule-tags {
  display : flex;
  flex-wrap : wrap;
  gap : 8px;
  align-items : center;
  margin-bottom : 13px;
}

.ss-schedule-coupon,
.ss-schedule-sale {
  display : inline-flex;
  align-items : center;
  min-height : 50px;
  background-color : #ffffff;
  border-radius : 28px;
}

.ss-schedule-coupon {
  padding : 6px 19px 5px 21px;
  white-space : nowrap;
  align-items: baseline;
}

.ss-schedule-coupon > span {
  font-size : 20px;
  font-weight : 800;
  line-height : 1.3;
}

.ss-schedule-coupon > strong {
  display : inline-flex;
  align-items : baseline;
  margin-left : 5px;
  font-family :"Noto Serif JP", serif;
  font-size : 23px;
  font-weight: 800;
  line-height : 1;
  color : #d21f2b;
}
.ss-schedule-coupon > strong:first-of-type {
  font-weight: 700;
}

.ss-schedule-coupon > strong em {
  margin :0 2px 0 7px;
  font-size : 40px;
  font-style : normal;
  font-weight : 900;
  line-height : .8;
  padding-bottom: 3px;
  background: linear-gradient(148deg, #CCB575 17.95%, #9A7614 63.82%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ss-schedule-sale {
  padding : 6px 21px 8px;
  font-size : 20px;
  font-weight : 800;
  line-height : 1.3;
  color : #737272;
  white-space : nowrap;
}

.ss-schedule-description {
  font-size : 16px;
  font-weight: 600;
  line-height : 1.8;
  letter-spacing : .09em;
  margin-left: 7px;
}

.ss-schedule-description > span {
  color : #cf202d;
  font-weight: 900;
}

/* point */
.ss-schedule-point {
  display : flex;
  flex-direction : column;
  align-items : center;
  justify-content : center;
  width : 117px;
  height : 86px;
  margin-left : auto;
  color : #B59A0C;
  border : 1px solid #AF8E29;
  border-radius : 50px;
}

.ss-schedule-point > span {
  font-size : 15px;
  font-weight : 600;
  line-height : 1.1;
}

.ss-schedule-point > strong {
  margin-top : 2px;
  font-family : "Noto Serif JP", serif;
  font-size : 42px;
  font-weight : 800;
  line-height : .9;
}

.ss-schedule-point > strong small {
  font-family : "Noto Serif JP", serif;
  font-size : 17px;
  font-weight : 800;
}

/* ========================================
  EVENT SCHEDULE SP
======================================== */
@media screen and (max-width: 767px) {
  .ss-schedule {
    padding : 0 15px;
  }

  .ss-schedule__inner {
    padding : 60px 0 60px;
  }

  .ss-schedule-heading {
    margin-bottom : 30px;
  }

  .ss-schedule-title {
    font-size : 27px;
    letter-spacing : .06em;
  }

  .ss-schedule-title-en {
    margin-top : 4px;
    font-size : 14px;
  }

  .ss-schedule-item,
  .ss-schedule-item.-final {
    grid-template-columns : 76px minmax(0, 1fr);
    gap : 12px;
    min-height : 0;
    padding: 20px 15px 20px;
  }

  .ss-schedule-item.-period {
    min-height : 0;
  }
  .ss-schedule-item.-period .line div {
    left: 26px;
}


  .ss-schedule-label {
    top : -10px;
    left: -6px;
    min-width: 98px;
    padding : 5px 13px 6px;
    font-size : 10px;
  }
  .ss-schedule-label span {
    font-size: 13px;
}

  .ss-schedule-label::after {
    bottom : -7px;
    border-right-width : 6px;
    border-left-width : 6px;
  }

  .ss-schedule-label.-red::after {
    border-top-width : 8px;
  }

  .ss-schedule-label.-gold {
  font-size: 11px;
  }

  .ss-schedule-label.-gold::after {
    border-top-width : 8px;
  }

  .ss-schedule-date {
    align-self : flex-start;
    padding-top : 7px;
    padding-left : 0;
  }

  .ss-schedule-month {
    margin-right : 1px;
    font-size: 16px;
  }

  .ss-schedule-day {
    font-size : 41px;
  }

  .ss-schedule-week {
    margin-left : 1px;
    font-size : 14px;
  }

  .ss-schedule-date-main.-end {
    margin-top: 20px;
    padding-left: 15px;
  }

  

  .ss-schedule-date-note {
    margin-top : 6px;
    font-size : 14px;
    white-space : nowrap;
  }

  .ss-schedule-tags {
    gap : 10px;
    margin-bottom : 10px;
  }

  .ss-schedule-coupon,
  .ss-schedule-sale {
    border-radius : 20px;
    flex-wrap: wrap;
  }

  .ss-schedule-coupon {
    width: auto;
   padding: 10px 14px 10px 20px;
    white-space: normal;
    display: block;
    border-radius: 40px;
  }

  .ss-schedule-coupon > span {
    font-size : 16px;
  }

  .ss-schedule-coupon > strong {
    flex-shrink : 0;
    margin-left : 3px;
    font-size : 16px;
    line-height: 1.4;
    display: block;
  }

  .ss-schedule-coupon > strong:last-of-type {
    font-size : 18px;
  }

  .ss-schedule-coupon > strong em {
    font-size : 28px;
    margin: 0 2px 0 2px;
  }

  .ss-schedule-sale {
    min-height : 31px;
    padding : 4px 13px 5px;
    font-size : 15px;
  }

  .ss-schedule-description {
    padding-left : 2px;
    font-size : 14px;
    line-height : 1.8;
    letter-spacing : .03em;
  }

  .ss-schedule-point {
    position : absolute;
    left: 15px;
    right : auto;
    top: 85px;
    width : 66px;
    height : 49px;
  }

.ss-schedule-item.-start .ss-schedule-point {
    right : auto;
    top: 105px;
}

  .ss-schedule-point > span {
    font-size: 10px;
  }

  .ss-schedule-point > strong {
    font-size : 24px;
  }

  .ss-schedule-point > strong small {
    font-size : 18px;
  }
}
/* ========================================
  COUPON LIST
======================================== */
.ss-coupon-list {
  padding : 0 60px;
  background-color : #962124;
}

.ss-coupon-list__inner {
  width : 100%;
  max-width : 900px;
  padding : 100px 0 100px;
  margin : 0 auto;
  font-family : "Noto Serif JP", serif;
  color : #ffffff;
}

/* heading */
.ss-coupon-list__inner .ss-title,.ss-coupon-list__inner .ss-title-en{
  color : #ffffff;
}

.ss-coupon-list-lead {
  margin-top : 11px;
  font-size : 16px;
  font-weight : 400;
  line-height : 1.6;
  letter-spacing : 0em;
}

/* block */
.ss-coupon-list-block {
  width : 100%;
}

.ss-coupon-list-block.-multiple {
  margin-top : 48px;
}

/* period ribbon */
.ss-coupon-list-period {
  position : relative;
  display : flex;
  flex-wrap : wrap;
  gap : 0 5px;
  align-items : baseline;
  justify-content : center;
  max-width: 697px;
  margin : 0 auto 28px;
  padding: 5px 45px;
  color: #ffffff;
  text-align: center;
  background-color: #962124;
  border: 2px solid #d0ae28;
  box-sizing: border-box;
  line-height: 1.5;
}

/* 左右の切り込み */
.ss-coupon-list-period::before,
.ss-coupon-list-period::after {
  position : absolute;
  top : 50%;
  z-index : 1;
  width: 44px;
  height: 44px;
  content : "";
  background-color : #962124;
  transform : translateY(-50%) rotate(45deg);
}

/* 左の切り込み */
.ss-coupon-list-period::before {
  left: -23px;
  border-top : 2px solid #d0ae28;
  border-right : 2px solid #d0ae28;
}

/* 右の切り込み */
.ss-coupon-list-period::after {
  right : -23px;
  border-bottom : 2px solid #d0ae28;
  border-left : 2px solid #d0ae28;
}

.ss-coupon-list-period > span {
  position : relative;
  z-index : 1;
}

.ss-coupon-list-period__year,.ss-coupon-list-period__week,.ss-coupon-list-period__note  {
  font-size : 20px;
  font-weight : 400;
  letter-spacing : .04em;
}

.ss-coupon-list-period__date {
  font-size : 32px;
  font-weight : 400;
  line-height : 1;
  letter-spacing : .02em;
}

.ss-coupon-list-period__time {
  margin-left : 4px;
  font-size : 26px;
  font-weight : 400;
  line-height : 1;
}

.ss-coupon-list-period__separator {
  margin : 0 7px;
  font-size : 32px;
  font-weight : 400;
}

.ss-coupon-list-period__hours {
  font-size : 30px;
  font-weight : 400;
  line-height : 1;
}


/* main coupon */
.ss-coupon-list-main-card {
  display : block;
  width : 100%;
  max-width : 800px;
  margin : 0 auto;
  line-height : 0;
  transition : opacity .3s;
}

.ss-coupon-list-main-card:hover {
  opacity : .75;
}

.ss-coupon-list-main-card > img {
  display : block;
  width : 100%;
  height : auto;
}

/* coupon grid */
.ss-coupon-list-grid {
  display : grid;
  grid-template-columns : repeat(2, minmax(0, 1fr));
  gap : 18px 20px;
  width : 100%;
  max-width : 790px;
  margin : 0 auto;
}

.ss-coupon-list-grid__item {
  display : block;
  width : 100%;
}

.ss-coupon-list-grid__link {
  display : block;
  width : 100%;
  line-height : 0;
  transition : opacity .3s;
}

/* .ss-coupon-list-grid__link:hover {
  opacity : .75;
} */

.ss-coupon-list-grid__link > img {
  display : block;
  width : 100%;
  height : auto;
}

/* MY coupon button */
.ss-coupon-list-button {
  position : relative;
  display : flex;
  align-items : center;
  justify-content : center;
  width : 100%;
  max-width : 500px;
  min-height : 55px;
  margin : 57px auto 0;
  padding : 10px 60px;
  font-size : 23px;
  font-weight: 800;
  line-height : 1.4;
  color : #651515;
  text-align : center;
  background-color : #ffffff;
  border-radius : 40px;
  transition : opacity .3s;
}

.ss-coupon-list-button::after {
  position : absolute;
  top : 50%;
  right : 24px;
  width : 9px;
  height : 9px;
  content : "";
  border-top : 1px solid #962124;
  border-right : 1px solid #962124;
  transform : translateY(-50%) rotate(45deg);
}

.ss-coupon-list-button:hover {
  opacity : .8;
}

/* ========================================
  COUPON LIST SP
======================================== */
@media screen and (max-width: 767px) {
  .ss-coupon-list {
    padding : 0 15px;
  }

  .ss-coupon-list__inner {
    padding : 60px 0 60px;
  }

  .ss-coupon-list-heading {
    margin-bottom : 32px;
  }

  .ss-coupon-list-title {
    font-size : 28px;
    letter-spacing : .04em;
  }

  .ss-coupon-list-title-en {
    margin-top : 2px;
    font-size : 12px;
  }

  .ss-coupon-list-lead {
    margin-top : 10px;
    font-size : 13px;
    line-height : 1.7;
  }

  .ss-coupon-list-block.-multiple {
    margin-top : 35px;
  }

  .ss-coupon-list-block.-multiple .ss-coupon-list-period::before {
  right: -32px;
  left: -40px;
  width: 78px;
  height: 78px;
    }
  .ss-coupon-list-block.-multiple .ss-coupon-list-period::after {
  width: 78px;
  height: 78px;
  right: -40px;
    }

  .ss-coupon-list-period__separator {
    margin: 0 7px;
    font-size: 24px;
    font-weight: 400;
}
  .ss-coupon-list-period__separator:not(:has(.SPshow)) {
    display: none;
}


  .ss-coupon-list-period {
    width : 100%;
    min-height : 46px;
    margin-bottom : 20px;
    padding: 15px 15px 15px;
    gap : 0 3px;
    display: block;
  }
  .ss-coupon-list-period .ss-coupon-list-period__group{
    display: block;
  }

  .ss-coupon-list-period::before,
  .ss-coupon-list-period::after {
    width: 62px;
    height: 62px;
  }

  .ss-coupon-list-period::before {
    right: -32px;
    left: -32px;
  }


  .ss-coupon-list-period::after {
    right : -32px;
  }

  .ss-coupon-list-period__year {
    font-size : 15px;
  }

  .ss-coupon-list-period__date {
    font-size : 24px;
  }

  .ss-coupon-list-period__week {
    margin-left : -2px;
    font-size : 15px;
  }

  .ss-coupon-list-period__time {
    margin-left : 2px;
    font-size : 24px;
  }

  .ss-coupon-list-period__separator.SPshow {
    margin : 0 3px;
    font-size : 15px;
    display: block;
  }



  .ss-coupon-list-period__hours {
    font-size : 24px;
  }

  .ss-coupon-list-period__note {
    font-size: 15px;
    letter-spacing : .04em;
  }

  .ss-coupon-list-main-card {
    max-width : 100%;
  }

  .ss-coupon-list-grid {
    grid-template-columns : repeat(1, minmax(0, 1fr));
    gap : 10px;
    max-width: 80%;
  }

  .ss-coupon-list-button {
    max-width : 320px;
    min-height : 48px;
    margin-top : 40px;
    padding : 9px 45px;
    font-size : 15px;
  }

  .ss-coupon-list-button::after {
    right : 19px;
    width : 8px;
    height : 8px;
  }
}

/* ========================================
  EVENT IN SESSION
======================================== */
.ss-events {
  padding : 0 60px;
  background-color : #f6f3eb;
}

.ss-events__inner {
  width : 100%;
  max-width : 1090px;
  padding : 100px 0 100px;
  margin : 0 auto;
}

.ss-events-list {
  display : flex;
  flex-direction : column;
  gap : 22px;
  width : 100%;
  max-width : 860px;
  margin : 0 auto;
}

.ss-events-banner {
  display : block;
  width : 100%;
  height : auto;
  line-height : 0;
  transition : opacity .3s;
}

.ss-events-banner:hover {
  opacity : .75;
}

.ss-events-banner__image {
  display : block;
  width : 100%;
  height : auto;
}

.ss-events-banner__image > source,
.ss-events-banner__image > img {
  display : block;
  width : 100%;
  height : auto;
  object-fit : contain;
}

/* ========================================
  EVENT IN SESSION SP
======================================== */
@media screen and (max-width: 767px) {
  .ss-events {
    padding : 0 15px;
  }

  .ss-events__inner {
    padding : 60px 0 60px;
  }

  .ss-events-list {
    gap : 15px;
    max-width : 100%;
  }
}

/* ========================================
  SEARCH BY DISCOUNT RATE
======================================== */
.ss-discount {
  padding : 0 60px;
  background-color : #ffffff;
}

.ss-discount__inner {
  width : 100%;
  max-width : 1000px;
  padding : 100px 0 100px;
  margin : 0 auto;
}

.ss-discount-list {
  display : flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1%;
  width : 100%;
  margin : 0 auto;
}

.ss-discount-list__item {
  display : block;
  width: 19%;
}

.ss-discount-list__link {
  display : block;
  width : 100%;
  height : auto;
  line-height : 0;
  transition : opacity .3s;
}

.ss-discount-list__link:hover {
  opacity : .75;
}

.ss-discount-list__link > img {
  display : block;
  width : 100%;
  height : auto;
}

/* ========================================
  SEARCH BY DISCOUNT RATE SP
======================================== */
@media screen and (max-width: 767px) {
  .ss-discount {
    padding : 0 15px;
  }

  .ss-discount__inner {
    padding : 60px 0 60px;
  }

  .ss-discount-list__item {
    display : block;
    width: 31%;
  }

  .ss-discount-list {
    grid-template-columns : repeat(2, 1fr);
    gap : 10px;
    max-width : 500px;
  }
}

/* ========================================
  SEARCH LINKS COMMON
======================================== */
.ss-search-links {
  padding : 0 60px;
}

.ss-search-links__inner {
  width : 100%;
  max-width : 1090px;
  padding : 100px 0 100px;
  margin : 0 auto;
}

.ss-search-links__list {
  display : grid;
  grid-template-columns : repeat(3, 1fr);
  gap : 20px 24px;
  width : 100%;
  margin : 0 auto;
}

.ss-search-links__item {
  position : relative;
  display : block;
  width : 100%;
  border : 1px solid #761616;
}

.ss-search-links__item::before {
  position : absolute;
  right : 0;
  bottom : 0;
  width : 48px;
  height : 48px;
  content : "";
  background-color : #4E0505;
  clip-path : polygon(100% 0, 100% 100%, 0 100%);
}

.ss-search-links__item::after {
  position : absolute;
  right : 10px;
  bottom : 10px;
  width: 12px;
  height: 12px;
  content : "";
  border-top : 1px solid #ffffff;
  border-right : 1px solid #ffffff;
  transform : rotate(45deg);
}

.ss-search-links__link {
  display : flex;
  align-items : center;
  justify-content : center;
  width : 100%;
  padding: 25px 15px 26px;
  font-family : "Noto Serif JP", serif;
  color : #671313;
  text-align : center;
  transition : opacity .3s;
  box-sizing : border-box;
  height: 100%;
}

.ss-search-links__link:hover {
  opacity : .7;
}



.ss-search-links__text {
  display : flex;
  flex-direction : column;
  align-items : center;
  justify-content : center;
}

.ss-search-links__ja {
  font-size : 20px;
  font-weight: 600;
  line-height : 1.4;
  letter-spacing : .04em;
}

.ss-search-links__en {
  margin-top : 3px;
  font-family : "Noto Serif JP", serif;
  font-size : 15px;
  font-weight : 400;
  line-height : 1.3;
  letter-spacing : .06em;
}

.ss-search-links__price {
  font-size : 20px;
  font-weight : 600;
  line-height : 1.4;
  letter-spacing : .02em;
}

.ss-origin{
    background-color : #F5F2EB;
}

/* ========================================
  SEARCH BY DISCOUNT RATE SP
======================================== */
@media screen and (max-width: 767px) {
.ss-search-links__inner{
      padding: 60px 0 60px;
}
  .ss-search-links {
    padding: 0 15px;
}
.ss-search-links__list {
  grid-template-columns : repeat(2, 1fr);
  gap: 10px 10px;
}
.ss-search-links__ja {
  font-size: 14px;
}
.ss-search-links__en {
  font-size: 10px;
}
.ss-search-links__link {
  padding: 12px 14px 12px;
}
.ss-search-links__item::before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 24px;
  height: 24px;
  content: "";
  background-color: #4E0505;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.ss-search-links__item::after {
  position: absolute;
  right: 4px;
  bottom: 5px;
  width: 6px;
  height: 6px;
}
.ss-search-links__price {
  font-size: 14px;
}
}