/* ============================================
   HAWAII AREA & PLAN
   PC: 768px以上  /  SP: 767px以下
   ブランドカラー: #47382A
   chapel01: #d4c1c1系  /  chapel02: #cae0eb系
============================================ */

/* ---------- FV透け防止
   hawaii-page に白背景 + position:relative + z-index を設定
   WordPressのFV(position:fixed; z-index:-1)がページ途中で
   透けて見えないようにする
   ---------- */
.hawaii-page {
  position: relative;
  z-index: 1;
  background: #fff;
}

/* ---------- リセット ---------- */
.hawaii-page *,
.hawaii-page *::before,
.hawaii-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.hawaii-page img {
  width: 100%;
  height: auto;
  display: block;
}

.hawaii-page a {
  text-decoration: none;
  color: inherit;
}

.hawaii-page ul {
  list-style: none;
}

/* ---------- フェードイン / アウト
   .hawaii-fade: 初期は非表示（translateY + opacity）
   .is-visible: フェードイン
   .is-hidden : フェードアウト（一度表示された後）
   ---------- */
.hawaii-fade {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
  will-change: opacity, transform;
}

.hawaii-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hawaii-fade.is-hidden {
  opacity: 0;
  transform: translateY(-20px);   /* 上に抜けるイメージ */
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

/* ---------- 表示切替 ---------- */
.hawaii-pc  { display: block; }
.hawaii-sp  { display: none; }

@media screen and (max-width: 767px) {
  .hawaii-pc  { display: none; }
  .hawaii-sp  { display: block; }
}


@media screen and (max-width: 767px) {
  .footGood {
    padding: 30px 0;
  }
}

/* ============================================
   PC版
============================================ */

/* ---------- ヒーロー ---------- */
.hawaii-hero {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(5.625vw + 25.764vw);
  overflow: hidden;
  z-index: 0;
}

.hawaii-hero.is-hide {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .5s ease;
}

.hawaii-hero__bg {
  position: absolute;
  inset: 0;
}

.hawaii-hero__bg picture,
.hawaii-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hawaii-hero__title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: "Cormorant SC", serif;
  font-weight: 500;
  font-size: 9.028vw;             /* 75px / 375 */
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

/* ---------- キャッチ ---------- */
.hawaii-catch-bg {
  position: relative;
  z-index: 1;
  margin-top: calc(5.625vw + 25.764vw);
  padding-bottom: 100px;
  background-image: url('/wp-content/themes/arluis/assets/images/fair-cp/premierphotowedding/hawaii/pc/plan_bg.webp');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.hawaii-catch {
  padding: 2.78vw 1.39vw 2.08vw;  /* 40/20/30 / 1440 */
  text-align: center;
}

.hawaii-catch__sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 0.1em;
  color: #303030;
  margin-bottom: 16px;
}

.hawaii-catch__main {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #303030;
}

/* ---------- プランタブナビゲーション ---------- */

.hawaii-plan-nav {
  padding: 2.08vw 1.39vw 0;
  text-align: center;
}

.hawaii-plan-nav__label {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.389vw;        /* 20px / 1440 */
  color: #47382A;
  letter-spacing: 0.05em;
  margin-bottom: 1.667vw;
}

.hawaii-plan-tabs {
  display: flex;
  justify-content: center;
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.hawaii-plan-tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
}

.hawaii-plan-tab--chapel01 {
  background: #d4c1c1;
}

.hawaii-plan-tab--chapel01.is-active,
.hawaii-plan-tab--chapel01:hover {
  background: #c4acac;
}

.hawaii-plan-tab--chapel02 {
  background: #cae0eb;
}

.hawaii-plan-tab--chapel02.is-active,
.hawaii-plan-tab--chapel02:hover {
  background: #b5d4e2;
}

.hawaii-plan-tab__name {
  font-family: "Cormorant SC", serif;
  font-size: 24px;
  letter-spacing: 0.2em;
  color: #303030;
}

.hawaii-plan-tab-box {
  height: 100px;
  gap: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.hawaii-plan-tab__desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 12px;
  color: #303030;
}

/* ---------- プランヘッダー ---------- */
.hawaii-plan-header {
  padding: 60px 0px 40px;
  text-align: center;
  padding-bottom: 150px;
}

.hawaii-plan-header--chapel01 {
  background: linear-gradient(to bottom, #F6F2F2, #d4c1c1 50%, #c3aaaa);
}

.hawaii-plan-header--chapel02 {
  background: linear-gradient(to bottom, #F4F8FA, #d0dbe1 50%, #9cb6c3);
}

.hawaii-plan-header__name {
  font-family: "Cormorant SC", serif;
  font-weight: 400;
  font-size: 38px;
  letter-spacing: 0.15em;
  color: #303030;
  margin-bottom: 12px;
}

.hawaii-plan-header__desc {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 16px;
  color: #303030;
  margin-bottom: 30px;
}

.hawaii-plan-header__images {
  display: flex;
  gap: 0;
  margin: 0 auto 50px;
  height: 27vw;
}

.hawaii-plan-header__images img {
  flex: 1;
  height: 100%;
  object-fit: cover;
}

.hawaii-plan-header__hotel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 50px;
}

.hawaii-plan-header__hotel-logo {
  width: 150px!important;
  height: auto;
}

.hawaii-plan-header__multiply {
  width: 13px!important;
  height: auto;
}

.hawaii-plan-header__hotel-logo2 {
  width: 250px!important;
  height: auto;
}

.hawaii-plan-header__price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 10px;
}

.hawaii-plan-header__price-left {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.hawaii-plan-header__price-label {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 20px;
  color: #303030;
}

.hawaii-plan-header__price-amount {
  font-family: "Aboreto", serif;
  font-size: 40px;
  color: #303030;
  letter-spacing: -0.03em;
}

.hawaii-plan-header__price-from {
  font-family: "Noto Serif JP", serif;
  font-size: 25px;
  color: #303030;
}

.hawaii-plan-header__cut {
  width: 60px;
}

/* ---------- コピーテキスト ---------- */
.hawaii-plan-copy {
  padding: 2.78vw 1.39vw;
  text-align: center;
  background: #fff;
}

.hawaii-plan-copy p {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 13.5px;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #303030;
}

/* ---------- 写真コレクション ---------- */
.hawaii-photos {
  position: relative;
  height: 33vw;
  background: #fff;
}

.hawaii-photos__item {
  position: absolute;
  object-fit: cover;
}

.hawaii-photos__item:nth-child(1) {
  left: -0.5%;
  top: 0;
  width: 13.4vw;
  z-index: 1;
}

.hawaii-photos__item:nth-child(2) {
  left: 12.22%;
  top: 160px;
  width: 26.39vw;
}

.hawaii-photos__item:nth-child(3) {
  left: 36.81%;
  top: 100px;
  width: 26.74vw;
}

.hawaii-photos__item:nth-child(4) {
  right: 13vw;
  top: 2vw;
  width: 19.86vw;
}

.hawaii-photos__item:nth-child(5) {
  right: 0;
  top: 16vw;
  width: 19.58vw;
}

.hawaii-plan-section--chapel02 .hawaii-photos__item:nth-child(1) {
  left: -0.5%;
  top: 8vw;
  width: 26.39vw;
}

.hawaii-plan-section--chapel02 .hawaii-photos__item:nth-child(2) {
  left: 22vw;
  top: 1vw;
  width: 26.74vw;
  z-index: 1;
}

.hawaii-plan-section--chapel02 .hawaii-photos__item:nth-child(3) {
  left: 46vw;
  top: 7vw;
  width: 26.74vw;
}

.hawaii-plan-section--chapel02 .hawaii-photos__item:nth-child(4) {
  right: 9vw;
  top: 9vw;
  width: 14.86vw;
}

.hawaii-plan-section--chapel02 .hawaii-photos__item:nth-child(5) {
  right: 0;
  top: -3vw;
  width: 12.36vw;
}

/* ---------- プラン詳細 2カラム ---------- */
.hawaii-plan-detail {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding-bottom: 30px;
  background: linear-gradient(#F0E9E9 55%, transparent 50%);
  justify-content: center;
  gap: 10px;
}

#pc-plan-chapel02 .hawaii-plan-detail {
  background: linear-gradient(#EEF3F6 31%, transparent 31%);
}

.hawaii-plan-detail__col {
  margin-top: -100px;
  padding: 55px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 80vw;
  background: #f5f4f1;
}

.hawaii-plan-detail__col.hawaii-plan-detail__col--stay {
  margin-top: 30px;
}

.hawaii-plan-detail__badge {
  font-family: "Cormorant SC", serif;
  font-size: 18px;
  letter-spacing: 0.05em;
  padding: 5px 50px;
  border-radius: 20px;
}

.hawaii-plan-detail__badge--chapel01 {
  background: #d4c1c1;
  color: #a38282;
}

.hawaii-plan-detail__badge--chapel02 {
  background: #d0dbe1;
  color: #7fa0b1;
}

.hs-chapel-box {
  border-bottom: 1px solid #D0DBE1;
  padding-bottom: 3vw;
}
.hs-chapel-box:last-child {
  border:none;
  padding-bottom: 0;
}
.number {
  font-family: Cormorant SC;
  font-weight: 400;
  font-size: 2.7vw;
  letter-spacing: 10%;
  text-align: center;
  color: #93B7C8;
  margin-bottom: 2vw;
}
.number .small {
  font-size: 70%;
}
.hawaii-plan-detail__sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 2;
  text-align: center;
  color: #303030;
}

.hawaii-plan-detail__includes-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #303030;
}

.hawaii-plan-section--chapel02 .hawaii-plan-detail__includes-label {
  padding: 12px 0;
}

.hawaii-plan-detail__venues {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
}

.hawaii-plan-detail__venue:first-child {
  z-index: 1;
}
.hawaii-plan-detail__col--chapel02 .hawaii-plan-detail__venue:first-child::after {
  content: "";
  position: absolute;

  /* 👇 gapの半分 = 7.5px 分だけ外へ */
  right: -7.5px;

  /* 中央配置 */
  top: 50%;
  transform: translate(50%, -50%) translateY(-10px);

  width: 3vw;
  height: 3vw;

  background: url("/wp-content/themes/arluis/assets/images/fair-cp/premierphotowedding/hawaii/pc/icon_or.webp") no-repeat center / contain;
}

.hawaii-plan-detail__venue {
  width: 15vw;
  text-align: center;
}

.hawaii-plan-detail__venue img {
  object-fit: cover;
  margin-bottom: 6px;
}

.hawaii-plan-detail__venue p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  color: #303030;
  line-height: 1.5;
}

