  :root{
    --abyss:#04070E;--deep:#0A1826;--deep-2:#0E2233;--sea:#15455F;
    --current:#4FB6CE;--current-dim:#2C7E93;--gold:#C8A45D;--gold-lo:#8A7038;
    --paper:#DFE8EC;--paper-dim:#8698A6;--paper-faint:#586C7A;--dawn:#EFE4CE;
    --font-display:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
    --font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic",system-ui,-apple-system,sans-serif;
    --gutter:clamp(20px,5vw,64px);--maxw:1080px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--abyss);color:var(--paper);font-family:var(--font-body);
    font-weight:300;line-height:1.95;letter-spacing:.03em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
  ::selection{background:rgba(79,182,206,.28);color:#fff;}
  a{color:inherit;}

  /* 海の中 */
  .ocean-base{position:fixed;inset:0;z-index:-3;pointer-events:none;background:linear-gradient(180deg,#123A52,#081C2A);}
  .ocean-surface{position:fixed;inset:0 0 auto 0;height:80vh;z-index:-3;pointer-events:none;background:radial-gradient(100% 62% at 50% -14%, rgba(152,228,248,.30) 0%, rgba(64,154,184,.09) 30%, transparent 58%);}
  #ocean-gl,#ocean{position:fixed;inset:0;z-index:-2;pointer-events:none;display:block;width:100%;height:100%;}
  .ocean-vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(125% 98% at 50% 26%, transparent 42%, rgba(2,5,10,.55) 100%);}
  .dive-rail{position:fixed;top:0;left:0;width:2px;height:100vh;z-index:39;pointer-events:none;background:rgba(146,220,238,.09);}
  .dive-rail .fill{position:absolute;top:0;left:0;width:100%;height:0;background:linear-gradient(180deg,rgba(146,220,238,.9),var(--gold));box-shadow:0 0 10px rgba(79,182,206,.55);}
  .depth-meter{position:fixed;right:clamp(14px,2.4vw,26px);bottom:clamp(14px,2.6vw,24px);z-index:40;pointer-events:none;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.06em;color:var(--current);opacity:.65;}
  .depth-meter .lbl{font-family:var(--font-body);font-size:9px;letter-spacing:.22em;color:var(--paper-faint);text-transform:uppercase;margin-right:6px;}

  /* 常設予約 */
  .reserve-pill{position:fixed;top:18px;right:clamp(16px,3vw,34px);z-index:50;display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.14em;color:#04121a;background:linear-gradient(180deg,var(--gold),#b8934a);padding:12px 22px;border-radius:40px;text-decoration:none;box-shadow:0 6px 22px rgba(0,0,0,.35);transition:transform .3s,box-shadow .3s;}
  .reserve-pill:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(200,164,93,.35);}
  .reserve-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;background:rgba(5,14,22,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(79,182,206,.25);padding:9px 12px;gap:9px;align-items:center;}
  .reserve-bar .info{flex:1;min-width:0;}
  .reserve-bar .info b{color:var(--paper);font-size:12px;letter-spacing:.04em;font-weight:400;display:block;}
  .reserve-bar .info span{color:var(--paper-dim);font-size:10px;letter-spacing:.06em;}
  .reserve-bar .rbtns{display:flex;gap:7px;flex:none;}
  .reserve-bar .tel{border:1px solid rgba(200,164,93,.5);color:var(--gold);text-decoration:none;font-size:12px;padding:11px 15px;border-radius:30px;letter-spacing:.06em;}
  .reserve-bar .rsv{background:linear-gradient(180deg,var(--gold),#b8934a);color:#04121a;text-decoration:none;font-size:13px;letter-spacing:.08em;padding:11px 18px;border-radius:30px;font-weight:500;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
  .eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);}
  h1,h2,h3{font-family:var(--font-display);font-weight:300;margin:0;text-wrap:balance;}
  section{position:relative;padding-block:clamp(66px,10vw,132px);}
  .lead-in{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-faint);margin-bottom:20px;}
  .sec-title{font-size:clamp(24px,4.6vw,44px);line-height:1.42;letter-spacing:.08em;color:#fff;text-wrap:balance;}
  .sec-note{color:var(--paper-dim);max-width:56ch;margin-top:18px;font-size:15px;line-height:2.05;}
  .center{text-align:center;}
  .center .sec-note{margin-inline:auto;}

  /* HERO */
  .hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding-block:0;}
  .hero .brand,.hero .tagline,.hero .sub,.hero .eyebrow-row,.hero .trust,.hero .hero-cta,.hero .amen,.hero .cue{text-shadow:0 2px 34px rgba(1,9,18,.6),0 1px 4px rgba(1,9,18,.5);}
  .eyebrow-row{display:flex;align-items:center;gap:15px;margin-bottom:30px;}
  .eyebrow-row .rule{height:1px;width:52px;background:linear-gradient(90deg,var(--gold),transparent);}
  .hero .brand{font-size:clamp(38px,9vw,102px);line-height:1.03;letter-spacing:.06em;color:#fff;}
  .hero .brand .en{display:block;font-size:clamp(11px,2.1vw,16px);letter-spacing:.5em;color:var(--paper-dim);margin-top:22px;font-family:var(--font-body);font-weight:400;text-transform:uppercase;}
  .hero .tagline{margin-top:34px;font-family:var(--font-display);font-size:clamp(18px,3.2vw,32px);letter-spacing:.14em;color:var(--paper);line-height:1.6;}
  .hero .tagline .c{color:var(--current);}
  .hero .sub{margin-top:14px;color:var(--paper-dim);font-size:clamp(13px,1.8vw,15px);letter-spacing:.1em;line-height:1.9;}
  .trust{display:flex;flex-wrap:wrap;gap:9px 10px;margin-top:32px;}
  .trust .chip{font-size:12px;letter-spacing:.06em;color:var(--paper);border:1px solid rgba(200,164,93,.4);border-radius:40px;padding:7px 14px;white-space:nowrap;}
  .trust .chip b{color:var(--gold);font-weight:500;}
  .trust .chip.star b{color:var(--gold);}
  .hero-cta{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:32px;}
  .btn-primary{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(180deg,var(--gold),#b8934a);color:#04121a;text-decoration:none;font-size:14px;letter-spacing:.1em;padding:15px 32px;border-radius:40px;font-weight:500;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 26px rgba(0,0,0,.3);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(200,164,93,.3);}
  .btn-outline{display:inline-flex;align-items:center;gap:8px;color:var(--paper);text-decoration:none;font-size:13px;letter-spacing:.1em;border:1px solid rgba(223,232,236,.45);padding:14px 26px;border-radius:40px;transition:all .3s;}
  .btn-outline:hover{border-color:var(--current);color:var(--current);}
  .btn-ghost{color:var(--paper);text-decoration:none;font-size:13px;letter-spacing:.12em;border-bottom:1px solid rgba(223,232,236,.4);padding-bottom:3px;transition:.3s;}
  .btn-ghost:hover{color:var(--current);border-color:var(--current);}
  .amen{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;color:var(--paper-dim);font-size:12px;letter-spacing:.08em;}
  .amen span{position:relative;padding-left:15px;}
  .amen span::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--current);}
  .cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--paper-faint);font-size:11px;letter-spacing:.3em;text-align:center;}
  .cue .line{display:block;width:1px;height:40px;margin:12px auto 0;background:linear-gradient(var(--gold),transparent);}

  /* 3つの安心 */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;}
  .pillar{border:1px solid rgba(200,164,93,.2);border-radius:3px;padding:clamp(24px,3vw,36px);background:linear-gradient(180deg,rgba(14,34,51,.5),rgba(5,13,21,.55));}
  .pillar .no{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.2em;color:var(--gold);}
  .pillar h3{font-family:var(--font-display);font-size:clamp(20px,2.6vw,26px);letter-spacing:.08em;color:#fff;margin:12px 0 14px;}
  .pillar p{color:var(--paper-dim);font-size:14px;line-height:2.05;margin:0;}
  .pillar p strong{color:var(--paper);font-weight:500;}

  /* 天照石 効果 */
  .benefit{text-align:center;}
  .benefit .flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 8px;margin-top:44px;}
  .benefit .node{font-family:var(--font-display);font-size:clamp(15px,2vw,19px);letter-spacing:.08em;color:var(--paper);border:1px solid rgba(79,182,206,.3);border-radius:40px;padding:12px 22px;}
  .benefit .node.hl{color:var(--current);border-color:var(--current);}
  .benefit .arw{color:var(--gold);font-size:14px;}
  .benefit .effects{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;margin-top:34px;}
  .benefit .eff{font-size:13px;letter-spacing:.08em;color:var(--paper);background:rgba(200,164,93,.1);border:1px solid rgba(200,164,93,.28);border-radius:40px;padding:9px 18px;}

  /* 二段体験 */
  .exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px;}
  .exp{border:1px solid rgba(200,164,93,.2);border-radius:3px;padding:clamp(26px,3.2vw,40px);background:linear-gradient(180deg,rgba(14,34,51,.5),rgba(5,13,21,.55));position:relative;overflow:hidden;}
  .exp .step{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
  .exp h3{font-family:var(--font-display);font-size:clamp(21px,2.8vw,28px);letter-spacing:.1em;color:#fff;margin:14px 0 6px;}
  .exp .en{font-size:11px;letter-spacing:.22em;color:var(--paper-faint);text-transform:uppercase;}
  .exp p{color:var(--paper-dim);font-size:14px;line-height:2.05;margin-top:16px;}
  .exp.water{border-color:rgba(79,182,206,.35);}
  .exp.water .step{color:var(--current);}
  .exp.water::before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--current);box-shadow:0 0 14px var(--current);}
  .tease-more{margin-top:34px;text-align:center;}

  /* 設備・アメニティ */
  .amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px;}
  .amenity{border:1px solid rgba(255,255,255,.09);border-radius:3px;padding:22px 20px;background:rgba(10,24,38,.4);}
  .amenity .t{font-family:var(--font-display);font-size:16px;color:#fff;letter-spacing:.05em;margin-bottom:6px;}
  .amenity .d{color:var(--paper-dim);font-size:12px;line-height:1.85;}
  .amenity .free{display:inline-block;font-size:10px;letter-spacing:.14em;color:var(--current);border:1px solid rgba(79,182,206,.4);border-radius:20px;padding:2px 9px;margin-top:8px;}

  /* 料金 */
  .onramp{border:1px solid rgba(200,164,93,.35);border-radius:3px;padding:clamp(24px,3vw,36px);margin-top:44px;background:linear-gradient(180deg,rgba(20,50,66,.4),rgba(5,13,21,.5));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
  .onramp .l .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
  .onramp .l .t{font-family:var(--font-display);font-size:clamp(20px,2.6vw,26px);color:#fff;letter-spacing:.06em;margin-top:8px;}
  .onramp .l .n{color:var(--paper-dim);font-size:13px;margin-top:8px;}
  .onramp .r{text-align:right;}
  .onramp .r .price{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(34px,6vw,52px);color:var(--gold);line-height:1;}
  .onramp .r .tax{font-size:12px;color:var(--paper-faint);margin-top:6px;}
  .price-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin-top:20px;}
  .pcard{border:1px solid rgba(255,255,255,.09);border-radius:3px;padding:24px 22px;background:rgba(10,24,38,.45);}
  .pcard h4{font-family:var(--font-display);font-weight:300;font-size:19px;letter-spacing:.06em;color:#fff;margin:0 0 4px;}
  .pcard .en{font-size:10px;letter-spacing:.2em;color:var(--paper-faint);text-transform:uppercase;}
  .pcard .rows{margin-top:14px;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px;}
  .pcard .r{display:flex;justify-content:space-between;align-items:baseline;}
  .pcard .r .t{color:var(--paper-dim);font-size:13px;}
  .pcard .r .p{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--gold);font-size:18px;}
  .price-more{margin-top:24px;}

  /* お客様の声 */
  .rating{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:8px;}
  .rating .score{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(40px,7vw,60px);color:var(--gold);line-height:1;}
  .rating .stars{color:var(--gold);letter-spacing:.15em;font-size:18px;}
  .rating .count{color:var(--paper-dim);font-size:13px;letter-spacing:.08em;}
  .reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:36px;}
  .review{border:1px solid rgba(255,255,255,.09);border-radius:3px;padding:24px 22px;background:rgba(10,24,38,.42);}
  .review .st{color:var(--gold);letter-spacing:.1em;font-size:13px;}
  .review .tx{color:var(--paper);font-size:13.5px;line-height:2.0;margin:12px 0 14px;font-weight:300;}
  .review .who{color:var(--paper-faint);font-size:12px;letter-spacing:.06em;}

  /* アクセス */
  .access{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px;align-items:start;}
  .access .info dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:22px;}
  .access .info dt:first-child{margin-top:0;}
  .access .info dd{margin:6px 0 0;color:var(--paper);font-size:15px;letter-spacing:.03em;line-height:1.95;}
  .access .info dd span{color:var(--paper-dim);font-size:13px;}
  .access .info dd a{color:var(--current);text-decoration:none;}
  .access .map{border:1px solid rgba(79,182,206,.25);border-radius:3px;min-height:250px;display:flex;align-items:center;justify-content:center;background:radial-gradient(70% 90% at 50% 30%,rgba(79,182,206,.10),transparent 60%);color:var(--paper-faint);font-size:12px;letter-spacing:.12em;text-align:center;padding:20px;}

  /* 最終CTA */
  .final{text-align:center;padding-block:clamp(78px,12vw,144px);}
  .final .k{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
  .final .big{font-family:var(--font-display);font-size:clamp(25px,5vw,46px);letter-spacing:.14em;color:#fff;line-height:1.6;}
  .final .big .c{color:var(--current);}
  .final .campaign{margin-top:20px;color:var(--paper-dim);font-size:15px;letter-spacing:.06em;}
  .final .campaign b{color:var(--gold);font-family:var(--font-display);font-size:20px;}
  .final .go{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .final .note{margin-top:20px;color:var(--paper-faint);font-size:12px;letter-spacing:.1em;}

  footer{border-top:1px solid rgba(200,164,93,.14);padding-block:40px;color:var(--paper-faint);font-size:12px;letter-spacing:.08em;}
  footer .fl{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}

  /* 開幕・リビール */
  .intro-veil{position:fixed;inset:0;z-index:60;pointer-events:none;background:radial-gradient(120% 82% at 50% -14%, rgba(120,214,236,.26) 0%, transparent 40%),radial-gradient(140% 100% at 50% 50%, #061019 20%, #04070E 70%);animation:veil 2.6s cubic-bezier(.4,0,.2,1) forwards;}
  @keyframes veil{0%{opacity:1}60%{opacity:1}100%{opacity:0;visibility:hidden}}
  .reveal{opacity:0;transform:translateY(28px);filter:blur(6px);animation:rise 1.7s cubic-bezier(.16,.82,.24,1) forwards;animation-delay:var(--d,0s);}
  @keyframes rise{to{opacity:1;transform:none;filter:blur(0);}}
  .rv{opacity:0;transform:translateY(22px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);}
  .rv.in{opacity:1;transform:none;}

  @media (max-width:900px){.pillars{grid-template-columns:1fr;}.amenities{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:820px){
    .reserve-pill{display:none;}.reserve-bar{display:flex;}body{padding-bottom:64px;}.depth-meter{bottom:72px;}
    .exp-grid{grid-template-columns:1fr;}.access{grid-template-columns:1fr;gap:22px;}
  }
  @media (max-width:400px){
    :root{--gutter:18px;}
    .hero .tagline br,.creed .big br,.sec-title br,.final .big br,.hero .sub br{display:none;}
    .amenities{grid-template-columns:1fr;}
    .onramp{flex-direction:column;align-items:flex-start;}.onramp .r{text-align:left;}
  }
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;filter:none;animation:none;}
    .rv{opacity:1;transform:none;transition:none;}.intro-veil{display:none;}html{scroll-behavior:auto;}
  }

  /* 実写真：空間 & ギャラリー */
  .space{position:relative;isolation:isolate;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;padding:0;}
  .space>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(.66) saturate(.92) contrast(1.03);}
  .space::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,10,18,.55) 0%,rgba(4,10,18,.12) 34%,rgba(4,10,18,.62) 100%);}
  .space .cap{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%;padding:0 var(--gutter) clamp(44px,7vw,84px);}
  .space .cap .k,.space .cap h2,.space .cap p{text-shadow:0 2px 22px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.5);}
  .space .cap .k{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
  .space .cap p{color:var(--paper);opacity:.92;max-width:52ch;margin-top:18px;font-size:15px;line-height:2.05;}
  .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px;}
  .gallery-grid .gi{aspect-ratio:4/3;overflow:hidden;border-radius:3px;border:1px solid rgba(200,164,93,.16);}
  .gallery-grid .gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:brightness(.92) saturate(.95);}
  .gallery-grid .gi:hover img{transform:scale(1.06);filter:brightness(1) saturate(1);}
  @media(max-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;}}


