@charset "UTF-8";

/*メインビジュアル*/
.top-image {
  width: 100%;
  aspect-ratio: 1900 / 686; 
  overflow: hidden;
  position: relative;
}

.top-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: -1;
}

.top-mobile {
  display: none;
}

@media screen and (max-width: 768px) {
  .top-image {
    aspect-ratio: 690 / 575; 
  }

  .top-desktop {
    display: none;
  }

  .top-mobile {
    display: block;
  }
}

.mv {
	width: 100%;
	height: 550px;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.mv {
		height: 146.6666666667vw;
	}
}

.mv h1 {
	width: 490px;
}

@media screen and (max-width: 768px) {
	.mv h1 {
		width: 74.6666666667vw;
	}
}

.mv video {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	z-index: -1;
	-o-object-fit: cover;
	object-fit: cover;
}

/*INTRO*/
.intro {
  position: relative;
  z-index: 3;
  padding-top: 100px;
  font-family: YakuHanMP, "Noto Serif JP", "PingFang TC", "Microsoft JhengHei", serif;
  font-weight: 500;
  color: #34454d;
  text-align: center;
}

.intro__inner {
  width: calc(100% - 48px);
  max-width: 920px;
  margin: 0 auto 72px;
}

.intro__ttl {
  margin: 0 0 42px;
  color: #293b43;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .025em;
}

.intro__campaign {
  margin-bottom: 50px;
}

.intro__campaign-lead {
  max-width: 760px;
  margin: 0 auto 27px;
  color: #465b65;
  font-size: 17px;
  line-height: 2;
}

.intro__campaign-lead strong {
  color: #087d99;
  font-weight: 700;
}

.intro__benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid #d5e5e9;
  border-radius: 8px;
  background: #f8fbfc;
}

.intro__benefit {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 104px;
  padding: 18px 14px;
}

.intro__benefit + .intro__benefit {
  border-left: 1px solid #d5e5e9;
}

.intro__benefit-en {
  display: block;
  margin-bottom: 7px;
  color: #7a919b;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .16em;
}

.intro__benefit strong {
  color: #087d99;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.intro__campaign-note {
  max-width: 720px;
  margin: 20px auto 0;
  color: #71828a;
  font-size: 13px;
  line-height: 1.85;
}

.intro__story {
  max-width: 790px;
  margin: 0 auto;
  text-align: left;
}

.intro__story p {
  margin: 0 0 23px;
  color: #475b64;
  font-size: 16px;
  line-height: 2;
  letter-spacing: .01em;
}

.intro__story strong {
  color: #31525f;
  font-weight: 700;
}

.intro__story .c-bleu {
  font-weight: 700;
}

.intro__closing {
  margin: 38px 0 0 !important;
  padding-top: 31px;
  border-top: 1px solid #dce7ea;
  color: #365762 !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
  text-align: center;
}

.intro__closing strong {
  color: #087d99;
  font-size: 21px;
  font-weight: 600;
}

.intro .menu__list {
  display: flex;
  width: min(1100px, 100%);
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.intro .menu__list li {
  width: 33.333333%;
}

.intro .menu__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 450px;
  overflow: hidden;
}

.intro .menu__item__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}

.intro .menu__item::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: rgba(0, 0, 0, .4);
  transition: background .8s ease;
}

.intro .menu__item:hover .menu__item__bg {
  transform: scale(1.08);
}

.intro .menu__item:hover::before {
  background: rgba(0, 0, 0, .16);
}

.intro .menu__item__ttl {
  position: relative;
  z-index: 3;
}

.intro .menu__stay .menu__item__ttl {
  width: 234px;
}

.intro .menu__act .menu__item__ttl {
  width: 207px;
}

.intro .menu__rest .menu__item__ttl {
  width: 277px;
}

@media screen and (max-width: 768px) {
  .intro {
    padding-top: 58px;
  }

  .intro__inner {
    width: calc(100% - 36px);
    margin-bottom: 48px;
  }

  .intro__ttl {
    margin-bottom: 31px;
    font-size: 24px;
    line-height: 1.7;
  }

  .intro__campaign {
    margin-bottom: 39px;
  }

  .intro__campaign-lead {
    margin-bottom: 21px;
    font-size: 15px;
    line-height: 1.9;
  }

  .intro__benefits {
    grid-template-columns: 1fr;
    border-radius: 7px;
  }

  .intro__benefit {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    min-height: 0;
    padding: 15px 17px;
    text-align: left;
  }

  .intro__benefit + .intro__benefit {
    border-top: 1px solid #d5e5e9;
    border-left: 0;
  }

  .intro__benefit-en {
    margin: 0;
    font-size: 8px;
  }

  .intro__benefit strong {
    font-size: 18px;
  }

  .intro__campaign-note {
    margin-top: 17px;
    font-size: 12px;
    line-height: 1.8;
  }

  .intro__story {
    width: 100%;
  }

  .intro__story p {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.95;
  }

  .intro__closing {
    margin-top: 31px !important;
    padding-top: 26px;
    font-size: 16px !important;
  }

  .intro__closing strong {
    font-size: 18px;
  }

  .intro .menu__list {
    width: 100%;
  }

  .intro .menu__item {
    height: 41.3333333333vw;
  }

  .intro .menu__stay .menu__item__ttl {
    width: 23.4666666667vw;
  }

  .intro .menu__act .menu__item__ttl {
    width: 20.6666666667vw;
  }

  .intro .menu__rest .menu__item__ttl {
    width: 27.7333333333vw;
  }
}

@media screen and (max-width: 420px) {
  .intro__inner {
    width: calc(100% - 32px);
  }

  .intro__ttl {
    font-size: 22px;
  }

  .intro__campaign-lead {
    font-size: 14px;
  }

  .intro__story p {
    font-size: 14px;
    line-height: 1.95;
  }

  .intro__benefit {
    grid-template-columns: 65px minmax(0, 1fr);
    padding: 14px 15px;
  }

  .intro__benefit strong {
    font-size: 17px;
  }
}

/*activities*/
.activities {
  margin-top: -140px; 
  background: #E5E1D8;
  padding-top: 220px; 
  padding-bottom: 72px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .activities {
    margin-top: 0;
    padding-top: 12vw;
    padding-bottom: 10vw;
  }
}

.activities__inner {
  width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .activities__inner {
    width: 100%;
    padding: 0 6vw;
  }
}

.activities .slider__info {
  max-width: 900px;
  margin: 0 auto;
  padding: 0; /* remove excessive inner padding */
  text-align: left;
}

.activities .slider__ttl {
  margin: 0 0 18px;
  font-size: 24px;
  line-height: 1.35;
  letter-spacing: 0.04em;
  color: #1E7CB9; 
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .activities .slider__ttl {
    font-size: 6vw;
    margin-bottom: 3.5vw;
  }
}

.activities .slider__copy {
  margin: 0;
  font-size: 14px;
  line-height: 2;
  color: #333;
  text-align: justify;
}

.activities .slider__copy b {
  display: inline-block;
  margin-bottom: 0.6em;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .activities .slider__copy {
    font-size: 4.1vw;
    line-height: 1.95;
    text-align: left;
  }
}

/*event*/
.event {
	background: url(../img/event_bg.jpg);
	background-size: cover;
}

@media screen and (max-width: 768px) {
	.event {
		background: url(../img/event_bg_sp.jpg);
		background-size: cover;
	}
}

.event__inner {
	display: flex;
	padding-top: 70px;
	width: 1100px;
	margin: 0 auto;
	padding-bottom: 70px;
}

@media screen and (max-width: 768px) {
	.event__inner {
		display: block;
		width: 100%;
		padding-top: 17.3333333333vw;
		padding-bottom: 13.3333333333vw;
	}
}

.event__ttl {
	width: 135px;
	display: flex;
	align-items: flex-start;
	position: relative;
}

@media screen and (max-width: 768px) {
	.event__ttl {
		width: 100%;
		display: block;
		margin-bottom: 4vw;
	}
}

.event__ttl--en {
	position: absolute;
	top: -50px;
	left: 0;
	width: 220px;
	transform: rotate(90deg);
	transform-origin: left bottom;
}

@media screen and (max-width: 768px) {
	.event__ttl--en {
		position: static;
		transform: rotate(0deg);
		margin: 0 auto 3.2vw;
		width: 33.6vw;
	}
}

.event__ttl--jp {
	writing-mode: vertical-rl;
	font-size: 22px;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	color: #fff;
	letter-spacing: 0.15em;
	position: absolute;
	top: 0;
	left: 70px;
}

@media screen and (max-width: 768px) {
	.event__ttl--jp {
		font-size: 4.8vw;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		position: static;
		margin: 0 auto;
		text-align: center;
	}
}

.event__img {
	width: 550px;
}

@media screen and (max-width: 768px) {
	.event__img {
		width: 88vw;
		margin: 0 auto 4.8vw;
	}
}

.event__info {
	width: 415px;
	padding-left: 22px;
	color: #fff;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.event__info {
		width: 88vw;
		margin: 0 auto;
		padding-left: 0;
	}
}

.event__date {
	font-family: "EB Garamond", serif;
	font-size: 45px;
	margin-bottom: 20px;
	font-weight: 300;
}

@media screen and (max-width: 768px) {
	.event__date {
		font-size: 8vw;
		margin-bottom: 2.6666666667vw;
	}
}

.event__date span {
	font-size: 30px;
}

@media screen and (max-width: 768px) {
	.event__date span {
		font-size: 5.3333333333vw;
	}
}

.event h3 {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	margin-bottom: 20px;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.event h3 {
		font-size: 4.8vw;
		margin-bottom: 4vw;
	}
}

.event__copy {
	line-height: 1.8;
	margin-bottom: 30px;
	letter-spacing: 0.05em;
	text-align: justify;
}

.event__copy span {
	color: #1e7cb9;
}

.event__copy .sp-none {
	color: #fff;
}

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

.event__copy .pc-none {
	display: none;
}

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


/*restaurants*/
.restaurants {
	padding: 120px 0 0 0;
}

