/* ============================================
   The Tenpō Sauna  style.css
   ベースカラー：墨黒 × 生成り × 苔緑 × 金茶
============================================ */
:root{
  --bg:      #ffffff;   /* 白基調 */
  --bg2:     #f6f5f1;   /* ごく薄いオフホワイト */
  --sumi:    #1f2420;   /* 深い墨（ほぼ黒・わずかに緑み） */
  --sumi2:   #2c322c;
  --koke:    #3f4a3c;   /* 深緑（アクセント） */
  --gold:    #bf9138;   /* ゴールド（強調） */
  --koke2:   #5d6a55;
  --line:    #e3e1da;   /* 罫線 */
  --text:    #333333;   /* 本文ダークグレー */
  --gray:    #6b6b66;
  --font-min: 'Shippori Mincho', serif;
  --font-go:  'Zen Kaku Gothic New', sans-serif;
  --font-en:  'Cormorant Garamond', serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;background:#10160f;}
body{
  font-family:var(--font-go);
  overflow-x:hidden;
  width:100%;
  color:var(--text);
  background:#10160f;
  line-height:1.9;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:opacity .3s;}
a:hover{opacity:.65;}

/* ===== レイアウト ===== */
.container{max-width:1100px;margin:0 auto;padding:0 24px;}
.container--narrow{max-width:760px;}
.section{padding:96px 0;background:#fff;}
.center{text-align:center;}
.sp{display:none;}

.section__en{
  font-family:var(--font-en);
  font-size:.95rem;letter-spacing:.25em;
  color:var(--gold);text-align:center;
  text-transform:uppercase;margin-bottom:10px;
}
.txt-gold{color:var(--gold);}
.section__title{
  font-family:var(--font-min);
  font-size:1.9rem;font-weight:600;
  text-align:center;line-height:1.6;
  margin-bottom:48px;letter-spacing:.04em;
}

.experience .section__title{margin-bottom:72px;}

/* ===== 写真の枠＋浮遊感演出 ===== */
.pf{position:relative;display:block;width:100%;height:100%;isolation:isolate;}
.pf img{
  position:relative;z-index:1;
  box-shadow:0 20px 44px rgba(30,36,32,.22),0 4px 12px rgba(30,36,32,.10);
  transition:transform .6s ease,box-shadow .6s ease;
}
.pf::after{
  content:"";position:absolute;z-index:0;
  top:16px;left:16px;right:-16px;bottom:-16px;
  border:1px solid var(--gold);
  border-radius:3px;opacity:.55;
  pointer-events:none;
  transition:top .6s ease,left .6s ease,right .6s ease,bottom .6s ease,opacity .6s ease;
}
.pf:hover img{transform:translate(-4px,-4px);box-shadow:0 30px 60px rgba(30,36,32,.28),0 6px 16px rgba(30,36,32,.12);}
.pf:hover::after{top:22px;left:22px;right:-22px;bottom:-22px;opacity:.75;}
.experience .pf::after{display:none;}
@media (max-width:768px){
  .pf::after{top:10px;left:10px;right:-10px;bottom:-10px;}
}

/* ===== ディゾルブ切替動画 ===== */
.xfade{position:relative;width:100%;aspect-ratio:9/16;max-height:640px;margin:0 auto;max-width:360px;background:var(--sumi);border-radius:3px;}
.xfade .xfade__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:3px;opacity:0;transition:opacity 1s ease;z-index:1;box-shadow:0 20px 44px rgba(30,36,32,.22),0 4px 12px rgba(30,36,32,.10);}
.xfade .xfade__v.is-on{opacity:1;}
.xfade--fill{aspect-ratio:auto;max-width:none;max-height:none;position:absolute;inset:0;margin:0;border-radius:0;}
.xfade--fill .xfade__v{border-radius:0;box-shadow:none;}

/* ===== ボタン ===== */
.btn{
  display:inline-block;
  font-family:var(--font-min);
  font-size:1rem;letter-spacing:.12em;
  padding:15px 48px;
  background:var(--sumi);color:var(--bg);
  border:1px solid var(--sumi);
  border-radius:2px;cursor:pointer;
  transition:background .3s,color .3s,opacity .3s;
}
.btn:hover{background:var(--koke);border-color:var(--koke);color:#fff;opacity:1;}
.btn--hero{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(2px);}
.btn--hero:hover{background:var(--koke);border-color:var(--koke);}
.btn--submit{padding:16px 72px;background:#3a5a40;border-color:#3a5a40;color:#fff;}
.btn--submit:hover{background:var(--koke);border-color:var(--koke);}

/* ===== ヘッダー ===== */
.header{
  position:absolute;top:0;left:0;width:100%;z-index:1000;
  background:rgba(10,12,10,.5);
}
.header.scrolled{background:rgba(255,255,255,.96);box-shadow:0 2px 14px rgba(0,0,0,.08);}
.header.scrolled .header__logo,
.header.scrolled .nav__list a{color:var(--sumi);text-shadow:none;}
.header.scrolled .hamburger span{background:var(--sumi);}
.header__inner{
  max-width:1240px;margin:0 auto;padding:28px 28px 26px;
  display:flex;align-items:center;justify-content:space-between;
}
@media (min-width:769px){
  .header__inner{flex-direction:column;gap:12px;justify-content:center;align-items:flex-start;position:relative;}
  .header__nav-center{align-self:center;}
}
@media (max-width:768px){
  .header__stay{display:none !important;}
}
.header__logo{
  font-family:var(--font-min);font-size:1.7rem;
  color:#d9b366;letter-spacing:.1em;font-weight:600;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}
@media (max-width:768px){
  .header__logo{font-size:1.2rem;}
  .sns-heading{text-align:center;}
  .header__inner{padding:14px 20px 12px;}
}
.nav__list{display:flex;gap:30px;list-style:none;align-items:center;}
.nav__list a{
  position:relative;
  color:#fff;font-size:.92rem;letter-spacing:.08em;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
  padding-bottom:6px;
}
.nav__list a::after{
  content:"";position:absolute;left:0;bottom:0;
  width:100%;height:2px;background:#e0c9a6;
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease,background .3s;
}
.nav__list a:hover{opacity:1;color:#e0c9a6;}
.nav__list a:hover::after{transform:scaleX(1);}
.header.scrolled .nav__list a:hover{color:#2f7d4f;}
.header.scrolled .nav__list a::after{background:#2f7d4f;}
.hamburger{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;z-index:1100;}
.hamburger span{display:block;width:28px;height:2px;background:#fff;transition:.3s;}
.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ===== ヒーロー ===== */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:200px 0 160px;box-sizing:border-box;
  background:linear-gradient(150deg,#243027 0%,#1a221c 55%,#10160f 100%);
  text-align:center;color:#fff;overflow:hidden;
}
/* 画像スライドショー（フェード切替） */
.hero__slides{position:absolute;inset:0;z-index:0;overflow:hidden;background:#10160f url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4pLSwzOko+MzZGNywtQFdBRkxOUlNSMj5aYVpQYEpRUk//2wBDAQ4ODhMREyYVFSZPNS01T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0//wAARCAAbACgDASIAAhEBAxEB/8QAGgAAAgMBAQAAAAAAAAAAAAAABAUAAQYCA//EACgQAAIBAwQBAgcBAAAAAAAAAAECAwQRIQAFEjFBUWETFCIykbHRI//EABcBAAMBAAAAAAAAAAAAAAAAAAACAwH/xAAdEQEAAwACAwEAAAAAAAAAAAABAAIRAxIhMmFx/9oADAMBAAIRAxEAPwDPvBMkqLDxnVwGV4r8c+5A/mvKeZlLROwRrdg3tj28/o6qi2vm+ykQn/SUkMIsS2kyL2zYDQ23imp5zFuCzxyJyDAWBQ9DBtY39Tj00V57WEtC/DU9YypmBkWmnphIGZS0ZOOYxdgerEnvwexfQUm3UzSwrFURojgEAsWVRgnuxAvjvwR76I2ueM13Fp1hkEqmNiFZkIsRkgX6Az3frzov5SVp4akVdGJ15M8KkLYEfYAOxYMLX6wL41Ls7gRQ+xLU7BU054y8FALAsGBvbGBe5ub4sPGc6mmu7xtA9GixBzKpYHgxZQxAAYZyAAcd368mayjZNY7+yqGHc62khpBITTwoJI0kjC8Qeypa2CTmxybHQ25UjUbNH8pKYgqEsSrjnx+oEjAzy97AX9dXtSL8CiqBcTPOkZcE3CkuDb06HXXjTqgkliDGOaVSJ5c8zmzv3nPWrAZF1ZnqWBYIZnmp5ZGNlRQtxkHItg5scH8513t5ZahJA0YVjyvIw5qB74scY8+neVk9XUGnKmZyDLkk5Pfnu3toillkqI41nkdxIxL3Y5IwP2fzrPBrDJo9pqVmnqqyqG3Sp9sUcyqjM5BC8CF+g3QGxsMk93OppFtdPFOlQJkDCNQFv4yP6dTU9JTrP//Z') center/cover no-repeat;filter:none;}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 6s ease;}
.hero__slide.is-active{opacity:1;transform:scale(1);}
.hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(16,18,15,.4),rgba(16,18,15,.6));}

/* 波打つ下端 */
.hero__wave{position:absolute;left:0;bottom:-1px;width:100%;height:14vh;min-height:90px;max-height:150px;z-index:3;line-height:0;pointer-events:none;}
.hero__wave svg{width:100%;height:100%;}
.waves__group > use{animation:waveMove 22s cubic-bezier(.55,.5,.45,.5) infinite;}
.waves__group > use:nth-child(1){animation-delay:-2s;animation-duration:13s;}
.waves__group > use:nth-child(2){animation-delay:-3s;animation-duration:17s;}
.waves__group > use:nth-child(3){animation-delay:-4s;animation-duration:21s;}
.waves__group > use:nth-child(4){animation-delay:-5s;animation-duration:28s;}
@keyframes waveMove{from{transform:translate3d(-90px,0,0);}to{transform:translate3d(85px,0,0);}}

/* Scroll 表示（左） */
.hero__scroll{position:absolute;left:22px;bottom:120px;z-index:3;color:rgba(255,255,255,.85);font-family:var(--font-en);letter-spacing:.25em;font-size:.8rem;writing-mode:vertical-rl;text-transform:uppercase;}
.hero__inner{position:relative;z-index:2;padding:0 24px;max-width:820px;}
.hero__en{font-family:var(--font-en);letter-spacing:.3em;font-size:1rem;color:#b7c2ad;margin-bottom:28px;text-transform:uppercase;}
.hero__label{font-family:var(--font-min);letter-spacing:.28em;font-size:.85rem;color:rgba(255,255,255,.82);margin-bottom:26px;}
.hero__label::before,.hero__label::after{content:"";display:inline-block;width:26px;height:1px;background:rgba(255,255,255,.5);vertical-align:middle;margin:0 14px 4px;}
.hero__title{font-family:var(--font-min);font-size:2.7rem;font-weight:600;line-height:1.7;letter-spacing:.06em;margin-bottom:32px;}
.hero__lead{font-size:1rem;line-height:2.1;margin-bottom:44px;color:rgba(255,255,255,.9);}

/* ===== CTAバンド（パララックス） ===== */
.cta{position:relative;background-size:cover;background-position:center;background-attachment:fixed;padding:120px 24px;text-align:center;color:#fff;}
.cta__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,18,15,.55),rgba(16,18,15,.68));}
.cta__inner{position:relative;z-index:1;max-width:720px;margin:0 auto;}
.cta__title{font-family:var(--font-min);font-size:2rem;font-weight:600;line-height:1.7;letter-spacing:.05em;margin-bottom:22px;}
.cta__text{font-size:.98rem;color:rgba(255,255,255,.9);margin-bottom:38px;letter-spacing:.04em;}

/* ===== カード ===== */
.cards{display:grid;gap:28px;}
.cards--3{grid-template-columns:repeat(3,1fr);}
.card{
  background:#fff;padding:40px 30px;border-radius:3px;
  box-shadow:0 6px 28px rgba(40,35,25,.07);
  border-top:3px solid var(--koke);
  overflow:hidden;
}
.card__img{margin:-40px -30px 26px;width:calc(100% + 60px);max-width:none;height:210px;object-fit:cover;display:block;transition:transform 1.2s ease;}
.card{transition:transform .5s ease,box-shadow .5s ease;}
.cards .card:hover{transform:scale(1.035);box-shadow:0 16px 44px rgba(40,35,25,.15);}
.cards .card:hover .card__img{transform:scale(1.08);}
.card__title{font-family:var(--font-min);font-size:1.2rem;font-weight:600;margin-bottom:16px;color:var(--sumi);}
.card p{font-size:.95rem;color:var(--gray);}
.card--dark{background:#fff;border-top-color:var(--koke);}
.card--dark .card__title{color:var(--sumi);}
.card--dark p{color:var(--gray);}
.voice__name{margin-top:18px;font-size:.85rem;color:var(--koke);font-family:var(--font-min);}
.voice__stars{color:#c8a24c;font-size:1.05rem;letter-spacing:.28em;margin-bottom:18px;line-height:1;}

.voice .card:nth-child(2){transition-delay:.14s;}
.voice .card:nth-child(3){transition-delay:.28s;}

/* セクション背景の差（白基調・原サイト準拠） */
.solution{background:var(--bg2);}
.benefit{background:var(--bg);}
.voice{position:relative;background:url('../images/voice_bg.jpg') center/cover no-repeat fixed;}
.voice::before{content:"";position:absolute;inset:0;background:rgba(245,243,238,.85);}
.voice>.container{position:relative;z-index:1;}

/* ===== ベネフィット（写真全面＋オーバーレイ・段違い） ===== */
.benefit__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start;}
.benefit__item{position:relative;margin:0;height:470px;border-radius:3px;overflow:hidden;box-shadow:0 10px 34px rgba(30,36,32,.18);}
.benefit__item:nth-child(2){margin-top:56px;}
.benefit__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s ease;}
.benefit__item:hover img{transform:scale(1.07);}
.benefit__item figcaption{z-index:2;position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:34px 30px;color:#fff;background:linear-gradient(to top,rgba(15,17,13,.72) 0%,rgba(15,17,13,.3) 30%,rgba(15,17,13,0) 50%);}
.benefit__num{font-family:var(--font-en);font-size:1.35rem;letter-spacing:.18em;color:#c8d3bd;margin-bottom:12px;}
.benefit__num::after{content:"";display:block;width:32px;height:1px;background:rgba(255,255,255,.5);margin-top:12px;}
.benefit__item h3{font-family:var(--font-min);font-size:1.32rem;font-weight:600;margin-bottom:14px;letter-spacing:.04em;line-height:1.5;}
.benefit__item p{font-size:.92rem;line-height:1.9;color:rgba(255,255,255,.9);}
.benefit__grid .reveal:nth-child(2){transition-delay:.14s;}
.benefit__grid .reveal:nth-child(3){transition-delay:.28s;}

/* ===== コンセプト（左：文字・右：画像） ===== */
.concept{background:var(--bg);}
.concept__inner{display:grid;grid-template-columns:minmax(min-content,0.85fr) 1.4fr;gap:56px;align-items:center;}
.concept__body .section__en{text-align:left;}
.concept__body .section__title{text-align:left;margin-bottom:30px;white-space:nowrap;}
.concept__text p{font-family:var(--font-min);font-size:1.05rem;text-align:left;margin-bottom:24px;letter-spacing:.03em;color:#3a342b;}
.concept__text p:last-child{margin-bottom:0;}
.concept__inner .concept__photo{max-width:none;margin:0;padding:0;}
.concept__inner .concept__photo img{width:100%;height:100%;max-height:520px;object-fit:cover;border-radius:3px;}

/* ===== 体験（交互） ===== */
/* ===== 体験（見出し帯→大きな写真2枚） ===== */
.feature{margin-bottom:88px;}
.feature:last-child{margin-bottom:0;}
.feature__head{display:grid;grid-template-columns:0.85fr 1.5fr;gap:44px;align-items:end;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line);}
.feature__head h3{font-family:var(--font-min);font-size:1.5rem;font-weight:600;color:var(--sumi);line-height:1.5;letter-spacing:.03em;}
.feature__head p{color:var(--gray);}
.feature__duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.feature__duo img{width:100%;height:400px;object-fit:cover;border-radius:3px;display:block;}

/* コンセプト下の全幅写真 */
.concept__photo{max-width:1100px;margin:56px auto 0;padding:0 24px;}
.concept__photo img{width:100%;max-height:440px;object-fit:cover;border-radius:3px;}

/* スクロールで浮かび上がる */
.reveal{opacity:0;transform:translateY(48px);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* うっすら半透明から徐々に表示（移動なし・フェードのみ） */
.reveal--slow{transform:none;opacity:0;transition:opacity 2.2s ease;}
.reveal--slow.is-visible{transform:none;opacity:1;}

/* ゆっくり少しだけスライドアップ */
.reveal--gentle{transform:translateY(32px);transition:opacity 1.5s ease,transform 1.5s cubic-bezier(.19,1,.22,1);}
.problem .card:nth-child(2){transition-delay:.14s;}
.problem .card:nth-child(3){transition-delay:.28s;}

/* スクロールで左右からスライドイン */
.reveal--left,.reveal--right{opacity:0;transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1);}
.reveal--left{transform:translateX(-64px);}
.reveal--right{transform:translateX(64px);}
.reveal--left.is-visible,.reveal--right.is-visible{opacity:1;transform:translateX(0);}
.feature__body h3{font-family:var(--font-min);font-size:1.35rem;font-weight:600;margin-bottom:20px;color:var(--sumi);line-height:1.6;}
.feature__body p{color:var(--gray);font-size:.97rem;}

/* 画像プレースホルダ（素材到着まで） */
.img-placeholder{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:280px;padding:24px;
  background:linear-gradient(135deg,#e9eae4,#dde0d6);
  color:#6f766a;font-family:var(--font-min);font-size:.95rem;
  border:1px dashed #b9bdb0;border-radius:3px;letter-spacing:.05em;
}

/* ===== プラン ===== */
.plan__box{background:#fff;padding:56px 40px;text-align:center;border-radius:3px;box-shadow:0 6px 28px rgba(40,35,25,.07);border-top:3px solid var(--koke);}
.plan__name{font-family:var(--font-min);font-size:1.4rem;font-weight:600;margin-bottom:20px;}
.plan__note{color:var(--gray);font-size:.95rem;margin-bottom:36px;}

/* ===== ステップ ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.step{text-align:center;padding:0 6px;}
.step__num{font-family:var(--font-en);letter-spacing:.15em;color:var(--koke);font-size:1.05rem;font-weight:500;}
.step h3{font-family:var(--font-min);font-size:1.15rem;margin:14px 0 12px;color:var(--sumi);}
.step:nth-child(2){transition-delay:.12s;}
.step:nth-child(3){transition-delay:.24s;}
.step:nth-child(4){transition-delay:.36s;}
.step p{font-size:.83rem;color:var(--gray);}

/* ===== ギャラリー ===== */
.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:290px;grid-auto-flow:dense;gap:14px;}
.gallery__item{position:relative;margin:0;overflow:hidden;border-radius:3px;box-shadow:0 6px 22px rgba(30,36,32,.12);}
.gallery__item--video{background:var(--sumi);}
.gallery__item img,.gallery__item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.gallery__item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery__item:nth-child(4){grid-row:span 2;}
.gallery__item:nth-child(6){grid-column:span 2;}
.gallery__item:nth-child(7){grid-row:span 2;}
.gallery__item:nth-child(8){grid-column:span 2;}
.gallery__item:hover img,.gallery__item:hover video{transform:scale(1.06);}
.sns__img:hover img{transform:translate(-4px,-4px) scale(1.03);}
.gallery__item figcaption{z-index:2;position:absolute;left:0;bottom:0;width:100%;padding:26px 16px 12px;color:#fff;font-family:var(--font-min);font-size:.92rem;letter-spacing:.04em;background:linear-gradient(to top,rgba(16,18,15,.72),transparent);}

/* ===== FAQ ===== */
.faq__item{border-bottom:1px solid var(--bg2);padding:24px 0;}
.faq__item dt{font-family:var(--font-min);font-weight:600;font-size:1.05rem;margin-bottom:12px;color:var(--sumi);position:relative;padding-left:30px;}
.faq__item dt::before{content:"Q";position:absolute;left:0;color:var(--koke);font-family:var(--font-en);font-size:1.2rem;}
.faq__item dd{color:var(--gray);font-size:.95rem;padding-left:30px;}
.faq__item:nth-child(2){transition-delay:.1s;}
.faq__item:nth-child(3){transition-delay:.2s;}
.faq__item:nth-child(4){transition-delay:.3s;}
.faq__item:nth-child(5){transition-delay:.4s;}

/* ===== アクセス ===== */
.access__inner{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:stretch;}
.access__name{font-family:var(--font-min);font-size:1.3rem;font-weight:600;margin-bottom:24px;}
.access__info dl>div{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--bg2);}
.access__info dt{flex:0 0 80px;font-weight:500;color:var(--koke);}
.access__info dd{flex:1;color:var(--gray);}
.access__map{min-height:340px;border-radius:3px;overflow:hidden;}
.access__map iframe{display:block;height:100%;min-height:340px;}

/* ===== お問い合わせフォーム ===== */
.contact{background:var(--bg2);}
.contact__note{text-align:center;color:var(--gray);margin-bottom:40px;font-size:.95rem;}
.form__row{margin-bottom:24px;}
.form__row label{display:block;font-weight:500;margin-bottom:8px;font-size:.95rem;}
.req{display:inline-block;margin-right:10px;font-size:.72rem;background:#3a5a40;color:#fff;padding:2px 10px;border-radius:2px;letter-spacing:.05em;}
.form__row input,.form__row textarea{
  width:100%;padding:14px 16px;border:1px solid #d6d4cc;border-radius:2px;
  font-family:var(--font-go);font-size:1rem;background:#fff;color:var(--text);
}
.form__row input:focus,.form__row textarea:focus{outline:none;border-color:var(--koke);}

/* ===== フッター ===== */
.footer{background:#1a221c;color:rgba(255,255,255,.78);padding:64px 0 28px;}
.footer__inner{display:flex;justify-content:center;gap:72px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer__brand{max-width:340px;}
.footer__logo{font-family:var(--font-min);font-size:1.5rem;color:#fff;margin-bottom:18px;letter-spacing:.08em;}
.footer__catch{font-size:.88rem;line-height:1.9;}
.footer__contact p{font-size:.88rem;margin-bottom:10px;}
.footer__menu{list-style:none;}
.footer__menu li{margin-bottom:12px;}
.footer__menu a{font-size:.9rem;}
.footer__copy{text-align:center;font-family:var(--font-en);letter-spacing:.1em;font-size:.8rem;margin-top:28px;color:rgba(245,241,232,.5);}

/* ============================================
   レスポンシブ（スマホ）
============================================ */
@media (max-width:768px){
  .sp{display:block;}
  .pc{display:none;}
  .section{padding:64px 0;}
  .section__title{font-size:1.45rem;margin-bottom:36px;}
  .hero{padding:110px 0 140px;}
  .hero__btns{gap:16px;}
  .hero__title{font-size:1.8rem;}
  .hero__lead{font-size:.92rem;}
  .cta__text{white-space:nowrap;font-size:3.4vw;}
  .plan__note{white-space:nowrap;font-size:3.55vw;}
  .gallery__item figcaption{font-size:3.6vw;white-space:nowrap;}

  /* ナビ → ドロワー */
  .nav{
    position:fixed;top:0;right:-100%;width:30%;min-width:170px;height:100vh;
    background:rgba(28,26,23,.98);padding:96px 22px;
    transition:right .4s;
  }
  .nav.open{right:0;}
  .nav__list{flex-direction:column;gap:28px;}
  .nav__list a{font-size:1.05rem;color:#fff !important;text-shadow:none;}
  .hamburger.active span{background:#fff !important;}
  .hamburger{display:flex;position:fixed;top:16px;right:20px;padding:10px;background:rgba(10,12,10,.45);border-radius:2px;}

  .cards--3,.steps{grid-template-columns:1fr;}
  .gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;}
  .gallery__item{grid-row:span 1 !important;}
  .gallery__item:nth-child(1){grid-column:span 2;}
  .gallery__item:nth-child(6){grid-column:span 2;}
  .gallery__item:nth-child(8){grid-column:span 2;}
  .benefit__grid{grid-template-columns:1fr;}
  .benefit__item{height:400px;margin-top:0;}
  .feature{grid-template-columns:1fr;gap:24px;margin-bottom:48px;}
  .feature__head{grid-template-columns:1fr;gap:14px;align-items:start;margin-bottom:20px;}
  .feature__head h3{white-space:normal !important;font-size:1.3rem;}
  .feature__duo{gap:12px;}
  .feature__duo img{height:220px;}
  .feature--reverse .feature__img{order:0;}
  .access__inner{grid-template-columns:1fr;}
  .concept__inner{grid-template-columns:1fr;gap:32px;}
  .concept__body .section__title{white-space:normal;}
  .footer__inner{flex-direction:column;gap:32px;}
  .img-placeholder{min-height:200px;}
  .cta{background-image:none !important;clip-path:inset(0);padding:80px 24px;}
  .cta::before{content:"";position:fixed;inset:0;z-index:-1;background:url('../images/hero_garden.jpg') center/cover no-repeat;}
  .cta__title{font-size:1.5rem;}
  .voice{background-attachment:scroll;}
}

.stay-link:hover{color:var(--gold);}

/* 問い合わせフォーム 姓名の横並び（公開時追加） */
.form__name{display:flex;gap:12px;}
.form__name input{flex:1;min-width:0;}

/* 迷惑投稿よけの隠し項目（画面に出さない） */
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