/* ══════════════════════════════════════════════════════
   D-abyss 追加コンポーネント（全ページ共通）
   ══════════════════════════════════════════════════════ */

/* ── グローバルヘッダーを深海の上に馴染ませる ── */
.dabyss-ocean-page #front-header,
.dabyss-ocean-page .front-header{
  background:transparent!important;box-shadow:none!important;border:none!important;
  transition:background .4s ease,backdrop-filter .4s ease;
}
.dabyss-ocean-page .front-header.is-stuck{
  background:rgba(5,14,22,.72)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(200,164,93,.18)!important;
}
.dabyss-ocean-page .front-header .site-name,
.dabyss-ocean-page .front-nav-menu a,
.dabyss-ocean-page .front-header__logo a{color:var(--paper)!important;text-shadow:0 1px 12px rgba(1,9,18,.6);}
.dabyss-ocean-page .front-nav-menu a:hover{color:var(--current)!important;}
.dabyss-ocean-page .menu-btn__line{background:var(--paper)!important;}

/* ── Swiper 装飾（上品に）── */
.dabyss-swiper{position:relative;margin-top:40px;padding-bottom:8px;overflow:hidden;}
.dabyss-swiper .swiper-slide{height:auto;}
.dabyss-swiper .swiper-pagination{position:static;margin-top:22px;}
.dabyss-swiper .swiper-pagination-bullet{background:var(--paper-faint);opacity:.5;width:7px;height:7px;transition:all .3s;}
.dabyss-swiper .swiper-pagination-bullet-active{background:var(--gold);opacity:1;width:22px;border-radius:4px;}
.dabyss-swiper .swiper-button-prev,.dabyss-swiper .swiper-button-next{color:var(--gold);width:38px;height:38px;}
.dabyss-swiper .swiper-button-prev:after,.dabyss-swiper .swiper-button-next:after{font-size:20px;}
.gallery-slide{aspect-ratio:4/3;overflow:hidden;border-radius:3px;border:1px solid rgba(200,164,93,.16);}
.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:brightness(.92) saturate(.95);}
.gallery-slide:hover img{transform:scale(1.06);filter:brightness(1);}

