@media (max-width: 500px) {
  html {
    font-size: 62.5%;
    width: 500px;    
    transform: scale(calc(100vw / 500));
    transform-origin: top left;
  }
}
/* -----------------------------------
セクションタイトル
----------------------------------- */
.e-title {
  position: relative;
  background: #00AA81;
  border-radius: 50px;
  padding: 18px 20px 18px 130px;
  margin-top: 70px;
  margin-bottom: 29px;
}

.e-title__icon {
  width: 97px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 22px;
}

.e-title__heading {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .e-title {
    padding: 10px 10px 10px 45px;
  }

  .e-title__icon {
    width: 57px;
    left: -5px;
  }

  .e-title__heading {
    font-size: 17px;
  }
}

/* タイトル + メイン画像（被せレイアウト） */
.e-title-visual {
  position: relative;
  margin-top: 70px;
}

.e-title-visual .e-title {
  position: relative;
  top: 70px;
  z-index: 1;
  margin-top: 0;
}

.e-title-visual__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* -----------------------------------
見出しh3
----------------------------------- */
.e-section-title__h3 {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  background: #00AA81;
  border-radius: 50px;
  padding: 6px 35px 8px;
  margin-top: 50px;
}

.e-section-title__h3--pink {
  background: #FF746B;
}

.e-section-title__h3-text {
  margin-top: 20px;
  margin-bottom: 12px;
}

/* -----------------------------------
見出しh4
----------------------------------- */
.e-section-title__h4 {
  margin-top: 33px;
  /* margin-top: 80px; */
  font-size: 16px;
  font-weight: bold;
  border-bottom: 2px solid #00AA81;
}

.e-section-title__h4-text {
  margin-top: 5px;
  margin-bottom: 20px;
}


/* -----------------------------------
写真のレイアウト
----------------------------------- */
.e-imgs {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 50px;
}
.e-imgs__2column-wrapper {
  display: flex;
  gap: 15px;
}

.e-imgs__img {
  /* width: 100%; */
}

/* -----------------------------------
通常テキスト
----------------------------------- */
.e-text {
  margin-top: 28px;
  margin-bottom: 46px;
}

/* -----------------------------------
ボタンリンク
----------------------------------- */
.e-btn-link {
  /* margin-top: 30px; */
  margin-bottom: 48px;
  display: block;
  max-width: 346px;
  padding: 10px 35px;
  background-color: #E8F5F2;
  border: 2px solid #00AA81;
  border-radius: 25px;
  font-size: 20px;
  font-weight: 700;
  color: #00AA81;
  text-align: left;
  text-decoration: none;
  transition: opacity 0.3s;
}

.e-btn-link:hover {
  opacity: 0.7;
}

.e-btn-link--pink {
  margin-top: 40px;
  max-width: 345px;
  padding: 8px 15px 8px 15px;
  background-color: #FAE8F2;
  border: 2px solid #FF746B;
  color: #FF746B;
  text-align: center;
}


/* -----------------------------------
スタジアムツアー情報
----------------------------------- */
.e-tour {
  margin-top: 10px;
}

.e-tour__block + .e-tour__block {
  margin-top: 40px;
}

.e-tour__heading {
  margin-bottom: 20px;
  padding-bottom: 6px;
  font-size: 16px;
  font-weight: 700;
  border-bottom: 2px solid #FF746B;
}

.e-tour__item + .e-tour__item {
  margin-top: 18px;
}

.e-tour__item-title {
  font-size: 16px;
  font-weight: 700;
  color: #000;
}

.e-tour__dot {
  margin-right: 2px;
  color: #FF746B;
}

.e-tour__item-text {
  margin-top: 4px;
  line-height: 1.8;
}

.e-tour__item-text a {
  color: inherit;
}

.e-tour__item-text a:hover {
  opacity: 0.7;
}

/* セクション途中のタイトル（画像被せなし） */
.section_title_wrapper--static {
  top: 0;
  margin-top: 60px;
}

/* -----------------------------------
休憩スポット情報
----------------------------------- */
.e-rest {
  margin-top: 0;
}