.hawaii-plan-detail__includes {
  display: flex;
  gap: 10px;
  width: 50%;
  padding-top: 16px;
}

.hawaii-plan-detail__includes-col {
  flex: 1;
}

.hawaii-plan-detail__includes-col ul {
  border-top: 1px solid #ccc;
}

.hawaii-plan-detail__includes-col li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 11px;
  color: #303030;
  text-align: center;
  padding: 8px 0;
  border-bottom: 1px solid #ccc;
  line-height: 1.6;
}

/* STAY カラム */
.hawaii-plan-detail__hotel-logo-wrap {
  width: 100%;
  text-align: center;
}

.hawaii-plan-detail__hotel-logo {
  max-width: 150px;
  margin: 0 auto;
}

.hawaii-plan-detail__hotel-img {
  width: 70%;
  overflow: hidden;
  margin: 30px auto;
}

.hawaii-plan-detail__hotel-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hawaii-plan-detail__nights {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 20px;
  text-align: center;
  color: #303030;
  line-height: 1.8;
}

.hawaii-plan-detail__nights span {
  font-size: 15px;
}

.hawaii-plan-detail__hotel-rooms {
  display: flex;
  gap: 16px;
  width: 100%;
}

.hawaii-plan-detail__hotel-rooms img {
  flex: 1;
  height: 7vw;
  object-fit: cover;
}