@media screen and (max-width: 768px) {
	.restaurants {
		padding: 16vw 0 0 0;
	}
}

.restaurants__inner {
	width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.restaurants__inner {
		width: 88vw;
	}
}

.restaurants h2 {
	margin: 0 auto 33px;
	display: block;
	text-align: center;
}

.restaurants h2 img {
	width: 416px;
	margin: 0 auto 25px;
}

@media screen and (max-width: 768px) {
	.restaurants h2 img {
		width: 66.6666666667vw;
		margin: 0 auto 4vw;
	}
}

.restaurants h2 p {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.restaurants h2 p {
		font-size: 4.8vw;
	}
}

.restaurants__menu {
	display: flex;
	gap: 10px;
	width: 775px;
	margin: 0 auto 70px;
}

@media screen and (max-width: 768px) {
	.restaurants__menu {
		display: block;
		width: 100%;
		margin: 0 auto 12vw;
	}
}

.restaurants__menu a {
	display: block;
	background: #DE8959;
	color: #fff;
	text-align: center;
	padding: 22px 10px;
	border-radius: 5px;
	width: 33.3333%;
}

@media screen and (max-width: 768px) {
	.restaurants__menu a {
		width: 88vw;
		margin: 0 auto;
		padding: 5.3333333333vw 10px;
		margin-bottom: 2.6666666667vw;
	}
}

.restaurants__menu a .restaurants__en {
	font-family: "EB Garamond", serif;
	font-size: 30px;
	margin-bottom: 10px;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.restaurants__menu a .restaurants__en {
		font-size: 8vw;
		margin-bottom: 1.3333333333vw;
	}
}

.restaurants__menu a .restaurants__copy {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 15px;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.restaurants__menu a .restaurants__copy {
		font-size: 4vw;
	}
}

.restaurants__sttl {
	padding-bottom: 24px;
	margin-bottom: 35px;
	border-bottom: 2px solid #858585;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.restaurants__sttl {
		padding-bottom: 4vw;
		margin-bottom: 4vw;
	}
}

.restaurants__sttl__en {
	font-family: "EB Garamond", serif;
	font-size: 40px;
	margin-bottom: 10px;
	letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
	.restaurants__sttl__en {
		font-size: 8vw;
		margin-bottom: 1.6vw;
	}
}

.restaurants__sttl__jp {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.restaurants__sttl__jp {
		font-size: 4.2666666667vw;
	}
}

.restaurants__list {
	margin-bottom: 30px;
}

.restaurants__list h4 {
	margin-bottom: 12px;
	display: flex;
	justify-content: space-between;
}

.restaurants__list__ttl {
	color: #DE8959;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.restaurants__list__ttl {
		font-size: 4.8vw;
		letter-spacing: 0;
	}
}

.restaurants__list__notice {
	font-size: 13px;
	letter-spacing: 0;
	white-space: nowrap;
	color: #333;
	font-family: YakuHanJP, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}

@media screen and (max-width: 768px) {
	.restaurants__list__notice {
		font-size: 3.4666666667vw;
	}
}

.restaurants__list__op {
	color: #AFA388;
	font-size: 13px;
	background: #E5E1D8;
	border-radius: 5px;
	font-weight: 500;
	width: 76px;
	padding: 5px 3px;
	text-align: center;
	height: 22px;
	transform: translateY(2px);
	white-space: nowrap;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.restaurants__list__op {
		font-size: 3.4666666667vw;
		width: 20.2666666667vw;
		height: 6.1333333333vw;
		padding: 1.3333333333vw 0.8vw;
		transform: 0.5333333333vw;
	}
}

.restaurants__list__copy {
	line-height: 1.8;
}

.restaurants__lunch .restaurants__list {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

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

.restaurants__lunch .restaurants__item {
	width: calc(50% - 20px);
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__item {
		width: 100%;
		margin-bottom: 16vw;
	}
}

.restaurants__lunch .restaurants__item a.restaurants__link {
	opacity: 1;
	display: block;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__item a.restaurants__link {
		margin-bottom: 5.3333333333vw;
	}
}

.restaurants__lunch .restaurants__item a.restaurants__link img {
	transition: 0.3s;
	transform: scale(1);
}

.restaurants__lunch .restaurants__item a.restaurants__link:hover img {
	transform: scale(1.1);
}

.restaurants__lunch .restaurants__item .btn a {
	border: 1px solid #DE8959;
	background: #fff;
	color: #DE8959;
	transition: 0.3s;
	opacity: 1;
}

.restaurants__lunch .restaurants__item .btn a:hover {
	border: 1px solid #DE8959;
	background: #DE8959;
	color: #fff;
}

.restaurants__lunch .restaurants__item .btn a:hover::after {
	background: url(../img/icon_arrow-wh-sm.svg) no-repeat;
}

.restaurants__lunch .restaurants__date {
	width: 100%;
	font-size: 12px;
	text-align: center;
	margin-top: -10px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__date {
		margin-top: 0;
		font-size: 3.2vw;
		margin-bottom: 5.3333333333vw;
	}
}

.restaurants__lunch .restaurants__date span {
	font-family: "EB Garamond", serif;
	font-size: 25px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__date span {
		font-size: 6.6666666667vw;
	}
}

.restaurants__lunch .slick-list {
	width: 100%;
}

.restaurants__lunch .slider-img {
	margin-bottom: 15px;
}

.restaurants__lunch .slider-img .slick-slide {
	width: 530px;
	height: 350px;
	overflow: hidden;
	border-radius: 5px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .slider-img .slick-slide {
		width: 88vw;
		height: 58.1333333333vw;
	}
}

.restaurants__dinner {
	margin-bottom: 70px;
}

.restaurants__dinner .restaurants__list {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	margin-bottom: 0;
}

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

.restaurants__dinner .restaurants__item {
	width: 346px;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.restaurants__dinner .restaurants__item {
		width: 88vw;
		margin-bottom: 10.6666666667vw;
	}
}

.restaurants__dinner .restaurants__item a.restaurants__link {
	opacity: 1;
	display: block;
	margin-bottom: 30px;
}

.restaurants__dinner .restaurants__item a.restaurants__link img {
	transition: 0.3s;
	transform: scale(1);
	border-radius: 5px;
}

.restaurants__dinner .restaurants__item a.restaurants__link:hover img {
	transform: scale(1.1);
}

.restaurants__dinner .restaurants__date {
	width: 100%;
	font-size: 12px;
	text-align: center;
}

.restaurants__dinner .restaurants__date span {
	font-family: "EB Garamond", serif;
	font-size: 25px;
}

.restaurants__dinner .slick-list {
	width: 100%;
}

.restaurants__dinner .slider-img {
	margin-bottom: 15px;
}

.restaurants__dinner .slider-img .slick-slide {
	width: 346px;
	height: 234px;
	overflow: hidden;
	border-radius: 5px;
}

@media screen and (max-width: 768px) {
	.restaurants__dinner .slider-img .slick-slide {
		width: 88vw;
		height: 59.7333333333vw;
	}
}

.ac-contents {
	display: none;
}

/*newopen*/
.newopen {
	background: #C47759;
	padding: 110px 0 120px 0;
}

@media screen and (max-width: 768px) {
	.newopen {
		padding: 14.6666666667vw 0;
	}
}

.newopen__inner {
	width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.newopen__inner {
		width: 100%;
	}
}

.newopen__sttl {
	padding-bottom: 24px;
	text-align: center;
}

.newopen__sttl__en {
	font-family: "EB Garamond", serif;
	font-size: 40px;
	margin-bottom: 10px;
	color: #fff;
	letter-spacing: 3px;
}

@media screen and (max-width: 768px) {
	.newopen__sttl__en {
		font-size: 8vw;
		margin-bottom: 1.6vw;
	}
}

.newopen__sttl__jp {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.newopen__sttl__jp {
		font-size: 4.2666666667vw;
		margin-bottom: 1.6vw;
	}
}

.newopen__list {
	display: flex;
	gap: 25px;
}

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

.newopen__list__ttl {
	color: #fff;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
	.newopen__list__ttl {
		font-size: 4.8vw;
	}
}

.newopen__list__copy {
	color: #fff;
	line-height: 1.8;
	margin-bottom: 25px;
}

.newopen__item {
	width: 345px;
	position: relative;
}

@media screen and (max-width: 768px) {
	.newopen__item {
		width: 88vw;
		margin: 0 auto 13.3333333333vw;
	}
}

.newopen__item img {
	border-radius: 5px;
	margin-bottom: 15px;
}

.newopen__item .btn {
	position: absolute;
	bottom: -20px;
}

@media screen and (max-width: 768px) {
	.newopen__item .btn {
		position: static;
		bottom: 0;
	}
}

.newopen__item .btn a {
	padding: 10px 80px 10px 60px;
}

/*stayplans*/
.stayplans {
	padding: 120px 0;
}

@media screen and (max-width: 768px) {
	.stayplans {
		padding: 14.6666666667vw 0;
	}
}

.stayplans__inner {
	width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.stayplans__inner {
		width: 100%;
	}
}

.stayplans h2 {
	margin: 0 auto 50px;
	display: block;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.stayplans h2 {
		margin: 0 auto 5.3333333333vw;
	}
}

.stayplans h2 img {
	width: 352px;
	margin: 0 auto 25px;
}

@media screen and (max-width: 768px) {
	.stayplans h2 img {
		width: 62.4vw;
		margin: 0 auto 5.3333333333vw;
	}
}

.stayplans h2 p {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
	.stayplans h2 p {
		font-size: 4.8vw;
	}
}

.stayplans__menu__wrap {
	display: flex;
	width: 940px;
	gap: 80px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__wrap {
		display: none;
		position: absolute;
		z-index: 3;
		background: #fff;
		width: 90vw;
		margin: 0 5vw;
	}
}

.stayplans__menu__wrap .stayplans__menu__left {
	width: 420px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__wrap .stayplans__menu__left {
		width: 100%;
	}
}

.stayplans__menu__wrap .stayplans__menu__right {
	width: 420px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__wrap .stayplans__menu__right {
		width: 100%;
	}
}

.stayplans .stayplans__open.active::after {
	transform: translateY(-50%) rotate(180deg);
}

.stayplans__menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	gap: 27px 100px;
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu {
		display: block;
		width: 80vw;
		margin-bottom: 0;
	}
}