/* ── サブページ共通ヒーロー ── */
.page-hero{min-height:56vh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding-block:clamp(90px,16vh,150px) clamp(40px,7vh,80px);}
.page-hero .eyebrow-row{display:flex;align-items:center;gap:15px;margin-bottom:28px;}
.page-hero .eyebrow-row .rule{height:1px;width:50px;background:linear-gradient(90deg,var(--gold),transparent);}
.page-hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(32px,7vw,68px);letter-spacing:.1em;line-height:1.12;color:#fff;text-shadow:0 2px 34px rgba(1,9,18,.6);}
.page-hero h1 .en{display:block;font-size:clamp(11px,2vw,15px);letter-spacing:.5em;color:var(--paper-dim);margin-top:22px;font-family:var(--font-body);font-weight:400;text-transform:uppercase;}
.page-hero .lead{margin-top:28px;font-family:var(--font-display);font-size:clamp(16px,2.4vw,22px);letter-spacing:.1em;line-height:1.9;color:var(--paper);max-width:40ch;text-shadow:0 2px 24px rgba(1,9,18,.6);}

/* ── FAQ アコーディオン ── */
.faq-acc{margin-top:44px;border-top:1px solid rgba(200,164,93,.16);}
.faq-acc details{border-bottom:1px solid rgba(200,164,93,.16);}
.faq-acc summary{list-style:none;cursor:pointer;padding:26px 44px 26px 0;position:relative;font-family:var(--font-display);font-size:clamp(16px,2.1vw,20px);letter-spacing:.05em;color:#fff;transition:color .3s;}
.faq-acc summary::-webkit-details-marker{display:none;}
.faq-acc summary::before{content:"Q";color:var(--gold);font-variant-numeric:tabular-nums;margin-right:16px;}
.faq-acc summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:translateY(-70%) rotate(45deg);transition:transform .35s;}
.faq-acc details[open] summary::after{transform:translateY(-30%) rotate(225deg);}
.faq-acc summary:hover{color:var(--current);}
.faq-acc .ans{padding:0 0 28px 34px;color:var(--paper-dim);font-size:14.5px;line-height:2.1;}
.faq-acc .ans a{color:var(--current);}