.hawaii-plan-detail__hotel-desc {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 11px;
  line-height: 2;
  text-align: center;
  color: #303030;
  margin-top: 20px;
}

/* ---------- CTA ---------- */
.hawaii-cta {
  text-align: center;
  margin-top: 80px;
  margin-bottom: 100px;
}
.hawaii-btn--primary {
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 1.2vw;
    letter-spacing: .15em;
    color: #fff !important;
    background: #47382A;
    border-radius: 20px;
    padding: 1em 4em;
    text-decoration: none;
    transition: background .3s ease, opacity .3s ease;
    line-height: 1.5;
}

/* ---------- 注意事項 ---------- */
.hawaii-notes {
  padding: 2.78vw 1.39vw;
  margin: 0 auto;
  background: #fff;
}

.hawaii-notes p {
  max-width: 800px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 10px;
  line-height: 1.8;
  color: #303030;
  margin: 0 auto;
}

/* ---------- 特典バナー ---------- */
.hawaii-bonus {
  padding: 30px 20px 10px;
  text-align: center;
  background: #fff;
  margin-bottom: 50px;
}

.hawaii-bonus__label {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  color: #47382A;
  margin-bottom: 20px;
}

.hawaii-bonus__banner {
  max-width: 757px;
  margin: 0 auto;
  height: 252px;
  overflow: hidden;
}