.stayplans__menu li {
	width: 100%;
	border-bottom: 1px solid #28a9dc;
	position: relative;
	padding-bottom: 12px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu li {
		width: 100%;
		padding-bottom: 1.3333333333vw;
		margin-bottom: 4vw;
	}
}

.stayplans__menu li a::after {
	position: absolute;
	content: "";
	background: url(../img/stay_menu_bleu.svg) no-repeat;
	width: 37px;
	height: 37px;
	background-size: 100%;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

@media screen and (max-width: 768px) {
	.stayplans__menu li a::after {
		width: 5.8666666667vw;
		height: 5.8666666667vw;
	}
}

.stayplans__menu__ttl {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 19.5px;
	font-weight: 500;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__ttl {
		font-size: 3.7866666667vw;
		padding-bottom: 1.3333333333vw;
	}
}

.stayplans__menu__sttl {
	margin-bottom: 6px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__sttl {
		font-size: 3.2vw;
		margin-bottom: 1.0666666667vw;
	}
}

.stayplans__notice {
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.stayplans__notice {
		width: 88vw;
		margin: 0 auto;
	}
}

.stayplans__notice li {
	font-size: 12px;
	margin-bottom: 3px;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (max-width: 768px) {
	.stayplans__notice li {
		font-size: 3.2vw;
	}
}

/*hotels*/
.hotels__item {
	display: flex;
	justify-content: space-between;
	border-bottom: 2px solid #858585;
	padding-bottom: 80px;
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.hotels__item {
		display: block;
		margin-top: -2.6666666667vw;
		padding-top: 2.6666666667vw;
		padding-bottom: 8vw;
		margin-bottom: 8vw;
		border-bottom: 1px solid #858585;
	}
}

.hotels__left {
	width: 680px;
}

@media screen and (max-width: 768px) {
	.hotels__left {
		width: 100%;
		margin-bottom: 6.6666666667vw;
	}
}

.hotels__left .slider__hotels {
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.hotels__left .slider__hotels {
		border-radius: 0;
	}
}

@media screen and (max-width: 768px) {
	.hotels__left .btn {
		display: block;
		margin: 0 auto;
		width: 88vw;
	}

	.hotels__left .btn a {
		display: block;
		margin: 0 auto 2.6666666667vw;
	}
}

.hotels__right {
	width: 350px;
	background: #D9F0FC;
	height: -moz-fit-content;
	height: fit-content;
	padding: 25px 35px 35px 35px;
}

@media screen and (max-width: 768px) {
	.hotels__right {
		width: 88vw;
		margin: 0 auto;
		padding: 8vw 6.6666666667vw;
	}
}

@media screen and (max-width: 768px) {
	.hotels__right .btn {
		margin: 0 auto;
	}

	.hotels__right .btn a {
		display: block;
		margin: 0 auto;
		width: 50.6666666667vw;
	}
}

.hotels__info {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.hotels__logo {
	width: 210px;
	height: 140px;
	display: flex !important;
	justify-content: center;
	align-items: center;
}

.hotels__logo.sp {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.hotels__logo {
		display: block !important;
		margin: 0 auto;
		text-align: center;
		width: auto;
		height: auto;
		margin-top: 5.3333333333vw;
		margin-bottom: 5.3333333333vw;
	}

	.hotels__logo.pc {
		display: none !important;
	}

	.hotels__logo.sp {
		display: block !important;
	}

	.hotels__logo img {
		margin: 0 auto;
	}
}

.hotels__more {
	width: 430px;
	text-align: left;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.hotels__more {
		width: 88vw;
		margin: 0 auto;
	}
}

.hotels__name {
	font-size: 18px;
	color: #1e7cb9;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	margin-bottom: 15px;
	font-weight: 500;
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.hotels__name {
		font-size: 4.8vw;
		margin-bottom: 4vw;
		margin-top: 5.3333333333vw;
	}
}

.hotels__txt {
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.hotels__recommend {
	width: 196px;
	margin: 0 auto 14px;
}

@media screen and (max-width: 768px) {
	.hotels__recommend {
		width: 34.6666666667vw;
	}
}

.hotels__img {
	border-radius: 5px;
	margin-bottom: 12px;
}

.hotels__course {
	color: #1e7cb9;
	font-size: 16px;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-weight: 500;
	margin-bottom: 12px;
	line-height: 1.5;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.hotels__course {
		font-size: 4.2666666667vw;
	}
}

.hotels__notice {
	margin-bottom: 30px;
	line-height: 1.8;
	text-align: justify;
}

@media screen and (max-width: 768px) {
	.hotels__notice {
		margin-bottom: 5.3333333333vw;
	}
}

.hotels #hotel-00 .hotels__logo img {
	width: 166px;
}

.hotels #hotel-01 .hotels__logo img {
	width: 166px;
}

.hotels #hotel-02 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-03 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-04 .hotels__logo img {
	width: 164px;
}

.hotels #hotel-05 .hotels__logo img {
	width: 91px;
}

.hotels #hotel-06 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-07 .hotels__logo img {
	width: 198px;
}

.hotels #hotel-08 .hotels__logo img {
	width: 156px;
}

.hotels #hotel-09 .hotels__logo img {
	width: 140px;
}
.hotels #hotel-102 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-103 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-104 .hotels__logo img {
	width: 164px;
}

.hotels #hotel-105 .hotels__logo img {
	width: 91px;
}

.hotels #hotel-106 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-107 .hotels__logo img {
	width: 198px;
}

.hotels #hotel-108 .hotels__logo img {
	width: 156px;
}

.hotels #hotel-109 .hotels__logo img {
	width: 140px;
}

@media screen and (max-width: 768px) {
	.hotels .slick-slide {
		width: 100vw;
		height: 50.1333333333vw;
	}
}


.room {
  margin-bottom: 2.5em;
  padding: 88px 0;
  background: #d9ddc2; /* soft sage */
}

@media screen and (max-width: 768px) {
  .room {
    padding: 12vw 0;
    margin-bottom: 12vw;
  }
}

.room__inner {
  width: 1100px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .room__inner {
    width: 100%;
  }
}

.room h3 {
  text-align: center;
  margin-bottom: 36px;
}

@media screen and (max-width: 768px) {
  .room h3 {
    margin-bottom: 6vw;
    padding: 0 6vw;
  }
}

.room__sttl {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 500;
  color: #3f4424;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .room__sttl {
    font-size: 4.5vw;
    margin-bottom: 2.5vw;
  }
}

.room__ttl {
  color: #7e593e;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

@media screen and (max-width: 768px) {
  .room__ttl {
    font-size: 7.2vw;
    line-height: 1.35;
  }
}

.room__block {
  width: 920px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 34px;
  background: rgba(255,255,255,0.28);
  padding: 30px;
  border-radius: 18px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .room__block {
    width: 88vw;
    display: block;
    padding: 5.5vw;
    border-radius: 4vw;
  }
}

.room__left {
  width: 420px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .room__left {
    width: 100%;
    margin: 0 0 5vw;
  }
}

.room__left img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  border-radius: 14px;
}

@media screen and (max-width: 768px) {
  .room__left img {
    min-height: auto;
    border-radius: 3vw;
  }
}

.room__right {
  width: calc(100% - 454px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .room__right {
    width: 100%;
  }
}

.room__title {
  color: #7e593e;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 30px;
  margin-bottom: 16px;
  font-weight: 500;
  line-height: 1.45;
  text-shadow: 0 1px 2px rgba(0,0,0,0.10);
}

@media screen and (max-width: 768px) {
  .room__title {
    font-size: 6.2vw;
    margin-top: 0;
    margin-bottom: 3.5vw;
    line-height: 1.45;
  }
}

.room__txt {
  color: #222;
  line-height: 1.95;
  text-align: left;
  margin-bottom: 26px;
  font-size: 16px;
  word-break: break-word;
}

@media screen and (max-width: 768px) {
  .room__txt {
    font-size: 4.1vw;
    line-height: 1.9;
    margin-bottom: 5vw;
  }
}

.room__txt u {
  text-decoration: none;
  font-weight: 700;
  color: #3f4424;
}

.room__txt b {
  display: inline-block;
  margin-top: 8px;
  font-weight: 700;
}

.room__txt a {
  color: #1e7cb9;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.room__txt a:hover {
  opacity: 0.8;
}

.room .btn {
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .room .btn {
    margin-top: 0;
  }
}

.room .btn a {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .room .btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 62vw;
    margin: 0 auto;
  }
}

/*app*/
.app {
	background-color: #E5E1D8;
	padding: 70px 0;
}

.app__inner {
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	position: relative;
}

.app__img {
	width: 497px;
	display: block;
	margin: 0 auto 22px;
}

@media screen and (max-width: 768px) {
	.app__img {
		width: 90%;
	}
}

.app__get {
	width: 170px;
	position: absolute;
	top: -40px;
	right: -170px;
}

@media screen and (max-width: 768px) {
	.app__get {
		width: 32vw;
		position: static;
		margin: 0 auto 5.3333333333vw;
		display: block;
	}
}

.app__link {
	display: flex;
	gap: 35px;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.app__link {
		gap: 5.3333333333vw;
	}
}

.app__link li {
	width: 173px;
}

@media screen and (max-width: 768px) {
	.app__link li {
		width: 37.3333333333vw;
	}
}


.hotels__couponTag {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;

  margin-top: 12px;
  margin-bottom: 12px;
  padding: 10px 14px;

  border: 1px solid #1e7cb9;
  background: rgba(255, 255, 255, 0.65);
  box-sizing: border-box;
}

.couponTag__rate {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.06em;
  color: #1e7cb9;
  white-space: nowrap;
}