.e-rest__block + .e-rest__block {
  margin-top: 40px;
}

.e-rest__block--plaza {
  margin-top: 45px;
  margin-bottom: 23px;
}

.e-rest__block--shower {
  margin-top: 75px;
  margin-bottom: 15px;
}

.URLbanner .URLbanner__line1 {
  display: block;
  font-size: 18px;
}

.URLbanner .URLbanner__line2 {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

.URLbanner--pink .bottom_box {
  background: #FF746B;
}

.e-rest__heading {
  padding-bottom: 6px;
  font-size: 16px;
  font-weight: 700;
  border-bottom: 2px solid #FF746B;
}

.e-rest__text {
  margin-bottom: 20px;
  line-height: 1.8;
}

.e-rest__item + .e-rest__item {
  margin-top: 18px;
}

.e-rest__item-title {
  font-size: 16px;
  font-weight: 700;
  color: #000;
}

.e-rest__dot {
  margin-right: 2px;
  color: #FF746B;
}

.e-rest__item-text {
  margin-top: 4px;
  line-height: 1.8;
}

/* -----------------------------------
豆知識ボックス
----------------------------------- */
.e-trivia {
  margin-top: 60px;
}

.e-trivia__inner {
  position: relative;
  padding: 55px 45px 45px;
  background: #fff;
  border-radius: 40px;
}

.e-trivia__title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding:5px 45px 5px;
  background: #FF746B;
  border-radius: 50px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}

.e-trivia__text {
  margin-bottom: 25px;
  line-height: 1.8;
}

.e-trivia__imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.e-trivia__img img {
  display: block;
  width: 100%;
  height: auto;
}


/* -----------------------------------
おすすめスポット
----------------------------------- */
.e-spot {
  margin-top: 80px;
}

.e-spot__header {
  position: relative;
  z-index: 1;
  padding: 25px 20px 55px;
  text-align: center;

}

.e-spot__header-sub {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 700;
}

.e-spot__title {
  position: relative;
  display: inline-block;
  max-width: calc(100% - 60px);
  padding: 14px 70px 14px 40px;
  background: #00AA81;
  border-radius: 50px;
}

.e-spot__title-text {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

.e-spot__title-icon {
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: 1;
  width: 97px;
}

.e-spot__inner {
  position: relative;
  z-index: 0;
  background: #fff;
  border-radius: 15px;
  padding: 55px 40px 50px;
  margin-top: -85px;
}

.e-spot__divider {
  margin: 50px 0;
  border: none;
  border-top: 4px solid #00AA81;
}

.e-spot-video {
  margin-top: 50px;
  padding: 40px 30px 35px;
  border-radius: 15px;
  text-align: center;
}

.e-spot-video .introduction_video-container {
  width: 100%;
  max-width: 686px;
  margin: 0 auto;
}

.e-spot-video__caption {
  margin-top: 15px;
  font-size: 18px;
  font-weight: 700;
}

.e-spot-video .URLbanner {
  margin-top: 30px;
}

.e-spot-card__heading {
  position: relative;
  padding-left: 80px;
  border-bottom: 2px dashed #00AA81;
}

/* .e-spot-card__heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: url(../img/border.png) no-repeat center/cover;
} */

.e-spot-card__heading-icon {
  position: absolute;
  top: -8px;
  left: -5px;
  z-index: 1;
  width: 75px;
}

.e-spot-card__heading-text {
  font-size: 31px;
  font-weight: 700;
  
}

.e-spot-card__img {
  margin-top: 20px;
}

.e-spot-card__img img {
  display: block;
  width: 100%;
  height: auto;
}

.e-spot-card__text {
  margin-top: 10px;
}

.e-spot-card__imgs {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}

.e-spot-card__imgs-item {
  flex: 1;
}

.e-spot-card__imgs-item img {
  display: block;
  width: 100%;
  height: auto;
}

.e-spot-card__info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
  width: fit-content;
  margin-top: 25px;
  padding: 10px 45px 10px 15px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 15px;
}