.hawaii-bonus__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------- OTHER AREA ---------- */
.hawaii-other {
  padding: 60px 0px;
  background: #fff;
  text-align: center;
}

.hawaii-other__title {
  font-family: "Cormorant SC", serif;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 0.2em;
  color: #303030;
  margin-bottom: 30px;
}

.hawaii-other__cards {
  display: flex;
  gap: 4px;
  margin: 0 auto;
}

.hawaii-other__card {
  flex: 1;
  position: relative;
  overflow: hidden;
  height: 261px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hawaii-other__card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.hawaii-other__card:hover > img {
  transform: scale(1.05);
}

.hawaii-other__card-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.hawaii-other__card-name {
  font-family: "Cormorant SC", serif;
  font-weight: 500;
  font-size: 48px;
  color: #fff;
  letter-spacing: 0.04em;
}

.hawaii-other__card-desc {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 12px;
  color: #fff;
  text-shadow: 0 0 6px rgba(0,0,0,0.25);
}

.hawaii-other__card-btn {
  background: rgba(255,255,255,0.8);
  color: #303030;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 11px;
  padding: 8px 20px;
}

.top-link {
  text-align: center;
  margin-bottom: 40px;
}
.top-link a p {
  font-size: 1.2em;
  font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', serif;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #303030;
  margin: 0;
}
.top-link a p:before {
  vertical-align: bottom;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url(/wp-content/themes/arluis/assets/images/index/renewal/arrow-brown.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  margin-right: .5em;
}


/* ============================================
   SP版
   基準: SP=375px / Figma AREA_SP_HAWAII準拠
============================================ */

/* ---------- SP ヒーロー（fixed: 下のコンテンツが被さる） ---------- */
.hawaii-sp-hero {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 64.27vw;             /* SP: 241px / 375 (48+193) */
  overflow: hidden;
  z-index: 0;
}

.hawaii-sp-hero__bg {
  position: absolute;
  inset: 0;
}

.hawaii-sp-hero__bg picture,
.hawaii-sp-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hawaii-sp-hero__title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: "Cormorant SC", serif;
  font-weight: 500;
  font-size: 20vw;             /* 75px / 375 */
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

/* ---------- SP キャッチ（固定ヒーローの上に被さる） ---------- */
/* ---------- SP キャッチ＋ナビ 共通背景ラッパー ---------- */
.hawaii-sp-plan-bg-wrap {
  position: relative;
  z-index: 1;
  margin-top: 64.27vw;           /* SP: 241px / 375 (48+193px) — ヒーロー分の押し下げ */
  background-image: url('/wp-content/themes/arluis/assets/images/fair-cp/premierphotowedding/hawaii/sp/plan_bg.webp');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.hawaii-sp-catch {
  position: relative;
  z-index: 1;
  padding: 13vw 5.33vw 6.4vw;
  text-align: center;
  background: transparent;       /* ラッパーの背景を透過 */
}

.hawaii-sp-catch__sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 4.8vw;            /* 18px / 375 */
  letter-spacing: 0.05em;
  color: #303030;
  margin-bottom: 12px;
}

.hawaii-sp-catch__main {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 3.47vw;           /* 13px / 375 */
  line-height: 2;
  color: #303030;
}

/* ---------- SP プランナビゲーション ---------- */
.hawaii-sp-nav {
  position: relative;
  z-index: 1;
  background: transparent;       /* ラッパーの背景を透過 */
  padding: 32px 16px 40px;
}

.hawaii-sp-nav__inner {
  position: relative;
  z-index: 1;
}

.hawaii-sp-nav__label {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 4vw;              /* 15px / 375 */
  color: #47382A;
  text-align: center;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}

.hawaii-sp-nav__buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

/* ナビボタン: 画像をメインに、テキストをオーバーレイ */
.hawaii-sp-nav__btn {
  position: relative;
  width: 100%;
  max-width: 330px;
  border: none;
  cursor: pointer;
  padding: 0;
  overflow: hidden;
  display: block;
  border-radius: 2px;
  color: #303030;
}

.hawaii-sp-nav__btn--chapel01 .hawaii-sp-nav__btn-text {
  background: #D4C1C1;
  height: 80px;
  margin-top: -5px;
}
.hawaii-sp-nav__btn--chapel02 .hawaii-sp-nav__btn-text {
  background: #CAE0EB;
}

/* ボタン内の画像 */
.hawaii-sp-nav__btn-img {
  display: block;
  width: 100%;
}

.hawaii-sp-nav__btn-img img {
  width: 100%;
  height: 80px;
  object-fit: cover;
  display: block;
}

/* テキストオーバーレイ */
.hawaii-sp-nav__btn-text {
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background 0.3s;
  height: 90px;
}

.hawaii-sp-nav__btn-name {
  font-family: "Cormorant SC", serif;
  font-size: 5.4vw;            /* 24px / 375 */
  letter-spacing: 0.2em;
}

.hawaii-sp-nav__btn-desc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 2.93vw;           /* 11px / 375 */
}

/* ---------- SP プランセクション共通 ---------- */
.hawaii-sp-plan {
  position: relative;
  z-index: 1;
}

/* ---------- SP プランヘッダー ---------- */
.hawaii-sp-plan__header {
  padding: 0 0 6.4vw;
  text-align: center;
  background: linear-gradient(to bottom,
    rgba(212,193,193,0.6) 0%,
    #d4c1c1 50%,
    rgba(184,157,157,0.9) 100%
  ) #fff;
}

.hawaii-sp-plan__header--chapel02 {
  background: linear-gradient(to bottom,
    #d0dbe1 0%,
    #d0dbe1 50%,
    #b2c6d0 100%
  ) #fff;
}

/* プランラベル（タイトル上の小見出し） */
.hawaii-sp-plan__plan-label {
  font-family: "Cormorant SC", serif;
  font-size: 4.8vw;            /* 18px / 375 */
  letter-spacing: 0.1em;
  color: #a38282;
  background: #d4c1c1;
  border-radius: 20px;
  display: inline-block;
  padding: 4px 28px;
  margin: 6.4vw 0 3.2vw;
}

.hawaii-sp-plan__plan-label--chapel02 {
  color: #7fa0b1;
  background: #d0dbe1;
}

.hawaii-sp-plan__name {
  font-family: "Cormorant SC", serif;
  font-weight: 400;
  font-size: 8vw;          /* 38px / 375 */
  letter-spacing: 0.15em;
  color: #303030;
  margin-bottom: 8px;
  line-height: 1;
  padding-top: 100px;
}

.hawaii-sp-plan__desc {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 4.27vw;           /* 16px / 375 */
  color: #303030;
  margin-bottom: 10vw;
  line-height: 1.5;
}

/* チャペル画像2枚横並び */
.hawaii-sp-plan__images {
  display: flex;
  height: 49.6vw;              /* 186px / 375 */
  margin-bottom: 10vw;
}

.hawaii-sp-plan__images picture {
  flex: 1;
  display: block;
  height: 100%;
  overflow: hidden;
}

.hawaii-sp-plan__images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ロゴ行 */
.hawaii-sp-plan__logo-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.2vw;
  margin-bottom: 4.27vw;
  padding: 0 12px;
  flex-direction: column;
  width: 77.33vw;
  margin: 8vw auto;
}