.couponTag__divider {
  width: 1px;
  height: 24px;
  flex-shrink: 0;
  background: #396b94;
}

/* Clickable coupon-code area */
.couponTag__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;

  min-width: 108px;
  padding: 3px 6px;
  margin: -3px -6px;

  border-radius: 2px;
  box-sizing: border-box;

  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;

  transition: background-color 0.2s ease;
}

.couponTag__right:hover {
  background: rgba(30, 124, 185, 0.07);
}

.couponTag__right:active {
  background: rgba(30, 124, 185, 0.13);
}

.couponTag__right:focus-visible {
  outline: 2px solid #1e7cb9;
  outline-offset: 3px;
}

.couponTag__label {
  font-size: 12px;
  line-height: 1.2;
  color: rgba(0, 0, 0, 0.65);
  white-space: nowrap;
}

.couponTag__codeLine {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.couponTag__code {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: rgba(0, 0, 0, 0.82);
  white-space: nowrap;

  /* Guests can also select it manually */
  user-select: all;
  -webkit-user-select: all;
}

/* Small CSS-only copy icon */
.couponTag__copyMark {
  position: relative;
  display: inline-block;

  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.couponTag__copyMark::before,
.couponTag__copyMark::after {
  content: "";
  position: absolute;

  width: 9px;
  height: 9px;

  border: 1px solid #1e7cb9;
  box-sizing: border-box;
}

.couponTag__copyMark::before {
  top: 4px;
  left: 1px;
}

.couponTag__copyMark::after {
  top: 1px;
  left: 4px;
  background: rgba(255, 255, 255, 0.95);
}

/* Successful copy state */
.couponTag__right.is-copied {
  background: rgba(225, 244, 233, 0.7);
}

.couponTag__right.is-copied .couponTag__copyMark::before {
  display: none;
}

.couponTag__right.is-copied .couponTag__copyMark::after {
  content: "✓";

  top: -2px;
  left: 1px;

  width: auto;
  height: auto;

  border: 0;
  background: transparent;

  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  color: #397556;
}

/* Hidden screen-reader notification */
.couponTag__status {
  position: absolute;

  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;

  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@media screen and (max-width: 767px) {
  .hotels__couponTag {
    margin-right: auto;
    margin-left: auto;
    padding: 9px 12px;
    gap: 10px;
  }

  .couponTag__rate {
    font-size: 14px;
  }

  .couponTag__divider {
    height: 22px;
  }

  .couponTag__right {
    min-width: 100px;
  }

  .couponTag__label {
    font-size: 11px;
  }

  .couponTag__code {
    font-size: 14px;
  }

  .couponTag__copyMark {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
  }
}

/* =========================
   Apr2026--Beryl CHENG
   ========================= */

:root {
  --mxe-navy: #0f2236;
  --mxe-deep: #102b46;
  --mxe-blue: #3c7fa6;
  --mxe-light: #e8f3f8;
  --mxe-gold: #c5a46d;
  --mxe-text-soft: #d3dee7;
  --mxe-white: #ffffff;
  --mxe-border-light: rgba(255, 255, 255, 0.16);
  --mxe-shadow-heavy: 0 18px 60px rgba(8, 21, 35, 0.28);
  --mxe-shadow-card: 0 16px 40px rgba(18, 41, 65, 0.1);
}

.mxe-shell {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
}

.mxe-hero {
  position: relative;
  overflow: hidden;
  padding: 110px 0 120px;
  background:
    radial-gradient(circle at top left, rgba(84, 162, 210, 0.18), transparent 35%),
    linear-gradient(180deg, #0b1a2b 0%, #10314e 48%, #163b58 100%);
  color: var(--mxe-white);
}

.mxe-hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(8, 19, 31, 0.42), rgba(8, 19, 31, 0.55)),
    url("_assets/img/menu-img-shuttle.jpg") center center / cover no-repeat;
  opacity: 0.28;
  transform: scale(1.06);
}

.mxe-hero__glow {
  position: absolute;
  right: -10%;
  bottom: -120px;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(197, 164, 109, 0.2), transparent 68%);
  pointer-events: none;
}

.mxe-hero .mxe-shell {
  position: relative;
  z-index: 2;
}

.mxe-hero__eyebrow {
  margin: 0 0 18px;
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.mxe-hero__title {
  margin: 0;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-weight: 500;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1.32;
  letter-spacing: 0.03em;
  color: #fff;
}

.mxe-hero__subcopy {
  margin: 20px 0 0;
  max-width: 720px;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1.75;
  letter-spacing: 0.03em;
  color: #d5e8f3;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.14);
}

.mxe-hero__banner {
  margin-top: 34px;
  max-width: 920px;
  background: rgba(255, 255, 255, 0.05);
  padding: 12px;
  box-shadow: 0 18px 46px rgba(8, 21, 35, 0.18);
}

.mxe-hero__bannerMedia {
  display: block;
  line-height: 0;
}

.mxe-hero__bannerMedia img {
  display: block;
  width: 100%;
  height: auto;
}

.mxe-links {
  position: relative;
  z-index: 3;
  margin-top: -42px;
  padding: 0 0 48px;
  background: linear-gradient(180deg, transparent 0, #f5f8fb 34px, #f5f8fb 100%);
}

.mxe-links__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mxe-feature {
  display: flex;
  flex-direction: column;
  background: #fff;
  color: #1c2f3c;
  text-decoration: none;
  overflow: hidden;
  box-shadow: var(--mxe-shadow-card);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.mxe-feature:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 52px rgba(18, 41, 65, 0.16);
}

.mxe-feature__image {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.mxe-feature__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s ease;
}

.mxe-feature:hover .mxe-feature__image img {
  transform: scale(1.08);
}

.mxe-feature__body {
  padding: 28px 26px 30px;
  border-top: 1px solid rgba(15, 34, 54, 0.08);
}

.mxe-feature__eyebrow {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mxe-blue);
}

.mxe-feature__title {
  margin: 0 0 12px;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--mxe-navy);
}

.mxe-feature__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  color: #526574;
}

.mxe-feature__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--mxe-navy);
}

.mxe-feature__cta::after {
  content: "→";
  font-size: 14px;
}

.mxe-info {
  padding: 36px 0 100px;
  background: #f5f8fb;
}

.mxe-info__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.mxe-noteBox {
  padding: 34px 34px 36px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(16, 43, 70, 0.08);
  box-shadow: 0 12px 30px rgba(18, 41, 65, 0.06);
}

.mxe-noteBox__eyebrow {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mxe-blue);
}

.mxe-noteBox__title {
  margin: 0 0 14px;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--mxe-navy);
}

.mxe-noteBox__text {
  margin: 0;
  font-size: 15px;
  line-height: 2;
  color: #566979;
}

@media screen and (max-width: 1024px) {
  .mxe-links__grid,
  .mxe-info__grid {
    grid-template-columns: 1fr;
  }

  .mxe-feature__image {
    height: 260px;
  }
}

@media screen and (max-width: 768px) {
  .mxe-shell {
    width: min(100% - 32px, 1000px);
  }

  .mxe-hero {
    padding: 75px 0 80px;
  }

  .mxe-hero__eyebrow {
    font-size: 11px;
    letter-spacing: 0.16em;
    line-height: 1.8;
  }

  .mxe-hero__title {
    font-size: 7.6vw;
    line-height: 1.34;
    letter-spacing: 0.01em;
  }

  .mxe-hero__subcopy {
    margin-top: 16px;
    font-size: 4.8vw;
    line-height: 1.7;
    letter-spacing: 0.02em;
  }

  .mxe-hero__banner {
    margin-top: 24px;
    padding: 8px;
  }

  .mxe-links {
    margin-top: -22px;
    padding-bottom: 28px;
    background: linear-gradient(180deg, transparent 0, #f5f8fb 18px, #f5f8fb 100%);
  }

  .mxe-links__grid {
    gap: 16px;
  }

  .mxe-feature__image {
    height: 220px;
  }

  .mxe-feature__body {
    padding: 20px 18px 22px;
  }

  .mxe-feature__title,
  .mxe-noteBox__title {
    font-size: 24px;
  }

  .mxe-feature__text,
  .mxe-noteBox__text {
    font-size: 14px;
    line-height: 1.9;
  }

  .mxe-info {
    padding: 18px 0 64px;
  }

  .mxe-info__grid {
    gap: 16px;
  }

  .mxe-noteBox {
    padding: 24px 18px;
  }
}

.stp-miniTags {
  margin-top: 8px;
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.stp-miniTags__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 20px;
  border: 1px solid rgba(74, 126, 190, 0.18);
  color: #466d9f;
  background: rgba(255, 255, 255, 0.72);
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.035em;
  box-sizing: border-box;
  white-space: nowrap;
}

.stp-copyLead {
  margin: 14px 0;
  color: #2d3b4d;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .stp-miniTags {
    margin-top: 6px;
    margin-bottom: 28px;
    gap: 8px;
  }

  .stp-miniTags__item {
    min-height: 30px;
    padding: 0 12px;
    font-size: 14px;
    letter-spacing: 0.02em;
  }
}

/* =========================
   May2026--Beryl CHENG
   ========================= */

.los-shell {
  width: min(1320px, calc(100% - 32px));
  margin: 0 auto;
}

.los-hero {
  position: relative;
  overflow: hidden;
  padding: 112px 0 84px;
  background: linear-gradient(
    90deg,
    #dbeff0 0%,
    #e7f3f3 34%,
    #f5efe4 68%,
    #eee5d7 100%
  );
}

.los-hero__veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 28%, rgba(126, 197, 205, 0.18), transparent 30%),
    radial-gradient(circle at 28% 72%, rgba(255, 255, 255, 0.32), transparent 26%),
    radial-gradient(circle at 86% 24%, rgba(214, 189, 146, 0.16), transparent 24%),
    radial-gradient(circle at 82% 78%, rgba(255, 255, 255, 0.20), transparent 24%);
  pointer-events: none;
}

.los-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 44px;
  align-items: start;
}

