/* ============================================================
   /gut 腸揉み 専用スタイル（カンプ再現）
   style.css の変数（--gold / --cream / --f-num 等）を前提に読み込む
   ============================================================ */

.gut-en{display:flex;align-items:center;justify-content:center;gap:1em;
  font-family:'Cormorant Garamond',serif;font-weight:600;
  letter-spacing:.42em;font-size:clamp(.72rem,1vw,.82rem);
  color:#b98d43;text-transform:uppercase}
.gut-en::before,.gut-en::after{content:"";width:clamp(28px,4vw,58px);height:1px;background:var(--gold-light)}
.gut-balance .gut-en{justify-content:flex-start}
.gut-balance .gut-en::before{display:none}


/* 背景の植物ラインアート。セクション高さいっぱいに伸ばす（幅はSVGの比率任せ） */
.gut-bg{position:absolute;top:1.5rem;z-index:0;width:clamp(90px,12vw,180px);
  color:#d9bc85;opacity:.55;pointer-events:none}
.gut-bg.l{left:-1%}
.gut-bg.r{right:-1%}
.gut-bg svg{width:100%;height:auto;display:block}

/* 番号の丸（細いリング＋葉） */
.gut-numc{position:relative;width:clamp(44px,4.2vw,56px);aspect-ratio:1;flex:0 0 auto;
  border:1px solid #d9bc85;border-radius:50%;background:#fffdf8;display:grid;place-items:center}
.gut-numc b{font-family:var(--f-num);font-weight:600;letter-spacing:.02em;font-size:clamp(.82rem,.98vw,.98rem);
  background:linear-gradient(180deg,#cfa964,#96773c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gut-numc .lf{position:absolute;right:-11px;bottom:-7px;width:44%}
.gut-numc .lf svg{width:100%;height:auto;display:block}
.gut-numc.sm{width:clamp(38px,3.6vw,46px);margin-inline:auto}

/* 共通の見出しブロック */
.gut-head{text-align:center;margin-bottom:clamp(2.2rem,4vw,3.4rem);position:relative}
.gut-head .b1,.gut-head .b2{position:absolute;top:-6%;width:clamp(64px,7.5vw,112px);opacity:.9}
.gut-head .b1{left:clamp(0px,9vw,190px)}
.gut-head .b2{right:clamp(0px,9vw,190px)}
.gut-head h2{font-family:'Shippori Mincho',serif;font-weight:600;color:#41382e;
  font-size:clamp(1.7rem,3.4vw,2.7rem);letter-spacing:.1em;line-height:1.5;margin-top:.5em}
.gut-head h2 em{font-style:normal;font-size:1em;letter-spacing:inherit;padding:0;
  background:linear-gradient(180deg,#d0aa64,#96773c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gut-head h2.gold em{font-family:'Shippori Mincho',serif;font-size:1em;
  background:linear-gradient(180deg,#cfa964,#96773c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gut-head .lead{font-family:'Shippori Mincho',serif;color:#6a5f50;line-height:2.1;
  font-size:clamp(.85rem,1.05vw,1rem);letter-spacing:.04em;max-width:60ch;margin:1.1em auto 0}
.gut-head h2+.lead{margin-top:1.4em}

/* FV は共通の .sp-fv（style.css）をそのまま使うため、専用スタイルは持たない */

/* ---------------- INNER BALANCE ---------------- */
/* 左の写真は背景レイヤー（セクション左下に密着してブリード）。
   .wrap / .gut-balance-l は position を持たせない＝絶対配置の基準をセクションにする */
.gut-balance{position:relative;overflow:hidden;background:#fbf6ee;padding:clamp(3.5rem,7vw,6rem) 0 0}
.gut-balance-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.gut-balance-l h2{font-family:'Shippori Mincho',serif;font-weight:600;color:#4a4038;
  font-size:clamp(1.35rem,2.3vw,2.15rem);letter-spacing:.08em;line-height:1.75;margin:.6em 0 .9em}
.gut-balance-l p{font-family:'Shippori Mincho',serif;color:#5c5348;line-height:2.25;
  font-size:clamp(.8rem,.95vw,.92rem);letter-spacing:.04em}
/* 写真の高さ。テキスト側の余白と必ず一致させる（重なり防止） */
.gut-balance{--bal-ph:clamp(240px,27vw,400px)}
.gut-balance-l{padding-bottom:calc(var(--bal-ph) + clamp(1.6rem,2.6vw,2.4rem))}
/* 上と右だけ背景へフェード。左（画面端）と下（セクション境）は切り落としのまま。
   向きの取り違えを避けるため to bottom / to right で統一：
     to bottom → 0%が上端、  to right → 0%が左端
   2枚のマスクを intersect（＝両方が不透明な所だけ残す）で重ねる */
.gut-balance-ph{position:absolute;left:0;bottom:0;z-index:0;
  width:min(52%,700px);height:var(--bal-ph);overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%),
                     linear-gradient(to right,#000 72%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0,#000 14%),
                     linear-gradient(to right,#000 72%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-composite:intersect}
.gut-balance-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}

.gut-balance-r{position:relative;z-index:1;display:flex;flex-direction:column;gap:clamp(.9rem,1.5vw,1.3rem);
  padding-bottom:clamp(3.5rem,7vw,6rem)}
.gut-bcard{display:grid;grid-template-columns:1fr clamp(180px,25%,305px);gap:clamp(1.2rem,2vw,1.9rem);
  align-items:center;background:#fff;border:1px solid #ead9bb;border-radius:clamp(14px,1.6vw,20px);
  padding:clamp(.9rem,1.4vw,1.3rem);box-shadow:var(--shadow-soft);overflow:hidden}
.gut-bcard .tx{padding-left:clamp(.6rem,1.2vw,1.2rem)}
.gut-bcard h3{font-family:'Shippori Mincho',serif;font-weight:600;color:#4a4038;
  font-size:clamp(.95rem,1.15vw,1.12rem);letter-spacing:.08em}
.gut-bcard .tx p{font-family:'Shippori Mincho',serif;color:#6f685c;line-height:1.9;
  font-size:clamp(.7rem,.82vw,.8rem);letter-spacing:.03em;margin-top:.5em}
.gut-bcard .ph{aspect-ratio:1.1;border-radius:clamp(10px,1.2vw,14px);overflow:hidden}
.gut-bcard .ph img{width:100%;height:100%;object-fit:cover}

/* ---------------- CARE POINT ---------------- */
.gut-point{position:relative;overflow:hidden;background:#fbf6ee;
  padding:clamp(3.5rem,7vw,6rem) 0}
.gut-point .wrap{position:relative;z-index:1}
.gut-point-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:clamp(1rem,1.8vw,1.6rem)}
.gut-pcard{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.1rem,2vw,1.8rem);
  align-items:center;background:#fffdf9;border:1px solid #e6d4b2;border-radius:clamp(14px,1.6vw,20px);
  padding:clamp(1.5rem,2.4vw,2.2rem) clamp(1.3rem,2.1vw,2rem);box-shadow:var(--shadow-soft)}
.gut-num{font-family:var(--f-num);font-weight:600;letter-spacing:.02em;
  background:linear-gradient(180deg,#cfa964,#96773c);-webkit-background-clip:text;background-clip:text;color:transparent}
.gut-pcard .gut-numc{align-self:center}
.gut-pcard h3{font-family:'Shippori Mincho',serif;font-weight:600;color:#4a4038;
  font-size:clamp(1rem,1.3vw,1.28rem);letter-spacing:.1em}
.gut-pcard .tx p{font-family:'Shippori Mincho',serif;color:#6f685c;line-height:2;
  font-size:clamp(.72rem,.84vw,.82rem);letter-spacing:.03em;margin-top:.6em}

/* ---------------- TREATMENT ---------------- */
.gut-treat{position:relative;overflow:hidden;background:#fbf6ee;padding:clamp(3.5rem,7vw,6rem) 0}
.gut-treat .wrap{position:relative;z-index:1}
.gut-treat-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(1.6rem,3vw,3rem);align-items:stretch}
.gut-treat-l .ph{aspect-ratio:1.24;border-radius:clamp(16px,2vw,26px);overflow:hidden;box-shadow:var(--shadow)}
.gut-treat-l .ph img{width:100%;height:100%;object-fit:cover}
.gut-treat-note{position:relative;margin-top:clamp(1.2rem,2vw,1.8rem);padding-left:clamp(2.4rem,3.4vw,3.4rem)}
.gut-treat-note .lf{position:absolute;left:0;top:.1em;width:clamp(26px,2.6vw,34px);opacity:.85}
.gut-treat-note h3{font-family:'Shippori Mincho',serif;font-weight:600;color:var(--gold-deep);
  font-size:clamp(.92rem,1.1vw,1.08rem);letter-spacing:.08em}
.gut-treat-note p{font-family:'Shippori Mincho',serif;color:#6f685c;line-height:2.05;
  font-size:clamp(.72rem,.84vw,.82rem);letter-spacing:.03em;margin-top:.7em}

.gut-treat-r{list-style:none;display:grid;grid-template-rows:repeat(4,1fr);gap:clamp(.9rem,1.5vw,1.35rem);height:100%}
.gut-step{display:grid;grid-template-columns:auto 1fr;gap:clamp(.9rem,1.7vw,1.6rem);align-items:center;
  background:#fffdf9;border:1px solid #e6d4b2;border-radius:clamp(12px,1.4vw,18px);
  padding:clamp(1.4rem,2.3vw,2rem) clamp(1.1rem,1.8vw,1.6rem);box-shadow:var(--shadow-soft)}
.gut-step .gut-num{font-size:clamp(.88rem,1.05vw,1.05rem);align-self:center}
.gut-step h3{font-family:'Shippori Mincho',serif;font-weight:600;color:#4a4038;
  font-size:clamp(.9rem,1.08vw,1.05rem);letter-spacing:.06em}
.gut-step .tx p{font-family:'Shippori Mincho',serif;color:#6f685c;line-height:1.95;
  font-size:clamp(.7rem,.8vw,.78rem);letter-spacing:.03em;margin-top:.45em}

/* ---------------- PRICE ---------------- */
.gut-price{position:relative;overflow:hidden;background:#fbf6ee;padding:clamp(1.5rem,3vw,2.5rem) 0}
.gut-price .wrap{position:relative;z-index:1}
.gut-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,2.4vw,2.2rem);max-width:920px;margin-inline:auto}
.gut-plan{position:relative;text-align:center;background:linear-gradient(180deg,#fffdf9,#fdf7ee);
  border:1px solid #ddc492;border-radius:clamp(16px,2vw,24px);box-shadow:var(--shadow-soft);
  padding:clamp(1.6rem,2.6vw,2.2rem) clamp(1.2rem,2vw,2rem) clamp(1.6rem,2.6vw,2.2rem)}
.gut-plan .gut-numc{margin-bottom:clamp(.7rem,1.2vw,1.1rem)}
.gut-plan h3{font-family:'Shippori Mincho',serif;font-weight:600;color:#4a4038;
  font-size:clamp(1.3rem,1.9vw,1.85rem);letter-spacing:.16em;text-indent:.16em}
.gut-plan .lead{font-family:'Shippori Mincho',serif;color:#6f685c;
  font-size:clamp(.72rem,.84vw,.82rem);letter-spacing:.04em;margin-top:1.1em}
.gut-plan-row{display:flex;align-items:baseline;justify-content:center;gap:clamp(.8rem,1.6vw,1.5rem);margin-top:1.1rem}
.gut-plan-row .min{font-family:var(--f-num);font-weight:500;color:#4a4038;
  font-size:clamp(1.5rem,2.1vw,2rem);letter-spacing:.02em}
.gut-plan-row .min small{font-family:'Shippori Mincho',serif;font-size:.5em;letter-spacing:0;margin-left:.15em}
.gut-plan-row .yen{font-family:var(--f-num);font-weight:600;letter-spacing:.02em;line-height:1;white-space:nowrap;
  font-size:clamp(2.1rem,3.2vw,3rem);
  background:linear-gradient(180deg,#d4ad66,#8f7139);-webkit-background-clip:text;background-clip:text;color:transparent}
.gut-plan-row .yen small{font-family:'Shippori Mincho',serif;font-size:.38em;letter-spacing:0;margin-left:.1em;
  -webkit-text-fill-color:#4a4038}
.gut-price-note{text-align:center;margin-top:clamp(1.4rem,2.4vw,2rem);font-family:'Shippori Mincho',serif;
  color:#6f685c;font-size:clamp(.7rem,.82vw,.8rem);letter-spacing:.06em}

@media(max-width:1024px){
  .gut-price-grid{grid-template-columns:1fr!important;max-width:600px}
}

/* ---------------- FAQ ---------------- */
.gut-faq{position:relative;overflow:hidden;background:#fbf6ee;
  padding:clamp(3.5rem,7vw,6rem) 0}
.gut-faq .gut-bg{opacity:.5}
.gut-faq .wrap{position:relative;z-index:1}
.gut-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,1.8vw,1.6rem)}
.gut-faq-card{background:linear-gradient(180deg,#fffdf9,#fdf7ee);border:1px solid #ddc492;
  border-radius:clamp(20px,2.2vw,34px);box-shadow:var(--shadow-soft);
  padding:clamp(1.6rem,2.6vw,2.4rem) clamp(1.5rem,2.6vw,2.6rem)}
.gut-faq-card .qrule{display:block;height:1px;background:linear-gradient(90deg,#c9a25e,transparent);margin:1em 0}
.gut-faq-card .q{display:flex;align-items:center;gap:clamp(.9rem,1.4vw,1.2rem)}
.gut-faq-card .qm{position:relative;width:clamp(56px,5.4vw,72px);aspect-ratio:1;flex:0 0 auto;border-radius:50%;
  background:linear-gradient(135deg,#cfa964,#96773c);color:#fff;display:grid;place-items:center;
  font-family:var(--f-num);font-weight:500;font-size:clamp(1.35rem,1.7vw,1.7rem);letter-spacing:.02em;text-indent:.02em}
.gut-faq-card .qm::before{content:"";position:absolute;inset:-6px;border:1px solid rgba(201,162,94,.55);border-radius:50%}
.gut-faq-card .qm .lf{position:absolute;right:-13px;bottom:-7px;width:46%}
.gut-faq-card .qm .lf svg{width:100%;height:auto;display:block}
.gut-faq-card h3{font-family:'Shippori Mincho',serif;font-weight:600;color:#4a4038;
  font-size:clamp(1.1rem,1.5vw,1.5rem);letter-spacing:.06em;line-height:1.75}
.gut-faq-card .a{font-family:'Shippori Mincho',serif;color:#4a4038;line-height:2.2;
  font-size:clamp(.85rem,1vw,1rem);letter-spacing:.03em;margin-top:0}

/* ---------------- レスポンシブ ---------------- */
@media(max-width:900px){
  .gut-head .b1,.gut-head .b2{display:none}
  /* 枝は本文に重なるので、うんと薄くして端に逃がす */
  .gut-bg{opacity:.22}
  .gut-bg.l{left:-16%}
  .gut-bg.r{right:-16%}
  .gut-balance-grid,.gut-treat-grid{grid-template-columns:1fr}
  /* 縦積みでは背景レイヤーにせず、テキストの直後に普通に流す */
  .gut-balance{padding-bottom:clamp(3.5rem,7vw,6rem)}
  .gut-balance-l{padding-bottom:0}
  .gut-balance-r{padding-bottom:0}
  .gut-balance-ph{position:static;width:100%;height:auto;aspect-ratio:16/9;
    margin-top:clamp(1.4rem,3vw,2rem);border-radius:clamp(14px,2vw,20px);box-shadow:var(--shadow);
    -webkit-mask-image:none;mask-image:none}
  .gut-point-grid,.gut-price-grid,.gut-faq-grid{grid-template-columns:1fr}
  .gut-bcard{grid-template-columns:1fr;gap:1rem}
  .gut-bcard .tx{padding-left:0}
  .gut-bcard .ph{aspect-ratio:16/9}
  .gut-step{grid-template-columns:auto 1fr;row-gap:.6rem}
}
@media(max-width:768px){
  .gut-balance > .wrap,
  .gut-point > .wrap,
  .gut-treat > .wrap,
  .gut-price > .wrap,
  .gut-faq > .wrap{max-width:600px}
}
@media(max-width:560px){
  .gut-pcard{grid-template-columns:1fr;text-align:center;padding-top:clamp(2rem,7vw,2.4rem)}
  .gut-pcard .gut-numc{margin-inline:auto}
}