.hawaii-sp-plan__logo-wrap {
  flex: 1;
  display: flex;
  justify-content: center;
  max-height: 22.67vw; /* 40px / 375 */
}

.hawaii-sp-plan__logo-wrap.logo1 {
  width: 71.24vw;
}
.hawaii-sp-plan__logo-wrap.logo2 {
  width: 52.27vw;
}
.hawaii-sp-plan__logo-wrap.logo3 {
  width: 71.47vw;
}
.hawaii-sp-plan__logo-wrap.logo4 {
  width: 59.73vw;
}

.hawaii-sp-plan__logo {
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.hawaii-sp-plan__multiply-wrap {
  flex-shrink: 0;
}

.hawaii-sp-plan__multiply {
  width: 13px!important;
  height: auto;
  display: block;
}

/* 価格行 */
.hawaii-sp-plan__price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.27vw;
  padding: 0 16px;
}

.hawaii-sp-plan__small {
  font-size: 8px;
  display: block;
  margin-top: 10px;
}

.hawaii-sp-plan__price-info {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.hawaii-sp-plan__price-label {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 5.33vw;           /* 20px / 375 */
  color: #303030;
}

.hawaii-sp-plan__price-amount {
  font-family: "Aboreto", serif;
  font-size: 9.6vw;            /* 36px / 375 */
  color: #303030;
  letter-spacing: -0.02em;
}

.hawaii-sp-plan__price-from {
  font-family: "Noto Serif JP", serif;
  font-size: 5.87vw;           /* 22px / 375 */
  color: #303030;
}

.hawaii-sp-plan__cut {
  width: 16vw;                 /* 60px / 375 */
  max-width: 64px;
  height: auto;
  display: block;
  flex-shrink: 0;
}

/* ---------- SP コピーテキスト ---------- */
.hawaii-sp-plan__copy {
  padding: 7.47vw 5.33vw 6.4vw;
  text-align: center;
  background: #fff;
}

.hawaii-sp-plan__copy p {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 3.6vw;            /* 13.5px / 375 */
  line-height: 2.2;
  color: #303030;
}

/* ---------- SP 写真コレクション ----------
   Figmaデザイン準拠: 3枚 絶対配置
   photo1: 左、top:40px  w:145px h:217px
   photo2: 右、top:0     w:215px h:141px
   photo3: 右下          w:129px h:161px ※斜め配置
   コンテナ高さ: 380px
--------------------------------------------- */
.hawaii-sp-photos {
  position: relative;
  height: 165vw;
  overflow: hidden;
  background: #fff;
}
.hawaii-sp-photos.hawaii-sp-hotels {
  height: 146vw;
}

.hawaii-sp-photos__item {
  position: absolute;
  display: block;
  overflow: hidden;
}

.hawaii-sp-photos__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* photo1: 左 下寄り（145px × 217px） */
.hawaii-sp-photos__item--1 {
  right: 0;
  top: 0vw;                /* 40px / 375 */
  width: 38.67vw;              /* 145px / 375 */
  z-index: 1;
}

/* photo2: 右 上寄り（215px × 141px） */
.hawaii-sp-photos__item--2 {
  left: 0;
  top: 23vw;
  width: 78.33vw;              /* 215px / 375 */
}

/* photo3: 右下（129px × 161px） */
.hawaii-sp-photos__item--3 {
  right: 0;
  top: 75vw;
  width: 74vw;
}
.hawaii-sp-photos__item--4 {
  left: 0;
  bottom: 7vw;
  width: 55.4vw;               /* 129px / 375 */
}

.hawaii-sp-hotels .hawaii-sp-photos__item--1 {
  right: 0;
  left: auto;
  top: 4vw;                /* 40px / 375 */
  width: 56.67vw;    
  height: auto;
  max-height: 240px;
}

/* photo2: 右 上寄り（215px × 141px） */
.hawaii-sp-hotels .hawaii-sp-photos__item--2 {
  left: 0;
  right: auto;
  top: 33vw;
  width: 39.33vw;              /* 215px / 375 */
  max-height: none;
}

/* photo3: 右下（129px × 161px） */
.hawaii-sp-hotels .hawaii-sp-photos__item--3 {
  right: 0;
  left: auto;
  top: 61vw;
  width: 35vw;
  max-height: none;
  z-index: 1;
}
.hawaii-sp-hotels .hawaii-sp-photos__item--4 {
  left: 0;
  right: auto;
  top: 98vw;
  width: 78.4vw;               /* 129px / 375 */
  max-height: none;
}


/* ---------- SP プランの詳細を見る ---------- */
.hawaii-sp-detail-btn-wrap {
  padding: 5.33vw 4.27vw;
  text-align: center;
}

.hawaii-sp-detail-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #f6f3f3;
  border: none;
  padding: 10px 24px;
  cursor: pointer;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 3.47vw;           /* 13px / 375 */
  color: #303030;
  letter-spacing: 0.05em;
  transition: opacity 0.3s;
}