.los-hero__copy {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  padding-top: 6px;
}

.los-hero__copyMain {
  min-width: 0;
  width: 100%;
  max-width: 520px;
}

.los-hero__eyebrow {
  margin: 0 0 14px;
  color: #007f9e;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65),
    0 0 10px rgba(201, 162, 39, 0.12);
}

.los-hero__title {
  margin: 0;
  color: #24364d;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: 0;
}

.los-hero__title span {
  display: block;
  white-space: nowrap;
}

.los-hero__subcopy {
  margin: 20px 0 0;
  color: rgba(36, 54, 77, 0.78);
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: clamp(15px, 1.18vw, 19px);
  line-height: 1.9;
  letter-spacing: 0.02em;
}

.los-hero__side {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  height: 100%;
}

.los-hero__visual {
  width: 100%;
}

.los-hero__bannerMedia {
  display: block;
  line-height: 0;
  padding: 12px;
  background: rgba(250, 246, 240, 0.88);
  box-shadow: 0 18px 52px rgba(73, 95, 104, 0.10);
}

.los-hero__bannerMedia img {
  display: block;
  width: 100%;
  height: auto;
}

/* tablet */
@media screen and (max-width: 900px) {
  .los-shell {
    width: min(100% - 32px, 1320px);
  }

  .los-hero__grid {
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
  }

  .los-hero__copy,
  .los-hero__side {
    display: block;
    height: auto;
    padding-top: 0;
  }

  .los-hero__copyMain {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .los-hero__subcopy {
    margin-top: 16px;
  }
}

/* mobile */
@media screen and (max-width: 768px) {
  .los-shell {
    width: min(100% - 32px, 1320px);
  }

  .los-hero {
    padding: 80px 0 52px;
  }

  .los-hero__eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
    letter-spacing: 0.16em;
  }

  .los-hero__title {
    font-size: clamp(21px, 6.2vw, 27px);
    line-height: 1.48;
  }

  .los-hero__subcopy {
    margin-top: 16px;
    font-size: clamp(13px, 3.7vw, 15px);
    line-height: 1.75;
  }

  .los-hero__bannerMedia {
    padding: 8px;
  }
}

.dateDealCoupon {
  width: min(100%, 430px);
  margin: 4px 0 12px;

  border: 1px solid rgba(42, 103, 139, 0.72);
  background: rgba(255, 255, 255, 0.78);
  box-sizing: border-box;
  overflow: hidden;
}

/* First row */
.dateDealCoupon__title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;

  min-height: 45px;
  padding: 9px 6px;

  border-bottom: 1px solid rgba(42, 103, 139, 0.3);
  box-sizing: border-box;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
  color: #344b59;

  white-space: nowrap;
}

.dateDealCoupon__title strong {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1e6f9d;
  white-space: nowrap;
}

/* Coupon rows */
.dateDealCoupon__row {
  display: grid;
  grid-template-columns: 40% 60%;
  min-height: 58px;
  box-sizing: border-box;
}

.dateDealCoupon__row + .dateDealCoupon__row {
  border-top: 1px dashed rgba(42, 103, 139, 0.3);
}

.dateDealCoupon__period {
  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 0;
  padding: 8px 4px;
  box-sizing: border-box;

  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #344b59;

  white-space: nowrap;
}

/* Entire right side is clickable */
.dateDealCoupon__copy {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-width: 0;
  min-height: 58px;

  padding: 8px 39px 8px 8px;

  border: 0;
  border-left: 1px solid rgba(42, 103, 139, 0.3);
  border-radius: 0;
  background: transparent;

  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;

  color: inherit;
  font-family: inherit;
  line-height: 1;

  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;

  transition: background-color 0.2s ease;
}

.dateDealCoupon__copy:hover {
  background: rgba(255, 255, 255, 0.65);
}

.dateDealCoupon__copy:active {
  background: rgba(30, 111, 157, 0.1);
}

.dateDealCoupon__copy:focus-visible {
  outline: 2px solid #1e6f9d;
  outline-offset: -3px;
}

/* Coupon code */
.dateDealCoupon__code {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  color: #273b47;

  white-space: nowrap;
  user-select: all;
  -webkit-user-select: all;
}

/* Copy icon */
.dateDealCoupon__copyIcon {
  position: absolute;
  top: 50%;
  right: 11px;

  width: 18px;
  height: 18px;

  transform: translateY(-50%);

  fill: none;
  stroke: #1e6f9d;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;

  pointer-events: none;
}

/* Check mark shown after copying */
.dateDealCoupon__check {
  display: none;

  position: absolute;
  top: 50%;
  right: 12px;

  transform: translateY(-50%);

  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #397556;

  pointer-events: none;
}

.dateDealCoupon__copy.is-copied {
  background: rgba(232, 247, 238, 0.8);
}

.dateDealCoupon__copy.is-copied .dateDealCoupon__copyIcon {
  display: none;
}

.dateDealCoupon__copy.is-copied .dateDealCoupon__check {
  display: block;
}

/* Screen-reader message */
.dateDealCoupon__message {
  position: absolute;

  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;

  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;

  border: 0;
}

/* Smartphone */
@media screen and (max-width: 767px) {
  .dateDealCoupon {
    width: 100%;
    margin-top: 3px;
  }

  .dateDealCoupon__title {
    gap: 3px;
    min-height: 42px;
    padding: 8px 3px;
    font-size: 12px;
  }

  .dateDealCoupon__title strong {
    font-size: 15px;
    letter-spacing: 0.02em;
  }

  .dateDealCoupon__row {
    grid-template-columns: 40% 60%;
    min-height: 56px;
  }

  .dateDealCoupon__period {
    padding: 7px 3px;
    font-size: 13px;
  }

  .dateDealCoupon__copy {
    min-height: 56px;
    padding: 7px 35px 7px 5px;
  }

  .dateDealCoupon__code {
    font-size: 15px;
    letter-spacing: 0.09em;
  }

  .dateDealCoupon__copyIcon {
    right: 9px;
    width: 17px;
    height: 17px;
  }

  .dateDealCoupon__check {
    right: 10px;
    font-size: 17px;
  }
}