/* ── ご利用の流れ タイムライン ── */
.flow-line{margin-top:52px;position:relative;padding-left:clamp(28px,5vw,64px);}
.flow-line::before{content:"";position:absolute;left:clamp(8px,1.6vw,18px);top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,var(--current),var(--gold),transparent);}
.flow-step{position:relative;padding:0 0 clamp(40px,6vw,64px);}
.flow-step:last-child{padding-bottom:0;}
.flow-step .dot{position:absolute;left:calc(-1*clamp(28px,5vw,64px) + clamp(3px,1.1vw,13px));top:4px;width:12px;height:12px;border-radius:50%;background:var(--current);box-shadow:0 0 14px var(--current);}
.flow-step .no{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.24em;color:var(--gold);}
.flow-step h3{font-family:var(--font-display);font-weight:300;font-size:clamp(20px,2.8vw,28px);letter-spacing:.08em;color:#fff;margin:8px 0 12px;}
.flow-step p{color:var(--paper-dim);font-size:14.5px;line-height:2.05;max-width:52ch;margin:0;}
.flow-step .tag{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.14em;color:var(--current);border:1px solid rgba(79,182,206,.35);border-radius:30px;padding:5px 13px;}

/* ── お問い合わせ / 予約 ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:44px;align-items:start;}
.contact-actions{display:flex;flex-direction:column;gap:16px;margin-top:26px;}
.contact-actions a{display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;padding:20px 26px;border-radius:3px;transition:all .35s ease;letter-spacing:.06em;}
.contact-actions .primary{background:linear-gradient(180deg,var(--gold),#b8934a);color:#04121a;font-weight:500;box-shadow:0 8px 26px rgba(0,0,0,.3);}
.contact-actions .primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(200,164,93,.3);}
.contact-actions .line{border:1px solid rgba(79,182,206,.4);color:var(--paper);background:rgba(10,24,38,.4);}
.contact-actions .line:hover{border-color:var(--current);color:var(--current);}
.contact-actions .sub{font-size:11px;letter-spacing:.1em;opacity:.7;}
.contact-map{border:1px solid rgba(79,182,206,.25);border-radius:3px;overflow:hidden;min-height:340px;background:rgba(10,24,38,.4);}
.contact-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block;filter:grayscale(.3) brightness(.9) contrast(1.05);}

/* ── セクション見出しの装飾（サブページ）── */
.center-head{text-align:center;}
.center-head .lead-in{margin-bottom:20px;}

@media (max-width:820px){
  .contact-grid{grid-template-columns:1fr;gap:26px;}
}

/* 水深メーター（不要）*/
.depth-meter{display:none!important;}

/* ── 深海ページ共通フッター ── */
.dabyss-site-footer{position:relative;z-index:2;border-top:1px solid rgba(200,164,93,.18);padding:clamp(50px,7vw,84px) 0 46px;margin-top:clamp(40px,8vw,120px);}
.dabyss-site-footer .wrap{max-width:1080px;margin:0 auto;padding-inline:var(--gutter);}
.dabyss-site-footer .f-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08);}
.dabyss-site-footer .f-brand{font-family:var(--font-display);font-size:clamp(20px,2.6vw,26px);letter-spacing:.1em;color:#fff;}
.dabyss-site-footer .f-brand span{display:block;font-family:var(--font-body);font-size:10px;letter-spacing:.4em;color:var(--paper-dim);text-transform:uppercase;margin-top:8px;}
.dabyss-site-footer .f-reserve{background:linear-gradient(180deg,var(--gold),#b8934a);color:#04121a;text-decoration:none;font-size:13px;letter-spacing:.1em;padding:13px 28px;border-radius:40px;font-weight:500;transition:transform .3s;}
.dabyss-site-footer .f-reserve:hover{transform:translateY(-2px);}
.dabyss-site-footer .f-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;}
.dabyss-site-footer .f-grid .dt{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
.dabyss-site-footer .f-grid .dd{color:var(--paper-dim);font-size:13px;line-height:1.8;}
.dabyss-site-footer .f-grid a{color:var(--current);text-decoration:none;}
.dabyss-site-footer .f-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);}
.dabyss-site-footer .f-nav a{color:var(--paper);text-decoration:none;font-size:13px;letter-spacing:.06em;transition:color .3s;}
.dabyss-site-footer .f-nav a:hover{color:var(--current);}
.dabyss-site-footer .f-copy{margin-top:26px;color:var(--paper-faint);font-size:11px;letter-spacing:.1em;}
@media(max-width:720px){.dabyss-site-footer .f-grid{grid-template-columns:1fr 1fr;}}

/* ── SWELLコンテンツコンテナを深海ページで全幅化（フルブリード実現）── */
.dabyss-ocean-page #content.l-container,
.dabyss-ocean-page #content.l-content{max-width:none!important;padding-left:0!important;padding-right:0!important;}
.dabyss-ocean-page #main{max-width:none!important;width:100%!important;margin:0!important;}
.dabyss-ocean-page #content{padding-top:0!important;}

/* フルブリード実写真セクションを固定canvasより前面へ（SWELLラッパー対策）*/
.space{z-index:1;}

/* ヘッダー(固定70px)がFVに被らないようヒーローに上部余白 */
.dabyss-ocean-page .hero{padding-top:clamp(88px,13vh,130px);}
.dabyss-ocean-page .page-hero{padding-top:clamp(110px,18vh,170px);}

/* ── ヘッダーロゴ（金on黒。深海ヘッダーではscreenで黒を飛ばす）── */
.front-header__logo .dabyss-logo{height:clamp(46px,5.4vw,60px);width:auto;display:block;}
.dabyss-ocean-page .front-header__logo .dabyss-logo{mix-blend-mode:normal;}
/* フルブリード写真セクションの下マージン調整用 */
.section-photos{position:relative;z-index:1;}

/* ── 改行崩れ防止：バッジは見出しの下へ ── */
.pillar h3 .soon,.pcard h4 .soon,.pillar h3 .free{display:block;width:fit-content;margin-top:10px;}
.sec-title .soon{display:inline-block;font-size:11px;letter-spacing:.14em;vertical-align:middle;margin-left:12px;color:var(--current);border:1px solid rgba(79,182,206,.4);border-radius:30px;padding:4px 12px;}
/* ── アメニティを写真カード化（見せ方リッチ）── */
.amenity{padding:0;overflow:hidden;display:flex;flex-direction:column;background:var(--deep-2);}
.amenity .am-photo{aspect-ratio:4/3;overflow:hidden;position:relative;}
.amenity .am-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:brightness(.8) saturate(.95);}
.amenity:hover .am-photo img{transform:scale(1.06);filter:brightness(.95);}
.amenity .am-photo .free{position:absolute;top:12px;right:12px;background:rgba(5,14,22,.72);backdrop-filter:blur(4px);margin-top:0;}
.amenity .am-body{padding:18px 20px 22px;}
.amenity .am-body .t{margin-bottom:7px;}

