:root{
  --green:#005c50;
  --deep:#221b18;
  --ink:#201b17;
  --muted:#766b62;
  --ivory:#fbf7ef;
  --sand:#eee2d1;
  --champagne:#d8b66c;
  --champagne2:#f0d592;
  --rose:#c9a59a;
  --rose2:#f4e2dc;
  --brown:#5b4336;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--ivory);line-height:1.9;letter-spacing:.02em}
a{color:inherit} img{max-width:100%;display:block}.sp-only{display:none}
.site-header{position:fixed;top:0;left:0;width:100%;height:92px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(91,67,54,.10);z-index:1000;box-shadow:0 12px 34px rgba(67,48,37,.10);backdrop-filter:blur(12px)}
.header-inner{height:100%;max-width:1440px;margin:0 auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}
/* ロゴまわり：PC */
.brand{
  background:#fff;
  border-radius:18px;
  padding:8px 14px;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.brand img{
  height:54px;
  width:auto;
  max-height:54px;
  object-fit:contain;
}


/* タブレット・スマホ */
@media(max-width:960px){

  .brand{
    padding:6px 10px;
    border-radius:14px;
    box-shadow:none;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .brand img{
    height:42px;
    width:auto;
    max-height:42px;
    object-fit:contain;
  }

}


/* 小さいスマホ */
@media(max-width:430px){

  .brand img{
    height:36px;
    max-height:36px;
  }

}

.global-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:800;letter-spacing:.08em;color:#41332b}.global-nav a{text-decoration:none;white-space:nowrap}.global-nav a:not(.nav-reserve)::after{content:"";display:block;height:2px;width:0;background:linear-gradient(90deg,var(--rose),var(--champagne));transition:.25s}.global-nav a:hover::after{width:100%}.nav-reserve{border:1px solid rgba(91,67,54,.35);border-radius:999px;padding:10px 24px;background:#fff;transition:.25s}.nav-reserve:hover{background:var(--brown);color:#fff}.menu-toggle{display:none;border:1px solid rgba(91,67,54,.35);background:#fff;border-radius:999px;padding:8px 13px;font-weight:900;letter-spacing:.08em;color:#41332b}
.hero{padding-top:92px;background:#f8f2ea}.hero-media{width:min(1500px,100%);margin:0 auto;background:#f8f2ea;padding:18px 18px 0}.hero-media img{width:100%;height:min(70vh,740px);min-height:470px;object-fit:cover;object-position:center center;border-radius:0 0 42px 42px;box-shadow:0 30px 80px rgba(60,39,28,.18)}
.hero-copy{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffaf5 0%,#fbf7ef 100%)}
.hero-copy::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 0%,rgba(244,226,220,.74),transparent 34%),radial-gradient(circle at 88% 12%,rgba(240,213,146,.28),transparent 32%),linear-gradient(100deg,rgba(0,92,80,.035),transparent 58%);pointer-events:none}.hero-copy::after{content:"Premium Drive & Stay";position:absolute;right:6vw;bottom:-10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,8vw,132px);line-height:.8;color:rgba(201,165,154,.12);letter-spacing:-.05em;white-space:nowrap;pointer-events:none}.hero-copy-inner{position:relative;padding:72px 0 86px;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:13px;margin:0 0 18px;color:var(--brown);font-size:13px;font-weight:900;letter-spacing:.22em}.eyebrow::before,.eyebrow::after{content:"";width:42px;height:1px;background:linear-gradient(90deg,var(--rose),var(--champagne))}.hero-title-wrap{position:relative;display:inline-block;margin-bottom:26px;padding:0 34px}.hero-title-wrap::before,.hero-title-wrap::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:999px;background:var(--champagne);box-shadow:0 0 0 8px rgba(216,182,108,.13)}.hero-title-wrap::before{left:0}.hero-title-wrap::after{right:0}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,6.2vw,90px);line-height:1.04;letter-spacing:-.045em;margin:0;color:#1f1712}.hero-lead{font-size:clamp(21px,2.0vw,30px);font-weight:900;margin:0 0 16px;line-height:1.52;color:#2c221c}.hero-text{max-width:760px;margin:0 auto 34px;color:#66574f;font-weight:600}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-width:252px;min-height:58px;border-radius:999px;padding:14px 28px;text-decoration:none;font-weight:900;letter-spacing:.07em;transition:.25s}.primary-btn{background:linear-gradient(135deg,var(--champagne2),var(--champagne));color:#2c2117;box-shadow:0 20px 42px rgba(111,76,38,.22)}.primary-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.secondary-btn{border:1px solid rgba(91,67,54,.28);color:#4c392f;background:rgba(255,255,255,.64)}.secondary-btn:hover{background:var(--brown);border-color:var(--brown);color:#fff}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.narrow{width:min(920px,calc(100% - 48px))}.section{padding:108px 0}.section-heading{margin-bottom:38px}.section-kicker{margin:0 0 10px;color:var(--rose);font-size:13px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.section-heading h2,.dark-story h2,.benefit-panel h2,.entry-panel h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,4.3vw,60px);line-height:1.2;letter-spacing:-.035em;margin:0}.center{text-align:center}.section-lead{max-width:760px;margin:18px auto 0;color:#75675e;font-weight:600}.left-line{position:relative;padding-left:30px}.left-line::before{content:"";position:absolute;left:0;top:8px;width:5px;height:calc(100% - 14px);background:linear-gradient(180deg,var(--rose),var(--champagne));border-radius:99px}.campaign{background:linear-gradient(180deg,#fbf7ef,#f3eadf)}.campaign-card{position:relative;background:rgba(255,255,255,.80);border:1px solid rgba(216,182,108,.22);border-radius:38px;padding:62px;box-shadow:0 30px 80px rgba(91,67,54,.12);overflow:hidden}.campaign-card::after{content:"";position:absolute;right:-50px;top:-52px;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(244,226,220,.9),transparent 68%)}.body-copy{font-size:18px;font-weight:600;color:#4e433c}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.info-grid div{background:#fffaf5;border:1px solid rgba(216,182,108,.21);border-radius:24px;padding:24px;box-shadow:0 12px 22px rgba(91,67,54,.05)}.info-grid span{display:block;color:var(--rose);font-size:13px;font-weight:900;letter-spacing:.14em}.info-grid strong{display:block;font-size:17px;margin-top:5px}.note{font-size:13px;color:#81746c}.hotels{background:linear-gradient(180deg,#2a211d,#173a5c);color:#fff}.hotels .section-lead{color:#ded4ca}.hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hotel-card{position:relative;border-radius:28px;overflow:hidden;min-height:292px;background:#222;box-shadow:0 22px 48px rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.10)}.hotel-card img{width:100%;height:100%;min-height:292px;object-fit:cover;transition:.6s}.hotel-card:hover img{transform:scale(1.045)}.hotel-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(31,20,15,.78),transparent 60%)}.hotel-card div{position:absolute;left:24px;right:24px;bottom:20px;z-index:1}.hotel-card span{color:var(--champagne2);font-size:12px;font-weight:900;letter-spacing:.2em}.hotel-card p{margin:4px 0 0;font-size:20px;font-weight:900}.story{background:#f3eadf}.dark-story{position:relative;color:#fff;background:linear-gradient(145deg,rgba(71,52,40,.94),rgba(31,24,21,.98));border:1px solid rgba(216,182,108,.20);border-radius:38px;padding:62px;box-shadow:0 30px 76px rgba(67,48,37,.22);overflow:hidden}.dark-story::after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;background:radial-gradient(circle,rgba(216,182,108,.18),transparent 68%)}.dark-story p:not(.section-kicker){position:relative;color:#eadfd5;font-weight:600}.light{color:var(--champagne2)}.lineup{background:#fbf7ef}.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.model-card{background:#fff;color:#2c211c;border-radius:30px;overflow:hidden;box-shadow:0 24px 60px rgba(91,67,54,.12);border:1px solid rgba(216,182,108,.18)}.model-card img{width:100%;height:356px;object-fit:cover}.model-copy{padding:30px 32px 34px}.model-copy span{color:var(--rose);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.model-copy h3{font-size:32px;line-height:1.2;margin:7px 0 8px;color:#241b16}.model-copy p{margin:0;color:#6b5c53;font-weight:600}.benefits-section{background:linear-gradient(135deg,#3a2b24,#173a5c);color:#fff}.benefit-panel{border-radius:38px;padding:62px;background:radial-gradient(circle at 10% 0%,rgba(244,226,220,.22),transparent 38%),rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14)}.benefit-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:34px 0 0}.benefit-list li{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:15px 18px;text-align:center;font-weight:900;background:rgba(255,255,255,.055)}.entry{position:relative;background:#161211;color:#fff;text-align:center}.entry::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(244,226,220,.18),transparent 42%),radial-gradient(circle at 20% 15%,rgba(216,182,108,.18),transparent 32%)}.entry-panel{position:relative;z-index:1}.entry-panel p{max-width:720px;margin:22px auto}.center-actions{justify-content:center}.light-btn{color:#fff;border-color:rgba(255,255,255,.56);background:rgba(255,255,255,.06)}.light-btn:hover{background:#fff;color:#173a5c;border-color:#fff}.light-note{color:#d9cfc4}.footer{background:#fffaf5;padding:34px 20px;text-align:center;color:#8a7b72;font-size:12px;letter-spacing:.08em}
@media(max-width:960px){.site-header{height:76px}.header-inner{padding:0 20px}.brand{padding:6px 10px;border-radius:14px}.brand img{height:42px}.menu-toggle{display:block}.global-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #eee;padding:8px 22px 22px}.global-nav.is-open{display:flex}.global-nav a{padding:13px 0;border-bottom:1px solid #eee}.nav-reserve{text-align:center;margin-top:10px;border-color:#6c5043}.hero{padding-top:76px}.hero-media{padding:12px 12px 0}.hero-media img{height:58vh;min-height:310px;border-radius:0 0 28px 28px}.hero-copy-inner{padding:48px 0 62px}.eyebrow{font-size:11px;letter-spacing:.16em}.eyebrow::before,.eyebrow::after{width:22px}.hero-title-wrap{padding:0 20px}.sp-only{display:block}.container,.narrow{width:min(100% - 36px,1180px)}.section{padding:78px 0}.campaign-card,.dark-story,.benefit-panel{padding:36px 24px}.info-grid,.hotel-grid,.model-grid,.benefit-list{grid-template-columns:1fr}.hotel-card,.hotel-card img{min-height:238px}.model-card img{height:272px}.hero-actions .primary-btn,.hero-actions .secondary-btn{width:100%;min-width:0}.section-heading h2,.dark-story h2,.benefit-panel h2,.entry-panel h2{font-size:34px}.hero-copy h1{font-size:clamp(44px,11.6vw,70px)}}
@media(max-width:430px){.brand img{height:36px}.hero-media img{height:46vh;min-height:248px}.hero-copy-inner{padding-top:38px}.hero-lead{font-size:20px}.model-copy h3{font-size:28px}.section-heading h2,.dark-story h2,.benefit-panel h2,.entry-panel h2{font-size:30px}.hero-title-wrap::before,.hero-title-wrap::after{display:none}}

/* =========================================================
   DMSスマホプレビュー最終調整 2026-07-15
   1) スマホ時のロゴを小さくし、MENUが切れないように固定
   2) スマホ時のキャッチコピーを必ず2行にする
   3) スマホ/タブレットでも写真の比率をPCと同じにし、車を切らない
   ========================================================= */
.hero-copy h1 .title-line{
  display:inline-block;
  white-space:nowrap;
}
.hero-media{
  aspect-ratio:16/9;
  height:auto !important;
}
.hero-media img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#f8f2ea;
}
.model-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fffaf5;
}
.hotel-card{
  min-height:auto !important;
}
.hotel-card img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4/3;
  object-fit:contain !important;
  object-position:center center !important;
  background:#201b17;
}