/* =========================
   Aug 2026--Beryl CHENG
   ========================= */
   .pointup-hero,
   .pointup-hero *,
   .pointup-hero *::before,
   .pointup-hero *::after {
     box-sizing: border-box;
   }

   .pointup-hero {
     position: relative;
     overflow: hidden;
     padding: 84px 0 68px;
     background:
       radial-gradient(
         circle at 94% 12%,
         rgba(96, 200, 251, 0.19) 0%,
         rgba(96, 200, 251, 0) 35%
       ),
       radial-gradient(
         circle at 15% 88%,
         rgba(255, 255, 255, 0.30) 0%,
         rgba(255, 255, 255, 0) 32%
       ),
       linear-gradient(
         118deg,
         #e4ddd5 0%,
         #eee9e3 48%,
         #e1e7e7 100%
       );
   }

   .pointup-hero__veil {
     position: absolute;
     inset: 0;
     background:
       linear-gradient(
         90deg,
         rgba(255, 255, 255, 0.08) 0%,
         rgba(255, 255, 255, 0) 52%,
         rgba(96, 200, 251, 0.05) 100%
       );
     pointer-events: none;
   }

   .pointup-hero__shell {
     position: relative;
     z-index: 1;
     width: min(1320px, calc(100% - 32px));
     margin: 0 auto;
   }

   .pointup-hero__grid {
     display: grid;
     grid-template-columns:
       minmax(0, 0.72fr)
       minmax(0, 1.28fr);
     gap: clamp(48px, 5vw, 72px);
     align-items: center;
   }

   .pointup-hero__copy,
   .pointup-hero__visual {
     min-width: 0;
   }

   .pointup-hero__copy {
     display: flex;
     justify-content: flex-start;
   }

   .pointup-hero__copyInner {
     width: 100%;
     max-width: 440px;
   }

   .pointup-hero__heading {
     margin-bottom: 18px;
     padding-left: 17px;
     border-left: 2px solid #00a5df;
   }

   .pointup-hero__eyebrow {
     margin: 0 0 9px;
     color: #00a5df;
     font-size: 12px;
     font-weight: 600;
     line-height: 1.5;
     letter-spacing: 0.20em;
   }

   .pointup-hero__title {
     margin: 0;
     color: #2e4d58;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: clamp(22px, 2vw, 29px);
     font-weight: 500;
     line-height: 1.52;
     letter-spacing: 0.025em;
   }

   .pointup-hero__period {
     margin: 11px 0 0;
     color: #8a7065;
     font-size: 14px;
     font-weight: 600;
     line-height: 1.5;
     letter-spacing: 0.09em;
   }

   .pointup-hero__benefit {
     position: relative;
     width: 100%;
     max-width: 440px;
     padding: 15px 18px 14px;
     overflow: hidden;
     border: 1px solid rgba(66, 99, 107, 0.12);
     background: rgba(250, 250, 248, 0.91);
     box-shadow:
       0 10px 25px rgba(63, 88, 94, 0.075),
       0 2px 5px rgba(63, 88, 94, 0.035);
   }

   .pointup-hero__benefit--registration::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 2px;
     background: #c51f75;
   }

   .pointup-hero__benefit--booking {
     margin-top: 14px;
   }

   .pointup-hero__benefit--booking::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 2px;
     background: #00a5df;
   }

   .pointup-hero__benefitLabel {
     margin: 0 0 4px;
     color: #345560;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 16px;
     font-weight: 600;
     line-height: 1.5;
     letter-spacing: 0.04em;
   }

   .pointup-hero__benefitValue {
     display: flex;
     flex-wrap: wrap;
     align-items: baseline;
     gap: 5px;
     margin: 0 0 8px;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-variant-numeric: tabular-nums;
     line-height: 1;
   }

   .pointup-hero__benefitValue strong {
     font-size: clamp(36px, 3.3vw, 46px);
     font-weight: 500;
     letter-spacing: -0.015em;
   }

   .pointup-hero__benefitValue span {
     font-size: 14px;
     font-weight: 600;
     line-height: 1.4;
   }

   .pointup-hero__benefit--registration
   .pointup-hero__benefitValue,
   .pointup-hero__benefit--registration
   .pointup-hero__benefitValue span {
     color: #c51f75;
   }

   .pointup-hero__benefit--booking
   .pointup-hero__benefitValue,
   .pointup-hero__benefit--booking
   .pointup-hero__benefitValue span {
     color: #00a5df;
   }

   .pointup-hero__benefitNote {
     margin: 0;
     color: #526b73;
     font-size: 13px;
     font-weight: 500;
     line-height: 1.55;
     letter-spacing: 0.015em;
   }

   .pointup-hero__button {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 11px;
     width: 100%;
     max-width: 440px;
     margin-top: 10px;
     padding: 13px 18px;
     border: 1px solid #c51f75;
     color: #ffffff;
     background: #c51f75;
     box-shadow: 0 10px 23px rgba(117, 18, 69, 0.14);
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 17px;
     font-weight: 600;
     line-height: 1.5;
     letter-spacing: 0.07em;
     text-decoration: none;
     transition:
       color 0.3s ease,
       background-color 0.3s ease,
       box-shadow 0.3s ease,
       transform 0.3s ease;
   }

   .pointup-hero__buttonArrow {
     font-size: 11px;
     line-height: 1;
   }

   .pointup-hero__button:hover {
     color: #c51f75;
     background: #ffffff;
     box-shadow: 0 13px 28px rgba(117, 18, 69, 0.17);
     transform: translateY(-2px);
   }

   .pointup-hero__button:focus-visible {
     outline: 2px solid #00a5df;
     outline-offset: 4px;
   }

   .pointup-hero__scope {
     width: 100%;
     max-width: 440px;
     margin-top: 14px;
     padding: 10px 14px;
     border-left: 3px solid #00a5df;
     color: #315766;
     background: rgba(96, 200, 251, 0.10);
     font-size: 14px;
     font-weight: 700;
     line-height: 1.65;
     letter-spacing: 0.02em;
   }

   .pointup-hero__scope p {
     margin: 0;
   }

   .pointup-hero__scope p + p {
     margin-top: 1px;
   }

   .pointup-hero__visual {
     display: flex;
     align-items: center;
   }

   .pointup-hero__media {
     display: block;
     width: 100%;
     padding: 9px;
     line-height: 0;
     border: 1px solid rgba(255, 255, 255, 0.76);
     background: rgba(250, 248, 245, 0.94);
     box-shadow:
       0 25px 52px rgba(63, 88, 94, 0.14),
       0 3px 10px rgba(63, 88, 94, 0.065);
   }

   .pointup-hero__media img {
     display: block;
     width: 100%;
     height: auto;
   }

   /* ==================================================
      Tablet
   ================================================== */

   @media screen and (max-width: 900px) {
     .pointup-hero {
       padding: 70px 0 55px;
     }

     .pointup-hero__grid {
       grid-template-columns: 1fr;
       gap: 34px;
     }

     .pointup-hero__copyInner {
       max-width: 600px;
       margin: 0 auto;
     }

     .pointup-hero__benefit,
     .pointup-hero__button,
     .pointup-hero__scope {
       max-width: 600px;
     }
   }

   /* ==================================================
      Mobile
   ================================================== */

   @media screen and (max-width: 768px) {
     .pointup-hero {
       padding: 56px 0 44px;
       background:
         radial-gradient(
           circle at 90% 92%,
           rgba(96, 200, 251, 0.16),
           transparent 34%
         ),
         linear-gradient(
           170deg,
           #e4ddd5 0%,
           #eeeae5 58%,
           #e0e8e8 100%
         );
     }

     .pointup-hero__shell {
       width: min(100% - 32px, 1320px);
     }

     .pointup-hero__heading {
       margin-bottom: 16px;
       padding-left: 14px;
     }

     .pointup-hero__eyebrow {
       font-size: 11px;
       letter-spacing: 0.17em;
     }

     .pointup-hero__title {
       font-size: clamp(21px, 5.9vw, 26px);
       line-height: 1.52;
     }

     .pointup-hero__period {
       margin-top: 9px;
       font-size: 13px;
       letter-spacing: 0.065em;
     }

     .pointup-hero__benefit {
       padding: 14px 16px 13px;
     }

     .pointup-hero__benefitLabel {
       font-size: 16px;
     }

     .pointup-hero__benefitValue {
       margin-bottom: 8px;
     }

     .pointup-hero__benefitValue strong {
       font-size: clamp(36px, 11vw, 44px);
     }

     .pointup-hero__benefitValue span {
       font-size: 14px;
     }

     .pointup-hero__benefitNote {
       font-size: 13px;
     }

     .pointup-hero__button {
       padding: 13px 16px;
       font-size: 17px;
     }

     .pointup-hero__scope {
       padding: 11px 13px;
       color: #284f5e;
       background: rgba(255, 255, 255, 0.62);
       font-size: 14px;
       font-weight: 700;
       line-height: 1.7;
     }

     .pointup-hero__media {
       padding: 7px;
     }
   }

   @media (prefers-reduced-motion: reduce) {
     .pointup-hero__button {
       transition: none;
     }
   }
   
   .stp-offerbox,
   .stp-offerbox *,
   .stp-offerbox *::before,
   .stp-offerbox *::after {
     box-sizing: border-box;
   }

   .stp-offerbox {
     position: relative;
     max-width: 620px;
     margin: 22px auto 52px;
     padding: 25px 30px 23px;
     overflow: hidden;
     border: 1px solid rgba(120, 154, 189, 0.14);
     background:
       linear-gradient(
         180deg,
         #fcfdff 0%,
         #f7fbff 100%
       );
     box-shadow: 0 14px 32px rgba(45, 73, 103, 0.05);
     text-align: left;
   }

   .stp-offerbox::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 72%;
     height: 2px;
     background: #00a5df;
   }

   .stp-offerbox::after {
     content: "";
     position: absolute;
     top: 0;
     right: 0;
     width: 28%;
     height: 2px;
     background: #c51f75;
   }

   .stp-offerbox__label {
     margin: 0 0 9px;
     color: #7190aa;
     font-size: 11px;
     font-weight: 600;
     line-height: 1.6;
     letter-spacing: 0.18em;
     text-transform: uppercase;
   }

   .stp-offerbox__name {
     margin: 0;
     color: #24364d;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 25px;
     font-weight: 500;
     line-height: 1.45;
     letter-spacing: 0.025em;
   }

   .stp-offerbox__period {
     margin: 15px 0 0;
     color: rgba(36, 54, 77, 0.82);
     font-size: 14px;
     line-height: 1.9;
   }

   .stp-offerbox__period p {
     margin: 0;
   }

   .stp-offerbox__period p + p {
     margin-top: 7px;
   }

   .stp-offerbox__rate {
     display: grid;
     grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
     gap: 18px;
     align-items: center;
     margin: 22px 0 0;
     padding: 17px 20px;
     border: 1px solid rgba(0, 165, 223, 0.11);
     background: rgba(237, 247, 251, 0.64);
   }

   .stp-offerbox__rateItem {
     min-width: 0;
   }

   .stp-offerbox__rateLabel {
     display: block;
     margin-bottom: 4px;
     color: rgba(36, 54, 77, 0.62);
     font-size: 11px;
     font-weight: 600;
     line-height: 1.5;
     letter-spacing: 0.07em;
   }

   .stp-offerbox__rateValue {
     margin: 0;
     color: #4f6674;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: clamp(21px, 2.2vw, 27px);
     font-weight: 500;
     line-height: 1.35;
   }

   .stp-offerbox__rateItem--campaign
   .stp-offerbox__rateLabel {
     color: #008ebf;
   }

   .stp-offerbox__rateItem--campaign
   .stp-offerbox__rateValue {
     color: #00a5df;
     font-weight: 600;
   }

   .stp-offerbox__rateArrow {
     color: rgba(36, 54, 77, 0.36);
     font-size: 20px;
     line-height: 1;
   }

   .stp-offerbox__member {
     margin-top: 18px;
     padding: 17px 19px 16px;
     border-left: 3px solid #c51f75;
     background: rgba(250, 247, 249, 0.80);
   }

   .stp-offerbox__memberTitle {
     margin: 0 0 7px;
     color: #345560;
     font-size: 14px;
     font-weight: 600;
     line-height: 1.55;
     letter-spacing: 0.035em;
   }

   .stp-offerbox__memberPoints {
     display: flex;
     flex-wrap: wrap;
     align-items: baseline;
     gap: 7px 10px;
     margin: 0 0 8px;
     color: rgba(36, 54, 77, 0.72);
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 16px;
     line-height: 1.5;
   }

   .stp-offerbox__memberPoints strong {
     color: #c51f75;
     font-size: 20px;
     font-weight: 600;
   }

   .stp-offerbox__memberArrow {
     color: rgba(36, 54, 77, 0.36);
   }

   .stp-offerbox__memberText {
     margin: 0;
     color: rgba(36, 54, 77, 0.76);
     font-size: 13px;
     line-height: 1.75;
   }

   .stp-offerbox__notes {
     margin: 17px 0 0;
     padding-top: 14px;
     border-top: 1px solid rgba(120, 154, 189, 0.12);
     color: rgba(36, 54, 77, 0.66);
     font-size: 12px;
     line-height: 1.8;
   }

   .stp-offerbox__notes p {
     margin: 0;
   }

   .stp-offerbox__notes p + p {
     margin-top: 3px;
   }

   .stp-offerbox__linkWrap {
     margin: 20px 0 0;
   }

   .stp-offerbox__link {
     display: inline-flex;
     align-items: center;
     gap: 13px;
     padding-bottom: 5px;
     border-bottom: 1px solid #00a5df;
     color: #315766;
     font-size: 14px;
     font-weight: 600;
     line-height: 1.6;
     letter-spacing: 0.03em;
     text-decoration: none;
     transition:
       color 0.25s ease,
       border-color 0.25s ease;
   }

   .stp-offerbox__linkArrow {
     color: #00a5df;
     font-size: 17px;
     line-height: 1;
     transition: transform 0.25s ease;
   }

   .stp-offerbox__link:hover {
     color: #00a5df;
     border-color: #c51f75;
   }

   .stp-offerbox__link:hover
   .stp-offerbox__linkArrow {
     transform: translateX(4px);
   }

   .stp-offerbox__link:focus-visible {
     outline: 2px solid #00a5df;
     outline-offset: 4px;
   }

   .stp-offerbox__guide {
     margin: 20px 0 0;
     padding-top: 17px;
     border-top: 1px solid rgba(120, 154, 189, 0.12);
     color: #536a78;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 14px;
     font-weight: 500;
     line-height: 1.7;
     text-align: center;
     letter-spacing: 0.025em;
   }


   @media screen and (max-width: 768px) {
     .stp-offerbox {
       max-width: none;
       margin: 14px auto 34px;
       padding: 18px 16px 17px;
     }

     .stp-offerbox__label {
       margin-bottom: 7px;
       font-size: 10px;
       letter-spacing: 0.14em;
     }

     .stp-offerbox__name {
       font-size: 21px;
       line-height: 1.45;
     }

     .stp-offerbox__period {
       margin-top: 11px;
       font-size: 13px;
       line-height: 1.75;
     }

     .stp-offerbox__period p + p {
       margin-top: 6px;
     }

     .stp-offerbox__rate {
       grid-template-columns: 1fr;
       gap: 7px;
       margin-top: 18px;
       padding: 15px 17px;
     }

     .stp-offerbox__rateArrow {
       justify-self: start;
       font-size: 17px;
       transform: rotate(90deg);
     }

     .stp-offerbox__rateValue {
       font-size: 23px;
     }

     .stp-offerbox__member {
       margin-top: 15px;
       padding: 15px 16px 14px;
     }

     .stp-offerbox__memberTitle {
       font-size: 14px;
     }

     .stp-offerbox__memberPoints {
       display: grid;
       grid-template-columns: 1fr;
       gap: 3px;
       font-size: 15px;
     }

     .stp-offerbox__memberPoints strong {
       font-size: 19px;
     }

     .stp-offerbox__memberArrow {
       display: none;
     }

     .stp-offerbox__memberText {
       font-size: 13px;
       line-height: 1.7;
     }

     .stp-offerbox__notes {
       margin-top: 14px;
       padding-top: 12px;
       font-size: 12px;
       line-height: 1.7;
     }

     .stp-offerbox__linkWrap {
       margin-top: 17px;
     }

     .stp-offerbox__link {
       gap: 10px;
       font-size: 13px;
     }

     .stp-offerbox__guide {
       margin-top: 17px;
       padding-top: 14px;
       font-size: 13px;
     }
   }

   @media (prefers-reduced-motion: reduce) {
     .stp-offerbox__link,
     .stp-offerbox__linkArrow {
       transition: none;
     }
   }

   /* =========================
   Oct2026--Beryl CHENG
   ========================= */

   .as26-shell {
     width: min(1320px, calc(100% - 32px));
     margin: 0 auto;
   }

   .as26-hero {
     position: relative;
     overflow: hidden;
     padding: 112px 0 84px;
     background:
       linear-gradient(
         115deg,
         #f8f4ef 0%,
         #f3ebe3 32%,
         #ebddd2 67%,
         #dfcbbb 100%
       );
   }

   .as26-hero__veil {
     position: absolute;
     inset: 0;
     background:
       radial-gradient(
         circle at 12% 18%,
         rgba(255, 255, 255, 0.52),
         transparent 30%
       ),
       radial-gradient(
         circle at 72% 20%,
         rgba(201, 145, 118, 0.10),
         transparent 27%
       ),
       radial-gradient(
         circle at 88% 72%,
         rgba(194, 153, 99, 0.13),
         transparent 29%
       ),
       radial-gradient(
         circle at 30% 82%,
         rgba(119, 84, 66, 0.07),
         transparent 32%
       );
     pointer-events: none;
   }

   .as26-hero__grid {
     position: relative;
     z-index: 1;
     display: grid;
     grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
     gap: 46px;
     align-items: start;
   }

   .as26-hero__copy {
     min-width: 0;
     display: flex;
     align-items: flex-start;
     justify-content: flex-start;
     height: 100%;
     padding-top: 8px;
   }

   .as26-hero__copyMain {
     min-width: 0;
     width: 100%;
     max-width: 530px;
   }

   .as26-hero__eyebrow {
     margin: 0 0 16px;
     color: #9a6a44;
     font-size: 12px;
     font-weight: 600;
     letter-spacing: 0.25em;
   }

   .as26-hero__title {
     margin: 0;
     color: #46382f;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: clamp(28px, 2.8vw, 40px);
     font-weight: 500;
     line-height: 1.48;
     letter-spacing: 0.015em;
   }

   .as26-hero__title span {
     display: block;
     white-space: nowrap;
   }

   .as26-hero__subcopy {
     margin: 24px 0 0;
     color: rgba(70, 56, 47, 0.82);
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: clamp(15px, 1.16vw, 18px);
     line-height: 1.95;
     letter-spacing: 0.02em;
   }

   .as26-hero__subcopy strong {
     color: #7e4f35;
     font-weight: 600;
   }

   .as26-hero__saleEnd {
     display: inline-block;
     margin: 22px 0 0;
     padding: 9px 16px 8px;
     border-top: 1px solid rgba(151, 108, 67, 0.45);
     border-bottom: 1px solid rgba(151, 108, 67, 0.45);
     color: #755039;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 15px;
     line-height: 1.6;
     letter-spacing: 0.05em;
   }

   .as26-hero__saleEnd strong {
     color: #8d4f31;
     font-size: 17px;
     font-weight: 600;
   }

   .as26-hero__note {
     margin: 18px 0 0;
     color: rgba(70, 56, 47, 0.62);
     font-size: 11px;
     line-height: 1.8;
   }

   .as26-hero__side {
     min-width: 0;
     display: flex;
     align-items: flex-start;
     height: 100%;
   }

   .as26-hero__visual {
     width: 100%;
   }

   .as26-hero__bannerMedia {
     display: block;
     line-height: 0;
     padding: 11px;
     background: rgba(255, 251, 246, 0.90);
     border: 1px solid rgba(178, 139, 91, 0.20);
     box-shadow:
       0 26px 65px rgba(91, 59, 40, 0.14),
       0 7px 18px rgba(91, 59, 40, 0.07);
   }

   .as26-hero__bannerMedia img {
     display: block;
     width: 100%;
     height: auto;
   }

   @media screen and (max-width: 900px) {
     .as26-shell {
       width: min(100% - 32px, 1320px);
     }

     .as26-hero__grid {
       grid-template-columns: 1fr;
       gap: 28px;
       align-items: start;
     }

     .as26-hero__copy,
     .as26-hero__side {
       display: block;
       height: auto;
       padding-top: 0;
     }

     .as26-hero__copyMain {
       max-width: 760px;
       margin: 0 auto;
       text-align: center;
     }

     .as26-hero__subcopy {
       margin-top: 18px;
     }
   }

   @media screen and (max-width: 768px) {
     .as26-shell {
       width: min(100% - 32px, 1320px);
     }

     .as26-hero {
       padding: 76px 0 50px;
     }

     .as26-hero__eyebrow {
       margin-bottom: 11px;
       font-size: 10px;
       letter-spacing: 0.18em;
     }

     .as26-hero__title {
       font-size: clamp(22px, 6.3vw, 28px);
       line-height: 1.5;
     }

     .as26-hero__title span {
       white-space: normal;
     }

     .as26-hero__subcopy {
       margin-top: 16px;
       font-size: clamp(13px, 3.7vw, 15px);
       line-height: 1.8;
     }

     .as26-hero__saleEnd {
       margin-top: 18px;
       padding: 7px 12px;
       font-size: 13px;
     }

     .as26-hero__saleEnd strong {
       font-size: 15px;
     }

     .as26-hero__note {
       margin-top: 15px;
       font-size: 10px;
       line-height: 1.7;
     }

     .as26-hero__bannerMedia {
       padding: 7px;
     }
   }


   .aut26-offerbox {
     position: relative;
     max-width: 620px;
     margin: 22px auto 52px;
     padding: 27px 30px 24px;
     overflow: hidden;

     border: 1px solid rgba(156, 119, 82, 0.18);

     background:
       linear-gradient(
         180deg,
         #fcf9f5 0%,
         #f7f0e8 100%
       );

     box-shadow:
       0 18px 42px rgba(91, 63, 43, 0.07),
       0 3px 10px rgba(91, 63, 43, 0.03);

     text-align: left;
   }

   .aut26-offerbox::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 2px;
     background: #a97852;
   }

   .aut26-offerbox::after {
     display: none;
   }

   .aut26-offerbox__label {
     margin: 0 0 9px;
     color: #9a7458;
     font-size: 11px;
     font-weight: 600;
     line-height: 1.6;
     letter-spacing: 0.16em;
   }

   .aut26-offerbox__name {
     margin: 0;
     color: #49392f;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 25px;
     font-weight: 500;
     line-height: 1.45;
     letter-spacing: 0.025em;
   }

   .aut26-offerbox__period {
     margin: 16px 0 0;
     padding: 14px 17px;

     border-left: 2px solid #b1845e;

     background:
       linear-gradient(
         90deg,
         rgba(232, 216, 199, 0.48) 0%,
         rgba(248, 242, 235, 0.28) 100%
       );

     color: rgba(73, 57, 47, 0.82);
     font-size: 14px;
     line-height: 1.9;
   }

   .aut26-offerbox__period p {
     margin: 0;
   }

   .aut26-offerbox__period p + p {
     margin-top: 6px;
   }

   .aut26-offerbox__rate {
     display: grid;
     grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
     gap: 18px;
     align-items: center;

     margin: 22px 0 0;
     padding: 17px 20px;

     border: 1px solid rgba(155, 105, 71, 0.14);
     background: rgba(247, 239, 229, 0.72);
   }

   .aut26-offerbox__rateItem {
     min-width: 0;
   }

   .aut26-offerbox__rateLabel {
     display: block;
     margin-bottom: 4px;
     color: rgba(73, 57, 47, 0.58);
     font-size: 11px;
     font-weight: 600;
     line-height: 1.5;
     letter-spacing: 0.07em;
   }

   .aut26-offerbox__rateValue {
     margin: 0;
     color: #6f5a4b;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: clamp(21px, 2.2vw, 27px);
     font-weight: 500;
     line-height: 1.35;
   }

   .aut26-offerbox__rateItem--campaign
   .aut26-offerbox__rateLabel {
     color: #98613f;
   }

   .aut26-offerbox__rateItem--campaign
   .aut26-offerbox__rateValue {
     color: #9b5f3b;
     font-weight: 600;
   }

   .aut26-offerbox__rateArrow {
     color: rgba(73, 57, 47, 0.30);
     font-size: 20px;
     line-height: 1;
   }

   .aut26-offerbox__member {
     margin-top: 18px;
     padding: 17px 19px 16px;

     border-left: 3px solid #b68455;

     background:
       rgba(248, 242, 235, 0.80);
   }

   .aut26-offerbox__memberTitle {
     margin: 0 0 7px;
     color: #5b4638;
     font-size: 14px;
     font-weight: 600;
     line-height: 1.55;
     letter-spacing: 0.035em;
   }

   .aut26-offerbox__memberPoints {
     display: flex;
     flex-wrap: wrap;
     align-items: baseline;
     gap: 7px 10px;

     margin: 0 0 8px;

     color: rgba(73, 57, 47, 0.72);
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 16px;
     line-height: 1.5;
   }

   .aut26-offerbox__memberPoints strong {
     color: #a2653e;
     font-size: 20px;
     font-weight: 600;
   }

   .aut26-offerbox__memberArrow {
     color: rgba(73, 57, 47, 0.30);
   }

   .aut26-offerbox__memberText {
     margin: 0;
     color: rgba(73, 57, 47, 0.74);
     font-size: 13px;
     line-height: 1.75;
   }

   .aut26-offerbox__notes {
     margin: 18px 0 0;
     padding-top: 15px;

     border-top: 1px solid rgba(155, 118, 82, 0.16);

     color: rgba(73, 57, 47, 0.66);
     font-size: 12px;
     line-height: 1.8;
   }

   .aut26-offerbox__notes p {
     margin: 0;
   }

   .aut26-offerbox__notes p + p {
     margin-top: 4px;
   }

   .aut26-offerbox__textlink {
     color: #96603f;
     font-weight: 600;
     text-decoration: underline;
     text-decoration-color: rgba(150, 96, 63, 0.48);
     text-underline-offset: 3px;
     transition:
       color 0.25s ease,
       text-decoration-color 0.25s ease;
   }

   .aut26-offerbox__textlink:hover {
     color: #b17b4d;
     text-decoration-color: #b17b4d;
   }

   .aut26-offerbox__linkWrap {
     margin: 20px 0 0;
   }

   .aut26-offerbox__link {
     display: inline-flex;
     align-items: center;
     gap: 13px;

     padding-bottom: 5px;

     border-bottom: 1px solid #a36b45;

     color: #604a3b;
     font-size: 14px;
     font-weight: 600;
     line-height: 1.6;
     letter-spacing: 0.03em;
     text-decoration: none;

     transition:
       color 0.25s ease,
       border-color 0.25s ease;
   }

   .aut26-offerbox__linkArrow {
     color: #a36b45;
     font-size: 17px;
     line-height: 1;
     transition: transform 0.25s ease;
   }

   .aut26-offerbox__link:hover {
     color: #9b5f3b;
     border-color: #c19a68;
   }

   .aut26-offerbox__link:hover
   .aut26-offerbox__linkArrow {
     transform: translateX(4px);
   }

   .aut26-offerbox__link:focus-visible,
   .aut26-offerbox__textlink:focus-visible {
     outline: 2px solid #b1845e;
     outline-offset: 4px;
   }

   .aut26-offerbox__guide {
     margin: 20px 0 0;
     padding-top: 17px;

     border-top: 1px solid rgba(155, 118, 82, 0.16);

     color: #655044;
     font-family: YakuHanMP, "Noto Serif JP", serif;
     font-size: 14px;
     font-weight: 500;
     line-height: 1.7;
     text-align: center;
     letter-spacing: 0.025em;
   }

   @media screen and (max-width: 768px) {

     .aut26-offerbox {
       max-width: none;
       margin: 14px auto 34px;
       padding: 20px 17px 18px;
     }

     .aut26-offerbox__label {
       margin-bottom: 7px;
       font-size: 10px;
       letter-spacing: 0.13em;
     }

     .aut26-offerbox__name {
       font-size: 21px;
       line-height: 1.45;
     }

     .aut26-offerbox__period {
       margin-top: 12px;
       padding: 12px 14px;
       font-size: 13px;
       line-height: 1.75;
     }

     .aut26-offerbox__period p + p {
       margin-top: 6px;
     }

     .aut26-offerbox__rate {
       grid-template-columns: 1fr;
       gap: 7px;
       margin-top: 18px;
       padding: 15px 17px;
     }

     .aut26-offerbox__rateArrow {
       justify-self: start;
       font-size: 17px;
       transform: rotate(90deg);
     }

     .aut26-offerbox__rateValue {
       font-size: 23px;
     }

     .aut26-offerbox__member {
       margin-top: 15px;
       padding: 15px 16px 14px;
     }

     .aut26-offerbox__memberTitle {
       font-size: 14px;
     }

     .aut26-offerbox__memberPoints {
       display: grid;
       grid-template-columns: 1fr;
       gap: 3px;
       font-size: 15px;
     }

     .aut26-offerbox__memberPoints strong {
       font-size: 19px;
     }

     .aut26-offerbox__memberArrow {
       display: none;
     }

     .aut26-offerbox__memberText {
       font-size: 13px;
       line-height: 1.7;
     }

     .aut26-offerbox__notes {
       margin-top: 14px;
       padding-top: 12px;
       font-size: 12px;
       line-height: 1.7;
     }

     .aut26-offerbox__linkWrap {
       margin-top: 17px;
     }

     .aut26-offerbox__link {
       gap: 10px;
       font-size: 13px;
     }

     .aut26-offerbox__guide {
       margin-top: 17px;
       padding-top: 14px;
       font-size: 13px;
     }
   }

   @media (prefers-reduced-motion: reduce) {
     .aut26-offerbox__link,
     .aut26-offerbox__linkArrow,
     .aut26-offerbox__textlink {
       transition: none;
     }
   }