/* ── ご利用の流れ：写真＋テキスト2カラム（画像主導）── */
.flow-step{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;}
@media(min-width:860px){.flow-step{grid-template-columns:1fr 400px;column-gap:44px;}}
.flow-step .step-photo{aspect-ratio:4/3;overflow:hidden;border-radius:3px;border:1px solid rgba(200,164,93,.16);}
.flow-step .step-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85) saturate(.95);transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.flow-step:hover .step-photo img{transform:scale(1.05);filter:brightness(1);}
.flow-step .step-text{min-width:0;}

/* ── 日本語の見出しが熟語の途中で改行しないように（改行崩れ一掃）── */
.hero .brand,.brand,h1,h2,h3,.sec-title,.page-hero h1,.final .big,.creed .big,
.exp h3,.pillar h3,.pcard h4,.amenity .t,.flow-step h3,.sj-hero-title,.sj-return .big,
.dabyss-site-footer .f-brand{word-break:keep-all;line-break:strict;overflow-wrap:anywhere;}
/* 320px等で単語が幅を超える時だけ折り返しを許可（オーバーフロー防止）*/
@media (max-width:400px){
  .hero .brand,.sj-hero-title{overflow-wrap:anywhere;}
}

/* ── サブページのFV(page-hero)に岩盤浴の実写真を敷く（第一画面で何屋か即伝わる）── */
.dabyss-ocean-page .page-hero{position:relative;z-index:1;isolation:isolate;}
.dabyss-ocean-page .page-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:url(../../garally/_A__8244_opt.jpg) center/cover no-repeat;
  opacity:.5;filter:brightness(.48) saturate(.92) contrast(1.03);}
.dabyss-ocean-page .page-hero::before{z-index:-1;}
.dabyss-ocean-page .page-hero>*{position:relative;z-index:2;}

/* ── FV 実写真スライダー（深海の水と重ねて同期）── */
.hero-slider{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity 2.4s ease;filter:brightness(.5) saturate(.92) contrast(1.03);transform:scale(1.04);}
.hero-slide.is-active{opacity:.58;transform:scale(1);transition:opacity 2.4s ease,transform 7s ease;}
.hero .wrap{position:relative;z-index:2;}
.hero .cue{z-index:2;}

/* ── 画像のふち処理：フルブリード写真を深海にディゾルブさせる ── */
.hero-slide{
  -webkit-mask-image:radial-gradient(120% 88% at 50% 46%,#000 40%,transparent 92%),linear-gradient(180deg,transparent 0,#000 15%,#000 74%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
  mask-image:radial-gradient(120% 88% at 50% 46%,#000 40%,transparent 92%),linear-gradient(180deg,transparent 0,#000 15%,#000 74%,transparent 100%);
}
.space>img{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 82%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 82%,transparent 100%);
}
/* 空間セクションの左右も軽く沈める */
.space::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(130% 100% at 50% 50%,transparent 55%,rgba(4,10,18,.6) 100%);}

/* ── 3つの安心などを写真カード化（画像主導）── */
.pillar-photo{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.pillar-photo .p-photo{aspect-ratio:16/10;overflow:hidden;position:relative;}
.pillar-photo .p-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.0) saturate(1) contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.pillar-photo:hover .p-photo img{transform:scale(1.05);filter:brightness(.92);}
.pillar-photo .p-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,24,38,.55) 100%);}
.pillar-photo .p-photo .no{position:absolute;top:14px;left:18px;z-index:2;color:var(--gold);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.22em;text-shadow:0 1px 10px rgba(0,0,0,.7);}
.pillar-photo .p-body{padding:24px 26px 30px;}
.pillar-photo .p-body h3{margin:0 0 14px;}

/* ── 二段体験カードに写真 ── */
.exp{padding:0;overflow:hidden;}
.exp .exp-photo{aspect-ratio:16/9;overflow:hidden;}
.exp .exp-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.95) saturate(1) contrast(1.03);transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.exp:hover .exp-photo img{transform:scale(1.04);}
.exp .exp-body{padding:clamp(26px,3.4vw,42px);}

/* ── レイアウト修正：exp-grid を枚数対応で均等化、余白は写真カード限定 ── */
.exp-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;}
.exp{padding:clamp(26px,3.2vw,40px);}          /* 非写真カードは余白を戻す */
.exp:has(.exp-photo){padding:0;}                /* 写真カードのみ余白0（body側で付与）*/
@media (max-width:720px){.exp-grid{grid-template-columns:1fr!important;}}

/* ═══════════════════════════════════════════════════════════
   高級カード再設計 v2 — 写真主導・テキストは画像に重ねる
   （汎用1pxボーダー箱＋装飾番号＋中央寄せ = AIテンプレ臭を脱却）
   ═══════════════════════════════════════════════════════════ */
