:root{
  --gold:#b8a07a;
  --gold-light:#d4c4a8;
  --gold-xlight:#ede6d8;
  --gold-dark:#8c7a5e;
  --cream:#faf8f5;
  --cream-dark:#f0ece4;
  --cream-mid:#f5f1ea;
  --charcoal:#2c2c30;
  --warm-gray:#5a5a62;
  --text:#3a3a40;
  --text-light:#7a7a84;
  --gray-1:#f7f7f8;
  --gray-2:#efefef;
  --gray-3:#e4e4e6;
  --gray-4:#d0d0d4;
  --white:#ffffff;
  --divider:rgba(0,0,0,.07);
  --linen:#f4efe8;
  --stone:#eae8e6;       /* 温かみのある淡いグレー */
  --stone-light:#f0efed; /* さらに淡いグレー */
  --stone-dark:#d9d6d3;  /* 少し濃いグレー（境界線等） */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  background:var(--cream);
  color:var(--text);
  padding-top:70px;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:1100px;margin:0 auto;padding:0 2rem;}

.en{font-family:'Cormorant Garamond',serif;}

/* ── 明朝ベース書式（店舗ページ準拠） ── */
.section-label{
  font-family:'Cormorant Garamond',serif;
  font-size:.78rem;letter-spacing:.35em;
  color:var(--gold);text-transform:uppercase;
  display:block;margin-bottom:.9rem;
}
.section-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.35rem,2.8vw,1.95rem);
  font-weight:400;color:var(--charcoal);
  letter-spacing:.08em;line-height:1.65;margin-bottom:.9rem;
}
.gold-accent{
  background:linear-gradient(90deg,var(--gold-dark) 0%,var(--gold) 25%,var(--gold-light) 50%,var(--gold) 75%,var(--gold-dark) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-weight:500;letter-spacing:.06em;
  animation:goldShimmer 6s ease-in-out infinite;
  display:inline-block;
}
@keyframes goldShimmer{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}
.about-text .section-title{overflow:hidden;}
.about-text .title-line,
.about-text .gold-accent{
  display:inline-block;
  opacity:0;transform:translateY(120%);
  transition:opacity .9s var(--ease,cubic-bezier(.2,.8,.2,1)),transform .9s var(--ease,cubic-bezier(.2,.8,.2,1));
}
.about-text .title-line{transition-delay:.15s;}
.about-text .gold-accent{transition-delay:.4s;}
.about.reveal.visible .title-line,
.about .reveal.visible .title-line,
.about-text.visible .title-line,
.about-text .title-line.is-in{opacity:1;transform:translateY(0);}
.about-text.visible .gold-accent,
.about-text .gold-accent.is-in{opacity:1;transform:translateY(0);}
.about-text .section-desc{
  opacity:0;transform:translateY(14px);
  transition:opacity 1s ease .65s,transform 1s ease .65s;
}
.about-text.visible .section-desc{opacity:1;transform:translateY(0);}
.about-rule{transform-origin:left center;transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.8,.2,1) .2s;}
.about-text.visible .about-rule{transform:scaleX(1);}
.section-desc{
  font-family:'Noto Serif JP',serif;
  color:var(--warm-gray);font-size:.875rem;
  line-height:2;letter-spacing:.05em;font-weight:400;
}

/* Reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.45s;}
.reveal-delay-5{transition-delay:.6s;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HEADER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.header{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  background:rgba(250,248,245,.96);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:all .4s ease;border-bottom:1px solid transparent;
}
.header.scrolled{border-bottom-color:var(--divider);}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1100px;margin:0 auto;padding:0 2rem;height:70px;
}
.logo{display:flex;align-items:center;gap:.75rem;}
.logo-mark img{height:34px;width:auto;object-fit:contain;}
.logo-text{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:400;letter-spacing:.18em;color:var(--charcoal);}
.nav{display:flex;align-items:center;gap:1.6rem;}
.nav-link{
  font-size:.7rem;letter-spacing:.12em;color:var(--warm-gray);
  position:relative;padding-bottom:3px;transition:color .3s;white-space:nowrap;
}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s;}
.nav-link:hover{color:var(--charcoal);}
.nav-link:hover::after{width:100%;}
.nav-reserve{
  padding:.5rem 1.4rem;border:1px solid var(--gold);
  color:var(--gold-dark);font-size:.68rem;letter-spacing:.16em;
  transition:all .3s;white-space:nowrap;
}
.nav-reserve:hover{background:var(--gold);color:var(--white);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.hamburger span{display:block;width:22px;height:1px;background:var(--charcoal);transition:all .3s;}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}
.mobile-nav{
  display:none;position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(250,248,245,.98);backdrop-filter:blur(20px);
  z-index:999;flex-direction:column;align-items:center;justify-content:center;
  gap:2.2rem;opacity:0;transition:opacity .4s;
}
.mobile-nav.active{display:flex;opacity:1;}
.mobile-nav a{font-family:'Noto Serif JP',serif;font-size:1.05rem;font-weight:300;letter-spacing:.12em;color:var(--charcoal);}
@media(max-width:768px){.nav{display:none;}.hamburger{display:flex;}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FV
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fv{
  position:relative;min-height:calc(100vh - 70px);
  display:flex;align-items:stretch;overflow:hidden;
}
.fv-bg{
  position:absolute;inset:0;z-index:0;
}
.fv-bg img, .fv-bg video{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;
}
/* 画像上にクリーム系オーバーレイ（左から右へフェード） */
.fv-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(
    100deg,
    rgba(250,248,245,.93) 0%,
    rgba(250,248,245,.80) 40%,
    rgba(250,248,245,.25) 65%,
    rgba(250,248,245,.05) 100%
  );
}
.fv-inner{
  position:relative;z-index:1;
  display:flex;align-items:center;
  max-width:1100px;margin:0 auto;padding:6rem 2rem;
  width:100%;
}
.fv-content{max-width:580px;}