.hawaii-sp-detail-btn:hover {
  opacity: 0.7;
}

.hawaii-sp-detail-btn picture {
  display: flex;
  align-items: center;
}

.hawaii-sp-detail-btn img {
  width: 19px;
  height: auto;
  display: block;
}

/* ---------- SP CTA ---------- */
.hawaii-sp-cta {
    margin-top: 60px;
    padding: 0 20px;
    text-align: center;
    margin-bottom: 30px;
}
.hawaii-sp-cta a {
      font-size: 16px;
    padding: 1.2em 2.6em;
      width: 100%;
      max-width: 280px;
      text-align: center;
      box-sizing: border-box;
}

/* ---------- SP 注意事項 ---------- */
.hawaii-sp-notes {
  padding: 6.4vw 4.27vw;
  background: #fff;
}

.hawaii-sp-notes p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 2.67vw;           /* 10px / 375 */
  line-height: 1.8;
  color: #303030;
}

/* ---------- SP 特典バナー ---------- */
.hawaii-sp-bonus {
  padding: 4.27vw;
  background: #fff;
}

.hawaii-sp-bonus picture {
  display: block;
}

.hawaii-sp-bonus img {
  width: 100%;           /* 128px / 375 */
  object-fit: cover;
  display: block;
}

/* ---------- SP OTHER AREA ---------- */
.hawaii-sp-other {
  padding: 12.8vw 0 0;
  background: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}