.exp,.pillar-photo{
  position:relative;border:0!important;border-radius:3px;overflow:hidden;
  background:none!important;isolation:isolate;
  min-height:clamp(360px,36vw,470px);
  display:flex;align-items:flex-end;
  box-shadow:0 26px 64px -34px rgba(0,0,0,.75);
}
.exp .exp-photo,.pillar-photo .p-photo{position:absolute;inset:0;z-index:0;aspect-ratio:auto;}
.exp .exp-photo img,.pillar-photo .p-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(.72) saturate(.97) contrast(1.05);transform:scale(1.02);
  transition:transform 1.2s cubic-bezier(.19,1,.22,1),filter .7s ease;
}
.exp:hover .exp-photo img,.pillar-photo:hover .p-photo img{transform:scale(1.09);filter:brightness(.86) saturate(1.02);}
/* 下部を沈める可読スクリム（テキストを画像に重ねる）*/
.exp::after,.pillar-photo::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(177deg,rgba(4,10,18,.04) 0%,rgba(4,10,18,.12) 40%,rgba(4,10,18,.55) 66%,rgba(4,10,18,.88) 100%);
}
/* 深海ガラスの縁（内側ハイライト・角丸）*/
.exp::before,.pillar-photo::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:3px;
  border:1px solid rgba(150,210,235,.10);box-shadow:inset 0 1px 0 rgba(185,228,247,.15);
}
.exp .exp-body,.pillar-photo .p-body{position:relative;z-index:3;padding:clamp(28px,3.3vw,46px);}
/* 見出し上の金ヘアライン（ホバーで伸びる）— 装飾番号の代わりの質感 */
.exp .exp-body::before,.pillar-photo .p-body::before{
  content:"";display:block;width:38px;height:1px;background:var(--gold);opacity:.9;
  margin-bottom:20px;transition:width .55s cubic-bezier(.19,1,.22,1);
}
.exp:hover .exp-body::before,.pillar-photo:hover .p-body::before{width:74px;}
.exp.water .exp-body::before{background:var(--current);}
/* 番号は写真上の小さな箔押し風に（大きな装飾番号をやめる）*/
.pillar-photo .p-photo .no{top:18px;left:20px;font-size:12px;letter-spacing:.28em;opacity:.85;}
.pillar-photo .p-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,10,18,.28) 0%,transparent 34%);}
/* 見出し・本文の色をスクリム上で最適化 */
.exp .exp-body h3,.pillar-photo .p-body h3{color:#F4F8FA;}
.exp .exp-body p,.pillar-photo .p-body p{color:rgba(214,228,234,.9);}
.exp .exp-body .en{color:rgba(150,210,235,.6);}

/* codexレビュー反映：ホバーは沈める / タイポを締める / 装飾番号を最小化 */
.exp:hover .exp-photo img,.pillar-photo:hover .p-photo img{transform:scale(1.035);filter:brightness(.64) saturate(.92);}
.exp .exp-body,.pillar-photo .p-body{transition:none;}
.pillar-photo .p-photo .no{font-size:11px;opacity:.7;letter-spacing:.3em;}
.exp .exp-body h3,.pillar-photo .p-body h3{letter-spacing:.04em;line-height:1.5;}
.exp .exp-body p,.pillar-photo .p-body p{max-width:36ch;letter-spacing:.015em;}

/* 浮遊予約ピルはデスクトップ非表示（ヘッダー内CTAが代替／ヘッダー背後の金ぼやけ解消）*/
@media (min-width:821px){.reserve-pill{display:none!important;}}

/* フッターロゴ */
.dabyss-site-footer .f-logo{text-align:center;margin-bottom:34px;}
.dabyss-site-footer .f-logo img{height:clamp(62px,8vw,86px);width:auto;opacity:.95;}

/* ── お知らせ / News（WP投稿）── */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(22px,2.6vw,36px);margin-top:clamp(40px,5vw,64px);}
.news-card{display:block;text-decoration:none;color:inherit;position:relative;overflow:hidden;border-radius:3px;background:linear-gradient(180deg,rgba(9,24,37,.55),rgba(4,9,15,.2));box-shadow:0 22px 54px -32px rgba(0,0,0,.72);transition:transform .5s cubic-bezier(.19,1,.22,1),box-shadow .5s;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.news-thumb{aspect-ratio:16/10;overflow:hidden;}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82) saturate(.95);transition:transform .8s cubic-bezier(.19,1,.22,1);}
.news-card:hover .news-thumb img{transform:scale(1.05);filter:brightness(.92);}
.news-body{padding:20px 24px 26px;}
.news-meta{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.08em;color:rgba(150,210,235,.72);margin-bottom:12px;font-variant-numeric:tabular-nums;}
.news-meta .news-cat{color:var(--gold);border:1px solid rgba(200,164,93,.32);border-radius:999px;padding:2px 12px;font-size:10.5px;letter-spacing:.14em;}
.news-title{font-family:var(--font-display);font-weight:400;font-size:clamp(16px,1.5vw,19px);line-height:1.62;color:#EDF3F5;letter-spacing:.02em;}
.news-card:hover .news-title{color:#fff;}

/* ハンバーガー領域(≤1000px)では下部の予約バーでCTAを担保 */
@media (max-width:1000px){.reserve-bar{display:flex;}body{padding-bottom:64px;}}

/* 中央寄せセクションの sec-note ブロックを中央に（見出しとの左右ズレ解消）*/
.benefit .sec-note,.benefit .lead-in{margin-left:auto;margin-right:auto;}

/* ═══════════════════════════════════════════════
   D-abyss LP 共通セクション（深巡・岩盤浴ヨガ）
   ═══════════════════════════════════════════════ */
.lp-sec{position:relative;padding-block:clamp(66px,10vw,130px);}
.lp-narrow{max-width:820px;margin-inline:auto;}
/* manifesto：静かな大型ステートメント */
.lp-manifesto{text-align:center;padding-block:clamp(92px,16vw,196px);}
.lp-manifesto .big{font-family:var(--font-display);font-weight:300;font-size:clamp(27px,5.4vw,56px);line-height:1.62;letter-spacing:.045em;color:#fff;text-wrap:balance;}
.lp-manifesto .big .c{color:var(--current);}
.lp-manifesto .big .g{color:var(--gold);}
.lp-manifesto p{color:var(--paper-dim);max-width:46ch;margin:32px auto 0;line-height:2.1;font-size:15px;}
/* stat-row：大きな金の数字 */
.lp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:clamp(26px,4vw,52px);margin-top:clamp(44px,6vw,72px);}
.lp-stat{text-align:center;}
.lp-stat .n{font-family:var(--font-display);font-weight:300;font-size:clamp(36px,6vw,64px);color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.01em;}
.lp-stat .l{margin-top:16px;color:var(--paper-dim);font-size:12.5px;line-height:1.8;letter-spacing:.03em;}
/* split-photo：テキスト｜写真（交互） */
.lp-split{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,72px);align-items:center;}
@media(min-width:900px){.lp-split{grid-template-columns:1fr 1fr;}.lp-split.rev .lp-split-txt{order:2;}}
.lp-split-fig{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:4/5;box-shadow:0 30px 72px -38px rgba(0,0,0,.82);}
.lp-split-fig img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82) saturate(.95);transition:transform 1.1s cubic-bezier(.19,1,.22,1);}
.lp-split-fig:hover img{transform:scale(1.05);}
.lp-split-txt .sec-note{max-width:42ch;}
.lp-list{margin-top:26px;display:flex;flex-direction:column;gap:14px;padding:0;}
.lp-list li{list-style:none;padding-left:22px;position:relative;color:var(--paper-dim);line-height:1.85;font-size:14.5px;}
.lp-list li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--gold);}
.lp-list li b{color:var(--paper);font-weight:500;}
/* steps：作法/流れ */
.lp-steps{display:flex;flex-direction:column;gap:clamp(20px,3vw,32px);margin-top:clamp(40px,5vw,64px);max-width:840px;margin-inline:auto;}
.lp-step{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.4vw,28px);align-items:start;}
.lp-step .no{font-family:var(--font-display);font-size:clamp(21px,3vw,30px);color:var(--gold);line-height:1;min-width:1.8em;font-variant-numeric:tabular-nums;letter-spacing:.04em;padding-top:.15em;}
.lp-step h4{font-family:var(--font-display);font-weight:400;font-size:clamp(17px,2vw,21px);color:#EEF4F6;margin-bottom:9px;letter-spacing:.03em;}
.lp-step p{color:var(--paper-dim);line-height:1.9;font-size:14.5px;}
.lp-step p .en{color:var(--current);font-size:.8em;letter-spacing:.1em;margin-left:.5em;}
/* quote */
.lp-quote{text-align:center;max-width:780px;margin-inline:auto;}
.lp-quote .mark{font-family:var(--font-display);font-size:clamp(64px,10vw,120px);color:rgba(200,164,93,.38);line-height:.55;}
.lp-quote blockquote{font-family:var(--font-display);font-weight:300;font-size:clamp(19px,2.5vw,27px);line-height:1.95;color:#F1F6F8;letter-spacing:.03em;margin:6px 0 0;}
.lp-quote .voices{margin-top:42px;display:flex;flex-direction:column;gap:22px;}
.lp-quote .voice{color:var(--paper-dim);font-size:14.5px;line-height:1.95;}
.lp-quote .voice b{color:var(--current);font-weight:400;font-size:11.5px;letter-spacing:.12em;display:block;margin-top:8px;}
.lp-fine{color:var(--paper-faint);font-size:11.5px;margin-top:22px;letter-spacing:.03em;line-height:1.7;}
/* feature grid（半透明レイヤー・非ボックス） */
.lp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:clamp(18px,2.2vw,28px);margin-top:clamp(40px,5vw,64px);}
.lp-feat{background:linear-gradient(180deg,rgba(9,24,37,.55),rgba(4,9,15,.18));border-radius:3px;padding:clamp(24px,2.6vw,34px);box-shadow:inset 0 1px 0 rgba(200,164,93,.14);}
.lp-feat .k{font-family:var(--font-display);color:var(--current);font-size:clamp(15px,1.7vw,19px);letter-spacing:.03em;margin-bottom:12px;}
.lp-feat p{color:var(--paper-dim);line-height:1.85;font-size:14px;}
/* faq（共有アコーディオン） */
.lp-faq{max-width:840px;margin-inline:auto;margin-top:clamp(40px,5vw,60px);}
.lp-qa{border-top:1px solid rgba(120,170,190,.16);}
.lp-qa:last-child{border-bottom:1px solid rgba(120,170,190,.16);}
.lp-qa summary{cursor:pointer;list-style:none;padding:24px 42px 24px 4px;position:relative;font-family:var(--font-display);font-size:clamp(15px,1.7vw,18px);color:#EAF1F3;letter-spacing:.02em;}
.lp-qa summary::-webkit-details-marker{display:none;}
.lp-qa summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:20px;transition:transform .3s;}
.lp-qa[open] summary::after{content:"−";}
.lp-qa .a{padding:0 4px 26px;color:var(--paper-dim);line-height:1.95;font-size:14.5px;}

/* ═══ 読みやすさ・改行の最適化（LP全体）═══ */
/* 見出し系は熟語の途中で改行しない */
.lp-manifesto .big,.lp-quote blockquote,.lp-step h4,.lp-feat .k,
.sj-manifesto .line,.sj-kicker,.lp-split-txt .sec-title,.space .cap h2,.cap h2,
.lp-stat .l,.news-title{word-break:keep-all;line-break:strict;overflow-wrap:anywhere;}
/* 大見出しは行長を均してバランス改行 */
.sec-title,.lp-manifesto .big,.final .big,.lp-quote blockquote,
.sj-manifesto .line,.sj-hero-title,.space .cap h2,.cap h2,.about-creed .big,.sj-return .big{text-wrap:balance;}
/* モバイル(≤600px)では意図した<br>を解除し、自然に折り返す（不自然な改行を防ぐ）*/
@media (max-width:600px){
  .sec-title br,.lp-manifesto .big br,.final .big br,.cap h2 br,
  .lp-split-txt .sec-title br,.sj-hero-title br,.sj-manifesto .line br,
  .about-creed .big br,.sj-return .big br,.hero .brand br{display:none;}
  .lp-manifesto .big,.final .big{font-size:clamp(25px,7vw,40px);}
}
/* 本文は行間ゆったり・一行を長くしすぎない（可読性）*/
.sec-note{line-height:2.05;}
.lp-feat p,.lp-step p,.lp-list li,.lp-split-txt .sec-note{line-height:1.95;}
.lp-narrow .sec-note{max-width:44ch;}

/* ═══ お知らせ（SWELL投稿・一覧・アーカイブ）を深海の上で読めるように ═══ */
/* 本文を半透明のガラスパネルに載せる（外側は深海のまま）*/
.dabyss-ocean-page .l-mainContent{
  background:rgba(6,16,26,.66);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(120,170,190,.14);border-radius:5px;
  margin-top:28px;margin-bottom:44px;
  box-shadow:0 30px 84px -42px rgba(0,0,0,.72);overflow:hidden;
}
.dabyss-ocean-page .l-mainContent__inner{padding:clamp(22px,4vw,48px);}
/* 文字色を明色に */
.dabyss-ocean-page .c-postTitle__ttl,
.dabyss-ocean-page .post_content,
.dabyss-ocean-page .post_content p,
.dabyss-ocean-page .post_content li,
.dabyss-ocean-page .post_content h1,
.dabyss-ocean-page .post_content h2,
.dabyss-ocean-page .post_content h3,
.dabyss-ocean-page .post_content h4,
.dabyss-ocean-page .post_content td,
.dabyss-ocean-page .p-postList__ttl,
.dabyss-ocean-page .l-articleBottom__title,
.dabyss-ocean-page .c-postTimes,
.dabyss-ocean-page .p-articleMetas,
.dabyss-ocean-page .c-breadcrumb,
.dabyss-ocean-page .c-breadcrumb a{color:#E7EEF1;}
.dabyss-ocean-page .c-postTitle__ttl{font-family:var(--font-display);font-weight:400;}
.dabyss-ocean-page .post_content a{color:var(--current);}
.dabyss-ocean-page .post_content h2{border-color:rgba(200,164,93,.4);}
/* アーカイブ／関連記事のカードを深海に馴染ませる */
.dabyss-ocean-page .l-articleBottom,
.dabyss-ocean-page .p-postList{background:transparent;}
.dabyss-ocean-page .p-postList__item{background:rgba(9,24,37,.5);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(200,164,93,.12);}
.dabyss-ocean-page .c-postTitle__date{color:var(--gold);}
/* サイドバーが暗背景で沈む場合の最低限の可読性 */
.dabyss-ocean-page .l-sidebar,.dabyss-ocean-page .p-blogParts{color:#E7EEF1;}

/* ═══ ヘッダー情報過多の解消：副次項目(流れ・FAQ)はPCヘッダーで非表示 ═══ */
/* SPメニュー(ハンバーガー)・フッターには残るので回遊は担保 */
@media (min-width:1001px){
  .front-header__nav .front-nav-menu .menu-item.is-sub{display:none;}
}

/* ═══ お知らせ サイドバー：D-abyss 予約カード ═══ */
.dabyss-side{display:flex;flex-direction:column;gap:20px;}
.dabyss-side .ds-card{background:rgba(9,24,37,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(120,170,190,.14);border-radius:5px;padding:22px 22px 24px;}
.dabyss-side .ds-k{font-family:var(--font-display);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.dabyss-side .ds-reserve{background:linear-gradient(180deg,rgba(20,60,80,.5),rgba(9,24,37,.6));text-align:center;}
.dabyss-side .ds-lead{font-family:var(--font-display);font-size:18px;line-height:1.6;color:#EEF4F6;margin-bottom:18px;}
.dabyss-side .ds-btn{display:block;background:linear-gradient(180deg,var(--gold),#b8934a);color:#04121a;text-decoration:none;border-radius:40px;padding:13px 16px;font-size:13px;letter-spacing:.08em;transition:.3s;}
.dabyss-side .ds-btn:hover{filter:brightness(1.07);transform:translateY(-2px);}
.dabyss-side .ds-tel{display:block;margin-top:12px;color:var(--paper-dim);text-decoration:none;font-size:12.5px;letter-spacing:.06em;}
.dabyss-side .ds-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.dabyss-side .ds-links li{border-top:1px solid rgba(120,170,190,.12);}
.dabyss-side .ds-links li:first-child{border-top:0;}
.dabyss-side .ds-links a{display:block;padding:11px 2px;color:#DCE6EA;text-decoration:none;font-size:14px;transition:.25s;}
.dabyss-side .ds-links a:hover{color:var(--gold);padding-left:8px;}
.dabyss-side .ds-info{margin:0;font-size:12.5px;line-height:1.7;}
.dabyss-side .ds-info dt{color:var(--current);letter-spacing:.08em;margin-top:12px;font-size:11px;}
.dabyss-side .ds-info dt:first-child{margin-top:0;}
.dabyss-side .ds-info dd{color:var(--paper-dim);margin:3px 0 0;}

/* ── 料金：大部屋・完全個室を写真付き2カラムに（ビジュアル強化）── */
.pp .price-rooms{display:grid;grid-template-columns:1fr;gap:clamp(18px,2.4vw,28px);margin-top:24px;}
@media(min-width:760px){.pp .price-rooms{grid-template-columns:1fr 1fr;}}
.pp .pcard-photo{padding:0;overflow:hidden;}
.pp .pcard-photo .pc-photo{aspect-ratio:16/9;overflow:hidden;}
.pp .pcard-photo .pc-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82) saturate(.95);transition:transform .9s cubic-bezier(.19,1,.22,1);}
.pp .pcard-photo:hover .pc-photo img{transform:scale(1.05);filter:brightness(.94);}
.pp .pcard-photo .pc-body{padding:clamp(24px,2.6vw,34px);}
.pp .pcard-photo .pc-body h4{font-size:clamp(21px,2.2vw,26px);}

/* ── 発汗セクション（体感で想像させる）── */
.sweat-sec img{filter:brightness(.64) saturate(1.06) contrast(1.09)!important;}
.sweat-flow{display:flex;flex-wrap:wrap;align-items:center;gap:9px 14px;margin-top:28px;}
.sweat-flow span{font-family:var(--font-display);font-size:clamp(14px,1.9vw,19px);letter-spacing:.14em;color:var(--paper);}
.sweat-flow .arw{color:var(--gold);font-size:11px;letter-spacing:0;}
.sweat-flow .hot{color:var(--gold);font-size:clamp(17px,2.4vw,23px);letter-spacing:.1em;text-shadow:0 0 24px rgba(200,164,93,.4);}

/* ── feature grid を写真オーバーレイカードに（.photo 修飾）── */
.lp-features.photo .lp-feat{position:relative;padding:0;overflow:hidden;background:none;min-height:clamp(230px,25vw,300px);display:flex;align-items:flex-end;box-shadow:0 24px 60px -34px rgba(0,0,0,.72);}
.lp-features.photo .lp-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.6) saturate(.95);z-index:0;transition:transform .9s cubic-bezier(.19,1,.22,1);}
.lp-features.photo .lp-feat:hover img{transform:scale(1.05);filter:brightness(.72);}
.lp-features.photo .lp-feat::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,10,18,.08) 28%,rgba(4,10,18,.86) 100%);}
.lp-features.photo .lp-feat .fc{position:relative;z-index:2;padding:clamp(20px,2.2vw,28px);}
.lp-features.photo .lp-feat .k{color:#F4F8FA;margin-bottom:8px;}
.lp-features.photo .lp-feat p{color:rgba(220,232,238,.92);}

/* SWELL標準フッターを非表示（独自 dabyss-site-footer に一本化・旧ブランド© と重複ナビを解消）*/
.l-footer{display:none!important;}

/* ── 改行の最適化v2：ヒーロー/リード文も熟語を割らない（幅超過時のみ折返し）── */
.tagline,.hero .sub,.lead,.sj-hero-title .en,.lp-manifesto .big,.lp-manifesto p,
.lp-quote blockquote,.space .cap p,.cap p,.sec-note,.lp-split-txt .sec-note,
.sj-kicker,.sj-manifesto .line{word-break:keep-all;overflow-wrap:anywhere;}

/* モバイル横見切れ保険：ページルートでも横方向のはみ出しを抑止 */
.dabyss-ocean-page,#body_wrap{overflow-x:clip;}

/* ── 公式LINE ボタン ── */
.contact-actions .line-cta{background:#06C755;color:#fff;font-weight:500;box-shadow:0 8px 26px rgba(6,199,85,.25);}
.contact-actions .line-cta:hover{background:#05b34c;transform:translateY(-2px);box-shadow:0 12px 34px rgba(6,199,85,.35);}
.contact-actions .line-cta .sub{color:#fff;opacity:.85;}
.dabyss-site-footer .f-line{background:#06C755;color:#fff;text-decoration:none;font-size:13px;letter-spacing:.08em;padding:13px 26px;border-radius:40px;font-weight:500;transition:transform .3s;margin-left:12px;display:inline-block;}
.dabyss-site-footer .f-line:hover{transform:translateY(-2px);filter:brightness(1.05);}
@media(max-width:600px){.dabyss-site-footer .f-line{margin-left:0;margin-top:10px;}}