.autCoupon {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 100%;
  margin: 12px 0 16px;
}

.autCoupon__box {
  appearance: none;
  -webkit-appearance: none;

  display: inline-flex;
  align-items: center;
  gap: 13px;

  margin: 0;
  padding: 10px 14px;

  border: 1px solid #9c7655;
  background: rgba(255, 252, 248, 0.88);

  font: inherit;
  text-align: left;

  cursor: pointer;
  box-sizing: border-box;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.autCoupon__box:hover {
  background: #faf4ed;
  border-color: #855f40;
}

.autCoupon__box:active {
  background: #f4e9de;
}

.autCoupon__box:focus-visible {
  outline: 2px solid #a97852;
  outline-offset: 3px;
}

.autCoupon__rate {
  color: #98613f;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.autCoupon__divider {
  width: 1px;
  height: 27px;
  flex-shrink: 0;
  background: rgba(120, 87, 61, 0.50);
}

.autCoupon__codeArea {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.autCoupon__label {
  color: rgba(55, 43, 35, 0.66);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.autCoupon__codeLine {
  display: flex;
  align-items: center;
  gap: 8px;
}

.autCoupon__code {
  color: #352a23;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.10em;
  white-space: nowrap;
}

.autCoupon__copyIcon {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.autCoupon__copyIcon::before,
.autCoupon__copyIcon::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border: 1px solid #98613f;
  box-sizing: border-box;
}

.autCoupon__copyIcon::before {
  top: 4px;
  left: 1px;
}

.autCoupon__copyIcon::after {
  top: 1px;
  left: 4px;
  background: #fffaf5;
}

.autCoupon__info {
  margin-top: 8px;
  color: rgba(55, 43, 35, 0.68);
  font-size: 11px;
  line-height: 1.65;
}

.autCoupon__period,
.autCoupon__note {
  margin: 0;
}

.autCoupon__period span {
  margin-right: 7px;
  color: #876347;
  font-weight: 600;
}

.autCoupon__note {
  margin-top: 2px;
  color: rgba(55, 43, 35, 0.53);
}

.autCoupon__status {
  min-height: 18px;
  margin: 5px 0 0;
  color: #76523a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

.autCoupon.is-copied .autCoupon__box {
  border-color: #8b765d;
  background: #f5f1ea;
}

.autCoupon.is-copied .autCoupon__copyIcon::before {
  display: none;
}

.autCoupon.is-copied .autCoupon__copyIcon::after {
  content: "✓";
  top: -1px;
  left: 1px;
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  color: #6d7255;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .autCoupon {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin: 11px 0 15px;
  }

  .autCoupon__box {
    margin: 0;
    padding: 9px 12px;
    gap: 10px;
  }

  .autCoupon__rate {
    font-size: 14px;
  }

  .autCoupon__divider {
    height: 24px;
  }

  .autCoupon__label {
    font-size: 10px;
  }

  .autCoupon__code {
    font-size: 14px;
  }

  .autCoupon__info {
    width: 100%;
    margin-top: 7px;
    text-align: left;
    font-size: 10px;
  }

  .autCoupon__period span {
    display: inline-block;
    margin-right: 5px;
  }

  .autCoupon__status {
    text-align: left;
    font-size: 10px;
  }
}