.hawaii-sp-other__title {
  font-family: "Cormorant SC", serif;
  font-weight: 600;
  font-size: 5.33vw;           /* 20px / 375 */
  letter-spacing: 0.2em;
  color: #303030;
  margin-bottom: 5.33vw;
}

.hawaii-sp-other__cards {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 50px;
}

.hawaii-sp-other__card {
  position: relative;
  height: 53.33vw;             /* 200px / 375 */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hawaii-sp-other__card > picture {
  position: absolute;
  inset: 0;
  display: block;
}

.hawaii-sp-other__card > picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hawaii-sp-other__card-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.hawaii-sp-other__card-name {
  font-family: "Cormorant SC", serif;
  font-weight: 500;
  font-size: 12.8vw;           /* 48px / 375 */
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.hawaii-sp-other__card-desc {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 2.93vw;           /* 11px / 375 */
  color: #fff;
  text-shadow: 0 0 6px rgba(0,0,0,0.25);
}

.hawaii-sp-other__card-btn {
  background: rgba(255,255,255,0.8);
  color: #303030;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 2.93vw;           /* 11px / 375 */
  padding: 8px 20px;
  display: inline-block;
}


/* ============================================
   ポップアップ
============================================ */

.hawaii-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.hawaii-popup.is-open {
  opacity: 1;
  pointer-events: auto;
}

.hawaii-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

.hawaii-popup__inner {
  position: relative;
  z-index: 1;
  width: 90%;
  margin-top: 15vw;
  max-height: 90vh;
  background: #F0E9E9;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateY(20px);
  transition: transform 0.4s ease;
}

@media screen and (max-width: 375px) {
.hawaii-popup__inner {
  margin-top: 100px;
}
}

#popup-plan02 .hawaii-popup__inner {
  background: #EEF3F6;
}

.hawaii-popup.is-open .hawaii-popup__inner {
  transform: translateY(0);
}

/* PCでは少し大きく */
@media screen and (min-width: 768px) {
  .hawaii-popup__inner {
    width: 450px;
    max-height: 85vh;
  }
}

.hawaii-popup__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.85);
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  font-family: "Actor", sans-serif;
  font-size: 14px;
  color: #ada3a3;
  letter-spacing: 0.1em;
}

.hawaii-popup__close:hover {
  background: rgba(255,255,255,1);
}

.hawaii-popup__close-icon {
  font-size: 11px;
  color: #ada3a3;
}