/* Google口コミバッジ */
.fv-google-badge{
  display:inline-flex;align-items:center;gap:.7rem;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(184,160,122,.25);
  border-radius:100px;padding:.42rem 1.1rem;
  margin-bottom:1.8rem;backdrop-filter:blur(8px);
}
.fv-google-badge .g-icon{
  font-size:.75rem;letter-spacing:.02em;
}
.fv-google-badge .g-icon span:nth-child(1){color:#4285F4;}
.fv-google-badge .g-icon span:nth-child(2){color:#EA4335;}
.fv-google-badge .g-icon span:nth-child(3){color:#FBBC05;}
.fv-google-badge .g-icon span:nth-child(4){color:#4285F4;}
.fv-google-badge .g-icon span:nth-child(5){color:#34A853;}
.fv-google-badge .g-icon span:nth-child(6){color:#EA4335;}
.fv-google-badge .stars{color:#F5A623;font-size:.78rem;letter-spacing:2px;}
.fv-google-badge .score{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--charcoal);}
.fv-google-badge .label{font-size:.66rem;color:var(--warm-gray);letter-spacing:.06em;}

/* FVタイトル（明朝） */
.fv-eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(.85rem,1.5vw,1rem);
  letter-spacing:.3em;color:var(--gold-dark);
  display:block;margin-bottom:.9rem;
}
.fv-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.9rem,4.5vw,3.2rem);
  font-weight:400;color:var(--charcoal);
  letter-spacing:.08em;line-height:1.5;
  margin-bottom:1.1rem;
}
.fv-title em{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:1.18em;
  color:var(--gold-dark);font-weight:300;
}
.fv-lead{
  font-family:'Noto Serif JP',serif;
  font-size:.9rem;color:var(--warm-gray);
  line-height:2.1;letter-spacing:.07em;margin-bottom:.9rem;font-weight:400;
}
/* 料金ヒント */
.fv-price{
  display:inline-flex;align-items:baseline;gap:.35rem;
  margin-bottom:2.2rem;
  padding-left:1rem;border-left:2px solid var(--gold-light);
}
.fv-price .label{font-size:.7rem;letter-spacing:.1em;color:var(--warm-gray);}
.fv-price .amount{font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:var(--gold-dark);}
.fv-price .note{font-size:.7rem;color:var(--text-light);}

/* FV CTAボタン */
.fv-cta{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;}
.btn-primary{
  display:inline-flex;align-items:center;gap:.7rem;
  background:var(--gold-dark);color:var(--white);
  padding:.95rem 2.4rem;font-size:.78rem;letter-spacing:.18em;
  border:1px solid var(--gold-dark);transition:all .35s;
}
.btn-primary:hover{background:var(--gold);border-color:var(--gold);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.75rem;letter-spacing:.1em;color:var(--warm-gray);
  border-bottom:1px solid var(--gray-3);padding-bottom:.25rem;
  transition:color .3s,border-color .3s;
}
.btn-ghost:hover{color:var(--charcoal);border-color:var(--charcoal);}

@media(max-width:768px){
  .fv-bg::after{
    background:linear-gradient(180deg,rgba(250,248,245,.92) 0%,rgba(250,248,245,.75) 60%,rgba(250,248,245,.4) 100%);
  }
  .fv-inner{padding:4rem 1.5rem 3rem;}
  .fv-title{font-size:clamp(1.7rem,6vw,2.3rem);}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STATS（クリーム背景・ゴールドアクセント）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.stats{
  position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(240,236,228,.93) 0%,rgba(240,236,228,.86) 50%,rgba(240,236,228,.93) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2026/04/whiteninghome-whitening-room.webp") center/cover no-repeat;
  background-attachment:scroll,fixed;
  border-top:1px solid var(--gold-xlight);
  border-bottom:1px solid var(--gold-xlight);
  padding:4rem 0 4.5rem;
}
@media(max-width:768px){.stats{background-attachment:scroll,scroll;}}
.stats-inner{max-width:1100px;margin:0 auto;padding:0 2rem;}
.stats-eyebrow{
  display:flex;align-items:center;justify-content:center;gap:.9rem;
  margin-bottom:2.5rem;
}
.stats-rule{display:block;width:38px;height:1px;background:var(--gold-light);}
.stats-eyebrow-text{
  font-family:'Cormorant Garamond',serif;font-size:.72rem;
  letter-spacing:.32em;color:var(--gold-dark);text-transform:uppercase;
}
.stats-title{
  text-align:center;font-family:'Noto Serif JP',serif;
  font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:400;
  color:var(--charcoal);letter-spacing:.08em;margin-bottom:2.5rem;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:.75rem;
}
@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(3,1fr);}}
.stat-item{
  text-align:center;padding:2.2rem 1rem 1.8rem;position:relative;
  background:var(--white);
  border:1px solid var(--gold-xlight);
  transition:transform .4s ease,box-shadow .4s ease;
  overflow:hidden;
}
.stat-item::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--accent,var(--gold));
}
.stat-item::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at top right,var(--accent-soft,rgba(201,169,110,.12)),transparent 60%);
  opacity:.8;
}
.stat-item > *{position:relative;z-index:1;}
.stat-item:nth-child(1){--accent:#C9A96E;--accent-soft:rgba(201,169,110,.14);}
.stat-item:nth-child(2){--accent:#D89B8A;--accent-soft:rgba(216,155,138,.13);}
.stat-item:nth-child(3){--accent:#A8BFA0;--accent-soft:rgba(168,191,160,.14);}
.stat-item:nth-child(4){--accent:#9CADC4;--accent-soft:rgba(156,173,196,.13);}
.stat-item:nth-child(5){--accent:#B8935E;--accent-soft:rgba(184,147,94,.14);}
.stat-item:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(80,60,30,.08);
}
.stat-headline{
  display:block;font-family:'Noto Serif JP',serif;
  font-size:.82rem;color:var(--warm-gray);letter-spacing:.08em;
  font-weight:400;margin-bottom:.3rem;
}
.stat-num{
  font-family:'Cormorant Garamond',serif;
  color:var(--gold-dark);letter-spacing:.02em;
  display:flex;align-items:baseline;justify-content:center;gap:.35rem;
  line-height:1;margin:.4rem 0 .7rem;
}
.stat-num strong{
  font-size:clamp(2.6rem,5vw,3.6rem);
  font-weight:400;color:var(--accent,var(--gold-dark));letter-spacing:.01em;
  background:linear-gradient(180deg,var(--charcoal) 0%,var(--accent,var(--gold-dark)) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.stat-unit{
  font-family:'Noto Sans JP',sans-serif;font-size:.78rem;
  font-weight:500;color:var(--warm-gray);letter-spacing:.08em;
}
.stat-label{
  display:block;font-family:'Noto Serif JP',serif;
  font-size:.82rem;color:var(--charcoal);
  letter-spacing:.08em;font-weight:500;line-height:1.7;
  margin-bottom:.6rem;
}
.stat-label::before{
  content:"";display:block;width:20px;height:1px;
  background:var(--accent,var(--gold));margin:0 auto .55rem;
}
.stat-compare{
  display:block;font-size:.65rem;color:var(--text-light);
  letter-spacing:.05em;line-height:1.6;
  padding-top:.5rem;border-top:1px dashed var(--gold-xlight);
  margin-top:.3rem;
}
@media(max-width:768px){
  .stats{padding:3rem 0 3.5rem;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;}
  .stat-item{padding:1.5rem .7rem;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ABOUT（トップ紹介セクション）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.about{padding:7rem 0;}
.about-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:center;
}
.about-img{
  position:relative;
  border-radius:12px;
  overflow:hidden;
}
.about-img img, .about-img video{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  display:block;
}
.about-img-accent{
  position:absolute;
  bottom:-1.5rem;right:-1.5rem;
  width:70%;aspect-ratio:1;
  border:1px solid var(--gold-light);
  z-index:-1;border-radius:2px;
}
.about-text{padding-left:1rem;}
.about-rule{
  display:block;width:2.5rem;
  height:1px;background:var(--gold);margin-bottom:2rem;
}
@media(max-width:768px){
  .about{padding:5rem 0;}
  .about-inner{grid-template-columns:1fr;gap:2.5rem;}
  .about-text{padding-left:0;}
  .about-img-accent{display:none;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SALON VIDEO（施術動画セクション）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ━━ FOR YOU ━━ */
.foryou{
  padding:7rem 0;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(250,248,245,.92) 0%,rgba(250,248,245,.86) 50%,rgba(250,248,245,.94) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2026/04/IMG_4133.jpg") center/cover no-repeat;
  background-attachment:scroll,fixed;
}
.foryou::before{
  content:"";position:absolute;top:-20%;left:-10%;width:55%;height:90%;
  background:radial-gradient(closest-side,rgba(237,230,216,.4),transparent 70%);
  pointer-events:none;z-index:0;
}
.foryou .container{position:relative;z-index:1;}
@media(max-width:768px){
  .foryou{background-attachment:scroll,scroll;}
}
.foryou-header{text-align:center;margin-bottom:3rem;}
.foryou-list{
  display:flex;flex-direction:column;gap:1rem;
  max-width:720px;margin:0 auto;
}
.foryou-row{
  display:flex;align-items:stretch;gap:0;
  background:var(--white);border:1px solid var(--gold-xlight);
  position:relative;overflow:hidden;
  transition:transform .4s ease,box-shadow .4s ease;
}
.foryou-row:hover{transform:translateX(3px);box-shadow:0 10px 26px rgba(80,60,30,.06);}
.foryou-quote{
  flex:1;padding:1.4rem 1.6rem 1.4rem 2.2rem;
  display:flex;align-items:center;gap:.8rem;position:relative;
}
.foryou-quote-mark{
  position:absolute;top:.3rem;left:.8rem;
  font-family:'Cormorant Garamond',serif;font-size:2rem;
  color:var(--gold-light);line-height:1;font-weight:400;
}
.foryou-quote p{
  font-family:'Noto Serif JP',serif;font-size:.92rem;font-weight:400;
  color:var(--charcoal);line-height:1.8;letter-spacing:.04em;
}
.foryou-quote strong{color:var(--gold-dark);font-weight:500;}
.foryou-tag{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  padding:0 1.3rem;min-width:110px;
  background:var(--cream-dark);
  font-family:'Noto Sans JP',sans-serif;font-size:.72rem;
  letter-spacing:.08em;color:var(--warm-gray);font-weight:500;
  border-left:1px solid var(--gold-xlight);
  text-align:center;line-height:1.4;
}
.foryou-bridge{
  text-align:center;margin-top:3.5rem;max-width:720px;margin-left:auto;margin-right:auto;
}
.foryou-bridge-line{
  display:block;width:1px;height:36px;background:var(--gold-light);margin:0 auto 1.3rem;
}
.foryou-bridge-eyebrow{
  display:block;font-family:'Cormorant Garamond',serif;font-size:.72rem;
  letter-spacing:.25em;color:var(--gold-dark);text-transform:none;margin-bottom:.6rem;
}
.foryou-bridge-text{
  font-family:'Noto Serif JP',serif;font-size:clamp(1.05rem,2.2vw,1.4rem);
  font-weight:500;color:var(--charcoal);line-height:1.6;letter-spacing:.08em;
}
.foryou-bridge-text .gold-accent{font-weight:500;}
.foryou-bridge-sub{
  margin-top:.9rem;font-size:.8rem;color:var(--warm-gray);line-height:1.9;letter-spacing:.04em;
}
@media(max-width:768px){
  .foryou{padding:5rem 0;}
  .foryou-row{flex-direction:column;}
  .foryou-quote{padding:1.3rem 1.3rem 1.3rem 2.1rem;}
  .foryou-tag{padding:.6rem 1rem;min-width:auto;border-left:none;border-top:1px solid var(--gold-xlight);}
}

.salon-video{padding:7rem 0;background:var(--cream);}
.salon-video-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;
  align-items:center;max-width:1100px;margin:0 auto;
}
.salon-video-player{
  position:relative;border-radius:12px;overflow:hidden;
  box-shadow:0 12px 50px rgba(44,44,48,.1);
  max-width:360px;justify-self:end;width:100%;
}
.salon-video-player video{
  width:100%;aspect-ratio:9/16;
  object-fit:cover;display:block;
}
.salon-video-text{text-align:left;}
.salon-video-text .section-desc{margin-top:1.2rem;}
.salon-video-text .btn-ghost{margin-top:2rem;display:inline-flex;}
@media(max-width:768px){
  .salon-video{padding:5rem 0;}
  .salon-video-inner{display:flex;flex-direction:column;gap:2.5rem;max-width:600px;}
  .salon-video-player{order:-1;justify-self:center;max-width:100%;}
  .salon-video-text{text-align:left;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   POINTS（こだわり）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.points{padding:7rem 0;background:var(--cream-dark);}
.points-header{
  position:relative;text-align:center;margin-bottom:4.5rem;
  padding:5rem 1.5rem;overflow:hidden;isolation:isolate;
  border-radius:4px;
}
.points-header-bg{
  position:absolute;inset:0;z-index:-1;
}
.points-header-bg video{
  width:100%;height:100%;object-fit:cover;display:block;
}
.points-header-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(250,248,245,.85) 0%,rgba(250,248,245,.78) 50%,rgba(250,248,245,.88) 100%);
  backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);
}
.points-header-inner{position:relative;z-index:1;}
.points-header .section-label{color:var(--gold-dark);}
.points-header .section-title{color:var(--charcoal);}
.points-header .section-desc{max-width:480px;margin:0 auto;}
@media(max-width:768px){
  .points-header{padding:3.5rem 1rem;margin-bottom:3rem;}
}

.point-item{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;align-items:stretch;
  margin-bottom:1px;
}
.point-item:last-child{margin-bottom:0;}
.point-item.reverse{direction:rtl;}
.point-item.reverse > *{direction:ltr;}

.point-img{
  overflow:hidden;
  aspect-ratio:16/9;
}
.point-img img,.point-img video{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .7s ease;
  display:block;
}
.point-item:hover .point-img img,
.point-item:hover .point-img video{transform:scale(1.03);}

.point-body{
  background:var(--white);
  padding:3.5rem;
  display:flex;flex-direction:column;justify-content:center;
}
.point-num-label{
  font-family:'Cormorant Garamond',serif;
  font-size:.7rem;letter-spacing:.3em;
  color:var(--gold);margin-bottom:1.5rem;
}
.point-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1rem,1.8vw,1.2rem);
  color:var(--charcoal);font-weight:400;
  letter-spacing:.08em;line-height:1.7;
  margin-bottom:1.2rem;
}
.point-desc{
  font-family:'Noto Serif JP',serif;
  font-size:.84rem;color:var(--warm-gray);
  line-height:2.05;font-weight:400;
}

@media(max-width:768px){
  .points{padding:5rem 0;}
  .point-item,.point-item.reverse{grid-template-columns:1fr;direction:ltr;}
  .point-img{aspect-ratio:16/9;}
  .point-body{padding:2rem 1.5rem;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PRICING（料金）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pricing{
  padding:7rem 0;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(240,239,237,.94) 0%,rgba(240,239,237,.88) 50%,rgba(240,239,237,.94) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2024/09/salon_moriyama3.jpg") center/cover no-repeat;
  background-attachment:scroll,fixed;
}
@media(max-width:768px){.pricing{background-attachment:scroll,scroll;}}
.pricing::before,.pricing::after{
  content:"";position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--stone-dark) 20%,var(--stone-dark) 80%,transparent);
  opacity:.6;
}
.pricing::before{top:0;}
.pricing::after{bottom:0;}
.pricing-header{text-align:center;margin-bottom:3.5rem;}
.pricing-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.5rem;max-width:820px;margin:0 auto;
}
.price-card{
  border:1px solid var(--gray-3);
  background:var(--white);
  overflow:hidden;
}
.price-card-img{
  width:100%;aspect-ratio:16/7;overflow:hidden;
}
.price-card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s ease;
}
.price-card:hover .price-card-img img{transform:scale(1.04);}
.price-card-body{padding:2rem 2rem 2.2rem;}
.price-plan-tag{
  display:inline-block;
  font-size:.62rem;letter-spacing:.15em;
  border:1px solid var(--gold-light);color:var(--gold-dark);
  padding:.25rem .7rem;margin-bottom:.9rem;
}
.price-plan-name{
  font-family:'Noto Serif JP',serif;
  font-size:1.05rem;color:var(--charcoal);
  letter-spacing:.08em;margin-bottom:.5rem;font-weight:400;
}
.price-plan-desc{
  font-family:'Noto Serif JP',serif;
  font-size:.8rem;color:var(--warm-gray);
  line-height:1.95;margin-bottom:1.2rem;font-weight:400;
}
.price-amount{
  display:flex;align-items:baseline;gap:.3rem;
  padding-top:1rem;border-top:1px solid var(--gray-3);
}
.price-yen{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;color:var(--charcoal);
}
.price-unit{font-size:.72rem;color:var(--text-light);}

.price-card.featured{
  border-color:var(--gold-light);
}
.price-card.featured .price-plan-tag{
  background:var(--gold-xlight);
  border-color:var(--gold);
}

.pricing-note{
  text-align:center;margin-top:1.5rem;
  font-size:.76rem;color:var(--text-light);letter-spacing:.06em;
}
.pricing-note a{color:var(--gold-dark);border-bottom:1px solid var(--gold-xlight);transition:all .3s;}
.pricing-note a:hover{border-bottom-color:var(--gold-dark);}
@media(max-width:600px){.pricing-grid{grid-template-columns:1fr;}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BEFORE / AFTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.ba{
  padding:6rem 0;overflow:hidden;position:relative;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.94) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2026/04/whiteninghome-shade-guide.webp") center/cover no-repeat;
  background-attachment:scroll,fixed;
}
@media(max-width:768px){.ba{background-attachment:scroll,scroll;}}
.ba-header{text-align:center;margin-bottom:3rem;}
.ba-slider-wrap{position:relative;max-width:100%;}
.ba-grid{
  display:flex;flex-direction:row;gap:1.8rem;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:1rem 2rem 2rem;margin:0 -2rem;
  scrollbar-width:thin;scrollbar-color:var(--gold-light) transparent;
  -webkit-overflow-scrolling:touch;
}
.ba-grid::-webkit-scrollbar{height:6px;}
.ba-grid::-webkit-scrollbar-track{background:transparent;}
.ba-grid::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:3px;}
.ba-card{
  text-align:center;
  flex:0 0 min(680px,85vw);
  scroll-snap-align:center;
}
.ba-images{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;align-items:start;}
.ba-img{display:flex;flex-direction:column;overflow:hidden;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,.1);background:#f9f8f5;}
.ba-img img{width:100%;height:auto;display:block;}
.ba-tag{
  display:block;order:-1;
  font-family:'Cormorant Garamond',serif;
  font-size:.68rem;letter-spacing:.15em;color:var(--white);
  background:rgba(90,80,68,.48);padding:.44rem .8rem;
  text-align:center;font-weight:400;
}
.ba-images .ba-img:last-child .ba-tag{background:rgba(184,160,122,.92);}
.ba-info{font-size:.82rem;color:var(--text-light);line-height:1.8;text-align:center;}
/* スライダーナビ */
.ba-nav{
  display:flex;justify-content:center;align-items:center;gap:1rem;
  margin-top:1rem;
}
.ba-nav-btn{
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--gold-light);background:var(--white);
  color:var(--gold-dark);font-size:.9rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .3s ease;
}
.ba-nav-btn:hover{background:var(--gold);color:var(--white);border-color:var(--gold);}
.ba-counter{
  font-family:'Cormorant Garamond',serif;font-size:.85rem;
  letter-spacing:.15em;color:var(--gold-dark);min-width:60px;text-align:center;
}
@media(max-width:768px){
  .ba-grid{padding:1rem 1.2rem 2rem;margin:0 -1.2rem;gap:1.2rem;}
  .ba-card{flex-basis:88vw;}
  .ba-images{gap:.8rem;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VOICE（口コミ）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.voice{
  padding:7rem 0;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(248,247,246,.94) 0%,rgba(248,247,246,.88) 50%,rgba(248,247,246,.94) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2026/04/whiteninghome-business-card.webp") center/cover no-repeat;
  background-attachment:scroll,fixed;
}
@media(max-width:768px){.voice{background-attachment:scroll,scroll;}}

/* ━━ COLUMN ━━ */
.column-section{padding:7rem 0;background:var(--cream);}
.column-header{text-align:center;margin-bottom:3rem;}
.column-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;
  max-width:1100px;margin:0 auto;
}
.column-card{
  display:flex;flex-direction:column;
  background:var(--white);border:1px solid var(--gray-3);
  overflow:hidden;transition:transform .45s ease,box-shadow .45s ease;
}
.column-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.06);}
.column-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--gray-2);}
.column-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.column-card:hover .column-thumb img{transform:scale(1.05);}
.column-body{padding:1.3rem 1.2rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1;}
.column-tag{
  font-family:'Cormorant Garamond',serif;font-size:.68rem;letter-spacing:.22em;
  color:var(--gold-dark);text-transform:uppercase;
  padding:.25rem .7rem;border:1px solid var(--gold-xlight);
  align-self:flex-start;
}
.column-title{
  font-family:'Noto Serif JP',serif;font-size:.88rem;font-weight:500;
  color:var(--charcoal);line-height:1.65;letter-spacing:.03em;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.column-more{
  margin-top:auto;font-family:'Cormorant Garamond',serif;font-size:.75rem;
  letter-spacing:.2em;color:var(--gold-dark);
}
.column-footer{text-align:center;margin-top:3rem;}
.only-sp{display:none;}
@media(max-width:900px){.column-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){
  .column-section{padding:5rem 0;}
  .column-grid{grid-template-columns:1fr;gap:1rem;}
  .only-sp{display:inline;}
}
.voice-header{text-align:center;margin-bottom:2rem;}

/* Google評点ボックス */
.google-box{
  display:flex;align-items:center;justify-content:center;gap:2.5rem;
  max-width:480px;margin:0 auto 3.5rem;
  padding:1.5rem 2.5rem;
  border:1px solid var(--gold-xlight);
  background:var(--cream-mid);
}
.google-box .g-logo{
  font-size:.82rem;letter-spacing:.03em;line-height:1.5;
}
.google-box .g-logo span:nth-child(1){color:#4285F4;}
.google-box .g-logo span:nth-child(2){color:#EA4335;}
.google-box .g-logo span:nth-child(3){color:#FBBC05;}
.google-box .g-logo span:nth-child(4){color:#4285F4;}
.google-box .g-logo span:nth-child(5){color:#34A853;}
.google-box .g-logo span:nth-child(6){color:#EA4335;}
.google-box .g-score-block{text-align:center;}
.google-box .g-score{
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem;color:var(--charcoal);line-height:1;
  display:block;
}
.google-box .g-stars{color:#F5A623;font-size:.9rem;letter-spacing:2px;display:block;margin:.2rem 0;}
.google-box .g-note{font-size:.66rem;color:var(--text-light);letter-spacing:.06em;}

.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.voice-card{
  background:var(--white);border:1px solid var(--gray-3);
  padding:2rem;
}
.voice-top{display:flex;align-items:center;gap:.9rem;margin-bottom:1.2rem;}
.voice-avatar img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--gray-3);}
.voice-meta .v-stars{color:#F5A623;font-size:.75rem;letter-spacing:1px;display:block;margin-bottom:.1rem;}
.voice-meta .v-author{font-family:'Noto Serif JP',serif;font-weight:400;font-size:.72rem;color:var(--text-light);}
.voice-text{font-family:'Noto Serif JP',serif;font-weight:400;font-size:.82rem;color:var(--text);line-height:1.9;}
.voice-text mark{
  background:linear-gradient(transparent 60%,rgba(184,160,122,.2) 60%);
  color:inherit;font-weight:400;
}
@media(max-width:768px){.voice-grid{grid-template-columns:1fr;}.google-box{flex-direction:column;gap:1rem;}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FLOW（施術の流れ）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.flow{
  padding:7rem 0;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(240,236,228,.93) 0%,rgba(240,236,228,.87) 50%,rgba(240,236,228,.93) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2026/04/whiteninghome-counseling.webp") center/cover no-repeat;
  background-attachment:scroll,fixed;
}
@media(max-width:768px){.flow{background-attachment:scroll,scroll;}}
.flow-header{text-align:center;margin-bottom:3.5rem;}
.flow-steps{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:1.2rem;max-width:1000px;margin:0 auto;
  position:relative;
}
.flow-steps::before{
  content:'';position:absolute;
  top:2.75rem;left:10%;right:10%;
  height:1px;background:var(--gold-xlight);z-index:0;
}
.flow-step{text-align:center;position:relative;z-index:1;}
.flow-img-wrap{
  width:7rem;height:7rem;border-radius:50%;
  overflow:hidden;margin:0 auto 1.4rem;
  border:3px solid var(--white);
  box-shadow:0 6px 24px rgba(0,0,0,.1);
  background:var(--white);
  transition:transform .5s cubic-bezier(.22,.61,.36,1),box-shadow .5s;
  animation:flow-float 4s ease-in-out infinite;
}
.flow-step:nth-child(2) .flow-img-wrap{animation-delay:.5s;}
.flow-step:nth-child(3) .flow-img-wrap{animation-delay:1s;}
.flow-step:nth-child(4) .flow-img-wrap{animation-delay:1.5s;}
.flow-step:nth-child(5) .flow-img-wrap{animation-delay:2s;}
@keyframes flow-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}
.flow-step:hover .flow-img-wrap{
  transform:translateY(-8px) scale(1.06);
  box-shadow:0 12px 36px rgba(184,160,122,.3);
  animation-play-state:paused;
}
.flow-img-wrap img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s ease;
}
.flow-step:hover .flow-img-wrap img{transform:scale(1.1);}
.flow-step-body{display:block;}
.flow-step-num{
  font-family:'Cormorant Garamond',serif;
  font-size:.72rem;letter-spacing:.25em;
  color:var(--gold);display:block;margin-bottom:.6rem;
}
.flow-step-title{
  font-family:'Noto Serif JP',serif;font-weight:500;
  font-size:.88rem;color:var(--charcoal);
  letter-spacing:.05em;margin-bottom:.5rem;line-height:1.5;
}
.flow-step-desc{
  font-family:'Noto Serif JP',serif;font-weight:400;
  font-size:.75rem;color:var(--warm-gray);line-height:1.8;
}
@media(max-width:768px){
  .flow{padding:5rem 0;}
  .flow-steps{grid-template-columns:1fr;gap:0;max-width:420px;}
  .flow-steps::before{display:none;}
  .flow-step{
    display:grid;grid-template-columns:auto 1fr;
    gap:1.2rem;text-align:left;align-items:start;
    padding:1.2rem 0;
    position:relative;
  }
  .flow-step:not(:last-child)::after{
    content:'';position:absolute;
    left:2.75rem;top:6rem;width:1px;height:calc(100% - 5.5rem);
    background:var(--gold-xlight);
  }
  .flow-img-wrap{
    width:6rem;height:6rem;margin:0;grid-row:span 3;
  }
  .flow-step:not(:last-child)::after{
    top:7rem;height:calc(100% - 6.5rem);left:3rem;
  }
  .flow-step-num{margin-bottom:.3rem;font-size:.65rem;}
  .flow-step-title{font-size:.92rem;margin-bottom:.35rem;}
  .flow-step-desc{font-size:.78rem;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESERVE（予約セクション）
   ─ 黒背景なし。reserve.webp を上品に使用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.reserve{
  padding:0;
  position:relative;overflow:hidden;
}
.reserve-bg{
  position:absolute;inset:0;z-index:0;
}
.reserve-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.92) saturate(.9);
}
/* 淡いクリームオーバーレイ（明るく上品） */
.reserve-bg::after{
  content:'';position:absolute;inset:0;
  background:rgba(250,248,245,.72);
}
.reserve-inner{
  position:relative;z-index:1;
  text-align:center;
  max-width:680px;margin:0 auto;
  padding:7rem 2rem;
}
.reserve-inner .section-label{color:var(--gold-dark);}
.reserve-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.4rem,2.8vw,2rem);
  font-weight:300;color:var(--charcoal);
  letter-spacing:.08em;line-height:1.65;
  margin-bottom:.8rem;
}
/* 緊急性・予約制ラベル */
.reserve-tag{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid var(--gold-light);color:var(--gold-dark);
  font-size:.7rem;letter-spacing:.12em;padding:.4rem 1.1rem;
  margin-bottom:1.8rem;background:rgba(255,255,255,.6);
}
.reserve-tag::before{content:'●';font-size:.5rem;color:var(--gold);animation:blink 2.4s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.reserve-desc{
  font-family:'Noto Serif JP',serif;font-weight:400;
  font-size:.86rem;color:var(--warm-gray);
  line-height:2;letter-spacing:.06em;margin-bottom:2.5rem;
}
.reserve-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-reserve-main{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--gold-dark);color:var(--white);
  padding:1rem 2.8rem;font-size:.78rem;letter-spacing:.18em;
  border:1px solid var(--gold-dark);transition:all .35s;
}
.btn-reserve-main:hover{background:var(--charcoal);border-color:var(--charcoal);}
.btn-reserve-sub{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.7);color:var(--warm-gray);
  padding:1rem 2rem;font-size:.78rem;letter-spacing:.15em;
  border:1px solid rgba(184,160,122,.35);transition:all .35s;
}
.btn-reserve-sub:hover{background:var(--white);color:var(--charcoal);border-color:var(--charcoal);}
.reserve-note{font-family:'Noto Serif JP',serif;font-weight:400;margin-top:1.5rem;font-size:.7rem;color:var(--text-light);letter-spacing:.08em;}
@media(max-width:768px){
  .reserve-inner{padding:5rem 1.5rem;}
  .reserve-cta{flex-direction:column;align-items:center;gap:.8rem;}
  .btn-reserve-main,.btn-reserve-sub{width:100%;max-width:320px;justify-content:center;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FAQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.faq{padding:7rem 0;}
.faq-header{text-align:center;margin-bottom:3.5rem;}
.faq-list{max-width:740px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--gray-3);}
.faq-item:first-child{border-top:1px solid var(--gray-3);}
.faq-q{
  display:flex;align-items:flex-start;gap:1rem;
  padding:1.3rem 0;cursor:pointer;transition:color .3s;
  font-family:'Noto Serif JP',serif;font-weight:400;
  font-size:.87rem;color:var(--charcoal);letter-spacing:.04em;line-height:1.65;
}
.faq-q:hover{color:var(--gold-dark);}
.faq-q-mark{
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;color:var(--gold);
  flex-shrink:0;line-height:1.4;
}
.faq-q-text{flex:1;}
.faq-arrow{flex-shrink:0;font-size:.6rem;color:var(--text-light);transition:transform .3s;margin-top:.25rem;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-a{
  display:none;padding:.2rem 0 1.4rem 2.1rem;
  font-family:'Noto Serif JP',serif;font-weight:400;
  font-size:.82rem;color:var(--warm-gray);line-height:1.95;
}
.faq-item.open .faq-a{display:block;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SHOPS（全国10店舗）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.shops{
  padding:7rem 0;position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(240,236,228,.93) 0%,rgba(240,236,228,.86) 50%,rgba(240,236,228,.93) 100%),
    url("https://whiteninghome.jp/wp-content/uploads/2026/04/whiteninghome-signboard.webp") center/cover no-repeat;
  background-attachment:scroll,fixed;
}
@media(max-width:768px){.shops{background-attachment:scroll,scroll;}}
.shops-header{text-align:center;margin-bottom:3rem;}
.shops-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;}
.shop-link{
  display:block;background:var(--white);
  border:1px solid var(--gray-3);
  padding:1.2rem .8rem;text-align:center;
  transition:all .3s;
}
.shop-link:hover{border-color:var(--gold);box-shadow:0 4px 18px rgba(184,160,122,.18);}
.shop-pref{font-family:'Noto Serif JP',serif;font-weight:400;font-size:.62rem;color:var(--text-light);letter-spacing:.1em;margin-bottom:.35rem;display:block;}
.shop-name{font-family:'Noto Serif JP',serif;font-weight:400;font-size:.78rem;color:var(--charcoal);letter-spacing:.07em;}
@media(max-width:768px){.shops-grid{grid-template-columns:repeat(2,1fr);}}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FINAL CTA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.final-cta{
  padding:8rem 0;
  background:var(--white);
  text-align:center;
  border-top:1px solid var(--gold-xlight);
}
.final-cta-eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-size:.78rem;letter-spacing:.3em;color:var(--gold);
  display:block;margin-bottom:.8rem;
}
.final-cta-title{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.5rem,3vw,2.1rem);
  font-weight:300;color:var(--charcoal);
  letter-spacing:.08em;line-height:1.65;margin-bottom:1rem;
}
.final-cta-desc{
  font-family:'Noto Serif JP',serif;font-weight:400;
  font-size:.87rem;color:var(--warm-gray);
  line-height:2;margin-bottom:2.5rem;
}
.final-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-final-main{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--gold-dark);color:var(--white);
  padding:1.05rem 3rem;font-size:.78rem;letter-spacing:.18em;
  border:1px solid var(--gold-dark);transition:all .35s;
}
.btn-final-main:hover{background:var(--gold);border-color:var(--gold);}
.btn-final-sub{
  display:inline-flex;align-items:center;gap:.5rem;
  background:transparent;color:var(--warm-gray);
  padding:1.05rem 2.2rem;font-size:.78rem;letter-spacing:.15em;
  border:1px solid var(--gray-3);transition:all .35s;
}
.btn-final-sub:hover{border-color:var(--charcoal);color:var(--charcoal);}
@media(max-width:768px){
  .final-cta{padding:5rem 0;}
  .final-cta-btns{flex-direction:column;align-items:center;gap:.8rem;}
  .btn-final-main,.btn-final-sub{width:100%;max-width:320px;justify-content:center;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER（濃いウォームグレー、純黒ではない）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.footer{
  background:var(--cream-dark);
  padding:4.5rem 0 1.8rem;
  border-top:1px solid var(--divider);
  position:relative;
}
.footer::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:60px;height:1px;background:var(--gold);
}
.footer-inner{
  max-width:1100px;margin:0 auto;padding:0 2rem;
}
.footer-brand{
  text-align:center;margin-bottom:3rem;
  padding-bottom:2.5rem;border-bottom:1px solid rgba(0,0,0,.08);
}
.footer-logo{
  display:inline-flex;align-items:center;gap:.8rem;
  margin-bottom:.8rem;
}
.footer-logo img{height:42px;width:auto;object-fit:contain;opacity:.85;}
.footer-logo-text{
  font-family:'Cormorant Garamond',serif;
  font-size:1.05rem;letter-spacing:.22em;color:var(--charcoal);
}
.footer-tagline{
  font-family:'Noto Serif JP',serif;font-size:.75rem;
  color:var(--warm-gray);letter-spacing:.14em;
}
.footer-cols{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
  padding-bottom:2.5rem;border-bottom:1px solid rgba(0,0,0,.08);
}
.footer-col-ttl{
  font-family:'Cormorant Garamond',serif;
  font-size:.8rem;letter-spacing:.22em;color:var(--gold-dark);
  text-transform:uppercase;margin-bottom:1rem;font-weight:500;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;}
.footer-col ul a{
  font-size:.72rem;color:var(--warm-gray);
  letter-spacing:.08em;transition:color .3s,padding .3s;
  display:inline-block;
}
.footer-col ul a:hover{color:var(--gold-dark);padding-left:.3rem;}
.footer-sns a::before{
  content:"→ ";color:var(--gold-light);margin-right:.2rem;
}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:1.8rem;gap:1rem;flex-wrap:wrap;
}
.footer-copy{
  font-size:.68rem;color:var(--text-light);letter-spacing:.1em;margin:0;
}
.footer-top-link{
  font-family:'Cormorant Garamond',serif;font-size:.72rem;
  letter-spacing:.22em;color:var(--gold-dark);
  padding:.5rem 1.1rem;border:1px solid var(--gold-xlight);
  transition:all .3s;
}
.footer-top-link:hover{background:var(--gold);color:var(--white);border-color:var(--gold);}
@media(max-width:768px){
  .footer{padding:3.5rem 0 1.5rem;}
  .footer-cols{grid-template-columns:repeat(2,1fr);gap:1.8rem 1rem;}
  .footer-bottom{flex-direction:column;text-align:center;gap:1rem;}
  .footer-copy{text-align:center;}
}

/* ── 紙のような微細なノイズ（body直付け） ── */
body{
  background-color:var(--cream);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.34 0 0 0 0 0.24 0 0 0 0.045 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-repeat:repeat;
}

/* ── セクションの柔らかい光の抜け ── */
.about{position:relative;overflow:hidden;}
.about::before{
  content:"";position:absolute;top:-20%;right:-10%;width:55%;height:90%;
  background:radial-gradient(closest-side,rgba(237,230,216,.55),transparent 70%);
  pointer-events:none;z-index:0;
}
.about .container{position:relative;z-index:1;}

.final-cta{position:relative;overflow:hidden;}
.final-cta .container{position:relative;z-index:1;}

.faq{position:relative;overflow:hidden;}
.faq::before{
  content:"";position:absolute;left:-10%;bottom:-20%;width:50%;height:70%;
  background:radial-gradient(closest-side,rgba(237,230,216,.45),transparent 70%);
  pointer-events:none;z-index:0;
}
.faq .container{position:relative;z-index:1;}