.e-spot-card__info-body {
  min-width: 0;
}

.e-spot-card__info-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 24px;
}

.e-spot-card__info-item {
  padding-left: 23px;
  font-size: 20px;
  line-height: 1.5;
}

.e-spot-card__info-item--tel {
  background: url(../img/tel_icon.png) no-repeat center left/18px;
}

.e-spot-card__info-item--address {
  background: url(../img/home_icon.png) no-repeat center left/17px;
}

.e-spot-card__info-note {
  margin: 6px 0 0;
  font-size: 20px;
  line-height: 1.5;
}

.e-spot-card__info-btns {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}

.e-spot-card__btn {
  display: block;
  width: 156px;
  padding: 5px 10px 6px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 50px;
  font-size: 14px;
  color: #000;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s;
}

.e-spot-card__btn:hover {
  opacity: 0.7;
}

.e-spot-card__btn--map span {
  padding-left: 15px;
  background: url(../img/map_icon.png) no-repeat center left/12px;
}

.e-spot-card__btn--site span {
  padding-left: 21px;
  background: url(../img/earth_icon.png) no-repeat center left/17px;
}

/* -----------------------------------
SP（768px以下）
----------------------------------- */
@media screen and (max-width: 768px) {
  .e-title-visual {
    margin-top: 40px;
  }

  .e-title-visual .e-title {
    top: 40px;
  }

  .e-section-title__h3 {
    font-size: 16px;
    padding: 8px 20px 10px;
    margin-top: 35px;
  }

  .e-section-title__h3-text {
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 14px;
  }

  .e-section-title__h4 {
    margin-top: 25px;
    font-size: 15px;
  }

  .e-section-title__h4-text {
    font-size: 14px;
    margin-bottom: 15px;
  }

  .e-imgs {
    gap: 10px;
  }

  .e-imgs__2column-wrapper {
    flex-direction: column;
    gap: 10px;
  }

  .e-text {
    margin-top: 20px;
    margin-bottom: 30px;
    font-size: 14px;
  }

  .e-btn-link {
    max-width: 100%;
    margin-bottom: 30px;
    padding: 12px 20px;
    font-size: 14px;
  }

  .e-btn-link--pink {
    margin-top: 30px;
    max-width: 100%;
    padding: 10px 15px;
    font-size: 14px;
  }

  .e-tour__block + .e-tour__block {
    margin-top: 30px;
  }

  .e-tour__heading {
    margin-bottom: 15px;
    font-size: 15px;
  }

  .e-tour__item + .e-tour__item {
    margin-top: 14px;
  }

  .e-tour__item-title {
    font-size: 14px;
  }

  .e-tour__item-text {
    font-size: 14px;
  }

  .section_title_wrapper--static {
    margin-top: 40px;
  }

  .e-rest__block--plaza {
    margin-top: 30px;
    margin-bottom: 18px;
  }

  .e-rest__block--shower {
    margin-top: 50px;
    margin-bottom: 12px;
  }

  .e-rest__heading {
    font-size: 15px;
  }

  .e-rest__text {
    margin-bottom: 15px;
    font-size: 14px;
  }

  .e-rest__item + .e-rest__item {
    margin-top: 14px;
  }

  .e-rest__item-title {
    font-size: 14px;
  }

  .e-rest__item-text {
    font-size: 14px;
  }

  .e-spot-video {
    margin-top: 35px;
    padding: 25px 16px 20px;
  }

  .e-spot-video__caption {
    margin-top: 10px;
    font-size: 15px;
    font-weight: lighter;
  }

  .e-spot-video .URLbanner {
    margin-top: 20px;
  }

  .URLbanner--pink {
    margin-top: 35px;
  }

  .URLbanner .URLbanner__line1 {
    font-size: 15px;
  }

  .URLbanner .URLbanner__line2 {
    font-size: 12px;
  }

  .e-trivia {
    margin-top: 40px;
  }

  .e-trivia__inner {
    padding: 40px 16px 20px;
    border-radius: 25px;
  }

  .e-trivia__title {
    padding: 8px 16px 10px;
    font-size: 15px;
    white-space: normal;
    text-align: center;
    width: calc(100% - 32px);
    max-width: 300px;
  }

  .e-trivia__text {
    margin-bottom: 18px;
    font-size: 14px;
  }

  .e-trivia__imgs {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .e-spot {
    margin-top: 50px;
  }

  .e-spot__header {
    padding: 20px 15px 45px;
  }

  .e-spot__header-sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .e-spot__inner {
    padding: 30px 20px 40px;
    margin-top: -20px;
  }

  .e-spot__title {
    max-width: calc(100% - 30px);
    padding: 10px 70px 10px 20px;
  }

  .e-spot__title-icon {
    right: -20px;
    bottom: -25px;
    width: 70px;
  }

  .e-spot__title-text {
    font-size: 16px;
  }

  .e-spot__divider {
    margin: 35px 0;
  }

  .e-spot-card__heading {
    padding-left: 55px;
  }

  .e-spot-card__heading-icon {
    width: 48px;
  }

  .e-spot-card__heading-text {
    font-size: 18px;
  }

  .e-spot-card__text {
    font-size: 14px;
  }

  .e-spot-card__imgs {
    flex-direction: column;
  }

  .e-spot-card__info {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    max-width: 100%;
  }

  .e-spot-card__info-item {
    font-size: 14px;
  }

  .e-spot-card__info-note {
    font-size: 13px;
  }

  .e-spot-card__info-contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .e-spot-card__info-btns {
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
  }

  .e-spot-card__btn {
    width: 135px;
  }

  .e-spot-card__btn--site {
    width: 160px;
  }
}

@media screen and (max-width: 390px) {
  .e-spot-card__info {
    padding: 12px;
  }

  .e-spot-card__info-btns {
    gap: 6px;
    width: 100%;
  }

  .e-spot-card__btn {
    width: auto;
    flex: 1;
    min-width: 0;
    padding: 4px 6px 5px;
    font-size: 11px;
  }

  .e-spot-card__btn--site {
    width: auto;
    flex: 1.2;
  }

  .e-spot-card__btn--map span {
    padding-left: 12px;
    background-size: 10px;
  }

  .e-spot-card__btn--site span {
    padding-left: 15px;
    background-size: 13px;
  }
}

/* ==============================================
   2026夏特別号 プール大特集 追加スタイル
   ============================================== */

/* -----------------------------------
公園セクション テーマシステム
（CSS カスタムプロパティで一括制御）
--theme-bar    : タイトルバー背景色
--theme-accent : チケット・駐車場・バナーの色
--theme-bg     : セクション背景色
----------------------------------- */

/* ベース */
.park-section {
  padding-top: 70px;
  padding-bottom: 100px;
}

/* しらこばと水上公園 */
.park-section--blue {
  --theme-bar:    #3C88F0;
  --theme-accent: #005EB8;
  --theme-bg:     #D9EAF5;
  background-color: var(--theme-bg);
}

/* ホットスタッフ川越パーク */
.park-section--green {
  --theme-bar:    #0ABC77;
  --theme-accent: #0ABC77;
  --theme-bg:     #D9F4EA;
  background-color: var(--theme-bg);
}

/* キサイフーズはなさきふれあいパーク */
.park-section--orange {
  --theme-bar:    #FF9031;
  --theme-accent: #FF9031;
  --theme-bg:     rgba(255, 144, 49, 0.12);
  background-color: var(--theme-bg);
}

/* --- 子要素へのテーマ適用（park-section 内のみ有効） --- */
.park-section .section_title_wrapper {
  background: var(--theme-bar);
  top: 0;
  margin-bottom: 40px;
  margin-top: 40px;
}

.park-section .e-ticket__heading {
  background: var(--theme-accent);
}

.park-section .URLbanner .bottom_box {
  background: var(--theme-accent);
}

/* -----------------------------------
【旧クラス】後方互換エイリアス
概要セクション・イベントセクションで引き続き使用
----------------------------------- */
.nightview-pool {
  background-color: #fff;
  padding-bottom: 80px;
}
.nightview-event {
  background-color: rgba(255, 165, 0, 0.08);
  padding-top: 70px;
  padding-bottom: 100px;
}

/* -----------------------------------
セクションタイトルバー カラーバリエーション
（park-section 外で使う場合の独立クラス）
----------------------------------- */
.section_title_wrapper--pool {
  background: #3C88F0;
  top: 0;
  margin-bottom: 40px;
  margin-top: 40px;
}
.section_title_wrapper--event {
  background: #E58200;
}

.section_title_wrapper--event-pink {
  max-width: fit-content;
  margin-inline: auto;
  background: #FF74D4;
  top: 0;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* -----------------------------------
関連イベント
----------------------------------- */
.e-event-section {
  background:#fff;
  padding-top: 70px;
}

@media screen and (max-width: 768px) {
  .e-event-section {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}

.e-event {
  margin-top: -70px;
  background: #FFF1FB;
  border-radius: 20px;
  padding: 100px 40px 50px;
}

@media screen and (max-width: 768px) {
  .e-event {
    padding: 25px 16px 35px;
  }
}

.e-event__block + .e-event__block {
  margin-top: 0;
}

.e-event__title {
  margin-bottom: 20px;
  padding-bottom: 10px;
  color: #000;
  font-size: 25px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  border-bottom: 2px dotted #FF746B;
}

@media screen and (max-width: 768px) {
  .e-event__title {
    font-size: 16px;
  }
}

.e-event__content {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .e-event__content {
    flex-direction: column;
    gap: 14px;
  }
}

.e-event__img {
  width: 357px;
  max-width: 42%;
  flex-shrink: 0;
}

.e-event__img img {
  display: block;
  width: 100%;
  height: auto;
}

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

.e-event__info {
  flex: 1;
  min-width: 0;
}

.e-event__item {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 14px;
  padding-bottom: 14px;
  color: #333;
}

.e-event__item:not(:last-child) {
  border-bottom: 1px solid #FF746B;
}

.e-event__item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.e-event__item-name {
  font-weight: 700;
  margin-bottom: 2px;
}

.e-event__item-detail {
  line-height: 1.8;
}

.e-event__item-detail--labeled {
  display: flex;
  align-items: flex-start;
}

.e-event__item-detail__label {
  flex-shrink: 0;
}

.e-event__item-detail__text {
  flex: 1;
  min-width: 0;
}

.e-event__bullet {
  color: #FF746B;
}

.e-event__divider {
  border: none;
  border-top: 2px solid #FF746B;
  margin: 40px 0;
}

@media screen and (max-width: 768px) {
  .e-event__divider {
    margin: 28px 0;
  }
}

/* -----------------------------------
h3バリエーション
----------------------------------- */
.e-section-title__h3--blue {
  background: #005EB8;
}

.e-section-title__h3--lightblue {
  background: #009CC8;
}

.e-section-title__h3--teal {
  background: #007E78;
}

/* -----------------------------------
3公園カード（概要セクション）
----------------------------------- */
.e-pool-cards {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 60px;
}

.e-pool-card {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .e-pool-card {
    flex-direction: column;
    gap: 0;
  }
}

.e-pool-card__img {
  width: 60%;
  flex-shrink: 0;
}

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

.e-pool-card__body {
  flex: 1;
  min-width: 0;
}

.e-pool-card__name-bar {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 14px;
}

.e-pool-card__name-bar--blue {
  background: #3C88F0;
}

.e-pool-card__name-bar--lightblue {
  background: #009CC8;
}

.e-pool-card__name-bar--teal {
  background: #007E78;
}

.e-pool-card__name-main {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
}

.e-pool-card__name-sub {
  font-size: 14px;
  color: #fff;
  margin-top: 2px;
}

@media screen and (max-width: 768px) {
  .e-pool-card__name-main {
    font-size: 15px;
  }
  .e-pool-card__name-sub {
    font-size: 13px;
  }
}

.e-pool-card__text {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .e-pool-card__text {
    font-size: 14px;
    margin-top: 12px;
    margin-bottom: 20px;
  }
}

.e-pool-card__btn {
  display: inline-block;
  padding: 8px 30px;
  background: #fff;
  border: 2px solid #033084;
  border-radius: 50px;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  color: #033084;
  transition: opacity 0.3s;
}

.e-pool-card__btn:hover {
  opacity: 0.7;
}

/* -----------------------------------
説明文
----------------------------------- */
.e-pool-desc {
  margin-top: 30px;
  margin-bottom: 10px;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .e-pool-desc {
    font-size: 14px;
  }
}

/* -----------------------------------
チケット情報
----------------------------------- */
.e-ticket {
  margin-top: 50px;
  padding: 30px 35px 35px;
  border-radius: 20px;
}

@media screen and (max-width: 768px) {
  .e-ticket {
    padding: 20px 16px 25px;
  }
}

.e-ticket__heading {
  display: block;
  width: 100%;
  padding: 8px 35px;
  border-radius: 50px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-bottom: 20px;
  box-sizing: border-box;
}

.e-ticket__heading--blue      { background: #005EB8; }
.e-ticket__heading--lightblue { background: #009CC8; }
.e-ticket__heading--teal      { background: #007E78; }

@media screen and (max-width: 768px) {
  .e-ticket__heading {
    font-size: 16px;
    padding: 8px 20px;
  }
}

.e-ticket__notice {
  margin-bottom: 14px;
  font-weight: 700;
}

.e-ticket__method {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 18px;
}

.e-ticket__badge {
  display: inline-block;
  padding: 4px 18px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.e-ticket__badge--digital { background: #033084; }
.e-ticket__badge--paper   { background: #033084; }

.e-ticket__badge-sub {
  font-size: 14px;
  font-weight: 700;
}

/* 2カラムグリッド（購入方法） */
.e-ticket__buy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  .e-ticket__buy-grid {
    grid-template-columns: 1fr;
  }
}

.e-ticket__buy-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.e-ticket__buy-tab-img {
  width: 100%;
  display: block;
  margin-bottom: 14px;
}

.e-ticket__buy-content {
  line-height: 1.8;
}

.e-ticket__buy-content p + p {
  margin-top: 10px;
}

.e-ticket__asoview-btn {
  width: 100%;
  max-width: 340px;
  display: block;
}

@media (max-width: 768px){
  .e-ticket__asoview-btn {
    max-width: 250px;
  }
}

.e-ticket__purchase {
  margin-bottom: 16px;
  line-height: 1.8;
}

.e-ticket__purchase p + p {
  margin-top: 10px;
}

.e-ticket__caution {
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  line-height: normal;
  color: #E52D1E;
  margin-bottom: 24px;
}

/* 料金・駐車場 共通見出し（白背景＋青枠） */
.e-sub-heading {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 5px 20px;
  border-radius: 50px;
  border: 2px solid #005EB8;
  background: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 14px;
  color: #005EB8;
}

.e-ticket__lead {
  margin-bottom: 12px;
  font-size: 14px;
}

.e-ticket__price-table {
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin-bottom: 10px;
}

.e-ticket__price-row {
  padding: 10px 8px;
  color: #033084;
  font-size: 20px;
  font-weight: 600;
  line-height: normal;
}

@media screen and (max-width: 768px) {
  .e-ticket__price-row { font-size: 16px; }
}

.e-ticket__note {
  font-size: 13px;
  line-height: 1.7;
  margin-top: 8px;
  color: #444;
}

.e-ticket__note--item {
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 8px;
}

.e-ticket__note--item span {
  display: block;
}

.e-ticket__note--item span:first-child {
  font-weight: 700;
}

.e-ticket__note > strong {
  color: #000;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.e-ticket__free-title {
  margin-top: 30px;
  color: #033084;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

/* -----------------------------------
駐車場情報
----------------------------------- */
.e-parking {
  margin-top: 40px;
  padding: 25px 35px;
}

@media screen and (max-width: 768px) {
  .e-parking {
    padding: 18px 16px;
  }
}

.e-parking__text {
  margin-bottom: 14px;
  line-height: 1.8;
  font-size: 14px;
}

.e-parking__price-table {
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin-bottom: 10px;
}

.e-parking__price-row {
  padding: 10px 8px;
  color: #033084;
  font-size: 20px;
  font-weight: 600;
  line-height: normal;
}

@media screen and (max-width: 768px) {
  .e-parking__price-row { font-size: 16px; }
}

/* -----------------------------------
リゾートエリア区画テーブル
----------------------------------- */
.e-resort {
  margin-top: 20px;
}

/* --- リゾートエリア 各ブロック --- */
.e-resort__item {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid #000;
}

.e-resort__item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.e-resort__photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.e-resort__photo {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.e-resort__info-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.e-resort__label-img {
  height: 36px;
  width: auto;
  flex-shrink: 0;
}

.e-resort__price-text {
  color: #E52D1E;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.e-resort__price-text--blue  { color: #005EB8; }
.e-resort__price-text--green { color: #179834; }

.e-resort__desc {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}

.e-resort__note-red {
  font-size: 13px;
  color: #E52D1E;
  margin-top: 4px;
}

@media screen and (max-width: 768px) {
  .e-resort__photos {
    grid-template-columns: 1fr 1fr;
  }
  .e-resort__label-img {
    height: 28px;
  }
  .e-resort__price-text {
    font-size: 18px;
  }
}

.e-resort__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.e-resort__th {
  padding: 10px 12px;
  background: #333;
  color: #fff;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.e-resort__td {
  padding: 12px;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
  line-height: 1.7;
}

.e-resort__td--label {
  white-space: nowrap;
  font-weight: 700;
  vertical-align: middle;
}

.e-resort__td--price {
  text-align: right;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
  vertical-align: middle;
}

.e-resort__alpha {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-right: 6px;
  vertical-align: middle;
  flex-shrink: 0;
}

.e-resort__alpha--blue      { background: #005EB8; }
.e-resort__alpha--lightblue { background: #009CC8; }
.e-resort__alpha--teal      { background: #007E78; }

.e-resort__note {
  font-size: 12px;
  color: #777;
}

.e-resort__buy {
  text-align: center;
  margin: 30px 0 20px;
}

.e-resort__buy-btn {
  display: inline-block;
  max-width: 340px;
  width: 100%;
}
@media (max-width: 768px){
  .e-resort__buy-btn {
    max-width: 250px;
  }
}


.e-resort__buy-note {
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
  color: #444;
}

@media screen and (max-width: 768px) {
  .e-resort__table {
    min-width: 500px;
  }
  .e-resort__td--price {
    font-size: 15px;
  }
}

/* -----------------------------------
URLバナー カラーバリエーション
----------------------------------- */
.URLbanner--blue .bottom_box      { background: #005EB8; }
.URLbanner--lightblue .bottom_box { background: #009CC8; }
.URLbanner--teal .bottom_box      { background: #007E78; }

.URLbanner--blue .bottom_box:hover,
.URLbanner--lightblue .bottom_box:hover,
.URLbanner--teal .bottom_box:hover {
  opacity: 0.7;
  transition: 0.5s;
}

/* -----------------------------------
リンク
----------------------------------- */
.e-pool-link {
  color: #005EB8;
  text-decoration: underline;
}

.e-pool-link:hover {
  opacity: 0.7;
}

/* -----------------------------------
contentsボックス ピンクバリアント
----------------------------------- */
.contents--pink {
  background: rgba(255, 220, 235, 0.4);
}

.contents--pink .contents_title {
  color: #E8007F;
}

.contents--pink .contents_item::after {
  background-image: linear-gradient(to right, #E8007F, #E8007F 3px, transparent 3px, transparent 8px);
}

.contents--pink .contents_item span:first-child {
  color: #E8007F;
}

/* -----------------------------------
リードイラスト（家族）
----------------------------------- */
.lead_img {
  position: absolute;
  width: 160px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .lead_img {
    width: 100px;
    right: 0;
    top: auto;
    bottom: -40px;
    transform: none;
  }
}