.hawaii-popup__scroll {
  overflow-y: auto;
  flex: 1;
  position: relative;
}

.hawaii-popup__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0;
  pointer-events: none;
}

.hawaii-popup__bg img {
  width: 100%;
  height: auto;
}

.hawaii-popup__section {
  position: relative;
  z-index: 1;
  padding: 50px 20px 30px;
  margin: 43px 13px 10px;
}

.hawaii-popup__section .number {
  font-size: 8.7vw;
  margin-bottom: 5vw;
}

.hawaii-popup__inner-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: #F5F4F1;
}

.hawaii-popup__inner-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hawaii-popup__section-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.hawaii-popup__section--stay {
  margin-top: 0;
  padding: 40px 20px 30px;
  background: #f5f4f1;
  margin: 0 13px 30px;
}

.hawaii-popup__badge {
  font-family: "Cormorant SC", serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  padding: 5px 50px;
  border-radius: 20px;
}

.hawaii-popup__badge--chapel01 {
  background: #d4c1c1;
  color: #a38282;
}

.hawaii-popup__badge--chapel02 {
  background: #d0dbe1;
  color: #7fa0b1;
}

.hawaii-popup__sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: .9rem;
  line-height: 1.8;
  text-align: center;
  color: #303030;
}

.hawaii-popup__venue-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #303030;
}

.hawaii-popup__venues {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 5vw;
  position: relative;
}

#popup-plan02 .hawaii-popup__venues:before {
  content: "";
  position: absolute;
  top: 2.5em;
  left: 0;
  right: 0;
  margin: auto;
  width: 9vw;
  height: 9vw;
  background: url("/wp-content/themes/arluis/assets/images/fair-cp/premierphotowedding/hawaii/pc/icon_or.webp") no-repeat center / contain;
  z-index: 1;
}

.hawaii-popup__venue {
  width: calc(50% - 5px);
  text-align: center;
}

.hawaii-popup__venue img {
  height: 107px;
  object-fit: cover;
  margin-bottom: 6px;
  border-radius: 2px;
}

.hawaii-popup__venue p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 8px;
  color: #303030;
  line-height: 1.4;
}

.hawaii-popup__includes-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #303030;
}

.hawaii-popup__includes-wrap {
  width: 100%;
  border-top: 1px solid #ccc;
}

.hawaii-popup__includes {
  width: 100%;
}

.hawaii-popup__includes li {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 13px;
  color: #303030;
  text-align: center;
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
  line-height: 1.5;
}

.hawaii-popup__hotel-logo-wrap {
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}

.hawaii-popup__hotel-logo-wrap img {
  margin: 0 auto;
  width: 40%;
}

.hawaii-popup__hotel-img {
  width: 100%;
  height: 184px;
  overflow: hidden;
}

.hawaii-popup__hotel-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hawaii-popup__nights {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 20px;
  text-align: center;
  color: #303030;
  line-height: 1;
}

.hawaii-popup__section--stay .hawaii-popup__nights {
  margin: 20px 0;
}

.hawaii-popup__nights span {
  font-size: 15px;
  font-weight: 400;
}

.hawaii-popup__hotel-rooms {
  display: flex;
  gap: 2px;
  width: 100%;
}

.hawaii-popup__hotel-rooms img {
  flex: 1;
  height: 21vw;
  object-fit: cover;
}

.hawaii-popup__hotel-desc {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: .7rem;
  line-height: 2;
  text-align: center;
  color: #303030;
  padding-bottom: 20px;
  margin-top: 10px;
}


/* ============================================
   フェードイン / アウト アニメーション
   .hawaii-fade → IntersectionObserver で is-visible / is-hidden を制御
============================================ */

.hawaii-fade {
  opacity: 0;
  transform: translateY(2em);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
  will-change: opacity, transform;
}

.hawaii-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hawaii-fade.is-hidden {
  opacity: 0;
  transform: translateY(1em);
}

/* FVヒーロー自体はアニメーションしない（fixedのため） */
.hawaii-hero.hawaii-fade,
.hawaii-sp-hero.hawaii-fade {
  opacity: 1;
  transform: none;
  transition: none;
}


.scrolled.fadeIn .footer__bnr.sp {
  display: none!important;
}