@media(max-width:960px){
  .site-header{
    height:64px !important;
  }
  .header-inner{
    padding:0 12px !important;
    gap:8px !important;
  }
  .brand{
    padding:3px 5px !important;
    border-radius:10px !important;
    min-width:0 !important;
    max-width:calc(100% - 76px) !important;
    flex:0 1 auto !important;
  }
  .brand img{
    width:auto !important;
    height:auto !important;
    max-width:min(210px,58vw) !important;
    max-height:32px !important;
    object-fit:contain !important;
  }
  .menu-toggle{
    display:block !important;
    flex-shrink:0 !important;
    margin-left:auto !important;
    padding:7px 10px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .global-nav{
    top:64px !important;
  }
  .hero{
    padding-top:64px !important;
  }
  .hero-media{
    aspect-ratio:16/9 !important;
    height:auto !important;
    padding:12px 12px 0 !important;
  }
  .hero-media img{
    height:100% !important;
    min-height:0 !important;
  }
  .hero-title-wrap{
    max-width:100% !important;
    padding:0 !important;
    margin-bottom:22px !important;
  }
  .hero-copy h1{
    font-size:clamp(34px,9.2vw,42px) !important;
    line-height:1.22 !important;
    letter-spacing:-.055em !important;
  }
  .hero-copy h1 .title-line{
    white-space:nowrap !important;
  }
}

@media(max-width:430px){
  .header-inner{
    padding:0 10px !important;
    gap:6px !important;
  }
  .brand{
    max-width:calc(100% - 68px) !important;
  }
  .brand img{
    max-width:min(176px,54vw) !important;
    max-height:27px !important;
  }
  .menu-toggle{
    padding:6px 8px !important;
    font-size:11px !important;
  }
  .hero-copy h1{
    font-size:34px !important;
    line-height:1.22 !important;
  }
  .hero-lead{
    font-size:19px !important;
  }
}

/* =========================================================
   TERMS + PHOTO POLISH UPDATE
   既存HTML/CSS/imgを活かし、Lifestyle欄を応募規約へ差し替え。
   写真の余白が雑に見えないよう、画像枠に高級感のある処理を追加。
   ========================================================= */
:root{
  --premium-navy:#102b45;
  --premium-brown:#18110d;
  --premium-gold:#c7a25a;
  --premium-gold-light:#efd89a;
  --premium-line:rgba(199,162,90,.34);
  --premium-card:rgba(255,255,255,.055);
}

/* 画像の余白処理：単なる空白に見えないように、全画像を統一した高級フレームに */
.hero-media,
.hotel-card,
.model-card{
  position:relative;
}
.hero-media::before,
.hotel-card::before,
.model-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  border:1px solid rgba(199,162,90,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.hero-media::after,
.hotel-card::after,
.model-card::after{
  pointer-events:none;
}
.hero-media{
  background:
    radial-gradient(circle at 20% 10%,rgba(239,216,154,.20),transparent 28%),
    linear-gradient(135deg,#173a5c,#173a5c) !important;
}
.hero-media img{
  background:linear-gradient(135deg,#173a5c,#173a5c) !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.hotel-card{
  background:linear-gradient(135deg,#173a5c,#173a5c) !important;
  border:1px solid var(--premium-line) !important;
  border-radius:22px !important;
  box-shadow:0 26px 68px rgba(0,0,0,.36) !important;
}
.hotel-card img{
  display:block;
  width:100% !important;
  height:100% !important;
  min-height:292px;
  object-fit:cover !important;
  object-position:center center !important;
  filter:saturate(1.04) contrast(1.02);
}
.hotel-card::before{
  border-radius:22px;
}
.hotel-card::after{
  content:"" !important;
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(0deg,rgba(7,6,5,.82),rgba(7,6,5,.10) 66%),
    linear-gradient(135deg,rgba(199,162,90,.16),transparent 32%) !important;
}
.hotel-card div{
  z-index:3 !important;
}
.model-card{
  background:linear-gradient(180deg,#fff,#f8f2ea) !important;
  border:1px solid rgba(199,162,90,.25) !important;
  border-radius:28px !important;
}
.model-card::before{
  border-radius:28px;
}
.model-card img{
  background:
    radial-gradient(circle at 82% 12%,rgba(199,162,90,.16),transparent 30%),
    linear-gradient(135deg,#f8f2ea,#eee0cf) !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
}

/* 応募規約：旧Lifestyle欄の位置に差し替え */
.terms-section{
  background:
    radial-gradient(circle at 15% 0%,rgba(216,182,108,.20),transparent 30%),
    linear-gradient(135deg,#3a2b24,#173a5c) !important;
  color:#fff;
}
.terms-panel{
  position:relative;
  border-radius:38px;
  padding:62px;
  background:
    radial-gradient(circle at 10% 0%,rgba(244,226,220,.16),transparent 34%),
    rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 76px rgba(67,48,37,.22);
  overflow:hidden;
}
.terms-panel::before{
  content:"TERMS";
  position:absolute;
  right:24px;
  top:-12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(72px,11vw,160px);
  line-height:1;
  color:rgba(240,213,146,.08);
  letter-spacing:-.06em;
  pointer-events:none;
}
.terms-panel .section-heading{
  position:relative;
  z-index:1;
}
.terms-list{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin-top:34px;
}
.terms-item{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:24px 24px 24px 22px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  background:rgba(255,255,255,.055);
}
.terms-num{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,var(--premium-gold-light),var(--premium-gold));
  color:#24180e;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:900;
  letter-spacing:-.03em;
}
.terms-item h3{
  margin:0 0 6px;
  color:#fff;
  font-size:19px;
  line-height:1.45;
}
.terms-item p{
  margin:0;
  color:#eadfd5;
  font-weight:600;
  font-size:14px;
  line-height:1.85;
}
.terms-note{
  position:relative;
  z-index:1;
  margin:28px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  color:#d9cfc4;
  font-size:13px;
  line-height:1.8;
}

@media(max-width:960px){
  .terms-panel{padding:38px 24px;border-radius:30px;}
  .terms-list{grid-template-columns:1fr;gap:14px;}
  .terms-item{grid-template-columns:48px 1fr;padding:22px 18px;}
  .hotel-card img{min-height:238px;}
}
@media(max-width:430px){
  .terms-panel{padding:34px 18px;border-radius:24px;}
  .terms-item{grid-template-columns:1fr;gap:12px;}
  .terms-item h3{font-size:18px;}
  .terms-num{width:38px;height:38px;}
}

/* =========================================================
   HUMAN POLISH FINAL
   AI作成感を抑えるための最終ブラッシュアップ。
   ポイント：過度なグラデーションを抑え、写真・余白・罫線・文字組みを編集デザイン寄りに整える。
   ========================================================= */
.human-polish{
  --hp-paper:#f7f0e6;
  --hp-ink:#17120e;
  --hp-navy:#0f2942;
  --hp-charcoal:#183a59;
  --hp-gold:#b9934b;
  --hp-gold-soft:#dfc27c;
  --hp-line:rgba(185,147,75,.38);
  --hp-muted:#7d7166;
  background:#0f2942;
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
}
.human-polish .site-header{
  height:88px;
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 4px 18px rgba(22,18,15,.07) !important;
  border-bottom:1px solid rgba(0,92,80,.13) !important;
}
.human-polish .global-nav{
  gap:28px;
  font-size:13px;
  letter-spacing:.12em;
}
.human-polish .nav-reserve{
  background:#0f2942;
  color:#fff;
  border-color:#0f2942;
}
.human-polish .hero{
  padding-top:88px;
  background:#0f2942 !important;
}
.human-polish .hero-media{
  width:min(1420px,100%);
  padding:0 !important;
  background:#0f2942 !important;
  aspect-ratio:16/9;
}
.human-polish .hero-media::before{
  inset:18px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
  z-index:3;
}
.human-polish .hero-media img{
  border-radius:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#0f2942 !important;
  box-shadow:none !important;
  filter:contrast(1.03) saturate(1.02);
}
.human-polish .hero-copy{
  background:#0f2942 !important;
  color:#fff !important;
}
.human-polish .hero-copy::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),transparent 30%),
    linear-gradient(90deg,transparent,rgba(185,147,75,.10),transparent) !important;
}
.human-polish .hero-copy::after{
  content:"Premium Stay" !important;
  right:5vw;
  bottom:16px;
  color:rgba(255,255,255,.035) !important;
  font-size:clamp(58px,7vw,118px) !important;
  letter-spacing:-.045em;
}
.human-polish .hero-copy-inner{
  padding:84px 0 96px;
}
.human-polish .eyebrow{
  color:#dfc27c !important;
  font-size:12px;
  letter-spacing:.28em !important;
}
.human-polish .hero-copy h1{
  color:#fff !important;
  font-size:clamp(48px,5.6vw,82px);
  line-height:1.08;
  letter-spacing:-.05em;
  text-shadow:none !important;
}
.human-polish .hero-lead{
  color:#f4eadc !important;
  letter-spacing:.025em;
}
.human-polish .hero-text{
  color:#cfc3b4 !important;
  max-width:690px;
}
.human-polish .primary-btn,
.human-polish .secondary-btn{
  border-radius:2px;
  min-height:56px;
  letter-spacing:.12em;
}
.human-polish .primary-btn{
  background:#b9934b !important;
  color:#fff !important;
  box-shadow:none !important;
}
.human-polish .secondary-btn{
  background:transparent !important;
  border-color:rgba(223,194,124,.55) !important;
  color:#f4eadc !important;
}
.human-polish .section{
  padding:112px 0;
}
.human-polish .campaign,
.human-polish .story,
.human-polish .lineup,
.human-polish .hotels,
.human-polish .terms-section,
.human-polish .entry{
  background:#0f2942 !important;
}
.human-polish .campaign-card,
.human-polish .dark-story,
.human-polish .terms-panel,
.human-polish .entry-panel{
  border-radius:0 !important;
  background:#173a5c !important;
  border:1px solid rgba(185,147,75,.32) !important;
  box-shadow:none !important;
}
.human-polish .campaign-card,
.human-polish .dark-story,
.human-polish .terms-panel{
  padding:66px;
}
.human-polish .campaign-card::after,
.human-polish .dark-story::after{
  display:none;
}
.human-polish .left-line::before{
  background:#b9934b !important;
  width:3px;
  border-radius:0;
}
.human-polish .section-kicker{
  color:#dfc27c !important;
  font-size:12px;
  letter-spacing:.28em;
}
.human-polish .section-heading h2,
.human-polish .dark-story h2,
.human-polish .terms-panel h2,
.human-polish .entry-panel h2{
  color:#fff;
  letter-spacing:-.04em;
}
.human-polish .body-copy,
.human-polish .dark-story p:not(.section-kicker),
.human-polish .section-lead,
.human-polish .light-note{
  color:#d7cabb !important;
}
.human-polish .info-grid div{
  border-radius:0 !important;
  background:rgba(255,255,255,.035) !important;
  border-color:rgba(185,147,75,.24) !important;
  box-shadow:none !important;
}
.human-polish .hotel-grid{
  gap:18px;
}
.human-polish .hotel-card{
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  min-height:300px;
  background:#0f2942 !important;
}
.human-polish .hotel-card::before{
  inset:10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:0 !important;
  box-shadow:none !important;
}
.human-polish .hotel-card img{
  min-height:300px;
  object-fit:cover !important;
  filter:contrast(1.04) saturate(1.02) brightness(.94);
}
.human-polish .hotel-card::after{
  background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.06) 66%) !important;
}
.human-polish .hotel-card span{
  color:#dfc27c;
}
.human-polish .model-grid{
  gap:22px;
}
.human-polish .model-card{
  border-radius:0 !important;
  background:#173a5c !important;
  border:1px solid rgba(185,147,75,.27) !important;
  box-shadow:none !important;
}
.human-polish .model-card::before{
  inset:10px 10px auto 10px;
  height:calc(100% - 20px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:0 !important;
  box-shadow:none !important;
}
.human-polish .model-card img{
  height:auto !important;
  aspect-ratio:16/9;
  background:#eaf2f7 !important;
  object-fit:cover !important;
  filter:contrast(1.03) saturate(1.02);
}
.human-polish .model-copy{
  padding:28px 30px 34px;
}
.human-polish .model-copy h3{
  color:#fff !important;
  font-size:30px;
}
.human-polish .model-copy p{
  color:#cfc3b4 !important;
}
/* Terms: editorial legal block */
.human-polish .terms-panel{
  overflow:hidden;
  position:relative;
}
.human-polish .terms-panel::before{
  content:"TERMS";
  position:absolute;
  right:34px;
  top:24px;
  color:rgba(255,255,255,.035);
  font-size:clamp(62px,9vw,128px);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1;
  letter-spacing:-.06em;
}
.human-polish .terms-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid rgba(185,147,75,.27);
  border-left:1px solid rgba(185,147,75,.27);
  margin-top:38px;
  position:relative;
  z-index:1;
}
.human-polish .terms-item{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:18px;
  padding:26px 28px;
  border:0 !important;
  border-right:1px solid rgba(185,147,75,.27) !important;
  border-bottom:1px solid rgba(185,147,75,.27) !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.025) !important;
}
.human-polish .terms-num{
  width:auto;
  height:auto;
  background:none !important;
  color:#dfc27c !important;
  border-radius:0;
  align-items:flex-start;
  justify-content:flex-start;
  font-size:18px;
}
.human-polish .terms-item h3{
  color:#fff;
  margin:0 0 7px;
  font-size:18px;
}
.human-polish .terms-item p{
  color:#d3c7b8;
  font-size:13.5px;
  line-height:1.88;
}
.human-polish .terms-note{
  color:#bfb1a1;
  border-top:1px solid rgba(185,147,75,.27);
}
.human-polish .entry{
  background:#102b45 !important;
}
.human-polish .footer{
  background:#102b45 !important;
  color:#a99b8a !important;
  border-top:1px solid rgba(185,147,75,.20);
}

@media(max-width:960px){
  .human-polish .site-header{height:64px !important;}
  .human-polish .hero{padding-top:64px !important;}
  .human-polish .hero-media{padding:0 !important;}
  .human-polish .hero-media img{object-fit:contain !important;}
  .human-polish .hero-media::before{inset:10px;}
  .human-polish .section{padding:78px 0;}
  .human-polish .campaign-card,
  .human-polish .dark-story,
  .human-polish .terms-panel{padding:40px 24px;}
  .human-polish .terms-list{grid-template-columns:1fr;}
  .human-polish .terms-item{grid-template-columns:54px 1fr;padding:22px 18px;}
  .human-polish .hotel-card img{min-height:248px;}
  .human-polish .model-card img{object-fit:contain !important;background:#eaf2f7 !important;}
}
@media(max-width:430px){
  .human-polish .hero-copy-inner{padding:48px 0 62px;}
  .human-polish .hero-copy h1{font-size:34px !important;line-height:1.22 !important;}
  .human-polish .terms-item{grid-template-columns:1fr;gap:8px;}
  .human-polish .terms-num{font-size:16px;}
  .human-polish .hotel-card img{min-height:224px;}
}

/* =========================================================
   NAVY / BEIGE PREMIUM FINAL
   黒を使わず、濃紺・ベージュ・ホワイトで女性にも受ける上品なプレミアムトーンへ調整。
   既存構成・応募規約・画像ファイルは維持し、最後に上書きする安全なCSSです。
   ========================================================= */
.human-polish.elegant-navy{
  --nv-deep:#0f2942;
  --nv-deep2:#173a5c;
  --nv-mid:#234f76;
  --nv-light:#eaf2f7;
  --nv-cream:#fbf7ef;
  --nv-beige:#d8c4a3;
  --nv-beige2:#efe2ca;
  --nv-rose:#e8d7cf;
  --nv-ink:#172637;
  --nv-muted:#6c7780;
  --nv-line:rgba(216,196,163,.55);
  background:var(--nv-cream) !important;
  color:var(--nv-ink) !important;
}
.human-polish.elegant-navy .site-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid rgba(15,41,66,.10) !important;
  box-shadow:0 8px 28px rgba(15,41,66,.08) !important;
}
.human-polish.elegant-navy .global-nav{color:#21384d !important;}
.human-polish.elegant-navy .nav-reserve{
  background:var(--nv-deep) !important;
  border-color:var(--nv-deep) !important;
  color:#fff !important;
}
.human-polish.elegant-navy .menu-toggle{
  color:var(--nv-deep) !important;
  border-color:rgba(15,41,66,.28) !important;
  background:#fff !important;
}

/* ファーストビュー：黒ではなく濃紺＋ホワイトの余白で上品に */
.human-polish.elegant-navy .hero{
  background:linear-gradient(180deg,#f7efe5 0%,#ffffff 100%) !important;
}
.human-polish.elegant-navy .hero-media{
  background:
    radial-gradient(circle at 18% 10%,rgba(232,215,207,.55),transparent 30%),
    linear-gradient(135deg,#f8f1e8 0%,#ffffff 48%,#eaf2f7 100%) !important;
  padding:18px !important;
  border-bottom:1px solid rgba(15,41,66,.08);
}
.human-polish.elegant-navy .hero-media::before{
  inset:18px !important;
  border:1px solid rgba(15,41,66,.14) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45) !important;
}
.human-polish.elegant-navy .hero-media img{
  object-fit:contain !important;
  background:linear-gradient(135deg,#f8f1e8,#ffffff 62%,#eaf2f7) !important;
  filter:contrast(1.02) saturate(1.02) !important;
  border-radius:0 !important;
}
.human-polish.elegant-navy .hero-copy{
  background:
    linear-gradient(180deg,#ffffff 0%,#fbf7ef 100%) !important;
  color:var(--nv-ink) !important;
}
.human-polish.elegant-navy .hero-copy::before{
  background:
    radial-gradient(circle at 15% 0%,rgba(232,215,207,.52),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(234,242,247,.88),transparent 34%),
    linear-gradient(90deg,transparent,rgba(216,196,163,.16),transparent) !important;
}
.human-polish.elegant-navy .hero-copy::after{
  content:"Premium Stay" !important;
  color:rgba(15,41,66,.055) !important;
}
.human-polish.elegant-navy .eyebrow{
  color:var(--nv-mid) !important;
}
.human-polish.elegant-navy .eyebrow::before,
.human-polish.elegant-navy .eyebrow::after{
  background:linear-gradient(90deg,transparent,var(--nv-beige),transparent) !important;
}
.human-polish.elegant-navy .hero-title-wrap::before,
.human-polish.elegant-navy .hero-title-wrap::after{
  background:var(--nv-beige) !important;
  box-shadow:0 0 0 8px rgba(216,196,163,.18) !important;
}
.human-polish.elegant-navy .hero-copy h1{
  color:var(--nv-deep) !important;
  text-shadow:none !important;
}
.human-polish.elegant-navy .hero-lead{
  color:#233f57 !important;
}
.human-polish.elegant-navy .hero-text{
  color:#63707a !important;
}
.human-polish.elegant-navy .primary-btn{
  background:linear-gradient(135deg,var(--nv-deep),var(--nv-mid)) !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(15,41,66,.18) !important;
  border:1px solid rgba(255,255,255,.3) !important;
}
.human-polish.elegant-navy .secondary-btn{
  color:var(--nv-deep) !important;
  border-color:rgba(15,41,66,.26) !important;
  background:rgba(255,255,255,.78) !important;
}
.human-polish.elegant-navy .secondary-btn:hover{
  background:var(--nv-deep) !important;
  color:#fff !important;
}

/* セクション全体：濃紺をアクセント化し、白・ベージュで明るく */
.human-polish.elegant-navy .campaign,
.human-polish.elegant-navy .lineup,
.human-polish.elegant-navy .story,
.human-polish.elegant-navy .terms-section,
.human-polish.elegant-navy .entry{
  background:var(--nv-cream) !important;
  color:var(--nv-ink) !important;
}
.human-polish.elegant-navy .hotels{
  background:linear-gradient(180deg,#ffffff 0%,#f6efe5 100%) !important;
  color:var(--nv-ink) !important;
}
.human-polish.elegant-navy .campaign-card,
.human-polish.elegant-navy .dark-story,
.human-polish.elegant-navy .terms-panel,
.human-polish.elegant-navy .entry-panel{
  background:rgba(255,255,255,.90) !important;
  border:1px solid rgba(216,196,163,.65) !important;
  box-shadow:0 24px 68px rgba(15,41,66,.10) !important;
  color:var(--nv-ink) !important;
}
.human-polish.elegant-navy .campaign-card,
.human-polish.elegant-navy .dark-story,
.human-polish.elegant-navy .terms-panel{
  border-radius:24px !important;
}
.human-polish.elegant-navy .left-line::before{
  background:linear-gradient(180deg,var(--nv-deep),var(--nv-beige)) !important;
}
.human-polish.elegant-navy .section-kicker{
  color:var(--nv-mid) !important;
}
.human-polish.elegant-navy .section-heading h2,
.human-polish.elegant-navy .dark-story h2,
.human-polish.elegant-navy .terms-panel h2,
.human-polish.elegant-navy .entry-panel h2{
  color:var(--nv-deep) !important;
}
.human-polish.elegant-navy .body-copy,
.human-polish.elegant-navy .dark-story p:not(.section-kicker),
.human-polish.elegant-navy .section-lead,
.human-polish.elegant-navy .light-note,
.human-polish.elegant-navy .model-copy p{
  color:#66727c !important;
}
.human-polish.elegant-navy .info-grid div{
  background:#fffaf5 !important;
  border-color:rgba(216,196,163,.55) !important;
  color:var(--nv-ink) !important;
}
.human-polish.elegant-navy .info-grid span,
.human-polish.elegant-navy .model-copy span,
.human-polish.elegant-navy .hotel-card span{
  color:var(--nv-mid) !important;
}

/* 写真：余白を“デザインされた余白”に見せる */
.human-polish.elegant-navy .hotel-card{
  background:#fff !important;
  border:1px solid rgba(216,196,163,.60) !important;
  box-shadow:0 18px 44px rgba(15,41,66,.12) !important;
  border-radius:18px !important;
  overflow:hidden;
}
.human-polish.elegant-navy .hotel-card::before{
  inset:12px !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:12px !important;
}
.human-polish.elegant-navy .hotel-card img{
  object-fit:cover !important;
  filter:contrast(1.02) saturate(1.02) brightness(1.02) !important;
}
.human-polish.elegant-navy .hotel-card::after{
  background:linear-gradient(0deg,rgba(15,41,66,.66),rgba(15,41,66,.04) 68%) !important;
}
.human-polish.elegant-navy .hotel-card p{
  color:#fff !important;
}
.human-polish.elegant-navy .model-card{
  background:#fff !important;
  border:1px solid rgba(216,196,163,.55) !important;
  box-shadow:0 20px 58px rgba(15,41,66,.10) !important;
  border-radius:22px !important;
  overflow:hidden;
}
.human-polish.elegant-navy .model-card::before{
  inset:12px !important;
  border:1px solid rgba(15,41,66,.08) !important;
  border-radius:14px !important;
}
.human-polish.elegant-navy .model-card img{
  object-fit:contain !important;
  background:
    radial-gradient(circle at 82% 12%,rgba(232,215,207,.44),transparent 30%),
    linear-gradient(135deg,#f9f4eb 0%,#ffffff 55%,#eaf2f7 100%) !important;
  filter:contrast(1.02) saturate(1.03) !important;
}
.human-polish.elegant-navy .model-copy h3{
  color:var(--nv-deep) !important;
}

/* 応募規約：重さを抑えた白ベースのリーガルブロック */
.human-polish.elegant-navy .terms-panel{
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(251,247,239,.96)) !important;
}
.human-polish.elegant-navy .terms-panel::before{
  color:rgba(15,41,66,.045) !important;
}
.human-polish.elegant-navy .terms-list{
  border-top:1px solid rgba(15,41,66,.16) !important;
  border-left:1px solid rgba(15,41,66,.16) !important;
}
.human-polish.elegant-navy .terms-item{
  background:rgba(255,255,255,.58) !important;
  border-right:1px solid rgba(15,41,66,.16) !important;
  border-bottom:1px solid rgba(15,41,66,.16) !important;
}
.human-polish.elegant-navy .terms-num{
  color:var(--nv-mid) !important;
}
.human-polish.elegant-navy .terms-item h3{
  color:var(--nv-deep) !important;
}
.human-polish.elegant-navy .terms-item p,
.human-polish.elegant-navy .terms-note{
  color:#64717b !important;
}
.human-polish.elegant-navy .terms-note{
  border-top:1px solid rgba(15,41,66,.16) !important;
}

/* CTA：濃紺の深さは残しつつ、黒っぽさをなくす */
.human-polish.elegant-navy .entry{
  background:linear-gradient(135deg,#ffffff 0%,#f7efe5 100%) !important;
}
.human-polish.elegant-navy .entry::before{
  background:
    radial-gradient(circle at 25% 0%,rgba(232,215,207,.44),transparent 32%),
    radial-gradient(circle at 82% 12%,rgba(234,242,247,.86),transparent 34%) !important;
}
.human-polish.elegant-navy .entry-panel{
  background:linear-gradient(135deg,var(--nv-deep),var(--nv-mid)) !important;
  color:#fff !important;
  border-color:rgba(216,196,163,.55) !important;
  border-radius:26px !important;
}
.human-polish.elegant-navy .entry-panel h2,
.human-polish.elegant-navy .entry-panel .section-kicker{
  color:#fff !important;
}
.human-polish.elegant-navy .entry-panel p{
  color:#eef4f8 !important;
}
.human-polish.elegant-navy .entry-panel .secondary-btn{
  border-color:rgba(255,255,255,.65) !important;
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
}
.human-polish.elegant-navy .footer{
  background:#f8f2ea !important;
  color:#6d7780 !important;
  border-top:1px solid rgba(216,196,163,.55) !important;
}

@media(max-width:960px){
  .human-polish.elegant-navy .hero-media{padding:12px !important;}
  .human-polish.elegant-navy .hero-media img{object-fit:contain !important;}
  .human-polish.elegant-navy .hero-media::before{inset:12px !important;}
  .human-polish.elegant-navy .campaign-card,
  .human-polish.elegant-navy .dark-story,
  .human-polish.elegant-navy .terms-panel,
  .human-polish.elegant-navy .entry-panel{border-radius:20px !important;}
  .human-polish.elegant-navy .hotel-card{border-radius:16px !important;}
  .human-polish.elegant-navy .model-card{border-radius:18px !important;}
}
@media(max-width:430px){
  .human-polish.elegant-navy .hero-copy h1{font-size:34px !important;}
  .human-polish.elegant-navy .primary-btn,
  .human-polish.elegant-navy .secondary-btn{border-radius:999px;}
}

/* =========================================================
   NAVY MAIN PREMIUM VARIANT
   濃紺をメインカラーにしながら、ベージュ・ホワイトで暗くなりすぎない女性向けプレミアムトーン。
   既存構成・応募規約・画像は維持し、最後に上書きするパターンCSSです。
   ========================================================= */
.human-polish.elegant-navy.navy-main{
  --main-navy:#102f4f;
  --main-navy-2:#173f66;
  --main-navy-3:#235a83;
  --main-cream:#fbf6eb;
  --main-white:#ffffff;
  --main-beige:#dec9a7;
  --main-beige-2:#f0e2c8;
  --main-rose:#ead8d0;
  --main-ink:#15283c;
  --main-muted:#6a7681;
  background:var(--main-cream) !important;
  color:var(--main-ink) !important;
}

/* Header */
.human-polish.elegant-navy.navy-main .site-header{
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid rgba(16,47,79,.14) !important;
  box-shadow:0 8px 28px rgba(16,47,79,.10) !important;
}
.human-polish.elegant-navy.navy-main .global-nav{color:var(--main-navy) !important;}
.human-polish.elegant-navy.navy-main .global-nav a:not(.nav-reserve)::after{
  background:linear-gradient(90deg,var(--main-beige),var(--main-navy-3)) !important;
}
.human-polish.elegant-navy.navy-main .nav-reserve,
.human-polish.elegant-navy.navy-main .primary-btn{
  background:linear-gradient(135deg,var(--main-navy),var(--main-navy-3)) !important;
  border-color:rgba(255,255,255,.35) !important;
  color:#fff !important;
  box-shadow:0 16px 36px rgba(16,47,79,.22) !important;
}

/* Hero: 濃紺を面で使い、上品な明るさを残す */
.human-polish.elegant-navy.navy-main .hero{
  background:linear-gradient(180deg,var(--main-navy) 0%,var(--main-navy-2) 72%,#f7efe4 72%,#fbf6eb 100%) !important;
}
.human-polish.elegant-navy.navy-main .hero-media{
  width:min(1460px,100%);
  padding:18px !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(222,201,167,.22),transparent 31%),
    linear-gradient(135deg,var(--main-navy) 0%,var(--main-navy-2) 100%) !important;
  border-bottom:0 !important;
}
.human-polish.elegant-navy.navy-main .hero-media::before{
  inset:18px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(222,201,167,.20) !important;
}
.human-polish.elegant-navy.navy-main .hero-media img{
  object-fit:contain !important;
  background:linear-gradient(135deg,#16385a,#f7efe4 55%,#edf4f8) !important;
  filter:contrast(1.02) saturate(1.03) !important;
}
.human-polish.elegant-navy.navy-main .hero-copy{
  background:
    radial-gradient(circle at 8% 0%,rgba(234,216,208,.58),transparent 29%),
    radial-gradient(circle at 88% 10%,rgba(237,244,248,.96),transparent 32%),
    linear-gradient(180deg,#fbf6eb 0%,#fff 100%) !important;
  color:var(--main-ink) !important;
}
.human-polish.elegant-navy.navy-main .hero-copy::after{
  content:"Premium Stay" !important;
  color:rgba(16,47,79,.075) !important;
}
.human-polish.elegant-navy.navy-main .eyebrow,
.human-polish.elegant-navy.navy-main .section-kicker{
  color:var(--main-navy-3) !important;
}
.human-polish.elegant-navy.navy-main .hero-copy h1,
.human-polish.elegant-navy.navy-main .section-heading h2,
.human-polish.elegant-navy.navy-main .terms-panel h2,
.human-polish.elegant-navy.navy-main .dark-story h2{
  color:var(--main-navy) !important;
}
.human-polish.elegant-navy.navy-main .hero-lead{color:#203b56 !important;}
.human-polish.elegant-navy.navy-main .hero-text{color:var(--main-muted) !important;}
.human-polish.elegant-navy.navy-main .secondary-btn{
  color:var(--main-navy) !important;
  border-color:rgba(16,47,79,.28) !important;
  background:rgba(255,255,255,.82) !important;
}

/* Alternating section backgrounds: 濃紺メインだがページ全体は重くしない */
.human-polish.elegant-navy.navy-main .campaign{
  background:linear-gradient(180deg,#fbf6eb 0%,#fff 100%) !important;
}
.human-polish.elegant-navy.navy-main .hotels{
  background:
    radial-gradient(circle at 12% 0%,rgba(222,201,167,.16),transparent 30%),
    linear-gradient(180deg,var(--main-navy) 0%,var(--main-navy-2) 100%) !important;
  color:#fff !important;
}
.human-polish.elegant-navy.navy-main .hotels .section-heading h2,
.human-polish.elegant-navy.navy-main .hotels .section-kicker{
  color:#fff !important;
}
.human-polish.elegant-navy.navy-main .hotels .section-lead{
  color:#dfeaf1 !important;
}
.human-polish.elegant-navy.navy-main .story{
  background:linear-gradient(180deg,#fff 0%,#f7efe4 100%) !important;
}
.human-polish.elegant-navy.navy-main .lineup{
  background:#fbf6eb !important;
}
.human-polish.elegant-navy.navy-main .terms-section{
  background:
    radial-gradient(circle at 86% 0%,rgba(237,244,248,.90),transparent 32%),
    linear-gradient(180deg,#fff 0%,#fbf6eb 100%) !important;
}

/* Panels */
.human-polish.elegant-navy.navy-main .campaign-card,
.human-polish.elegant-navy.navy-main .dark-story,
.human-polish.elegant-navy.navy-main .terms-panel{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(222,201,167,.70) !important;
  box-shadow:0 24px 70px rgba(16,47,79,.11) !important;
  border-radius:26px !important;
}
.human-polish.elegant-navy.navy-main .info-grid div{
  background:#fff !important;
  border-color:rgba(222,201,167,.62) !important;
}
.human-polish.elegant-navy.navy-main .left-line::before{
  background:linear-gradient(180deg,var(--main-navy),var(--main-beige)) !important;
}

/* Photo treatment */
.human-polish.elegant-navy.navy-main .hotel-card{
  background:#fff !important;
  border:1px solid rgba(222,201,167,.62) !important;
  box-shadow:0 18px 48px rgba(6,20,36,.22) !important;
  border-radius:18px !important;
}
.human-polish.elegant-navy.navy-main .hotel-card::after{
  background:linear-gradient(0deg,rgba(16,47,79,.75),rgba(16,47,79,.05) 67%) !important;
}
.human-polish.elegant-navy.navy-main .hotel-card span{color:var(--main-beige-2) !important;}
.human-polish.elegant-navy.navy-main .hotel-card p{color:#fff !important;}
.human-polish.elegant-navy.navy-main .model-card{
  background:#fff !important;
  border:1px solid rgba(222,201,167,.62) !important;
  box-shadow:0 20px 54px rgba(16,47,79,.10) !important;
  border-radius:22px !important;
}
.human-polish.elegant-navy.navy-main .model-card img{
  object-fit:contain !important;
  background:
    radial-gradient(circle at 80% 10%,rgba(234,216,208,.54),transparent 30%),
    linear-gradient(135deg,#f9f2e8 0%,#ffffff 52%,#eaf2f7 100%) !important;
}
.human-polish.elegant-navy.navy-main .model-copy h3{color:var(--main-navy) !important;}

/* Terms */
.human-polish.elegant-navy.navy-main .terms-panel::before{color:rgba(16,47,79,.055) !important;}
.human-polish.elegant-navy.navy-main .terms-list{
  border-top:1px solid rgba(16,47,79,.18) !important;
  border-left:1px solid rgba(16,47,79,.18) !important;
}
.human-polish.elegant-navy.navy-main .terms-item{
  background:rgba(255,255,255,.62) !important;
  border-right:1px solid rgba(16,47,79,.18) !important;
  border-bottom:1px solid rgba(16,47,79,.18) !important;
}
.human-polish.elegant-navy.navy-main .terms-num,
.human-polish.elegant-navy.navy-main .terms-item h3{color:var(--main-navy) !important;}
.human-polish.elegant-navy.navy-main .terms-item p,
.human-polish.elegant-navy.navy-main .terms-note{color:#63717d !important;}

/* CTA */
.human-polish.elegant-navy.navy-main .entry{
  background:linear-gradient(180deg,#fbf6eb 0%,#fff 100%) !important;
}
.human-polish.elegant-navy.navy-main .entry-panel{
  background:
    radial-gradient(circle at 12% 0%,rgba(222,201,167,.20),transparent 32%),
    linear-gradient(135deg,var(--main-navy),var(--main-navy-2)) !important;
  color:#fff !important;
  border:1px solid rgba(222,201,167,.58) !important;
  border-radius:28px !important;
  box-shadow:0 28px 76px rgba(16,47,79,.22) !important;
}
.human-polish.elegant-navy.navy-main .entry-panel h2,
.human-polish.elegant-navy.navy-main .entry-panel .section-kicker{color:#fff !important;}
.human-polish.elegant-navy.navy-main .entry-panel p{color:#eef5f8 !important;}
.human-polish.elegant-navy.navy-main .footer{
  background:#102f4f !important;
  color:#dce8ef !important;
  border-top:1px solid rgba(222,201,167,.45) !important;
}

@media(max-width:960px){
  .human-polish.elegant-navy.navy-main .hero{
    background:linear-gradient(180deg,var(--main-navy) 0%,var(--main-navy-2) 45%,#fbf6eb 45%,#fff 100%) !important;
  }
  .human-polish.elegant-navy.navy-main .hero-media{padding:12px !important;}
  .human-polish.elegant-navy.navy-main .hero-media img{object-fit:contain !important;}
}

/* =========================================================
   DEEP NAVY PREMIUM VARIANT
   濃紺の割合は維持し、色味だけを黒に近い深い濃紺へ調整。
   黒そのものは使わず、#06182c / #081f38 / #0d2c4a を中心に構成。
   ベージュと白を差し色にして、暗く重すぎないプレミアム感を残します。
   ========================================================= */
.human-polish.elegant-navy.navy-main.deep-navy{
  --dn-ink:#06182c;
  --dn-ink2:#081f38;
  --dn-ink3:#0d2c4a;
  --dn-blue:#143d63;
  --dn-cream:#fbf6ec;
  --dn-white:#ffffff;
  --dn-beige:#d4bd95;
  --dn-beige2:#efe0c2;
  --dn-muted:#6b7680;
  background:var(--dn-cream) !important;
  color:#142638 !important;
}

/* Header */
.human-polish.elegant-navy.navy-main.deep-navy .site-header{
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid rgba(6,24,44,.16) !important;
  box-shadow:0 10px 30px rgba(6,24,44,.12) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .global-nav{color:var(--dn-ink2) !important;}
.human-polish.elegant-navy.navy-main.deep-navy .nav-reserve,
.human-polish.elegant-navy.navy-main.deep-navy .primary-btn{
  background:linear-gradient(135deg,var(--dn-ink),var(--dn-ink3)) !important;
  color:#fff !important;
  border-color:rgba(212,189,149,.35) !important;
  box-shadow:0 18px 42px rgba(6,24,44,.28) !important;
}

/* Hero: 黒に近い濃紺を主役に */
.human-polish.elegant-navy.navy-main.deep-navy .hero{
  background:linear-gradient(180deg,var(--dn-ink) 0%,var(--dn-ink2) 76%,#f7efe4 76%,#fbf6ec 100%) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-media{
  background:
    radial-gradient(circle at 12% 0%,rgba(212,189,149,.17),transparent 32%),
    linear-gradient(135deg,var(--dn-ink) 0%,var(--dn-ink2) 55%,var(--dn-ink3) 100%) !important;
  border-bottom:0 !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-media::before{
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 0 0 1px rgba(212,189,149,.18) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-media img{
  object-fit:contain !important;
  background:
    linear-gradient(135deg,var(--dn-ink2) 0%,#173b5b 34%,#f4ebdd 58%,#eaf2f7 100%) !important;
  filter:contrast(1.03) saturate(1.03) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-copy{
  background:
    radial-gradient(circle at 10% 0%,rgba(232,215,207,.48),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(234,242,247,.85),transparent 30%),
    linear-gradient(180deg,#fbf6ec 0%,#fff 100%) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-copy::after{
  color:rgba(6,24,44,.075) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .eyebrow,
.human-polish.elegant-navy.navy-main.deep-navy .section-kicker{
  color:var(--dn-blue) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .eyebrow::before,
.human-polish.elegant-navy.navy-main.deep-navy .eyebrow::after{
  background:linear-gradient(90deg,transparent,var(--dn-beige),transparent) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-copy h1,
.human-polish.elegant-navy.navy-main.deep-navy .section-heading h2,
.human-polish.elegant-navy.navy-main.deep-navy .terms-panel h2,
.human-polish.elegant-navy.navy-main.deep-navy .dark-story h2{
  color:var(--dn-ink) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hero-lead{color:#1a344d !important;}
.human-polish.elegant-navy.navy-main.deep-navy .hero-text{color:var(--dn-muted) !important;}
.human-polish.elegant-navy.navy-main.deep-navy .secondary-btn{
  color:var(--dn-ink) !important;
  border-color:rgba(6,24,44,.28) !important;
  background:rgba(255,255,255,.84) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .secondary-btn:hover{
  background:var(--dn-ink) !important;
  color:#fff !important;
}

/* Section backgrounds */
.human-polish.elegant-navy.navy-main.deep-navy .hotels{
  background:
    radial-gradient(circle at 12% 0%,rgba(212,189,149,.14),transparent 30%),
    linear-gradient(180deg,var(--dn-ink) 0%,var(--dn-ink2) 58%,var(--dn-ink3) 100%) !important;
  color:#fff !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hotels .section-heading h2,
.human-polish.elegant-navy.navy-main.deep-navy .hotels .section-kicker{
  color:#fff !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hotels .section-lead{color:#d9e5ed !important;}
.human-polish.elegant-navy.navy-main.deep-navy .campaign,
.human-polish.elegant-navy.navy-main.deep-navy .story,
.human-polish.elegant-navy.navy-main.deep-navy .lineup,
.human-polish.elegant-navy.navy-main.deep-navy .terms-section{
  background:linear-gradient(180deg,#fbf6ec 0%,#fff 100%) !important;
}

/* Cards / panels */
.human-polish.elegant-navy.navy-main.deep-navy .campaign-card,
.human-polish.elegant-navy.navy-main.deep-navy .dark-story,
.human-polish.elegant-navy.navy-main.deep-navy .terms-panel{
  background:rgba(255,255,255,.95) !important;
  border:1px solid rgba(212,189,149,.70) !important;
  box-shadow:0 26px 74px rgba(6,24,44,.13) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .left-line::before{
  background:linear-gradient(180deg,var(--dn-ink),var(--dn-beige)) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .info-grid div{
  background:#fff !important;
  border-color:rgba(212,189,149,.64) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .info-grid span,
.human-polish.elegant-navy.navy-main.deep-navy .model-copy span{
  color:var(--dn-blue) !important;
}

/* Photos */
.human-polish.elegant-navy.navy-main.deep-navy .hotel-card{
  background:#fff !important;
  border:1px solid rgba(212,189,149,.64) !important;
  box-shadow:0 22px 54px rgba(6,24,44,.30) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hotel-card::after{
  background:linear-gradient(0deg,rgba(6,24,44,.80),rgba(6,24,44,.06) 68%) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .hotel-card span{color:var(--dn-beige2) !important;}
.human-polish.elegant-navy.navy-main.deep-navy .hotel-card p{color:#fff !important;}
.human-polish.elegant-navy.navy-main.deep-navy .model-card{
  background:#fff !important;
  border:1px solid rgba(212,189,149,.64) !important;
  box-shadow:0 20px 58px rgba(6,24,44,.13) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .model-card img{
  object-fit:contain !important;
  background:
    radial-gradient(circle at 82% 8%,rgba(232,215,207,.48),transparent 31%),
    linear-gradient(135deg,#f8f1e7 0%,#ffffff 52%,#e8f0f6 100%) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .model-copy h3{color:var(--dn-ink) !important;}

/* Terms */
.human-polish.elegant-navy.navy-main.deep-navy .terms-panel::before{color:rgba(6,24,44,.055) !important;}
.human-polish.elegant-navy.navy-main.deep-navy .terms-list{
  border-top:1px solid rgba(6,24,44,.18) !important;
  border-left:1px solid rgba(6,24,44,.18) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .terms-item{
  border-right:1px solid rgba(6,24,44,.18) !important;
  border-bottom:1px solid rgba(6,24,44,.18) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .terms-num,
.human-polish.elegant-navy.navy-main.deep-navy .terms-item h3{color:var(--dn-ink) !important;}
.human-polish.elegant-navy.navy-main.deep-navy .terms-item p,
.human-polish.elegant-navy.navy-main.deep-navy .terms-note{color:#63717d !important;}

/* CTA / footer */
.human-polish.elegant-navy.navy-main.deep-navy .entry{
  background:linear-gradient(180deg,#fbf6ec 0%,#fff 100%) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .entry-panel{
  background:
    radial-gradient(circle at 12% 0%,rgba(212,189,149,.16),transparent 32%),
    linear-gradient(135deg,var(--dn-ink) 0%,var(--dn-ink2) 64%,var(--dn-ink3) 100%) !important;
  border:1px solid rgba(212,189,149,.58) !important;
  box-shadow:0 30px 80px rgba(6,24,44,.26) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .entry-panel h2,
.human-polish.elegant-navy.navy-main.deep-navy .entry-panel .section-kicker{color:#fff !important;}
.human-polish.elegant-navy.navy-main.deep-navy .entry-panel p{color:#edf4f8 !important;}
.human-polish.elegant-navy.navy-main.deep-navy .entry-panel .secondary-btn{
  border-color:rgba(255,255,255,.62) !important;
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy .footer{
  background:var(--dn-ink) !important;
  color:#d8e4ec !important;
  border-top:1px solid rgba(212,189,149,.42) !important;
}

@media(max-width:960px){
  .human-polish.elegant-navy.navy-main.deep-navy .hero{
    background:linear-gradient(180deg,var(--dn-ink) 0%,var(--dn-ink2) 48%,#fbf6ec 48%,#fff 100%) !important;
  }
  .human-polish.elegant-navy.navy-main.deep-navy .hero-media{padding:12px !important;}
  .human-polish.elegant-navy.navy-main.deep-navy .hero-media img{object-fit:contain !important;}
}

/* =========================================================
   LINEUP DARK PREMIUM UPDATE
   対象車種セクションを深濃紺ベースのダークトーンに変更。
   車両写真は切れにくさを維持しながら、余白を上質な濃紺背景として見せる。
   ========================================================= */
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 0%,rgba(212,189,149,.16),transparent 30%),
    radial-gradient(circle at 90% 18%,rgba(20,61,99,.24),transparent 34%),
    linear-gradient(180deg,#06182c 0%,#081f38 58%,#0d2c4a 100%) !important;
  color:#fff !important;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup::before{
  content:"TARGET MODELS";
  position:absolute;
  right:4vw;
  top:42px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(56px,8vw,138px);
  letter-spacing:-.065em;
  line-height:1;
  color:rgba(255,255,255,.045);
  pointer-events:none;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup .container{
  position:relative;
  z-index:1;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup .section-kicker{
  color:#efe0c2 !important;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup .section-heading h2{
  color:#fff !important;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup .section-lead{
  color:#d9e5ed !important;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-grid{
  gap:24px;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
  border:1px solid rgba(212,189,149,.48) !important;
  border-radius:20px !important;
  box-shadow:0 26px 70px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(4px);
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-card::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:14px !important;
  box-shadow:inset 0 0 0 1px rgba(212,189,149,.09) !important;
  pointer-events:none;
  z-index:2;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:54%;
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);
  pointer-events:none;
  z-index:1;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.15),transparent 42%),
    radial-gradient(circle at 82% 12%,rgba(212,189,149,.18),transparent 30%),
    linear-gradient(135deg,#071a30 0%,#0b2744 48%,#12385c 100%) !important;
  filter:contrast(1.04) saturate(1.04) !important;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-copy{
  position:relative;
  z-index:3;
  padding:30px 32px 36px !important;
  background:linear-gradient(180deg,rgba(6,24,44,.20),rgba(6,24,44,.52));
  border-top:1px solid rgba(212,189,149,.28);
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-copy span{
  color:#efe0c2 !important;
  letter-spacing:.20em;
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-copy h3{
  color:#fff !important;
  text-shadow:0 10px 28px rgba(0,0,0,.22);
}
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-copy p{
  color:#dbe7ee !important;
}
/* 画像下の余白や背景が雑に見えないよう、淡いベージュラインを追加 */
.human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-copy::before{
  content:"";
  display:block;
  width:52px;
  height:1px;
  margin:0 0 16px;
  background:linear-gradient(90deg,#d4bd95,transparent);
}

@media(max-width:960px){
  .human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .lineup::before{
    right:18px;
    top:34px;
    font-size:72px;
  }
  .human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-card img{
    object-fit:contain !important;
  }
}
@media(max-width:430px){
  .human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-card{
    border-radius:18px !important;
  }
  .human-polish.elegant-navy.navy-main.deep-navy.lineup-dark .model-copy{
    padding:26px 24px 30px !important;
  }
}

/* =========================================================
   CONCEPT CATCH EMPHASIS UPDATE
   コンセプト末尾のコピーを“おさえのキャッチ”として見せるための追加CSS。
   既存セクション・配色・写真・他レイアウトには影響しないよう .dark-story 内だけに限定。
   ========================================================= */
.dark-story .concept-catch{
  position:relative;
  margin-top:34px;
  padding:34px 38px 32px;
  border:1px solid rgba(212,189,149,.72);
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,246,236,.96)),
    radial-gradient(circle at 12% 0%,rgba(212,189,149,.18),transparent 34%);
  box-shadow:0 22px 56px rgba(6,24,44,.10);
  overflow:hidden;
}
.dark-story .concept-catch::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:5px;
  height:100%;
  background:linear-gradient(180deg,#06182c,#d4bd95);
}
.dark-story .concept-catch::after{
  content:"CONCEPT MESSAGE";
  position:absolute;
  right:28px;
  bottom:8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,4.2vw,56px);
  line-height:1;
  letter-spacing:-.05em;
  color:rgba(6,24,44,.055);
  white-space:nowrap;
  pointer-events:none;
}
.dark-story .concept-catch .concept-catch-main,
.dark-story .concept-catch .concept-catch-sub{
  position:relative;
  z-index:1;
  margin:0;
  color:#06182c !important;
}
.dark-story .concept-catch .concept-catch-main{
  font-family:Georgia,"Times New Roman","Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:clamp(26px,3.25vw,44px);
  line-height:1.34;
  letter-spacing:-.025em;
  font-weight:700;
}
.dark-story .concept-catch .concept-catch-sub{
  margin-top:12px;
  padding-top:15px;
  border-top:1px solid rgba(6,24,44,.16);
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.75;
  letter-spacing:.04em;
  font-weight:800;
  color:#435160 !important;
}
@media(max-width:960px){
  .dark-story .concept-catch{
    margin-top:28px;
    padding:28px 24px 26px;
    border-radius:18px;
  }
  .dark-story .concept-catch::after{
    right:18px;
    bottom:8px;
    font-size:36px;
  }
}
@media(max-width:430px){
  .dark-story .concept-catch{
    padding:25px 20px 24px;
  }
  .dark-story .concept-catch .concept-catch-main{
    font-size:27px;
    line-height:1.42;
  }
  .dark-story .concept-catch .concept-catch-sub{
    font-size:16px;
    line-height:1.7;
  }
}

/* =========================================================
   CONCEPT CATCH - YOIN VERSION
   余韻を出すため、白いカード感を少し抑え、
   文字そのものが印象に残る“静かな締めコピー”として再設計。
   既存デザインは変えず、Concept末尾だけに限定。
   ========================================================= */
.dark-story .concept-catch{
  position:relative;
  margin-top:42px;
  padding:46px 54px 44px;
  border-radius:2px 26px 2px 26px;
  border:0;
  background:
    linear-gradient(135deg,rgba(5,22,42,.97),rgba(11,42,66,.93) 54%,rgba(20,57,74,.90)),
    radial-gradient(circle at 12% 12%,rgba(224,199,156,.22),transparent 34%);
  box-shadow:
    0 34px 78px rgba(6,24,44,.22),
    inset 0 0 0 1px rgba(224,199,156,.28);
  overflow:hidden;
}
.dark-story .concept-catch::before{
  content:"";
  position:absolute;
  left:38px;
  top:28px;
  width:72px;
  height:1px;
  background:linear-gradient(90deg,#d8bf89,rgba(216,191,137,0));
}
.dark-story .concept-catch::after{
  content:"“";
  position:absolute;
  right:34px;
  top:4px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(86px,12vw,156px);
  line-height:1;
  color:rgba(232,211,172,.12);
  pointer-events:none;
}
.dark-story .concept-catch .concept-catch-main,
.dark-story .concept-catch .concept-catch-sub{
  position:relative;
  z-index:1;
  margin:0;
}
.dark-story .concept-catch .concept-catch-main{
  color:#fff8e9 !important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  font-size:clamp(30px,4.15vw,58px);
  line-height:1.34;
  letter-spacing:.015em;
  font-weight:700;
  text-shadow:0 3px 18px rgba(0,0,0,.32);
}
.dark-story .concept-catch .concept-catch-sub{
  display:inline-block;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(224,199,156,.36);
  color:#e8d3ac !important;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:clamp(17px,1.55vw,23px);
  line-height:1.9;
  letter-spacing:.11em;
  font-weight:700;
}
.dark-story .concept-catch .concept-catch-sub::before{
  content:"";
  display:inline-block;
  width:38px;
  height:1px;
  margin-right:14px;
  vertical-align:middle;
  background:rgba(224,199,156,.72);
}
@media(max-width:960px){
  .dark-story .concept-catch{
    margin-top:34px;
    padding:38px 30px 36px;
    border-radius:2px 22px 2px 22px;
  }
  .dark-story .concept-catch::before{
    left:28px;
    top:24px;
    width:58px;
  }
  .dark-story .concept-catch::after{
    right:22px;
    top:4px;
    font-size:96px;
  }
}
@media(max-width:430px){
  .dark-story .concept-catch{
    padding:34px 22px 32px;
    margin-top:30px;
  }
  .dark-story .concept-catch .concept-catch-main{
    font-size:30px;
    line-height:1.48;
    letter-spacing:.01em;
  }
  .dark-story .concept-catch .concept-catch-sub{
    display:block;
    margin-top:18px;
    padding-top:17px;
    font-size:15.5px;
    line-height:1.8;
    letter-spacing:.07em;
  }
  .dark-story .concept-catch .concept-catch-sub::before{
    width:28px;
    margin-right:10px;
  }
}

/* =========================================================
   CONCEPT CATCH - SIMPLE VERSION
   強調しすぎない“おさえのキャッチ”用。
   見出しより小さく、リード本文より少し大きいサイズに調整。
   既存デザインは変えず、Concept末尾だけを上書き。
   ========================================================= */
.dark-story .concept-catch{
  margin-top:28px !important;
  padding:22px 0 4px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.dark-story .concept-catch::before{
  content:"" !important;
  position:relative !important;
  display:block !important;
  left:auto !important;
  top:auto !important;
  width:76px !important;
  height:1px !important;
  margin:0 0 18px !important;
  background:#c7a96c !important;
}
.dark-story .concept-catch::after{
  content:none !important;
}
.dark-story .concept-catch .concept-catch-main,
.dark-story .concept-catch .concept-catch-sub{
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
  text-shadow:none !important;
}
.dark-story .concept-catch .concept-catch-main{
  color:#06182c !important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif !important;
  font-size:clamp(24px,2.2vw,34px) !important;
  line-height:1.55 !important;
  letter-spacing:.035em !important;
  font-weight:700 !important;
}
.dark-story .concept-catch .concept-catch-sub{
  display:block !important;
  margin-top:8px !important;
  padding-top:0 !important;
  border-top:0 !important;
  color:#6b7480 !important;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif !important;
  font-size:clamp(17px,1.25vw,20px) !important;
  line-height:1.8 !important;
  letter-spacing:.045em !important;
  font-weight:700 !important;
}
.dark-story .concept-catch .concept-catch-sub::before{
  content:none !important;
}
@media(max-width:960px){
  .dark-story .concept-catch{
    margin-top:24px !important;
    padding-top:18px !important;
  }
  .dark-story .concept-catch .concept-catch-main{
    font-size:clamp(22px,4.2vw,30px) !important;
    line-height:1.55 !important;
  }
  .dark-story .concept-catch .concept-catch-sub{
    font-size:16px !important;
    line-height:1.75 !important;
  }
}
@media(max-width:430px){
  .dark-story .concept-catch{
    margin-top:22px !important;
    padding-top:16px !important;
  }
  .dark-story .concept-catch::before{
    width:54px !important;
    margin-bottom:14px !important;
  }
  .dark-story .concept-catch .concept-catch-main{
    font-size:22px !important;
    line-height:1.58 !important;
  }
  .dark-story .concept-catch .concept-catch-sub{
    font-size:15.5px !important;
    line-height:1.78 !important;
  }
}

/* =========================================================
   CONCEPT CATCH - SIMPLE PLUS VERSION
   直前のシンプル版をベースに、ほんの少しだけ強調。
   見出しより小さく、リード本文より大きいバランスは維持。
   ========================================================= */
.dark-story .concept-catch{
  margin-top:30px !important;
  padding:24px 28px 20px !important;
  border-left:3px solid #c7a96c !important;
  border-radius:0 14px 14px 0 !important;
  background:linear-gradient(90deg,rgba(199,169,108,.105),rgba(199,169,108,.026) 68%,rgba(255,255,255,0)) !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.dark-story .concept-catch::before{
  content:"" !important;
  position:relative !important;
  display:block !important;
  left:auto !important;
  top:auto !important;
  width:92px !important;
  height:1px !important;
  margin:0 0 18px !important;
  background:linear-gradient(90deg,#c7a96c,rgba(199,169,108,0)) !important;
}
.dark-story .concept-catch::after{
  content:none !important;
}
.dark-story .concept-catch .concept-catch-main{
  color:#06182c !important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif !important;
  font-size:clamp(26px,2.42vw,38px) !important;
  line-height:1.52 !important;
  letter-spacing:.035em !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
.dark-story .concept-catch .concept-catch-sub{
  display:block !important;
  margin-top:10px !important;
  padding-top:0 !important;
  border-top:0 !important;
  color:#4f5c67 !important;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif !important;
  font-size:clamp(18px,1.35vw,21px) !important;
  line-height:1.85 !important;
  letter-spacing:.05em !important;
  font-weight:800 !important;
}
.dark-story .concept-catch .concept-catch-sub::before{
  content:none !important;
}
@media(max-width:960px){
  .dark-story .concept-catch{
    margin-top:26px !important;
    padding:22px 22px 18px !important;
  }
  .dark-story .concept-catch .concept-catch-main{
    font-size:clamp(23px,4.4vw,31px) !important;
    line-height:1.55 !important;
  }
  .dark-story .concept-catch .concept-catch-sub{
    font-size:16.5px !important;
    line-height:1.78 !important;
  }
}
@media(max-width:430px){
  .dark-story .concept-catch{
    margin-top:24px !important;
    padding:20px 18px 17px !important;
    border-left-width:2px !important;
    border-radius:0 12px 12px 0 !important;
  }
  .dark-story .concept-catch::before{
    width:64px !important;
    margin-bottom:14px !important;
  }
  .dark-story .concept-catch .concept-catch-main{
    font-size:23px !important;
    line-height:1.58 !important;
  }
  .dark-story .concept-catch .concept-catch-sub{
    font-size:16px !important;
    line-height:1.78 !important;
  }
}

/* =========================================================
   TOP HERO WATERMARK UPDATE
   Premium Stay の反対側に Premium Drive を同じトーンで追加。
   その他のデザイン・構成には影響しないよう hero-copy 内だけに限定。
   ========================================================= */
.hero-copy{position:relative;}
.hero-copy-inner{position:relative;z-index:1;}
.hero-copy-deco{
  position:absolute;
  z-index:0;
  pointer-events:none;
  user-select:none;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(56px,7vw,118px);
  line-height:.8;
  letter-spacing:-.045em;
  white-space:nowrap;
  color:rgba(6,24,44,.075);
}
.hero-copy-deco-drive{
  left:5vw;
  bottom:16px;
}
@media(max-width:960px){
  .hero-copy-deco{
    font-size:clamp(42px,11vw,76px);
    opacity:.82;
  }
  .hero-copy-deco-drive{
    left:18px;
    bottom:10px;
  }
}
@media(max-width:430px){
  .hero-copy-deco{
    font-size:42px;
    opacity:.55;
  }
  .hero-copy-deco-drive{
    left:14px;
    bottom:8px;
  }
}

/* =========================================================
   DMS MOBILE POSITION FIX 2026-07-17
   スマホ時のみ Premium Drive をhero-copyコラム左上に配置。
   Premium Stay（既存の ::after）は下部のまま維持し、他デザインは変更しない。
   ========================================================= */
.hero-copy{
  position:relative !important;
  overflow:hidden !important;
}
.hero-copy-inner{
  position:relative !important;
  z-index:2 !important;
}
.hero-copy-deco-drive{
  z-index:0 !important;
  pointer-events:none !important;
  user-select:none !important;
}
@media(max-width:560px){
  .hero-copy-inner{
    padding-top:72px !important;
  }
  .hero-copy-deco,
  .hero-copy-deco-drive{
    display:block !important;
    position:absolute !important;
    left:14px !important;
    right:auto !important;
    top:14px !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:42px !important;
    line-height:.8 !important;
    letter-spacing:-.05em !important;
    white-space:nowrap !important;
    color:rgba(6,24,44,.075) !important;
    opacity:1 !important;
    transform:none !important;
  }
}
@media(max-width:430px){
  .hero-copy-inner{
    padding-top:70px !important;
  }
  .hero-copy-deco,
  .hero-copy-deco-drive{
    left:12px !important;
    top:12px !important;
    font-size:40px !important;
  }
}
.entry-panel {
  padding-bottom: 56px !important;
}

@media (max-width: 560px) {
  .entry-panel {
    padding-bottom: 46px !important;
  }

  .entry-panel .hero-actions {
    gap: 12px;
  }
}
/* Entry見出しのサイズ調整 */
.entry-panel h2 {
  font*size: clamp(34px, 3.8vw, 56px) !im*ortant;
  line-height: 1.35 !important;
}

/* スマホ表示用 */
@media (max-width: 560px) {
  .entry-panel h2 {
    font-size: 32px !important;
    line-height: 1.45 !important;
  }
}
/* スマホ時：Premium Stayの見切れ防止 */
@media (max-width: 560px) {
  .hero-copy::after,
  .hero-copy-deco-stay {
    font-size: 42px !important;
    line-height: .8 !important;
    letter-spacing: -.05em !important;
    right: 12px !important;
    bottom: 34px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  .hero-copy::after,
  .hero-copy-deco-stay {
    font-size: 40px !important;
    right: 10px !important;
    bottom: 30px !important;
  }
}
/* スマホ時：Concept見出しを2行で収める */
@media (max-width: 560px) {
  .s*ory .dark-story h2 {
    font-size* 24px !important;
    line-height:*1.45 !important;
    letter-spacin*: -0.04em !important;
    white-sp*ce: nowrap !important;
    margin:*0 !important;
  }

  .story .dark-*tory h2 + h2 {
    margin-top: 0 !*mportant;
  }
}

@media (max-width* 430px) {
  .story .dark-story h2 *
    font-size: 23px !important;
 *  line-height: 1.45 !important;
  *
}
/* =========================================================
   MOBILE PREMIUM STAY SIZE FIX 2026-07-17
   スマホ表示時だけ、下部の Premium Stay を
   左上の Premium Drive と同じ大きさに統一。
   位置・色・その他デザインは極力そのまま維持。
   ========================================================= */
@media (max-width: 560px) {
  .human-polish.elegant-navy.navy-main.deep-navy .hero-copy::after,
  .hero-copy::after,
  .hero-copy-deco-stay {
    font-size: 42px !important;
    line-height: .8 !important;
    letter-spacing: -.05em !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  .human-polish.elegant-navy.navy-main.deep-navy .hero-copy::after,
  .hero-copy::after,
  .hero-copy-deco-stay {
    font-size: 40px !important;
    line-height: .8 !important;
    letter-spacing: -.05em !important;
    white-space: nowrap !important;
  }
}
