:root{
    --paper:#f4efe6;        /* 暖かいアイボリー */
    --paper-2:#faf7f1;
    --stone:#ece5d8;        /* ウォームストーン */
    --sand:#e6dccb;
    --ink:#66503a;          /* 明るめの温かいブラウン */
    --ink-soft:#6a6256;
    --gold:#a4855a;         /* ブロンズゴールド */
    --gold-soft:#bca377;
    --rose:#e9ddd6;         /* ごく淡いヌードロゼ */
    --line:#ddd1bd;
    --hair:#e4dac8;
    --wine:#74353c;      /* 上品なエンジ（臙脂） */
    --wine-deep:#5e2a31;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--ink);background:var(--paper);overflow-x:hidden;font-weight:400;line-height:1.7;}
  a{color:inherit;text-decoration:none;}

  /* ===== ボタン（細枠・ワイドトラッキング） ===== */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:20px 56px;border:1px solid var(--gold);border-radius:1px;font-family:"Noto Serif JP",serif;font-weight:400;font-size:14.5px;letter-spacing:.22em;color:var(--ink);background:transparent;transition:background .5s,color .5s,letter-spacing .5s;cursor:pointer;}
  .btn .arr{font-family:"Cormorant Garamond",serif;transition:transform .5s;}
  .btn:hover{background:var(--gold);color:#fff;letter-spacing:.26em;}
  .btn:hover .arr{transform:translateX(6px);}
  .btn--fill{background:var(--ink);color:#faf7f1;border-color:var(--ink);}
  .btn--fill:hover{background:var(--gold);border-color:var(--gold);}
  .btn-wrap{text-align:center;margin-top:clamp(44px,5vw,64px);}

  /* ===== セクション共通 ===== */
  .sec{position:relative;padding:clamp(82px,11vw,150px) 0;overflow:hidden;}
  .sec--paper{background-color:var(--paper-2);background-image:url("../image/paper-tex.png");}
  .sec--stone{background:var(--stone);}
  /* 濃色セクション（焦茶） */
  .sec--dark{background:linear-gradient(160deg,#2a2520 0%, #37302a 100%);}
  .sec--dark .eyebrow{color:var(--gold-soft);}
  .sec--dark .h2{color:#f3eee4;}
  .sec--dark .h2 .ac,.sec--dark .h2 .big{color:var(--gold-soft);}
  .sec--dark .divc i{background:rgba(189,163,119,.4);}
  .sec--dark .divc b{border-color:var(--gold-soft);}
  .sec--dark .rcard{background:rgba(255,255,255,.035);border-color:rgba(189,163,119,.3);}
  .sec--dark .rcard .ph{border-bottom:1px solid rgba(189,163,119,.22);background:linear-gradient(140deg,#39312a,#2d2721);}
  .sec--dark .rcard .ph .pico{color:rgba(189,163,119,.42);}
  .sec--dark .rcard__n{color:var(--gold-soft);}
  .sec--dark .rcard h3{color:#f1ebe0;}
  .sec--dark .rcard h3 .em{color:var(--gold-soft);}
  .sec--dark .btn{border-color:var(--gold-soft);color:#f3eee4;}
  .sec--dark .btn:hover{background:var(--gold-soft);color:#2a2520;}
  .sec--dark .ph{background:linear-gradient(140deg,#39312a,#2d2721);border-color:rgba(189,163,119,.25);}
  .sec--dark .ph .pico{color:rgba(189,163,119,.42);}
  .sec--dark .check p{color:#cdc4b6;}
  .sec--dark .check p b{color:#f3eee4;}
  .sec--dark .check .ck{border-color:var(--gold-soft);}
  .sec--dark .check .ck svg{color:var(--gold-soft);}
  .sec--dark .icard{background:rgba(255,255,255,.035);border-color:rgba(189,163,119,.3);}
  .sec--dark .icard__n,.sec--dark .icard__ic{color:var(--gold-soft);}
  .sec--dark .icard h3{color:#f1ebe0;}
  .sec--dark .icard p{color:#cdc4b6;}
  .sec--dark .book{background:rgba(255,255,255,.035);border-color:rgba(189,163,119,.3);}
  .sec--dark .bookcover{background:linear-gradient(140deg,#3a322b,#2d2721);border-color:rgba(189,163,119,.25);}
  .sec--dark .bookcover .pico{color:rgba(189,163,119,.42);}
  .sec--dark .book__title{color:#f1ebe0;}
  .sec--dark .book__sub,.sec--dark .book__by{color:#cdc4b6;}
  .sec--dark .book__cap{color:#241f1a;}
  .sec--dark .book:nth-child(1) .book__cap{background:var(--gold);}
  .sec--dark .book:nth-child(2) .book__cap{background:var(--gold-soft);}
  .wrap{max-width:1060px;margin:0 auto;padding:0 clamp(20px,4vw,56px);position:relative;z-index:2;}
  .sec-head{text-align:center;margin-bottom:clamp(50px,6vw,80px);position:relative;}
  .sec-head>*{position:relative;z-index:2;}
  .wm-h{position:absolute;left:50%;top:0;transform:translate(-50%,-58%);z-index:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(48px,7.4vw,110px);letter-spacing:.05em;color:var(--gold);opacity:.16;white-space:nowrap;pointer-events:none;user-select:none;text-transform:capitalize;}
  .sec--dark .wm-h{color:var(--gold-soft);opacity:.22;}
  .eyebrow{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(14px,1.3vw,16.5px);color:var(--ink-soft);letter-spacing:.18em;margin-bottom:20px;}
  .kicker{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:15px;letter-spacing:.2em;color:var(--gold);margin-bottom:16px;text-transform:uppercase;}
  .h2{font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(25px,3.3vw,40px);letter-spacing:.13em;line-height:1.55;color:var(--ink);}
  .h2 .ac{color:var(--gold);}
  .h2 .big{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:1.5em;color:var(--gold);margin:0 .06em;}
  .divc{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px;}
  .divc i{width:64px;height:1px;background:var(--line);}
  .divc b{width:4px;height:4px;border:1px solid var(--gold);transform:rotate(45deg);}

  /* 写真プレースホルダー（フラット・額装） */
  .ph{position:relative;overflow:hidden;background:linear-gradient(140deg,#ece1cf,#e0d2ba);display:flex;align-items:center;justify-content:center;border:1px solid var(--hair);}
  .ph .pico{width:32px;height:32px;color:rgba(120,98,72,.32);}
  .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

  /* reveal */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity 1.2s cubic-bezier(.2,.6,.3,1),transform 1.2s cubic-bezier(.2,.6,.3,1);}
  .reveal.in{opacity:1;transform:none;}

  /* ============ HEADER ============ */
  .head{position:sticky;top:0;z-index:50;background:#fffdf7;}
  .head__top{max-width:1300px;margin:0 auto;padding:14px clamp(20px,3vw,48px);display:flex;align-items:center;gap:clamp(16px,2.4vw,44px);}
  .logo{flex:none;display:flex;align-items:center;gap:14px;}
  .logo__mark{width:54px;height:54px;flex:none;object-fit:contain;}
  .logo__txt{display:flex;flex-direction:column;gap:4px;}
  .logo__tag{font-size:10px;letter-spacing:.06em;color:var(--gold);font-weight:400;line-height:1.55;}
  .logo__name{font-family:"Noto Serif JP",serif;font-weight:500;font-size:20px;letter-spacing:.2em;color:var(--ink);margin-top:-5px;}
  .nav{display:flex;align-items:center;gap:clamp(16px,2vw,34px);}
  .nav a{position:relative;font-size:12.5px;letter-spacing:.16em;color:var(--ink);padding:6px 0;transition:color .4s;}
  .nav a::after{content:"";position:absolute;left:50%;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .45s,left .45s;}
  .nav a:hover{color:var(--gold);}
  .nav a:hover::after{width:100%;left:0;}
  .head__right{display:flex;align-items:center;gap:clamp(16px,2vw,30px);}
  .head-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 34px;background:linear-gradient(135deg,#cfb27b 0%,#b1925f 50%,#8f7244 100%);color:#ffffff;border:1px solid #b99a6a;border-radius:999px;font-family:"Noto Serif JP",serif;font-size:13.5px;letter-spacing:.14em;white-space:nowrap;transition:filter .4s,box-shadow .4s;box-shadow:0 10px 24px -12px rgba(146,116,71,.7), inset 0 1px 0 rgba(255,255,255,.35);}
  .hb-ico{width:16px;height:16px;flex:none;}
  .head__nav-in{flex:1;display:flex;justify-content:center;align-items:center;gap:clamp(10px,1.8vw,36px);margin-top:6px;}
  .head__nav-in a{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink);white-space:nowrap;transition:color .4s;padding:4px 2px;}
  .nav-ja{font-size:14px;letter-spacing:.1em;}
  .nav-en{font-family:"Cormorant Garamond",serif;font-size:10.5px;letter-spacing:.26em;color:var(--gold);text-transform:uppercase;}
  .head__nav-in a:hover .nav-ja{color:var(--gold);}
  .head__nav-in a.nav-cta{display:none;}
  .hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:24px;cursor:pointer;flex:none;}
  .hamburger span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s;}
  .nav-toggle:checked ~ .head__top .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle:checked ~ .head__top .hamburger span:nth-child(2){opacity:0;}
  .nav-toggle:checked ~ .head__top .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .head-btn:hover{filter:brightness(1.06);box-shadow:0 14px 30px -12px rgba(146,116,71,.8), inset 0 1px 0 rgba(255,255,255,.4);}

  /* ============ HERO ============ */
  /* =========================================================
     講師写真（人物PNG）の表示設定  ※PCではブラウザを伸縮しても位置が固定されます
     ・HTMLと同じ場所に「portrait.png」を置いてください
     ・位置とサイズは下の4つの数値を変えるだけで調整できます
        --portrait-height : 写真の高さ＝大きさ（px）
        --portrait-right  : コンテンツ右端からの内側オフセット（+で内/左へ、-で外/右へ）
        --portrait-bottom : カード下端からの距離（+で上へ）
        --portrait-fade   : 下端ぼかしの開始位置（小さいほど早くぼける）
     ========================================================= */
  .hero__portrait{
    --portrait-height: 624px;
    --portrait-right : 15px;
    --portrait-bottom: 146px;
    --portrait-fade  : 100%;
    position:absolute; z-index:2; pointer-events:none;
    height:var(--portrait-height); width:auto;
    right:max(-24px, calc((100% - 1060px) / 2 + var(--portrait-right))); bottom:var(--portrait-bottom);
    -webkit-mask-image:linear-gradient(to bottom,#000 var(--portrait-fade),transparent 96%);
            mask-image:linear-gradient(to bottom,#000 var(--portrait-fade),transparent 96%);
    filter:drop-shadow(0 16px 26px rgba(58,48,36,.12));
    opacity:0; animation:portraitIn 1.7s cubic-bezier(.2,.6,.3,1) .5s forwards;
  }
  @keyframes portraitIn{from{opacity:0;transform:translateY(26px) scale(.985);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion: reduce){ .hero__portrait{opacity:1;animation:none;transform:none;} }
  /* ヒーロー画像版（ブレークポイントで画像差し替え） */
  .hero{position:relative;overflow:hidden;background:none;}
  .hero__pic{display:block;line-height:0;position:relative;z-index:2;}
  .hero__pic img{display:block;width:100%;height:auto;}
  .hero::before{content:none;}
  /* シルクの艶（やわらかな帯）＋光ボケ */
  .hero__silk{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.6;
    background:repeating-linear-gradient(118deg, rgba(255,255,255,.10) 0px, rgba(255,255,255,.10) 2px, rgba(255,255,255,0) 2px, rgba(255,255,255,0) 26px),linear-gradient(118deg, rgba(255,252,246,.0) 30%, rgba(255,250,242,.5) 55%, rgba(255,252,246,0) 78%);
    mix-blend-mode:screen;}
  .hero__bokeh{position:absolute;inset:0;z-index:1;pointer-events:none;filter:blur(2.5px);
    background:
      radial-gradient(circle 150px at 86% 18%, rgba(255,252,246,.9), rgba(255,252,246,0) 70%),
      radial-gradient(circle 75px at 73% 36%, rgba(255,250,240,.78), rgba(255,250,240,0) 70%),
      radial-gradient(circle 200px at 93% 64%, rgba(212,187,148,.30), rgba(212,187,148,0) 70%),
      radial-gradient(circle 42px at 65% 26%, rgba(255,255,250,.85), rgba(255,255,250,0) 70%),
      radial-gradient(circle 100px at 80% 84%, rgba(231,213,205,.46), rgba(231,213,205,0) 70%),
      radial-gradient(circle 58px at 60% 70%, rgba(255,250,242,.66), rgba(255,250,242,0) 70%),
      radial-gradient(circle 32px at 90% 38%, rgba(255,255,252,.8), rgba(255,255,252,0) 70%),
      radial-gradient(circle 180px at 52% 8%, rgba(255,252,246,.5), rgba(255,252,246,0) 72%),
      radial-gradient(circle 130px at 7% 26%, rgba(255,252,246,.6), rgba(255,252,246,0) 70%),
      radial-gradient(circle 64px at 17% 52%, rgba(255,250,242,.52), rgba(255,250,242,0) 70%),
      radial-gradient(circle 160px at 4% 80%, rgba(231,213,205,.42), rgba(231,213,205,0) 72%),
      radial-gradient(circle 36px at 22% 18%, rgba(255,255,250,.6), rgba(255,255,250,0) 70%),
      radial-gradient(circle 85px at 12% 64%, rgba(255,252,246,.46), rgba(255,252,246,0) 70%),
      radial-gradient(circle 50px at 33% 44%, rgba(255,252,246,.42), rgba(255,252,246,0) 70%),
      radial-gradient(circle 28px at 44% 20%, rgba(255,255,250,.55), rgba(255,255,250,0) 70%),
      radial-gradient(circle 70px at 28% 82%, rgba(255,250,242,.42), rgba(255,250,242,0) 70%),
      radial-gradient(circle 40px at 48% 60%, rgba(255,252,246,.46), rgba(255,252,246,0) 70%),
      radial-gradient(circle 95px at 68% 54%, rgba(212,187,148,.3), rgba(212,187,148,0) 70%),
      radial-gradient(circle 26px at 78% 12%, rgba(255,255,252,.7), rgba(255,255,252,0) 70%),
      radial-gradient(circle 55px at 38% 14%, rgba(255,252,246,.42), rgba(255,252,246,0) 70%),
      radial-gradient(circle 120px at 24% 38%, rgba(255,252,246,.36), rgba(255,252,246,0) 70%),
      radial-gradient(circle 30px at 56% 32%, rgba(255,255,250,.55), rgba(255,255,250,0) 70%),
      radial-gradient(circle 46px at 84% 50%, rgba(255,252,246,.5), rgba(255,252,246,0) 70%),
      radial-gradient(circle 60px at 95% 30%, rgba(255,250,242,.5), rgba(255,250,242,0) 70%),
      radial-gradient(circle 34px at 40% 88%, rgba(255,255,250,.45), rgba(255,255,250,0) 70%);}
  .vside{position:absolute;left:clamp(12px,2.2vw,34px);top:46%;transform:translateY(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:26px;}
  .vside span{writing-mode:vertical-rl;font-family:"Cormorant Garamond",serif;letter-spacing:.4em;font-size:12.5px;color:var(--ink-soft);opacity:.65;text-transform:uppercase;}
  .vside i{width:1px;height:84px;background:var(--line);}
  .hero__inner{position:relative;z-index:3;max-width:1060px;margin:0 auto;padding:clamp(56px,7vw,104px) clamp(20px,4vw,56px) clamp(44px,5vw,68px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
  .hero__text{position:relative;max-width:820px;align-self:flex-start;margin-right:auto;text-shadow:0 0 16px rgba(255,255,255,.85),0 0 6px rgba(255,255,255,.7);}
  .desires{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(20px,2.6vh,30px);}
  .desire{display:flex;align-items:center;gap:14px;font-size:clamp(13px,1.15vw,15px);letter-spacing:.1em;color:var(--ink-soft);opacity:0;animation:rise .9s cubic-bezier(.2,.6,.3,1) forwards;}
  .desire:nth-child(1){animation-delay:.2s;}
  .desire:nth-child(2){animation-delay:.34s;margin-left:18px;}
  .desire:nth-child(3){animation-delay:.48s;margin-left:36px;}
  .desire i{width:22px;height:1px;background:var(--gold);flex:none;}
  .lead{font-family:"Noto Serif JP",serif;font-size:clamp(17px,1.75vw,24px);font-weight:400;line-height:1.7;letter-spacing:.08em;color:var(--ink);margin-bottom:4px;opacity:0;animation:rise 1s .6s cubic-bezier(.2,.6,.3,1) forwards;}
  .lead .em{color:var(--gold);}
  .titlewrap{position:relative;margin:18px 0 24px;}
  .title-script{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(13px,1.6vw,18px);letter-spacing:.26em;text-transform:uppercase;line-height:1;color:var(--gold);margin-top:12px;margin-left:.2em;opacity:0;animation:fade 1.2s 1.2s forwards;}
  .watermark{position:absolute;z-index:0;left:-4%;top:50%;transform:translateY(-54%);pointer-events:none;font-family:"Cormorant Garamond",serif;line-height:.84;color:var(--gold-soft);opacity:.16;white-space:nowrap;user-select:none;}
  .watermark .w1{display:block;font-weight:500;font-size:clamp(56px,9.4vw,138px);letter-spacing:.04em;}
  .watermark .w2{display:block;font-style:italic;font-weight:400;font-size:clamp(48px,7.8vw,116px);margin-left:1.2em;margin-top:-.2em;}
  .title{position:relative;z-index:2;font-family:"Noto Serif JP",serif;font-weight:500;color:var(--ink);font-size:clamp(52px,7.6vw,100px);line-height:1.12;letter-spacing:.16em;display:flex;align-items:baseline;text-shadow:none;filter:drop-shadow(0 0 14px rgba(255,255,255,.92)) drop-shadow(0 0 5px rgba(255,255,255,.75));}
  .title .ch{display:inline-block;transform:translateY(36px);opacity:0;animation:chUp 1s cubic-bezier(.19,1,.22,1) forwards;}
  .title .ch--gold{background:linear-gradient(135deg,#cfb27b 0%,#b1925f 50%,#8f7244 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:none;}
  .title .ch:nth-child(1){animation-delay:.75s;}.title .ch:nth-child(2){animation-delay:.84s;}.title .ch:nth-child(3){animation-delay:.93s;}.title .ch:nth-child(4){animation-delay:1.02s;}.title .ch:nth-child(5){animation-delay:1.11s;}.title .ch:nth-child(6){animation-delay:1.2s;}
  .divider{display:flex;align-items:center;gap:16px;width:100%;margin:0 0 clamp(28px,3.4vh,40px);opacity:0;animation:fade 1.1s 1.25s forwards;}
  .divider i{flex:1;height:1px;}
  .divider i:first-child{background:linear-gradient(90deg,transparent,var(--gold-soft));}
  .divider i:last-child{background:linear-gradient(90deg,var(--gold-soft),transparent);}
  .divider b{flex:none;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);}
  .sub{font-size:clamp(14px,1.2vw,16.5px);line-height:2;letter-spacing:.08em;color:var(--ink);opacity:0;animation:rise 1.1s 1.3s cubic-bezier(.2,.6,.3,1) forwards;}
  .sub b{font-weight:500;color:var(--gold);}
  .portrait{position:relative;display:flex;justify-content:center;align-items:center;}
  .arch{position:relative;width:100%;max-width:400px;aspect-ratio:3/3.8;border-radius:2px;overflow:hidden;background:radial-gradient(80% 60% at 50% 24%, #f8f1e6 0%, #ede1cf 48%, #e0d0b4 100%);box-shadow:0 50px 80px -50px rgba(90,74,52,.4);opacity:0;transform:translateY(26px) scale(.985);animation:rise 1.4s .65s cubic-bezier(.19,1,.22,1) forwards;}
  .arch .figure{position:absolute;inset:0;width:100%;height:100%;}
  .arch__glow{position:absolute;inset:0;background:radial-gradient(60% 45% at 62% 26%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 60%);pointer-events:none;}
  .arch__ico{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;color:rgba(120,98,72,.3);z-index:1;}
  .arch__ring{position:absolute;inset:-14px;border-radius:2px;border:1px solid var(--line);z-index:-1;pointer-events:none;}

  /* お客様の声（フラット） */
  .voices{position:relative;z-index:3;max-width:1060px;margin:0 auto 50px;padding:0 clamp(20px,4vw,56px) clamp(60px,7vw,96px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px);}
  .voice{position:relative;background:var(--paper-2);border:none;border-radius:3px;box-shadow:0 18px 42px -24px rgba(120,95,58,.42), 0 4px 14px -8px rgba(120,95,58,.16);padding:36px clamp(22px,2vw,32px) 30px;opacity:0;transform:translateY(22px);animation:rise 1s cubic-bezier(.2,.6,.3,1) forwards;}
  .voices .voice:nth-child(1){animation-delay:1.5s;}.voices .voice:nth-child(2){animation-delay:1.62s;}.voices .voice:nth-child(3){animation-delay:1.74s;}
  .voice__q{font-family:"Cormorant Garamond",serif;font-size:40px;line-height:.4;color:var(--gold-soft);display:block;}
  .voice__top{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
  .voice__script{font-family:"Cormorant Garamond",serif;font-style:normal;font-size:16px;line-height:1;color:var(--gold-soft);letter-spacing:.12em;}
  .voice__row{display:flex;align-items:center;gap:clamp(16px,1.6vw,22px);}
  .voice__img{flex:none;width:clamp(68px,6vw,84px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:linear-gradient(140deg,#ece1cf,#e0d2ba);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;}
  .voice__img img{width:100%;height:100%;object-fit:cover;}
  .voice__img .pico{width:26px;height:26px;color:rgba(120,98,72,.32);}
  .voice__body{flex:1;min-width:0;}
  .voice p{font-family:"Noto Serif JP",serif;font-size:clamp(15px,1.2vw,17px);line-height:1.95;letter-spacing:.04em;font-weight:400;}
  .voice p .hl{color:var(--gold);}
  .voice__by{margin-top:20px;display:inline-block;font-size:10.5px;letter-spacing:.18em;color:var(--ink-soft);padding-top:12px;border-top:1px solid var(--hair);}

  /* ===== お悩み ===== */
  .worry{display:block;}
  .checks{display:grid;grid-template-columns:1fr 1fr;gap:18px clamp(28px,4vw,56px);max-width:1000px;margin:0 auto;}
  .check{display:flex;gap:18px;align-items:flex-start;}
  .check .ck{flex:none;width:30px;height:30px;border-radius:50%;background:transparent;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;margin-top:4px;}
  .check .ck svg{width:15px;height:15px;color:var(--gold);}
  .check p{font-size:clamp(15px,1.25vw,17px);line-height:1.95;letter-spacing:.03em;color:var(--ink-soft);}
  .check p b{font-weight:500;color:var(--ink);}
  .worry .ph{aspect-ratio:16/10;border-radius:2px;max-width:760px;margin:0 auto clamp(30px,4vw,52px);}
  @media (max-width:760px){ .checks{grid-template-columns:1fr;} }

  /* ===== コーチング説明 ===== */
  .pitch{display:grid;grid-template-columns:1fr .78fr;gap:clamp(32px,4.5vw,64px);align-items:start;}
  .pitch__body{order:-1;}
  .pitch__body p{font-size:clamp(15px,1.2vw,16.5px);line-height:2.15;letter-spacing:.03em;margin-bottom:18px;color:var(--ink-soft);}
  .pitch__body p.accent{font-family:"Noto Serif JP",serif;font-weight:500;font-size:1.12em;color:var(--ink);letter-spacing:.05em;line-height:1.9;border-left:1px solid var(--gold);padding-left:18px;}
  .pitch__fig .arch2{position:relative;width:100%;max-width:330px;margin:0 auto;aspect-ratio:1/1.22;border-radius:170px 170px 3px 3px;overflow:hidden;background:linear-gradient(165deg,#f7f2ea 0%, #ece3d4 100%);border:none;display:flex;align-items:center;justify-content:center;}
  .pitch__fig .arch2 .pico{width:38px;height:38px;color:rgba(120,98,72,.32);}
  .pitch__fig .arch2 .pitch__photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}

  /* ===== カード（額装・フラット） ===== */
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,34px);}
  .rcard{background:var(--paper-2);border:none;border-radius:3px;box-shadow:0 18px 42px -24px rgba(120,95,58,.42), 0 4px 14px -8px rgba(120,95,58,.16);overflow:hidden;display:flex;flex-direction:column;}
  .rcard .ph{aspect-ratio:4/3;border:0;border-bottom:1px solid var(--hair);}
  .rcard__b{padding:30px clamp(20px,2vw,28px) 34px;position:relative;}
  .rcard__n{display:block;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:30px;color:var(--gold);line-height:1;margin-bottom:14px;}
  .rcard h3{font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(17px,1.5vw,20px);line-height:1.7;letter-spacing:.05em;}
  .rcard h3 .em{color:var(--gold);}

  /* ===== 流れ ===== */
  .flow__wm{position:absolute;left:6px;top:0;bottom:0;z-index:1;display:flex;align-items:center;pointer-events:none;}
  .flow__wm span{writing-mode:vertical-rl;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(26px,3.6vw,46px);letter-spacing:.16em;color:var(--gold-soft);opacity:.4;}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,36px);}
  .step{position:relative;}
  .step .ph{aspect-ratio:4/3;border-radius:2px;}
  .step__n{position:absolute;top:-14px;left:-6px;z-index:3;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:40px;color:var(--gold);background:var(--paper-2);padding:0 10px;line-height:1;}
  .step h4{margin-top:18px;font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(15px,1.25vw,17px);letter-spacing:.05em;text-align:center;color:var(--ink-soft);}

  /* ===== 保証 / 特徴 ===== */
  .icards{display:grid;gap:clamp(20px,2.6vw,34px);}
  .icards.c3{grid-template-columns:repeat(3,1fr);}
  .icards.c2{grid-template-columns:repeat(2,1fr);max-width:720px;margin:0 auto;}
  .icard{background:var(--paper-2);border:1px solid var(--hair);border-radius:2px;padding:clamp(34px,3.2vw,48px) clamp(22px,2.4vw,32px);text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;}
  .icard__n{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:28px;color:var(--gold);line-height:1;margin-bottom:16px;}
  .icard__ic{display:block;width:80px;height:80px;margin:0 auto 22px;color:var(--gold);flex:none;}
  .icard__ic svg{width:100%;height:100%;display:block;}
  .icard__ic img{width:100%;height:100%;display:block;object-fit:contain;}
  .icard h3{font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(17px,1.5vw,20px);letter-spacing:.06em;line-height:1.55;margin:0 0 12px;}
  .icard p{font-size:clamp(13.5px,1.1vw,15px);line-height:1.9;color:var(--ink-soft);letter-spacing:.02em;margin:0;max-width:22em;}

  /* ===== 理念 ===== */
  .sec--rinen{background:linear-gradient(180deg,#ede6d8 0%, #f2ece0 100%);}
  .rinen{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(32px,4.5vw,60px);align-items:start;background:var(--paper-2);border:1px solid var(--hair);border-radius:3px;box-shadow:0 18px 42px -24px rgba(120,95,58,.42), 0 4px 14px -8px rgba(120,95,58,.16);padding:clamp(34px,4.5vw,64px);}
  .rinen__body{font-size:clamp(14px,1.15vw,16px);line-height:2.25;letter-spacing:.03em;color:var(--ink-soft);}
  .rinen__body p{margin-bottom:16px;}
  .rinen__body .dropcap::first-letter{font-family:"Noto Serif JP",serif;font-weight:500;font-size:3.2em;float:left;line-height:.84;margin:8px 14px 0 0;color:var(--gold);}
  .rinen__body .q{font-family:"Noto Serif JP",serif;font-weight:500;color:var(--ink);}
  .rinen__fig .ph{aspect-ratio:3/3.7;border-radius:2px;}

  /* ===== 電子書籍 ===== */
  .books{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,3vw,36px);max-width:860px;margin:0 auto;}
  .book{background:var(--paper-2);border:1px solid var(--hair);border-radius:2px;overflow:hidden;}
  .book__cap{padding:13px;text-align:center;color:#faf7f1;font-size:12px;letter-spacing:.2em;font-family:"Noto Serif JP",serif;}
  .book:nth-child(1) .book__cap{background:var(--ink);}
  .book:nth-child(2) .book__cap{background:var(--gold);}
  .book__in{display:flex;gap:22px;padding:28px;align-items:flex-start;}
  .bookcover{flex:none;width:120px;border-radius:2px;overflow:hidden;border:1px solid var(--hair);align-self:flex-start;}
  .bookcover img{width:100%;height:auto;display:block;}
  .bookcover .pico{width:26px;height:26px;color:rgba(120,98,72,.35);}
  .book__txt{display:flex;flex-direction:column;}
  .book__title{font-family:"Noto Serif JP",serif;font-weight:500;font-size:16px;line-height:1.7;letter-spacing:.03em;}
  .book__note{font-size:12.5px;line-height:1.8;letter-spacing:.02em;margin:0 0 12px;color:var(--gold);}
  .sec--dark .book__note{color:var(--gold-soft);}
  .book__sub{font-size:13px;color:var(--ink-soft);line-height:1.75;margin-top:6px;}
  .book__by{font-size:13px;color:var(--ink-soft);margin-top:8px;}
  .book__btn{margin-top:24px;display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border:1px solid var(--gold);border-radius:1px;font-size:11.5px;letter-spacing:.16em;color:var(--gold);transition:background .4s,color .4s;align-self:flex-start;}
  .book__btn:hover{background:var(--gold);color:#fff;}

  /* ===== プロフィール ===== */
  .profile{display:grid;grid-template-columns:.66fr 1.34fr;gap:clamp(32px,4.5vw,60px);align-items:start;}
  .profile__photo .ph{aspect-ratio:3/3.7;border-radius:2px;}
  .profile__role{font-family:"Noto Serif JP",serif;font-size:clamp(13.5px,1.15vw,15.5px);color:var(--ink-soft);letter-spacing:.06em;margin-bottom:10px;}
  .profile__name{font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(22px,2.4vw,30px);color:var(--ink);letter-spacing:.12em;margin-bottom:8px;}
  .profile__rule{width:48px;height:1px;background:var(--gold);margin-bottom:26px;}
  .profile__bio p{font-size:clamp(13.5px,1.05vw,15px);line-height:2.1;letter-spacing:.02em;margin-bottom:14px;color:var(--ink-soft);}
  .profile__bio .em{color:var(--gold);}

  /* ===== CTA ===== */
  .cta{position:relative;background:linear-gradient(150deg,#74353c 0%, #5e2a31 100%);color:#f6ece6;text-align:center;padding:clamp(72px,9vw,120px) clamp(20px,4vw,56px);overflow:hidden;}
  .cta::before{content:"";position:absolute;inset:clamp(16px,2.5vw,30px);border:1px solid rgba(189,163,119,.4);pointer-events:none;}
  .cta__in{position:relative;z-index:2;max-width:720px;margin:0 auto;}
  .cta__kicker{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16px;letter-spacing:.24em;color:var(--gold-soft);margin-bottom:20px;text-transform:uppercase;}
  .cta__h{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(21px,2.8vw,32px);letter-spacing:.1em;line-height:1.7;margin-bottom:40px;}
  .cta__h .c-sp{display:none;}
  .cta__btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}
  .cta .btn{background:linear-gradient(135deg,#cfb27b 0%,#b1925f 50%,#8f7244 100%);border:1px solid #b99a6a;color:#ffffff;box-shadow:inset 0 1px 0 rgba(255,255,255,.32);}
  .cta .btn:hover{filter:brightness(1.07);color:#ffffff;}
  .cta .btn--mail{background:transparent;color:#ffffff;border:1px solid rgba(255,255,255,.55);box-shadow:none;}
  .cta .btn--mail:hover{background:rgba(255,255,255,.14);border-color:#ffffff;color:#ffffff;}

  /* ===== フッター ===== */
  .foot{background:#241f1a;color:#b6ad9f;padding:clamp(52px,6vw,76px) 0 32px;}
  .foot__in{max-width:1060px;margin:0 auto;padding:0 clamp(20px,4vw,56px);display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;align-items:flex-start;}
  .foot__logo{display:flex;align-items:center;gap:14px;}
  .foot__logo .logo__name{color:#efe7da;font-size:18px;letter-spacing:.2em;}
  .foot__nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;}
  .foot__nav a{font-size:12px;letter-spacing:.12em;color:#b6ad9f;transition:color .4s;}
  .foot__nav a::before{content:"—";margin-right:10px;color:var(--gold);}
  .foot__nav a:hover{color:#fff;}
  .foot__cr{max-width:1060px;margin:44px auto 0;padding:22px clamp(20px,4vw,56px) 0;border-top:1px solid rgba(255,255,255,.08);font-size:10.5px;letter-spacing:.14em;color:#7d756a;text-align:center;font-family:"Cormorant Garamond",serif;}

  /* ===== PC：FV（ヒーロー＋お客様の声3枚）を1画面に収める ===== */
  @media (min-width:981px){
    .hero__inner{min-height:calc(100svh - 410px);padding-top:clamp(6px,1vw,14px);padding-bottom:clamp(2px,0.3vw,4px);}
    .title{font-size:clamp(46px,6.2vw,82px);}
    .titlewrap{margin:10px 0 14px;}
    .divider{margin-bottom:clamp(16px,2vh,24px);}
    .desires{gap:9px;margin-bottom:14px;}
    .lead{font-size:clamp(16px,1.6vw,22px);}
    .voices{padding-top:0;padding-bottom:clamp(20px,2.4vw,34px);gap:clamp(16px,1.6vw,22px);}
    .voice{padding:24px clamp(20px,1.8vw,28px) 22px;}
    .voice__q{font-size:34px;}
    .voice p{font-size:14.5px;line-height:1.85;}
    .voice__by{margin-top:14px;padding-top:10px;}
  }
  /* 1000〜1400px：人物とのバランスを保つためコピーを縮小させない（vw連動を固定） */
  @media (min-width:981px){
    .title{font-size:82px;}
    .lead{font-size:22px;}
    .sub{font-size:16.5px;}
    .desire{font-size:15px;}
    /* 980px以上は大きいレイアウト（1400px以上）に固定（コピー・人物の位置を一定に） */
    .hero__portrait{right:max(-24px, calc((100% - 1060px) / 2 + 20px));}
  }

  /* 1000px以上：客声ボックスの寸法を1400px時の見えに固定（高さ変動→人物位置のブレを防ぐ） */
  @media (min-width:1000px){
    .voices{grid-template-columns:repeat(3,300px);justify-content:center;gap:22px;padding-left:24px;padding-right:24px;padding-bottom:30px;}
    .voice{padding:24px 28px 22px;}
    .voice__row{gap:22px;}
    .voice__img{width:84px;}
    .hero__inner{padding-top:12px;padding-bottom:4px;}
  }
  @keyframes rise{to{opacity:1;transform:translateY(0) scale(1);}}
  @keyframes fade{to{opacity:1;}}
  @keyframes chUp{to{transform:translateY(0);opacity:1;}}

  /* ===== レスポンシブ ===== */
  @media (max-width:1180px){
    .head__top{justify-content:space-between;position:relative;}
    .head__nav-in{display:none;}
    .head-btn{display:none;}
    .hamburger{display:flex;}
    .nav-toggle:checked ~ .head__top .head__nav-in{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;z-index:60;background:#fffdf7;padding:6px clamp(20px,4vw,48px) 20px;gap:0;box-shadow:0 16px 26px -18px rgba(0,0,0,.22);}
    .nav-toggle:checked ~ .head__top .head__nav-in a{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid rgba(164,133,90,.16);}
    .nav-toggle:checked ~ .head__top .head__nav-in a.nav-cta{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:15px 34px;margin-top:14px;color:#fff;border-bottom:none;}
  }
  @media (max-width:980px){
    /* ヒーローはPCと同じ2カラム（コピー左・ビジュアル右）を維持 */
    .hero__inner{gap:clamp(18px,3vw,40px);}
    .arch{max-width:300px;}
    .vside{display:none;}
    .worry,.pitch,.profile{grid-template-columns:1fr;}
    .pitch__fig{order:-1;}
    .cards3,.steps,.icards.c3{grid-template-columns:repeat(2,1fr);}
    .rinen{grid-template-columns:1fr;}
    .rinen__fig{max-width:320px;margin:0 auto;}
  }
  @media (max-width:680px){
    .only-sp{display:inline;}
    .hero__portrait{display:none;}
    .voices,.cards3,.steps,.icards.c3,.icards.c2,.books{grid-template-columns:1fr;}
    /* ヒーローは2カラムのまま、要素を縮小して収める */
    .hero__inner{gap:14px;padding:42px clamp(16px,5vw,24px) 32px;}
    .title{font-size:clamp(26px,7.6vw,52px);letter-spacing:.06em;flex-wrap:wrap;}
    .lead{font-size:clamp(13px,3.6vw,18px);}
    .desire{font-size:clamp(10px,2.7vw,13px);gap:8px;letter-spacing:.04em;}
    .desire i{width:12px;}
    .desire:nth-child(2){margin-left:8px;}
    .desire:nth-child(3){margin-left:16px;}
    .sub{font-size:11.5px;line-height:1.85;}
    .arch{max-width:none;}
    .book__in{flex-direction:column;align-items:center;text-align:center;}
    .book__btn{align-self:center;}
    .wm-h{font-size:clamp(38px,12vw,66px);transform:translate(-50%,-50%);}
  }

#concern, .foot{background-color:#211b14;background-image:linear-gradient(rgba(24,19,13,.34),rgba(24,19,13,.44)), url("../image/bg-concern.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
#reason{background-color:#ece5d8;background-image:url("../image/bg-reason.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
#promise{background-color:#211b14;background-image:linear-gradient(rgba(24,19,13,.34),rgba(24,19,13,.44)), url("../image/bg-promise.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
.sec--rinen{background-color:#f4efe6;background-image:url("../image/bg-rinen.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
#feature{background-color:#ece5d8;background-image:url("../image/bg-feature.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
#book{background-color:#211b14;background-image:linear-gradient(rgba(24,19,13,.34),rgba(24,19,13,.44)), url("../image/bg-book.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
.cta{background-color:#5e2a31;background-image:linear-gradient(rgba(70,24,32,.28),rgba(70,24,32,.42)), url("../image/bg-cta.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;}
  #feature .icard{border:none;box-shadow:0 18px 42px -24px rgba(120,95,58,.42), 0 4px 14px -8px rgba(120,95,58,.16);}


/* ===== 下層ページ見出し ===== */
  .page-head{position:relative;overflow:hidden;background-color:#ece5d8;background-image:url("../image/under_bg.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;text-align:center;box-sizing:border-box;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px clamp(20px,4vw,56px);}
  .page-head + .sec{padding-top:clamp(40px,5.4vw,76px);}
  .page-head__en{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);z-index:0;margin:0;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(54px,8.6vw,122px);letter-spacing:.05em;color:var(--gold);opacity:.13;white-space:nowrap;pointer-events:none;user-select:none;}
  .page-head__ja{position:relative;z-index:2;font-family:"Noto Serif JP",serif;font-weight:500;color:var(--ink);font-size:clamp(26px,3.4vw,42px);letter-spacing:.06em;line-height:1.34;margin:0;}

  .page-head__sub{position:relative;z-index:2;font-size:13.5px;color:var(--ink-soft);letter-spacing:.04em;margin:12px 0 0;}

/* ===== サービスページ ===== */
  .svc .wrap{max-width:1040px;}
  .svc-card{padding:0 0 clamp(38px,4.6vw,58px);margin:0 auto clamp(38px,4.6vw,58px);border-bottom:1px solid var(--hair);}
  .svc-card:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0;}
  .svc-card__title{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:clamp(20px,2.2vw,28px);letter-spacing:.05em;margin:0 0 clamp(18px,2.4vw,26px);padding-bottom:16px;border-bottom:1px solid var(--hair);}
  .svc-card__body{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(22px,3vw,40px);align-items:start;}
  .svc-card__text p{font-size:clamp(14.5px,1.15vw,16px);line-height:1.95;color:var(--ink-soft);margin:0 0 12px;}
  .svc-note{color:var(--gold);}
  .svc-card__fig{position:relative;}
  .svc-card__fig img{position:relative;z-index:1;width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 22px 46px -24px rgba(120,95,58,.55);}
  .svc-card__boxes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.4vw,52px);margin-top:clamp(26px,3.2vw,38px);}
  .svc-box + .svc-box{border-left:1px solid rgba(164,133,90,.2);padding-left:clamp(28px,3.4vw,52px);}
  .svc-box{padding:0;}
  .svc-box p.svc-box__h{position:relative;font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);text-align:center;font-size:16px;letter-spacing:.14em;margin:0 0 34px;padding-bottom:22px;}
  .svc-box p.svc-box__h::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:54px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-soft) 28%,var(--gold-soft) 72%,transparent);}
  .svc-box p.svc-box__h::before{content:"";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%) rotate(45deg);width:5px;height:5px;background:var(--gold);z-index:1;}
  .svc-box p{font-size:13.5px;line-height:1.95;color:var(--ink-soft);margin:0;}
  .svc-box p.svc-box__h + p::first-letter{float:left;font-family:"Noto Serif JP",serif;font-weight:600;font-size:2.6em;line-height:.82;margin:5px 12px 0 0;color:var(--gold);}
  .svc-list{list-style:none;margin:0;padding:0;}
  .svc-list li{position:relative;padding:13px 0 13px 30px;font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin:0;border-bottom:1px solid rgba(164,133,90,.14);}
  .svc-list li:first-child{padding-top:2px;}
  .svc-list li:last-child{border-bottom:none;padding-bottom:2px;}
  .svc-list li::before{content:"";position:absolute;left:4px;top:50%;width:11px;height:8px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:translateY(-62%) rotate(-45deg);}
  @media (max-width:760px){ .svc-card__body{grid-template-columns:1fr;} .svc-card__boxes{grid-template-columns:1fr;} .svc-box + .svc-box{border-left:none;padding-left:0;border-top:1px solid rgba(164,133,90,.2);padding-top:clamp(24px,5vw,32px);margin-top:clamp(8px,2vw,14px);} }


/* ===== 選ばれている理由ページ ===== */
  .reasons .wrap{max-width:1040px;}
  .reason-card{padding:0 0 clamp(38px,4.6vw,58px);margin:0 auto clamp(38px,4.6vw,58px);border-bottom:1px solid var(--hair);}
  .reason-card:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0;}
  .reason-card__body{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,3vw,44px);align-items:start;}
  .reason-card__head{display:flex;align-items:center;gap:16px;margin:0 0 clamp(16px,2vw,22px);}
  .reason-badge{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--wine);color:#fdf6f3;box-shadow:0 8px 18px -10px rgba(116,53,60,.6);}
  .reason-badge__l{font-family:"Noto Serif JP",serif;font-size:10px;letter-spacing:.12em;line-height:1;margin-bottom:2px;}
  .reason-badge__n{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:26px;line-height:1;}
  .reason-card__title{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:clamp(19px,2.1vw,26px);line-height:1.4;letter-spacing:.03em;margin:0;}
  .reason-card__text p{font-size:clamp(14.5px,1.15vw,16px);line-height:1.95;color:var(--ink-soft);margin:0 0 14px;}
  .reason-card__text p:last-child{margin-bottom:0;}
  .reason-card__text .hl{color:var(--wine);font-weight:500;}
  .reason-card__fig{position:relative;}
  .reason-card__fig img{position:relative;z-index:1;width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 22px 46px -24px rgba(120,95,58,.55);}
  @media (max-width:760px){ .reason-card__body{grid-template-columns:1fr;} }


/* ===== 特徴ページ ===== */
  .feats .wrap{max-width:1040px;}
  .feat-card{padding:0 0 clamp(38px,4.6vw,58px);margin:0 auto clamp(38px,4.6vw,58px);border-bottom:1px solid var(--hair);}
  .feat-card:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0;}
  .feat-card__head{display:flex;align-items:center;gap:16px;margin:0 0 clamp(16px,2vw,22px);}
  .feat-badge{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--wine);color:#fdf6f3;box-shadow:0 8px 18px -10px rgba(116,53,60,.6);}
  .feat-badge__l{font-family:"Noto Serif JP",serif;font-size:10px;letter-spacing:.12em;line-height:1;margin-bottom:2px;}
  .feat-badge__n{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:26px;line-height:1;}
  .feat-card__title{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:clamp(20px,2.2vw,28px);letter-spacing:.04em;margin:0;}
  .feat-card__body{display:grid;grid-template-columns:1fr 150px;gap:clamp(20px,3vw,40px);align-items:center;}
  .feat-card__text p{font-size:clamp(14.5px,1.15vw,16px);line-height:1.95;color:var(--ink-soft);margin:0 0 14px;}
  .feat-card__text p:last-child{margin-bottom:0;}
  .feat-card__text b{font-weight:500;color:var(--ink);}
  .feat-card__ico{justify-self:center;}
  .feat-card__ico svg{width:118px;height:118px;color:var(--gold-soft);opacity:.55;fill:none;stroke:currentColor;}
  @media (max-width:680px){ .feat-card__body{grid-template-columns:1fr;} .feat-card__ico{display:none;} }


/* ===== 流れページ ===== */
  .flows .wrap{max-width:1000px;}
  .flow-step{display:grid;grid-template-columns:1fr 230px;gap:clamp(22px,3vw,44px);align-items:center;padding:clamp(6px,1vw,12px) 0;}
  .flow-step__head{display:flex;align-items:center;gap:14px;margin:0 0 14px;flex-wrap:wrap;}
  .flow-badge{flex:none;display:inline-flex;align-items:baseline;gap:5px;background:var(--wine);color:#fdf6f3;font-family:"Cormorant Garamond",serif;font-size:14px;letter-spacing:.12em;padding:5px 16px;border-radius:999px;}
  .flow-badge em{font-style:normal;font-size:17px;font-weight:600;}
  .flow-step__title{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:clamp(18px,2vw,24px);margin:0;letter-spacing:.03em;line-height:1.4;}
  .flow-step__lead{font-family:"Noto Serif JP",serif;font-weight:500;color:var(--ink);font-size:clamp(15px,1.3vw,17px);margin:0 0 8px;letter-spacing:.02em;}
  .flow-step__body{font-size:clamp(14px,1.1vw,15.5px);line-height:1.9;color:var(--ink-soft);margin:0;}
  .flow-step__fig{position:relative;}
  .flow-step__fig img{position:relative;z-index:1;width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 22px 46px -24px rgba(120,95,58,.55);}
  .flow-arrow{display:flex;justify-content:center;color:var(--gold);margin:10px 0;}
  @media (max-width:680px){ .flow-step{grid-template-columns:1fr;} }


/* ===== 申込みボタン（サービス内） ===== */
  .svc-apply{margin-top:clamp(22px,3vw,32px);text-align:center;}
  .svc-apply__btn{display:inline-flex;align-items:center;gap:16px;padding:18px 48px;border-radius:1px;font-family:"Noto Serif JP",serif;font-size:14.5px;letter-spacing:.16em;color:#fff;background:linear-gradient(135deg,#cfb27b 0%,#b1925f 50%,#8f7244 100%);border:1px solid #b99a6a;box-shadow:inset 0 1px 0 rgba(255,255,255,.32);transition:filter .4s,letter-spacing .4s;}
  .svc-apply__btn:hover{filter:brightness(1.06);letter-spacing:.2em;}


/* ===== お客様の声ページ ===== */
  .voice-page .wrap{max-width:1000px;}
  .voice-card{padding:0 0 clamp(40px,4.8vw,60px);margin:0 auto clamp(40px,4.8vw,60px);border-bottom:1px solid var(--hair);}
  .voice-card:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0;}
  .voice-card__cap{display:inline-block;font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.14em;color:#fdf6f3;background:linear-gradient(135deg,#8f7244,#b1925f);padding:6px 22px;border-radius:999px;margin-bottom:clamp(14px,2vw,20px);}
  .voice-card__title{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:clamp(20px,2.3vw,30px);line-height:1.45;letter-spacing:.03em;margin:0 0 clamp(18px,2.4vw,26px);}
  .voice-card__title .ac{background:linear-gradient(92deg,#8f7244 0%,#c4a368 38%,#e7cf98 52%,#b8975c 70%,#8f7244 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
  .voice-card__body{display:grid;grid-template-columns:220px 1fr;gap:clamp(30px,4vw,56px);align-items:center;}
  .voice-card__main{order:1;position:relative;border-left:1px solid var(--hair);padding-left:clamp(28px,3.6vw,52px);}
  .voice-ba{position:relative;z-index:1;margin-bottom:18px;}
  .voice-ba:last-child{margin-bottom:0;}
  .voice-ba__label{display:inline-block;font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.12em;color:#fff;padding:3px 18px;border-radius:2px;margin-bottom:9px;}
  .voice-ba__label--before{background:#5a4a3a;}
  .voice-ba__label--after{background:var(--wine);}
  .voice-ba p{font-size:clamp(14px,1.1vw,15.5px);line-height:1.95;color:var(--ink-soft);margin:0;}
  .voice-card__person{text-align:center;align-self:center;}
  .voice-card__photo{width:150px;height:150px;border-radius:50%;overflow:hidden;margin:0 auto 18px;border:none;box-shadow:0 0 0 6px var(--paper-2), 0 0 0 7px var(--gold-soft), 0 18px 34px -18px rgba(120,95,58,.5);}
  .voice-card__photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .voice-card__attr{font-family:"Noto Serif JP",serif;font-weight:600;color:var(--ink);font-size:16.5px;line-height:1.55;letter-spacing:.05em;margin:0;}
  @media (max-width:680px){
    .voice-card__body{grid-template-columns:1fr;gap:24px;}
    .voice-card__main{order:2;border-left:none;padding-left:0;border-top:1px solid var(--hair);padding-top:24px;}
    .voice-card__person{order:1;}
  }

/* ===== アイキャッチ写真のあしらい（金の細フレームを淡く背面に） ===== */
  .svc-card__fig::before,.reason-card__fig::before,.flow-step__fig::before{content:"";position:absolute;inset:0;transform:translate(10px,10px);border:1px solid rgba(164,133,90,.26);border-radius:2px;z-index:0;pointer-events:none;}

/* ===== 大人女性向けのあしらい（装飾・色・タイポ） ===== */
/* ヒーローの小オーナメント（ロゼの差し色） */
  .ph-orn{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:13px;margin:14px 0 0;}
  .ph-orn__l{width:clamp(20px,2.6vw,36px);height:1px;background:linear-gradient(90deg,transparent,rgba(164,133,90,.5));}
  .ph-orn__l:last-child{background:linear-gradient(90deg,rgba(164,133,90,.5),transparent);}
  .ph-orn__d{width:5px;height:5px;background:#bd8a90;transform:rotate(45deg);}
/* お客様の声：大きな引用符 */
  .voice-card__main::before{content:"\201C";position:absolute;top:-20px;left:2px;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(68px,8vw,112px);line-height:1;color:var(--gold-soft);opacity:.22;z-index:0;pointer-events:none;}
/* 理由・ステップ：大きく優雅な番号（透かし） */
  .reasons{counter-reset:rnum;}
  .reason-card{position:relative;}
  .reason-card__body{position:relative;z-index:1;}
  .reason-card::before{counter-increment:rnum;content:counter(rnum,decimal-leading-zero);position:absolute;top:-12px;left:-6px;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(72px,9.5vw,142px);line-height:.9;color:var(--gold);opacity:.1;z-index:0;pointer-events:none;}
  .flows{counter-reset:fnum;}
  .flow-step{position:relative;}
  .flow-step__main{position:relative;z-index:1;}
  .flow-step__fig{z-index:1;}
  .flow-step::before{counter-increment:fnum;content:counter(fnum,decimal-leading-zero);position:absolute;top:-10px;left:-6px;font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:clamp(70px,9.5vw,140px);line-height:.9;color:var(--gold);opacity:.09;z-index:0;pointer-events:none;}
/* ドロップキャップ（選ばれている理由の各冒頭・ワインの差し色） */
  .reason-card__text > p:first-child::first-letter{float:left;font-family:"Noto Serif JP",serif;font-weight:600;font-size:3.2em;line-height:.82;margin:6px 14px 0 0;color:var(--wine);}

/* サービス：詳細はお問い合わせください を強調 */
  .svc-attn{display:inline-block;margin-top:18px;font-family:"Noto Serif JP",serif;font-weight:600;color:var(--wine);font-size:15px;letter-spacing:.04em;padding-bottom:4px;border-bottom:1.5px solid rgba(116,53,60,.4);}

/* ============================================================
   レスポンシブ追補：タブレット／スマホ表示の最適化
   （フォントサイズ・余白・長文ボタンのはみ出し・装飾の収まり）
   ============================================================ */

/* ---- タブレット（〜980px） ---- */
  @media (max-width:980px){
    .sec{padding:clamp(66px,9vw,110px) 0;}
    .page-head{min-height:262px;}
    .profile__photo{width:100%;max-width:300px;margin:0 auto;}
    .cta__btns{gap:16px;}
  }

/* ---- スマホ（〜680px） ---- */
  @media (max-width:680px){
    .sec{padding:clamp(52px,11vw,74px) 0;}
    .sec-head{margin-bottom:clamp(32px,8vw,50px);}
    .profile__photo{max-width:258px;}

    /* 下層ページの見出し帯 */
    .page-head{min-height:212px;padding:22px clamp(18px,5vw,26px);}
    .page-head + .sec{padding-top:clamp(34px,8vw,50px);}
    .page-head__en{font-size:clamp(42px,14vw,66px);transform:translate(-50%,-54%);}
    .page-head__ja{font-size:clamp(21px,6.2vw,27px);line-height:1.4;}
    .page-head__sub{font-size:12.5px;margin-top:10px;}

    /* ボタンを画面幅に収める（長文CTAのはみ出し防止） */
    .btn{padding:15px 22px;font-size:13px;letter-spacing:.1em;gap:12px;white-space:normal;line-height:1.5;text-align:center;}
    .cta__btns{flex-direction:column;align-items:stretch;}
    .cta .btn{width:100%;}
    .svc-apply__btn{padding:15px 22px;font-size:13px;letter-spacing:.1em;gap:10px;white-space:normal;line-height:1.5;text-align:center;}

    /* 見出しサイズの微調整 */
    .h2{font-size:clamp(22px,6.4vw,32px);letter-spacing:.08em;}
    .cta__h{font-size:clamp(19px,5.6vw,26px);}

    /* 大きな装飾文字（透かし）を画面内に収める */
    .voice-card__main::before{font-size:clamp(48px,15vw,68px);top:-10px;}
    .reason-card::before{font-size:clamp(52px,17vw,80px);}
    .flow-step::before{font-size:clamp(50px,17vw,78px);}

    /* ドロップキャップを少し控えめに */
    .reason-card__text > p:first-child::first-letter{font-size:2.7em;margin:5px 12px 0 0;}
    .svc-box p.svc-box__h + p::first-letter{font-size:2.3em;}

    /* お客様の声カードの間隔 */
    .voice-card__body{gap:22px;}
  }

/* ---- 小型スマホ（〜480px） ---- */
  @media (max-width:480px){
    .logo__mark{width:46px;height:46px;}
    .logo__tag{font-size:9px;line-height:1.5;}
    .logo__name{font-size:18px;}
    .profile__photo{max-width:220px;}
    .head__top{padding:12px 18px;}
    .page-head__ja{font-size:clamp(20px,7vw,24px);}
    .h2{font-size:clamp(21px,7vw,28px);}
    .cta__h{font-size:clamp(18px,6vw,24px);}
    .foot__nav{grid-template-columns:1fr;}
    .voice-card__photo{width:128px;height:128px;}
    .reason-badge,.feat-badge{width:54px;height:54px;}
    .reason-badge__n,.feat-badge__n{font-size:23px;}
  }

/* ---- サブページ図版：1カラム化時に大きくなりすぎないよう上限＋中央寄せ ---- */
  @media (max-width:760px){
    .svc-card__fig,.reason-card__fig,.flow-step__fig{max-width:460px;margin-left:auto;margin-right:auto;}
  }

/* ---- スマホ追加調整（写真の回り込み・中央揃え・ボタン余白・改行） ---- */
  @media (max-width:680px){
    /* コーチング説明：写真は見出し下に中央・少し小さめ（縦並び維持） */
    .pitch__fig .arch2{max-width:240px;}

    /* 電子書籍：書影を中央揃え */
    .bookcover{align-self:center;}

    /* CTA：両端に余白＋改行の出し分け */
    .cta{padding-left:30px;padding-right:30px;}
    .cta__h .c-pc{display:none;}
    .cta__h .c-sp{display:inline;}

    /* お客様の声：金バーと見出しを中央揃え（本文は左のまま） */
    .voice-card__cap{display:block;width:fit-content;margin-left:auto;margin-right:auto;}
    .voice-card__title{text-align:center;}
  }

/* ---- スマホ：カードを横並びに（理由/流れ/特徴=2列, 保証=3列, 書籍=2列） ---- */
  @media (max-width:680px){
    .cards3,.steps,.icards.c2,.books{grid-template-columns:repeat(2,1fr);}
    .icards.c3{grid-template-columns:repeat(3,1fr);}
    .cards3{gap:14px 12px;}
    .steps{gap:16px 12px;}
    .icards{gap:12px 10px;}
    .books{gap:14px 12px;}

    /* 保証・特徴カードの詰め */
    .icard{padding:20px 12px;}
    .icard__n{font-size:22px;margin-bottom:8px;}
    .icard__ic{width:50px;height:50px;margin-bottom:12px;}
    .icard h3{font-size:14px;letter-spacing:.03em;margin-bottom:8px;line-height:1.5;}
    .icard p{font-size:12px;line-height:1.7;max-width:none;}
    /* 保証は3列なのでさらに詰める */
    .icards.c3 .icard{padding:16px 7px;}
    .icards.c3 .icard__ic{width:40px;height:40px;margin-bottom:9px;}
    .icards.c3 .icard__n{font-size:19px;margin-bottom:6px;}
    .icards.c3 .icard h3{font-size:12.5px;margin-bottom:6px;}
    .icards.c3 .icard p{font-size:11px;line-height:1.65;}

    /* 理由カード（写真＋見出し） */
    .rcard__b{padding:16px 12px 20px;}
    .rcard__n{font-size:24px;margin-bottom:8px;}
    .rcard h3{font-size:13.5px;line-height:1.6;}

    /* 流れ（写真＋キャプション） */
    .step h4{font-size:13px;margin-top:12px;}
    .step__n{font-size:30px;}

    /* 書籍ボックス（横2列で収める） */
    .book__cap{font-size:11px;letter-spacing:.14em;padding:10px;}
    .book__in{padding:16px 12px;gap:12px;}
    .bookcover{width:88px;}
    .book__title{font-size:12.5px;line-height:1.6;}
    .book__note{font-size:10.5px;line-height:1.6;margin-bottom:8px;}
    .book__sub,.book__by{font-size:10.5px;}
    .book__btn{margin-top:14px;padding:9px 14px;font-size:10.5px;letter-spacing:.1em;}
  }

/* ===== 法令ページ（プライバシーポリシー・特商法） ===== */
  .wrap--narrow{max-width:820px;}
  .legal-intro{font-size:14.5px;line-height:2;color:var(--ink-soft);margin:0 0 clamp(34px,4vw,50px);}
  .legal-art{padding:clamp(22px,2.6vw,30px) 0;border-bottom:1px solid rgba(164,133,90,.18);}
  .legal-art:first-of-type{padding-top:0;}
  .legal-art:last-child{border-bottom:none;}
  .legal-art__h{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(15px,1.7vw,17px);color:var(--ink);letter-spacing:.04em;margin:0 0 12px;}
  .legal-art__b{font-size:14px;line-height:2;color:var(--ink-soft);margin:0;}
  .legal-art__b a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;word-break:break-all;}
  .legal-list{margin:8px 0 0;padding:0;list-style:none;}
  .legal-list li{position:relative;font-size:14px;line-height:1.95;color:var(--ink-soft);padding-left:18px;}
  .legal-list li::before{content:"";position:absolute;left:1px;top:.8em;width:5px;height:5px;background:var(--gold-soft);transform:rotate(45deg);}
  /* 特商法テーブル */
  .legal-table{margin:0;}
  .legal-row{display:grid;grid-template-columns:248px 1fr;gap:clamp(14px,2vw,34px);padding:clamp(20px,2.4vw,28px) 0;border-bottom:1px solid rgba(164,133,90,.18);}
  .legal-row:first-child{padding-top:0;}
  .legal-row:last-child{border-bottom:none;}
  .legal-row dt{font-family:"Noto Serif JP",serif;font-weight:600;font-size:14.5px;color:var(--ink);letter-spacing:.04em;line-height:1.7;}
  .legal-row dd{margin:0;font-size:14px;line-height:1.95;color:var(--ink-soft);}
  .legal-row dd .sub{display:block;font-family:"Noto Serif JP",serif;font-weight:600;color:var(--gold);font-size:12.5px;letter-spacing:.05em;margin:16px 0 4px;}
  .legal-row dd .sub:first-child{margin-top:0;}
  /* フッター法令リンク */
  .foot__legal{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;margin:clamp(20px,3vw,30px) auto 0;padding:0 clamp(20px,4vw,56px);}
  .foot__legal a{font-size:12px;letter-spacing:.08em;color:#9a9082;transition:color .4s;}
  .foot__legal a:hover{color:var(--gold-soft);}
  @media (max-width:680px){
    .legal-row{grid-template-columns:1fr;gap:5px;}
    .legal-row dt{font-size:14px;}
  }

/* ===== WordPress お知らせ（一覧・詳細） ===== */
  .news-list{margin:0;}
  .news-item{padding:clamp(22px,2.6vw,30px) 0;border-bottom:1px solid rgba(164,133,90,.18);}
  .news-item:first-child{padding-top:0;}
  .news-item__link{display:block;text-decoration:none;}
  .news-item__date{display:block;font-family:"Cormorant Garamond",serif;font-size:14px;letter-spacing:.14em;color:var(--gold);margin-bottom:7px;}
  .news-item__title{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(16px,1.9vw,19px);color:var(--ink);letter-spacing:.03em;line-height:1.6;margin:0;transition:color .3s;}
  .news-item__link:hover .news-item__title{color:var(--gold);}
  .news-item__excerpt{font-size:13.5px;line-height:1.9;color:var(--ink-soft);margin-top:10px;}
  .news-single__date{display:block;font-family:"Cormorant Garamond",serif;font-size:15px;letter-spacing:.14em;color:var(--gold);margin-bottom:10px;}
  .news-single__title{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(20px,2.4vw,28px);color:var(--ink);letter-spacing:.04em;line-height:1.6;margin:0 0 clamp(24px,3vw,36px);padding-bottom:clamp(18px,2.4vw,26px);border-bottom:1px solid rgba(164,133,90,.22);}
  .news-single__body{font-size:14.5px;line-height:2.05;color:var(--ink-soft);}
  .news-single__body p{margin:0 0 1.4em;}
  .news-single__body a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;word-break:break-all;}
  .news-single__body h2,.news-single__body h3{font-family:"Noto Serif JP",serif;color:var(--ink);font-weight:600;letter-spacing:.03em;margin:1.8em 0 .7em;}
  .news-single__body img{max-width:100%;height:auto;border-radius:2px;}
  .news-single__body ul,.news-single__body ol{padding-left:1.4em;margin:0 0 1.4em;}
  .news-single__body li{line-height:1.95;margin-bottom:.3em;}
  .news-back{margin-top:clamp(32px,4vw,48px);text-align:center;}
  .news-back a{font-size:13px;letter-spacing:.06em;color:var(--ink-soft);text-decoration:none;transition:color .3s;}
  .news-back a:hover{color:var(--gold);}
  .news-pager{margin-top:clamp(34px,4vw,50px);text-align:center;}
  .news-pager .page-numbers{display:inline-block;margin:0 7px;color:var(--ink-soft);text-decoration:none;font-size:13px;letter-spacing:.06em;}
  .news-pager .page-numbers.current{color:var(--gold);font-weight:600;}
  .news-pager .page-numbers:hover{color:var(--gold);}
  .news-empty{font-size:14px;line-height:2;color:var(--ink-soft);text-align:center;padding:40px 0;}
  .news-empty a{color:var(--gold);}
