/* ================================================================
   株式会社TERASU コーポレートサイト v2
   レイアウト参考：株式会社ぷろぺら（propeller-tv.co.jp）
   ・英語ラベル＋日本語大見出しの2段見出し
   ・白面とカラー面（ネイビーグラデ）の交互構成
   ・広い上下余白／ピル型ボタン／横スライダー
   配色：ネイビー #0F1E3D × ゴールド #C9A24B
   ================================================================ */

:root{
  --navy:#0F1E3D;
  --navy-2:#1E3A66;
  --navy-soft:#1b2f52;
  --gold:#C9A24B;
  --gold-soft:#dcc189;
  --gold-pale:#f0e4c6;
  --ink:#22303f;
  --muted:#6f7683;
  --line:#e7e3d9;
  --bg:#ffffff;
  --bg-soft:#f6f4ee;
  --bg-cream:#faf8f3;
  --grad:linear-gradient(100deg,#0F1E3D 0%,#1E3A66 55%,#2a5183 100%);
  --wrap:1232px;
  --radius:16px;
  --shadow:0 18px 50px rgba(15,30,61,.10);
  --shadow-lg:0 26px 70px rgba(15,30,61,.16);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.9;
  font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
.serif{font-family:"Noto Serif JP",serif}
.en-font{font-family:"Outfit","Century Gothic",sans-serif}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.pc-only{display:inline}
.sp-only{display:none}

/* ---------------- 2段見出し（ぷろぺら方式） ---------------- */
.ttl{margin-bottom:38px}
.ttl__en{
  display:block;font-family:"Outfit","Century Gothic",sans-serif;
  font-size:.95rem;font-weight:700;letter-spacing:.12em;color:var(--gold);
  line-height:1.6;margin-bottom:6px;
}
.ttl__ja{
  display:block;font-size:clamp(1.65rem,3.6vw,2.5rem);font-weight:700;
  color:var(--navy);line-height:1.55;letter-spacing:.02em;
}
.ttl__lead{margin-top:20px;font-size:.98rem;color:var(--muted);line-height:2}
.ttl.is-center{text-align:center}
.ttl.is-center .ttl__lead{margin-left:auto;margin-right:auto;max-width:680px}
.ttl.is-white .ttl__ja{color:#fff}
.ttl.is-white .ttl__en{color:var(--gold-soft)}
.ttl.is-white .ttl__lead{color:rgba(255,255,255,.82)}

/* ---------------- ボタン ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:700;font-size:.95rem;padding:14px 34px;border-radius:999px;
  border:1.5px solid transparent;transition:.25s ease;cursor:pointer;
  font-family:inherit;line-height:1.5;white-space:nowrap;flex-shrink:0;
}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 8px 22px rgba(201,162,75,.32)}
.btn-gold:hover{background:#b8913f;transform:translateY(-2px);box-shadow:0 12px 28px rgba(201,162,75,.4)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--gold);border-color:#fff}
.btn-white:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-ghost-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ghost-white:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-sm{padding:11px 24px;font-size:.86rem}
/* 文字リンク（ボタンを並べすぎないための控えめなリンク） */
.tlink{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--navy);
  border-bottom:1.5px solid var(--gold);padding-bottom:3px;transition:.2s}
.tlink:hover{color:var(--gold)}
.tlink svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.media-cta{margin-top:30px;display:flex;gap:14px 26px;flex-wrap:wrap;align-items:center}

/* ---------------- ヘッダー（ヒーローに重なる透過） ---------------- */
.hd{
  position:absolute;top:0;left:0;right:0;z-index:60;height:104px;
  display:flex;align-items:center;transition:.3s ease;
}
.hd.is-fixed{
  position:fixed;height:76px;background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);box-shadow:0 6px 26px rgba(15,30,61,.09);
}
.hd__inner{max-width:var(--wrap);margin:0 auto;padding:0 28px;width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.hd__logo img{height:52px;width:auto;transition:.3s}
.hd.is-fixed .hd__logo img{height:42px}
.hd__logo .on-dark{display:block}
.hd__logo .on-light{display:none}
.hd.is-fixed .hd__logo .on-dark{display:none}
.hd.is-fixed .hd__logo .on-light{display:block}
.hd__nav{display:flex;align-items:center;gap:30px;flex-shrink:0}
.hd__nav a:not(.btn){font-size:.88rem;font-weight:500;color:#fff;position:relative;padding:4px 0;
  white-space:nowrap;flex-shrink:0;text-shadow:0 1px 8px rgba(15,30,61,.45)}
.hd__nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--gold);transition:right .25s ease}
.hd__nav a:not(.btn):hover::after{right:0}
.hd.is-fixed .hd__nav a:not(.btn){color:var(--navy);text-shadow:none}
.hd__nav .btn{text-shadow:none}
/* 三本線は SVG で描く（空の span を CSS で線にする方法はブラウザにより描画されないことがあるため） */
.hd__burger{display:none;background:none;border:none;cursor:pointer;padding:8px;
  width:44px;height:44px;line-height:0;color:#fff;-webkit-appearance:none;appearance:none;flex-shrink:0}
.hd__burger svg{display:block;width:28px;height:28px;overflow:visible}
.hd__burger line{stroke:currentColor;stroke-width:2.2;stroke-linecap:round;
  transform-origin:14px 14px;transition:transform .3s,opacity .3s}
.hd.is-fixed .hd__burger{color:var(--navy)}
/* メニューを開いている間は「×」にして、閉じ方が分かるようにする */
.hd__burger[aria-expanded="true"]{color:#fff}
.hd__burger[aria-expanded="true"] .l1{transform:translateY(7px) rotate(45deg)}
.hd__burger[aria-expanded="true"] .l2{opacity:0}
.hd__burger[aria-expanded="true"] .l3{transform:translateY(-7px) rotate(-45deg)}
.spnav{display:none}

/* ---------------- ヒーロー ---------------- */
.hero{position:relative;min-height:660px;display:flex;align-items:flex-end;
  overflow:hidden;background:var(--navy)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,30,61,.72) 0%,rgba(15,30,61,.5) 45%,rgba(15,30,61,.88) 100%)}
.hero__inner{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;
  padding:0 28px 92px;width:100%}
.hero__arch{width:112px;height:auto;margin-bottom:22px;opacity:.95}
.hero__catch{
  font-size:clamp(2rem,5.2vw,3.4rem);font-weight:700;color:#fff;line-height:1.5;
  letter-spacing:.01em;text-shadow:0 2px 24px rgba(0,0,0,.3);
}
.hero__catch .gold{color:var(--gold-soft)}
.hero__sub{margin-top:26px;color:rgba(255,255,255,.9);font-size:1rem;line-height:2.1;max-width:740px}
.hero__cta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.hero__scroll{position:absolute;right:40px;bottom:0;z-index:3;
  writing-mode:vertical-rl;font-family:"Outfit",sans-serif;font-size:.7rem;
  letter-spacing:.3em;color:rgba(255,255,255,.7);padding-bottom:70px}
.hero__scroll::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:56px;
  background:linear-gradient(180deg,rgba(255,255,255,.6),transparent)}

/* ---------------- TOPICS 1行バー ---------------- */
.topics{background:var(--navy);border-top:1px solid rgba(255,255,255,.12)}
.topics__inner{max-width:var(--wrap);margin:0 auto;padding:22px 28px;
  display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.topics__label{font-family:"Outfit",sans-serif;font-weight:700;font-size:.9rem;
  letter-spacing:.14em;color:var(--gold);flex-shrink:0}
.topics__item{display:flex;align-items:center;gap:18px;color:#fff;font-size:.9rem;flex-wrap:wrap}
.topics__date{font-family:"Outfit",sans-serif;color:rgba(255,255,255,.7);font-size:.85rem}
.topics__tag{border:1px solid rgba(255,255,255,.4);border-radius:999px;
  padding:2px 14px;font-size:.72rem;letter-spacing:.06em;color:rgba(255,255,255,.9)}
.topics__item a:hover{color:var(--gold-soft)}

/* ---------------- セクション共通 ---------------- */
.sec{padding:118px 0}
.sec--tight{padding:96px 0}
.sec--cream{background:var(--bg-cream)}
.sec--soft{background:var(--bg-soft)}
.sec--grad{background:var(--grad);color:#fff;position:relative;overflow:hidden}
.sec--grad::before{content:"";position:absolute;top:-140px;right:-120px;width:520px;height:520px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.20),transparent 68%)}
.sec--grad .wrap{position:relative;z-index:2}
.sec-foot{margin-top:52px;text-align:center}
.note{font-size:.8rem;color:var(--muted);margin-top:24px;line-height:1.9}
.sec--grad .note{color:rgba(255,255,255,.65)}

/* ---------------- 数字ストリップ ---------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
  background:rgba(255,255,255,.16);border-radius:18px;overflow:hidden;margin-top:8px}
.stat{background:rgba(15,30,61,.55);padding:34px 18px;text-align:center;
  backdrop-filter:blur(4px)}
.stat__num{font-family:"Outfit",sans-serif;font-size:clamp(2rem,4.4vw,2.9rem);
  font-weight:700;color:var(--gold-soft);line-height:1.15}
.stat__num small{font-size:.46em;margin-left:3px;font-weight:700}
.stat__lb{margin-top:8px;font-size:.86rem;font-weight:500;color:#fff}
.stat__sub{margin-top:4px;font-size:.7rem;letter-spacing:.1em;color:rgba(255,255,255,.55);
  font-family:"Outfit",sans-serif}

/* ---------------- 横スライダー ---------------- */
.slider-head{display:flex;justify-content:space-between;align-items:flex-end;
  gap:20px;margin-bottom:24px;flex-wrap:wrap}
.slider-guide{font-size:.8rem;color:rgba(255,255,255,.6)}
.sec--cream .slider-guide,.sec--soft .slider-guide,.sec:not(.sec--grad) .slider-guide{color:var(--muted)}
.slider-ctrl{display:flex;gap:10px}
.sbtn{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);
  background:transparent;color:#fff;font-size:1.05rem;cursor:pointer;transition:.2s;
  display:flex;align-items:center;justify-content:center}
.sbtn:hover{background:#fff;color:var(--navy);border-color:#fff}
.sec:not(.sec--grad) .sbtn{border-color:var(--line);color:var(--navy)}
.sec:not(.sec--grad) .sbtn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:14px;scrollbar-width:none}
.slider::-webkit-scrollbar{display:none}
.slider>*{scroll-snap-align:start;flex:0 0 340px}

/* ---------------- お客様の声カード ---------------- */
.vcard{background:#fff;border-radius:18px;padding:34px 30px;color:var(--ink);
  box-shadow:var(--shadow);display:flex;flex-direction:column}
.vcard__badge{display:inline-block;align-self:flex-start;font-size:.7rem;font-weight:700;
  letter-spacing:.1em;color:var(--gold);border:1px solid var(--gold-soft);
  border-radius:999px;padding:4px 13px}
.vcard__num{font-family:"Outfit",sans-serif;font-size:2.7rem;font-weight:700;
  color:var(--navy);line-height:1.15;margin:18px 0 4px}
.vcard__num small{font-size:.4em;margin-left:4px}
.vcard__ttl{font-size:1.02rem;font-weight:700;color:var(--navy);line-height:1.7;margin-bottom:14px}
.vcard__quote{font-size:.88rem;color:var(--muted);line-height:2;flex:1}
.vcard__who{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  font-size:.8rem;font-weight:700;color:var(--navy);display:flex;
  justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.vcard__who span{font-weight:400;color:var(--muted);font-size:.74rem;letter-spacing:.06em}

/* ---------------- ABOUT（大写真＋長文＋小写真3枚） ---------------- */
.about-hero{position:relative;margin-bottom:64px}
.about-hero img{width:100%;height:clamp(280px,42vw,520px);object-fit:cover;border-radius:20px}
.about-body{max-width:820px}
.about-body p{font-size:1rem;line-height:2.15;margin-bottom:22px}
.about-body p:last-child{margin-bottom:0}
.about-body b{font-weight:700;color:var(--navy)}
.about-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.about-thumbs figure{border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.about-thumbs img{width:100%;height:220px;object-fit:cover}
.about-thumbs figcaption{padding:14px 18px;font-size:.8rem;color:var(--muted);line-height:1.7}

/* ---------------- サボはる（自社メディア） ---------------- */
.media-flex{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.media-visual{position:relative}
.media-visual__main{width:100%;border-radius:20px;box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;object-position:center 68%}
.media-visual__icon{position:absolute;right:-22px;bottom:52px;width:112px;height:112px;
  border-radius:50%;border:5px solid #fff;box-shadow:var(--shadow);object-fit:cover}
.media-handle{margin-top:18px;font-family:"Outfit",sans-serif;font-size:.82rem;
  letter-spacing:.06em;color:var(--muted);text-align:center}
.media-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.mstat{background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:20px 10px;text-align:center}
.mstat b{display:block;font-family:"Outfit",sans-serif;font-size:1.5rem;
  font-weight:700;color:var(--navy);line-height:1.2}
.mstat span{display:block;margin-top:5px;font-size:.72rem;color:var(--muted)}

/* ---------------- セミナー ---------------- */
.sem-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.sem-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}
.sem-photo img{width:100%;height:clamp(260px,32vw,400px);object-fit:cover}
.sem-list{display:flex;flex-direction:column;gap:18px}
.sem-item{border-left:3px solid var(--gold);padding:4px 0 4px 22px}
.sem-item h3{font-size:1rem;font-weight:700;color:var(--navy);line-height:1.7}
.sem-item p{font-size:.86rem;color:var(--muted);margin-top:6px;line-height:1.9}
.sem-org{display:block;font-family:"Outfit",sans-serif;font-size:.74rem;
  letter-spacing:.1em;color:var(--gold);margin-bottom:5px}

/* ---------------- メディア出演 ---------------- */
.media-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mcard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);
  border-radius:18px;padding:38px 30px;transition:.25s ease}
.mcard:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}
.mcard__kind{font-family:"Outfit",sans-serif;font-size:.72rem;letter-spacing:.16em;
  color:var(--gold-soft);display:block;margin-bottom:12px}
.mcard__name{font-size:1.2rem;font-weight:700;color:#fff;line-height:1.6}
.mcard__desc{margin-top:12px;font-size:.85rem;color:rgba(255,255,255,.72);line-height:1.95}

/* ---------------- 下部 CONTACT（2枠） ---------------- */
.contact{display:grid;grid-template-columns:1fr 1fr;min-height:400px}
.cbox{position:relative;display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center;padding:78px 40px;overflow:hidden;transition:.35s}
.cbox__bg{position:absolute;inset:0}
.cbox__bg img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cbox:hover .cbox__bg img{transform:scale(1.06)}
.cbox__bg::after{content:"";position:absolute;inset:0;background:rgba(15,30,61,.78)}
.cbox--gold .cbox__bg::after{background:rgba(140,105,32,.78)}
/* 写真を使わない版（背景はブランドカラー）。.cbox__bg があればその写真が上に乗る */
.cbox--navy{background:var(--grad)}
.cbox--gold{background:linear-gradient(100deg,#8c6920 0%,#b8913f 60%,#c9a24b 100%)}
.cbox--navy:hover,.cbox--gold:hover{filter:brightness(1.08)}
.cbox__inner{position:relative;z-index:2}
.cbox__en{font-family:"Outfit",sans-serif;font-size:1.9rem;font-weight:700;
  color:#fff;letter-spacing:.1em;line-height:1.3}
.cbox__ja{margin-top:12px;color:rgba(255,255,255,.92);font-size:.95rem;line-height:1.9}
.cbox .btn{margin-top:26px}
.contact-tel{background:var(--navy);color:#fff;text-align:center;padding:44px 28px}
.contact-tel__lb{font-size:.85rem;color:rgba(255,255,255,.72)}
.contact-tel__num{font-family:"Outfit",sans-serif;font-size:2rem;font-weight:700;
  color:var(--gold-soft);margin-top:8px;letter-spacing:.04em}
.contact-tel__note{font-size:.78rem;color:rgba(255,255,255,.55);margin-top:6px}

/* ---------------- フッター ---------------- */
.ft{background:#0a1428;color:rgba(255,255,255,.7);padding:72px 0 30px}
.ft__top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.ft__logo img{height:60px;width:auto}
.ft__tagline{margin-top:16px;font-size:.78rem;line-height:2;color:rgba(255,255,255,.5)}
.ft__links{display:grid;grid-template-columns:repeat(2,auto);gap:12px 56px}
.ft__links a{font-size:.86rem;color:rgba(255,255,255,.78)}
.ft__links a:hover{color:var(--gold-soft)}
.ft__bottom{margin-top:52px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);
  font-size:.74rem;color:rgba(255,255,255,.4);text-align:center;
  font-family:"Outfit",sans-serif;letter-spacing:.06em}

/* ---------------- 下層ページのページヘッダー ---------------- */
body.is-subpage{padding-top:76px}
.hd__nav a.is-current{color:var(--gold)!important;font-weight:700}
.phead{background:linear-gradient(180deg,#fbfaf6 0%,#f4f1e9 100%);
  padding:76px 0 68px;text-align:center;position:relative;overflow:hidden}
.phead::before{content:"";position:absolute;top:-90px;left:50%;transform:translateX(-50%);
  width:min(820px,92vw);height:340px;
  background:radial-gradient(60% 80% at 50% 0%,rgba(201,162,75,.16),transparent 70%)}
.phead .wrap{position:relative;z-index:2}
.phead__arch{width:104px;height:auto;margin:0 auto 20px}
.phead__en{display:block;font-family:"Outfit",sans-serif;font-size:.88rem;font-weight:700;
  letter-spacing:.16em;color:var(--gold);margin-bottom:10px}
.phead__ttl{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:700;color:var(--navy);
  line-height:1.5;letter-spacing:.03em}
.phead__lead{max-width:760px;margin:22px auto 0;font-size:.96rem;color:var(--ink);line-height:2.1}

/* ---------------- 登壇実績（写真＋本文の交互レイアウト） ---------------- */
.lec{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;
  padding:56px 0;border-bottom:1px solid var(--line)}
.lec:last-child{border-bottom:none}
.lec--rev .lec__photo{order:2}
.lec__photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}
.lec__photo img{width:100%;height:clamp(240px,30vw,360px);object-fit:cover}
/* プレースホルダーを置く枠は影を外す（未確定であることが伝わるように） */
.lec__photo--ph{box-shadow:none;overflow:visible}
.lec__photo--ph .ph-img{min-height:clamp(240px,30vw,360px)}
.lec__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.lec__gallery img{width:100%;height:96px;object-fit:cover;border-radius:10px}
.lec__org{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;color:var(--gold);
  margin-bottom:12px}
.lec__ttl{font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:700;color:var(--navy);
  line-height:1.65;margin-bottom:18px}
.lec__txt{font-size:.94rem;color:var(--muted);line-height:2.1}
.lec__meta{margin-top:24px;display:flex;flex-direction:column;gap:10px;
  border-top:1px solid var(--line);padding-top:20px}
.lec__meta>div{display:grid;grid-template-columns:4.5em 1fr;gap:14px;align-items:start}
.lec__meta dt{font-size:.8rem;font-weight:700;color:var(--navy)}
.lec__meta dd{font-size:.85rem;color:var(--muted);line-height:1.9}

/* ---------------- ご依頼の流れ ---------------- */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:flow}
.flow li{background:var(--bg-cream);border-radius:16px;padding:30px 26px;position:relative}
.flow__no{font-family:"Outfit",sans-serif;font-size:1.7rem;font-weight:700;color:var(--gold-soft);
  line-height:1;display:block}
.flow h3{margin:12px 0 10px;font-size:1rem;font-weight:700;color:var(--navy)}
.flow p{font-size:.85rem;color:var(--muted);line-height:1.95}

/* ---------------- 写真の自動スクロール帯（マーキー） ----------------
   同じ写真列を2回並べ、半分ぶん左へ流して継ぎ目なくループさせる */
.marquee{position:relative;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:16px;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track figure{flex:0 0 auto;margin:0}
.marquee__track img{height:170px;width:auto;border-radius:12px;display:block;
  box-shadow:0 8px 22px rgba(15,30,61,.12)}
.marquee__track figcaption{font-size:.72rem;color:var(--muted);margin-top:8px;letter-spacing:.03em}
.marquee__note{text-align:center;font-size:.78rem;color:var(--muted);margin-top:18px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .marquee__track{animation:none;width:auto}
}

/* ---------------- Instagram プロフィールカード＋リールの横スクロール ---------------- */
.igp{display:flex;align-items:center;gap:26px;background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:26px 30px;box-shadow:var(--shadow);max-width:760px;margin:0 auto 40px}
.igp__icon{width:92px;height:92px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--gold-pale)}
.igp__id{font-family:"Outfit",sans-serif;font-weight:700;font-size:1.1rem;color:var(--navy)}
.igp__name{font-size:.86rem;color:var(--muted);margin-top:2px}
.igp__stats{display:flex;gap:22px;margin-top:12px}
.igp__stats b{font-family:"Outfit",sans-serif;font-size:1.05rem;color:var(--navy)}
.igp__stats span{display:block;font-size:.72rem;color:var(--muted)}
.igp .btn{margin-left:auto}
.reels{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 16px;scrollbar-width:none}
.reels::-webkit-scrollbar{display:none}
.reel{position:relative;flex:0 0 326px;scroll-snap-align:start;border-radius:16px;overflow:hidden;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.reel iframe{display:block;width:326px;height:600px;border:0}  /* Instagram埋め込みの最小幅326px未満だと画像が横に伸びる */
/* 再生回数は iframe の上に帯として置く（埋め込み側のヘッダーと重ならないように） */
.reel__badge{display:flex;align-items:center;gap:8px;background:var(--navy);color:#fff;
  font-family:"Outfit",sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;padding:9px 14px}
.reel__badge svg{width:12px;height:12px;fill:var(--gold-soft)}
.reel__badge em{margin-left:auto;font-style:normal;font-family:"Noto Sans JP",sans-serif;font-weight:700;
  font-size:.68rem;letter-spacing:.06em;color:var(--navy);background:var(--gold-soft);border-radius:999px;padding:3px 10px}
.reels-note{font-size:.78rem;color:var(--muted);margin-top:8px;text-align:center}

/* ---------------- 折りたたみ（トップページの長さ対策） ----------------
   <details class="fold"> で包み、要約だけ見せて「もっと見る」で展開する */
.fold{margin-top:28px}
.fold>summary{list-style:none;cursor:pointer;display:flex;justify-content:center}
.fold>summary::-webkit-details-marker{display:none}
.fold__btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;
  padding:4px 2px 6px;border-bottom:1.5px solid var(--gold);color:var(--navy);background:transparent;transition:.2s}
.fold__btn::after{content:"";width:7px;height:7px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);
  transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.fold>summary:hover .fold__btn{color:var(--gold)}
.fold[open] .fold__btn::after{transform:rotate(-135deg) translateY(-2px)}
.fold[open] .fold__btn .t-open{display:none}
.fold:not([open]) .fold__btn .t-close{display:none}
.fold__body{margin-top:34px;animation:foldin .35s ease}
@keyframes foldin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.sec--grad .fold__btn{border-color:var(--gold-soft);color:#fff}
.sec--grad .fold__btn::after{border-color:var(--gold-soft)}
.sec--grad .fold>summary:hover .fold__btn{color:var(--gold-soft)}

/* ---------------- 各所のイラスト受け皿（img/ill_*.png があるときだけ出る） ---------------- */
.svc-item__ill{width:150px;height:150px;object-fit:contain;margin:0 auto 14px;display:block}
.svcd__side{display:flex;flex-direction:column;gap:18px}
.svcd__ill{width:min(260px,80%);height:auto;margin:0 auto;display:block}
.pain--ill{text-align:center}
.pain--ill .pain__ill{width:150px;height:150px;object-fit:contain;margin:6px auto 12px;display:block}
.pain--ill ul{text-align:left}
.mcard__ill{width:104px;height:104px;object-fit:contain;background:#fff;border-radius:50%;padding:14px;
  margin-bottom:18px;display:block}
.philo__ill{width:220px;height:220px;object-fit:contain;background:#fff;border-radius:50%;padding:22px;
  margin:0 auto 22px;display:block;box-shadow:0 18px 50px rgba(0,0,0,.25)}
@media (max-width:860px){
  .svc-item__ill,.pain--ill .pain__ill{width:120px;height:120px}
  .philo__ill{width:170px;height:170px}
}

/* ---------------- サボはる：想い（VISION） ---------------- */
.phead__ill{width:200px;height:200px;object-fit:contain;margin:0 auto 14px;display:block}
.vision__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.vision__img{width:min(360px,100%);height:auto;margin:0 auto;display:block}
.vision__ill:empty{display:none}
.vision__grid:has(.vision__ill:empty){grid-template-columns:1fr;max-width:760px;margin:0 auto}  /* イラスト未着時は1列 */
.vision__ttl{font-family:"Noto Serif JP",serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;color:var(--navy);
  line-height:1.65;margin:14px 0 22px;letter-spacing:.03em}
.vision__txt{font-size:.96rem;line-height:2.1;color:var(--ink)}
.vision__txt+.vision__txt{margin-top:14px}
.vision__story{margin-top:56px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px 44px;
  max-width:860px;margin-left:auto;margin-right:auto;box-shadow:var(--shadow)}
.vision__quote{font-family:"Noto Serif JP",serif;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;color:var(--navy);
  margin-bottom:16px;line-height:1.7}
.vision__who{margin-top:16px;font-size:.78rem;color:var(--muted);letter-spacing:.06em}
@media (max-width:1080px){.vision__grid{grid-template-columns:1fr;gap:28px}.vision__img{width:min(260px,70%)}}
@media (max-width:860px){.vision__story{padding:28px 22px}.phead__ill{width:150px;height:150px}}

/* ---------------- 実績の3枚組イラスト（届く→来店→売上） ---------------- */
.ill3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ill3__item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 30px 30px;text-align:center;
  position:relative;box-shadow:var(--shadow)}
.ill3__step{position:absolute;top:18px;left:22px;font-family:"Outfit",sans-serif;font-size:.74rem;font-weight:700;
  letter-spacing:.16em;color:var(--gold)}
.ill3__img{width:min(240px,70%);height:auto;margin:10px auto 18px;display:block}
.ill3__ttl{font-size:1.12rem;font-weight:700;color:var(--navy);line-height:1.6}
.ill3__num{font-family:"Outfit",sans-serif;font-size:2rem;font-weight:700;color:var(--navy);line-height:1.15;margin:12px 0 4px}
.ill3__num small{font-size:.5em;margin-left:3px}
.ill3__txt{font-size:.86rem;color:var(--muted);line-height:1.95;margin-top:8px}
.ill3__arrow{display:none}
@media (max-width:1080px){.ill3{grid-template-columns:1fr;max-width:460px;margin:0 auto}}

/* ---------------- お客様の声（一覧グリッド） ---------------- */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.voice-grid .vcard{height:100%}

/* ---------------- サービス詳細（本文＋「こんな方に」パネル） ---------------- */
.svcd{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start;
  padding:60px 0;border-bottom:1px solid var(--line)}
.svcd:last-of-type{border-bottom:none}
.svcd__no{font-family:"Outfit",sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;
  color:var(--gold);display:block;margin-bottom:10px}
.svcd__ttl{font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700;color:var(--navy);line-height:1.6;
  margin-bottom:18px}
.svcd__txt{font-size:.95rem;color:var(--ink);line-height:2.1}
.svcd__txt+.svcd__txt{margin-top:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{font-size:.76rem;font-weight:700;color:var(--navy);background:var(--bg-soft);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.fit{background:var(--bg-cream);border-radius:16px;padding:28px 30px;border:1px solid var(--line)}
.fit__ttl{font-size:.82rem;font-weight:700;letter-spacing:.08em;color:var(--gold);margin-bottom:14px}
.fit ul{display:flex;flex-direction:column;gap:12px}
.fit li{position:relative;padding-left:22px;font-size:.9rem;color:var(--ink);line-height:1.85}
.fit li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:50%;
  background:var(--gold)}

/* ---------------- お悩み・対象（3カード） ---------------- */
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pain{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 28px}
.pain__q{font-size:1.02rem;font-weight:700;color:var(--navy);margin-bottom:10px;line-height:1.6}
.pain__a{font-size:.88rem;color:var(--muted);line-height:1.95}
.pain__tag{font-family:"Outfit",sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;
  color:var(--gold);display:block;margin-bottom:10px}
.pain ul{margin-top:14px;display:flex;flex-direction:column;gap:7px}
.pain li{position:relative;padding-left:16px;font-size:.84rem;color:var(--ink);line-height:1.8}
.pain li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;
  background:var(--gold-soft)}

/* ---------------- 会社概要 ---------------- */
.philo{text-align:center}
.philo__arch{width:150px;height:auto;margin:0 auto 22px}
.philo__slogan{font-family:"Noto Serif JP",serif;font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:600;
  color:#fff;letter-spacing:.08em;line-height:1.6}
.philo__body{max-width:720px;margin:28px auto 0;font-size:.96rem;line-height:2.15;color:rgba(255,255,255,.88)}
.msg{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.msg__photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-lg)}
.msg__ttl{font-family:"Noto Serif JP",serif;font-size:clamp(1.3rem,2.6vw,1.75rem);font-weight:600;
  color:var(--navy);line-height:1.75;margin:14px 0 22px}
.msg__txt{font-size:.95rem;line-height:2.1;color:var(--ink)}
.msg__txt+.msg__txt{margin-top:14px}
.sign{margin-top:28px;display:flex;align-items:baseline;gap:14px}
.sign__role{font-size:.8rem;color:var(--muted)}
.sign__name{font-family:"Noto Serif JP",serif;font-size:1.3rem;font-weight:600;color:var(--navy);letter-spacing:.1em}
.ctable{max-width:860px;margin:0 auto;border-top:1px solid var(--line)}
.ctable__row{display:grid;grid-template-columns:11em 1fr;gap:20px;padding:20px 8px;border-bottom:1px solid var(--line)}
.ctable__th{font-size:.86rem;font-weight:700;color:var(--navy)}
.ctable__td{font-size:.92rem;color:var(--ink);line-height:1.9}
.ctable__td a{border-bottom:1px solid var(--gold)}

/* ---------------- お問い合わせ ---------------- */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 30px;text-align:center;
  display:flex;flex-direction:column;align-items:center}
.ccard__kind{font-family:"Outfit",sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;
  color:var(--gold);display:block;margin-bottom:10px}
.ccard__ttl{font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:12px}
.ccard__txt{font-size:.88rem;color:var(--muted);line-height:1.95;flex:1}
.ccard .btn{margin-top:22px}
.ccard .todo{margin:16px 0 0;text-align:left;width:100%}
.faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 26px}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:700;color:var(--navy);
  font-size:.98rem;display:flex;gap:14px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:"Outfit",sans-serif;color:var(--gold);font-weight:700;flex-shrink:0}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq__a{padding:18px 0 22px 30px;font-size:.9rem;color:var(--ink);line-height:2}

/* ---------------- サービス一覧（写真なし・文字組み中心） ---------------- */
/* 5項目：上段3つ・下段2つを中央寄せ（6分割グリッドで各カードが2列ぶん） */
.svc-list{display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
.svc-list>*{grid-column:span 2}
.svc-list>*:nth-child(4){grid-column:2/4}
.svc-list>*:nth-child(5){grid-column:4/6}
.svc-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 32px;
  display:flex;flex-direction:column;transition:.25s ease}
.svc-item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.svc-item__no{font-family:"Outfit",sans-serif;font-size:.74rem;font-weight:700;
  letter-spacing:.16em;color:var(--gold);display:block}
.svc-item__ttl{margin:14px 0 16px;font-size:1.14rem;font-weight:700;color:var(--navy);line-height:1.7}
.svc-item__txt{font-size:.9rem;color:var(--muted);line-height:2.05;flex:1}
.svc-item__link{margin-top:20px;font-size:.85rem;font-weight:700;color:var(--navy);
  border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:2px}
.svc-item__link:hover{color:var(--gold)}
.svc-note{margin-top:34px;text-align:center;font-size:.86rem;color:var(--muted);line-height:2}
.svc-note a{font-weight:700;color:var(--navy);border-bottom:1px solid var(--gold)}

/* ---------------- 届き方（地域内訳バー） ---------------- */
.reach{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;margin-top:64px}
.reach__ttl{font-size:1.4rem;font-weight:700;color:#fff;line-height:1.6;margin-bottom:16px}
.reach__txt{font-size:.93rem;color:rgba(255,255,255,.82);line-height:2.05}
.reach__list{display:flex;flex-direction:column;gap:16px}
.reach__list li{display:grid;grid-template-columns:5.4em 4.4em 1fr;align-items:center;gap:16px}
.reach__list span{font-size:.85rem;color:rgba(255,255,255,.85)}
.reach__list b{font-family:"Outfit",sans-serif;font-size:1.05rem;font-weight:700;
  color:var(--gold-soft);text-align:right}
.reach__list em{display:block;height:7px;border-radius:4px;background:rgba(255,255,255,.16);
  overflow:hidden}
.reach__list i{display:block;height:100%;border-radius:4px;min-width:5px;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft))}

/* ================================================================
   準備中プレースホルダー
   ※画像・情報が未確定の箇所を「空き」ではなく明示して置いておくための部品。
     素材が揃ったら .ph-img は <img> に、.todo は本文に差し替える。
   ================================================================ */
.ph-img{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;text-align:center;padding:32px 24px;border-radius:18px;
  border:1.5px dashed var(--gold-soft);
  background:
    repeating-linear-gradient(135deg,rgba(201,162,75,.05) 0 12px,transparent 12px 24px),
    var(--bg-cream);
  color:var(--muted);min-height:220px;
}
.ph-img__icon{width:38px;height:38px;opacity:.5}
.ph-img__ttl{font-size:.9rem;font-weight:700;color:var(--navy);line-height:1.7}
.ph-img__txt{font-size:.78rem;line-height:1.8;max-width:340px}
.ph-img__tag{position:absolute;top:14px;left:14px;font-family:"Outfit",sans-serif;
  font-size:.62rem;font-weight:700;letter-spacing:.14em;color:#fff;background:var(--gold);
  border-radius:999px;padding:4px 12px}
.sec--grad .ph-img{border-color:rgba(220,193,137,.55);color:rgba(255,255,255,.75);
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 12px,transparent 12px 24px),rgba(255,255,255,.04)}
.sec--grad .ph-img__ttl{color:#fff}

.todo{
  display:block;margin:14px 0;padding:13px 18px;border-radius:10px;
  background:#fdf6e3;border-left:3px solid var(--gold);
  font-size:.82rem;line-height:1.85;color:#7d6420;
}
.todo b{color:#5f4b12;font-weight:700}
.sec--grad .todo{background:rgba(255,255,255,.1);border-left-color:var(--gold-soft);color:rgba(255,255,255,.88)}
.sec--grad .todo b{color:#fff}

/* ---------------- ヒーロー：写真を全面に薄く敷く版（ぷろぺら方式） ----------------
   写真の上にネイビーを重ねる。左は濃く（文字を読ませる）、右は薄く（写真を見せる） */
.hero--photo{min-height:740px;align-items:center}
.hero--photo .hero__bg img{object-position:center 40%;
  animation:kenburns 26s ease-in-out infinite alternate;will-change:transform}
.hero--photo .hero__bg::after{
  background:
    linear-gradient(100deg,rgba(15,30,61,.94) 0%,rgba(15,30,61,.82) 38%,rgba(15,30,61,.42) 72%,rgba(15,30,61,.55) 100%),
    linear-gradient(180deg,rgba(15,30,61,.35) 0%,transparent 30%,transparent 70%,rgba(15,30,61,.6) 100%)}
.hero--photo .hero__inner{padding:150px 28px 110px;max-width:var(--wrap)}
.hero--photo .hero__catch{font-size:clamp(2.1rem,5.4vw,3.6rem);max-width:760px}
.hero--photo .hero__sub{max-width:620px}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09)}}
/* 右下に浮かぶ実績カード */
.hero__float{position:absolute;right:max(28px,calc((100% - var(--wrap)) / 2 + 28px));bottom:64px;z-index:3;
  display:flex;align-items:center;gap:16px;padding:16px 22px 16px 16px;border-radius:18px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(12px);
  color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.28);transition:.25s;animation:floaty 6s ease-in-out infinite}
.hero__float:hover{background:rgba(255,255,255,.2);transform:translateY(-3px)}
.hero__float img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-soft)}
.hero__float b{display:block;font-family:"Outfit",sans-serif;font-size:1.9rem;font-weight:700;line-height:1;color:var(--gold-soft)}
.hero__float b small{font-size:.5em;margin-left:3px}
.hero__float span{display:block;margin-top:6px;font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.9)}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.hero--photo .hero__bg img,.hero__float{animation:none}}
@media (max-width:860px){
  /* スマホ：写真は3人が入る位置に固定し、ズーム演出は切る（顔が切れないように） */
  .hero--photo .hero__bg img{object-position:58% 30%;animation:none;transform:none}
  .hero--photo .hero__sub{font-size:.92rem;line-height:1.9;margin-top:16px}
}


/* アーチのロゴを画面幅いっぱいの透かしとして使う（ヘッダーのロゴとの二重感を避けるため小さいアーチは置かない） */
.hero__wm{position:absolute;left:50%;bottom:-4vw;width:132vw;height:auto;transform:translateX(-50%);
  opacity:.28;pointer-events:none;z-index:1;filter:drop-shadow(0 0 18px rgba(201,162,75,.35))}

/* ---------------- 改行整え：文節単位で折り返す ---------------- */
.nb{display:inline-block}
p,li,dd,figcaption{text-wrap:pretty}
h1,h2,h3,.ttl__ja,.hero__catch,.phead__ttl{text-wrap:balance}

/* ---------------- 実績の可視化：ドーナツ図・声カードのアイコン ---------------- */
.donut{--p:0;width:170px;height:170px;border-radius:50%;margin:0 0 26px;position:relative;
  background:conic-gradient(var(--gold) calc(var(--p) * 1%),rgba(255,255,255,.14) 0);
  box-shadow:0 14px 40px rgba(0,0,0,.25)}
.donut::before{content:"";position:absolute;inset:16px;border-radius:50%;background:#16305a}
.donut__in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut__in b{font-family:"Outfit",sans-serif;font-size:2rem;font-weight:700;color:var(--gold-soft);line-height:1}
.donut__in b small{font-size:.5em;margin-left:2px}
.donut__in span{font-size:.72rem;color:rgba(255,255,255,.85);line-height:1.5;margin-top:6px}
.vcard{position:relative}
.vcard__icon{position:absolute;top:24px;right:24px;width:46px;height:46px;border-radius:50%;
  background:var(--gold-pale);display:flex;align-items:center;justify-content:center}
.vcard__icon svg{width:24px;height:24px;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------------- ヒーロー：写真なし版（2カラム） ---------------- */
.hero--plain{background:var(--grad);align-items:center;min-height:auto;padding:150px 0 96px}
.hero--plain::before{content:"";position:absolute;top:-180px;right:-140px;width:620px;height:620px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.22),transparent 68%)}
.hero--plain .hero__inner{padding-bottom:0;display:grid;grid-template-columns:1.18fr .82fr;
  gap:52px;align-items:center}
/* 2カラムで左側が狭くなるため、キャッチは1行に収まる上限に抑える */
.hero--plain .hero__catch{text-shadow:none;font-size:clamp(1.9rem,4.1vw,2.95rem)}
.hero--plain .hero__sub{max-width:none}
.hero__visual{position:relative}
.hero__visual .ph-img{min-height:340px}
.hero__img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12)}

/* ---------------- スクロール表示アニメ ---------------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.rv.is-in{opacity:1;transform:none}

/* ================================================================
   レスポンシブ
   ================================================================ */
@media (max-width:1080px){
  .media-flex{grid-template-columns:1fr;gap:44px}
  .sem-grid{grid-template-columns:1fr;gap:38px}
  .media-cards{grid-template-columns:1fr}
  .about-thumbs{grid-template-columns:1fr 1fr}
  .svc-list{grid-template-columns:1fr;gap:20px}
  .svc-list>*,.svc-list>*:nth-child(4),.svc-list>*:nth-child(5){grid-column:auto}
  .reach{grid-template-columns:1fr;gap:32px}
  .hero--plain .hero__inner{grid-template-columns:1fr;gap:44px}
  .lec{grid-template-columns:1fr;gap:32px;padding:44px 0}
  .lec--rev .lec__photo{order:0}
  .flow{grid-template-columns:1fr 1fr}
  .voice-grid{grid-template-columns:1fr 1fr}
  .svcd{grid-template-columns:1fr;gap:28px;padding:44px 0}
  .pain-grid{grid-template-columns:1fr}
  .msg{grid-template-columns:1fr;gap:32px}
  .msg__photo{max-width:360px}
  .cgrid{grid-template-columns:1fr}
}

@media (max-width:860px){
  body{font-size:15px}
  .pc-only{display:none}
  .sp-only{display:inline}
  .wrap{padding:0 20px}
  .hd{height:72px}
  .hd.is-fixed{height:64px}
  .hd__inner{padding:0 20px}
  .hd__logo img{height:42px}
  .hd.is-fixed .hd__logo img{height:36px}
  .hd__nav{display:none}
  .hd__burger{display:block}
  .spnav{display:block;position:fixed;inset:0;z-index:55;background:var(--navy);
    padding:96px 28px 40px;transform:translateX(100%);transition:transform .35s ease;
    overflow-y:auto}
  .spnav.is-open{transform:none}
  .spnav a:not(.btn){display:block;padding:18px 0;color:#fff;font-size:1rem;font-weight:500;
    border-bottom:1px solid rgba(255,255,255,.14)}
  .spnav a.btn{display:flex;margin-top:28px;width:100%;border-bottom:none;padding:16px 28px}

  .hero{min-height:560px}
  .hero__inner{padding-bottom:64px}
  .hero--photo{min-height:auto;display:block}  /* 横並び（flex）を解除して、カードを本文の下に置く */
  .hero--photo .hero__inner{padding:104px 20px 44px}
  /* スマホは見出しを控えめに（1行11文字が収まる上限で、詰まりすぎない大きさ） */
  .hero--photo .hero__catch{font-size:clamp(1.45rem,6.2vw,1.9rem);line-height:1.5}
  .hero--photo .hero__sub{font-size:.9rem;line-height:1.95;margin-top:18px}
  .hero__cta{margin-top:26px;gap:10px}
  .hero__cta .btn{padding:13px 24px;font-size:.9rem}
  .hero__wm{opacity:.18}
  .hero__float{position:static;margin:0 20px 56px;animation:none;width:calc(100% - 40px)}
  .hero--plain{padding:110px 0 64px}
  .hero--plain .hero__inner{grid-template-columns:1fr;gap:36px}
  /* 「知られていない」を、 が1行に収まる大きさ（画面幅に追従） */
  .hero--plain .hero__catch{font-size:clamp(1.6rem,7.3vw,2.4rem)}
  .hero__visual .ph-img{min-height:240px}
  .ph-img{min-height:190px;padding:26px 20px}
  .hero__scroll{display:none}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}

  .topics__inner{padding:18px 20px;gap:12px;flex-direction:column;align-items:flex-start}
  .topics__item{gap:12px;font-size:.85rem}

  .sec{padding:76px 0}
  .sec--tight{padding:64px 0}
  .ttl{margin-bottom:30px}

  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:26px 12px}
  .slider>*{flex:0 0 82vw}
  .about-thumbs{grid-template-columns:1fr;gap:18px}
  .about-thumbs img{height:200px}
  .media-stats{grid-template-columns:1fr 1fr}
  .media-visual__icon{width:84px;height:84px;right:-8px;bottom:34px}

  .media-cta{flex-direction:column;align-items:stretch;gap:18px}
  .media-cta .btn{width:100%}
  .media-cta .tlink{align-self:center}

  /* PR／CONTACT はスマホでも左右2列（上下に積むと大きすぎるため） */
  .contact{min-height:auto}
  .cbox{padding:34px 12px 30px;min-height:auto}
  .cbox__en{font-size:1.3rem}
  .cbox__ja{font-size:.8rem;line-height:1.75;margin-top:8px}
  .cbox .btn{margin-top:16px;padding:10px 14px;font-size:.76rem}
  .contact-tel{padding:36px 20px}
  .contact-tel__num{font-size:1.5rem}

  .ft{padding:56px 0 26px}
  .ft__top{flex-direction:column;gap:32px}
  .ft__links{grid-template-columns:1fr 1fr;gap:10px 24px}

  body.is-subpage{padding-top:64px}
  .phead{padding:48px 0 44px}
  .phead__arch{width:86px}
  .flow{grid-template-columns:1fr;gap:14px}
  .lec__meta>div{grid-template-columns:1fr;gap:2px}
  .voice-grid{grid-template-columns:1fr}
  .marquee__track img{height:120px}
  .marquee__track{animation-duration:34s}
  .ctable__row{grid-template-columns:1fr;gap:4px;padding:16px 4px}
  .faq details{padding:0 18px}
  .faq__a{padding-left:0}
}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}


/* ================================================================
   2026-09-14 調整（あや指摘）
   ・文字を全体的に少し小さく、余白を広く
   ・テンプレ感のある装飾をやめる：ピル型ボタン／光る影／浮き上がるホバー／大きな角丸
   ※ 上の定義を上書きする形で、ここにまとめて書いている
   ================================================================ */
:root{--radius:8px;--shadow:0 10px 30px rgba(15,30,61,.06);--shadow-lg:0 16px 44px rgba(15,30,61,.10)}
body{font-size:15px;line-height:1.95}
.body-txt{font-size:.93rem;line-height:2.1}
.sec{padding:128px 0}
.ttl{margin-bottom:44px}
.ttl__en{font-size:.8rem;letter-spacing:.2em}
.ttl__ja{font-size:clamp(1.5rem,3.2vw,2.2rem);letter-spacing:.03em;line-height:1.6}
.ttl__ja--sm{font-size:1.25rem}
.ttl__lead{font-size:.93rem;line-height:2.1;margin-top:22px}
.hero--photo .hero__catch{font-size:clamp(1.9rem,4.8vw,3.1rem)}
.hero__sub{font-size:.95rem}
.svc-item{padding:34px 28px;border-radius:var(--radius)}
.svc-item:hover{transform:none;box-shadow:none;border-color:var(--gold-soft)}
.svc-item__ttl{font-size:1.06rem}
.svc-item__txt{font-size:.88rem;line-height:2}

/* ボタン：角の小さい四角形・影なし・浮き上がらない */
.btn{border-radius:4px;padding:15px 34px;font-size:.88rem;letter-spacing:.06em;font-weight:600;box-shadow:none}
.btn:hover,.btn-gold:hover{transform:none;box-shadow:none}
.btn-sm{padding:11px 22px;font-size:.8rem}
.topics__tag,.chip,.vcard__badge,.reel__badge,.ph-img__tag{border-radius:3px}
.fold__btn{font-weight:600}
.tlink{font-weight:600}

/* 角丸を控えめに・ホバーで動かさない */
.vcard,.mstat,.flow li,.fit,.pain,.ccard,.faq details,.vision__story,.ill3__item,.igp,.reel,.mcard,.hero__float,.stats,
.about-thumbs figure,.media-visual__main,.about-hero img,.sem-photo,.lec__photo,.msg__photo img,.hero__img{border-radius:var(--radius)}
.lec__gallery img,.marquee__track img{border-radius:4px}
.mcard:hover,.hero__float:hover{transform:none}
.cbox--navy:hover,.cbox--gold:hover{filter:none}
.cbox:hover .cbox__bg img{transform:none}

@media (max-width:860px){
  body{font-size:14px}
  .wrap{padding:0 24px}
  .sec{padding:88px 0}
  .sec--tight{padding:72px 0}
  .ttl{margin-bottom:34px}
  .ttl__ja{font-size:clamp(1.28rem,5.4vw,1.55rem);line-height:1.65}
  .ttl__ja--sm{font-size:1.1rem}
  .ttl__lead{font-size:.88rem;line-height:2;margin-top:18px}
  .ttl.is-center .ttl__lead{text-align:left}
  .pain__a,.ill3__txt{text-align:left}
  .body-txt{font-size:.9rem;line-height:2.05}
  .hero--photo .hero__catch{font-size:clamp(1.35rem,5.8vw,1.7rem);line-height:1.55}
  .hero--photo .hero__sub{font-size:.86rem;line-height:1.95;margin-top:16px}
  .hero__cta{margin-top:28px;gap:12px}
  .hero__cta .btn{padding:14px 20px;font-size:.84rem}
  .topics__inner{padding:20px 24px}
  .topics__item{font-size:.82rem}
  .svc-item{padding:32px 24px}
  .svc-item__ill{width:120px;height:120px}
  .svc-item__ttl{font-size:1rem;margin:12px 0 12px}
  .svc-item__txt{font-size:.86rem;line-height:1.95}
  .stat{padding:24px 10px}
  .stat__num{font-size:1.75rem}
  .stat__lb{font-size:.78rem}
  .stat__sub{font-size:.64rem}
  .media-handle{font-size:.74rem}
  .cbox__ja{font-size:.78rem}
  .cbox .btn{font-size:.74rem;padding:11px 14px}
  .contact-tel__lb{font-size:.8rem}
  .contact-tel__num{font-size:1.4rem}
  .contact-tel__note{font-size:.72rem}
  .ft__links a{font-size:.82rem}
}


/* ================================================================
   2026-09-14（3回目）トップの写真をやめてシンプルに／数字の見せ方を整える
   参考：ミチノクキカク（トップ構成）・ヒダネ（数字カード・余白）
   ================================================================ */
.hero--simple{background:var(--bg-cream);min-height:auto;display:block;overflow:visible}
.hero--simple .hero__inner{padding:104px 28px 88px}
.hero__eyebrow{display:flex;align-items:center;gap:14px;font-family:"Outfit",sans-serif;font-size:.72rem;
  font-weight:600;letter-spacing:.22em;color:var(--gold)}
.hero__eyebrow::before{content:"";width:36px;height:1px;background:var(--gold);flex-shrink:0}
.hero--simple .hero__catch{margin-top:28px;color:var(--navy);text-shadow:none;max-width:none;
  font-size:clamp(2.1rem,4.9vw,3.5rem);line-height:1.45;letter-spacing:.02em}
.hero--simple .hero__catch .gold{color:var(--gold)}
.hero--simple .hero__sub{color:var(--muted);font-size:.98rem;line-height:2.1;max-width:640px;margin-top:24px}
.hero--simple .hero__cta{margin-top:34px}
.hero__nums{display:flex;flex-wrap:wrap;gap:28px 64px;margin-top:72px;padding-top:36px;border-top:1px solid var(--line)}
.hero__nums b{display:block;font-family:"Outfit",sans-serif;font-size:2.5rem;font-weight:600;color:var(--navy);
  line-height:1;letter-spacing:-.01em}
.hero__nums b small{font-size:.8rem;font-weight:600;margin-left:5px;color:var(--muted);letter-spacing:.02em}
.hero__nums span{display:block;margin-top:10px;font-size:.74rem;color:var(--muted);letter-spacing:.06em}

/* お知らせ帯：紺のベタ塗りをやめて、細い線だけに */
.topics{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.topics__label{color:var(--gold)}
.topics__item{color:var(--ink)}
.topics__date{color:var(--muted)}
.topics__tag{border-color:var(--line);color:var(--muted)}

/* 数字カード：白地に細い線、数字は紺・単位は金（ヒダネ参考） */
.stats{gap:16px;background:none;border-radius:0;overflow:visible}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 18px 34px;backdrop-filter:none}
.stat__num{color:var(--navy);font-weight:600;font-size:clamp(2rem,4vw,2.7rem)}
.stat__num small{color:var(--gold);font-size:.42em}
.stat__lb{color:var(--navy);font-weight:700;font-size:.88rem;margin-top:10px}
.stat__sub{color:var(--muted);font-family:inherit;letter-spacing:.04em;font-size:.74rem;margin-top:6px}
.sec--grad .stat{border-color:transparent}

/* 中央見出しの下に短い金の線 */
.ttl.is-center .ttl__ja::after{content:"";display:block;width:32px;height:2px;background:var(--gold);margin:22px auto 0}

@media (max-width:860px){
  .hero--simple .hero__inner{padding:56px 24px 60px}
  .hero--simple .hero__catch{font-size:clamp(1.6rem,7vw,2rem);margin-top:22px}
  .hero--simple .hero__sub{font-size:.88rem;margin-top:18px}
  .hero__nums{gap:22px 28px;margin-top:44px;padding-top:28px}
  .hero__nums>div{flex:0 0 calc(50% - 14px)}
  .hero__nums b{font-size:1.9rem}
  .stats{gap:10px}
  .stat{padding:26px 8px 22px}
  .stat__lb{font-size:.8rem}
  .stat__sub{font-size:.68rem}
}


/* ================================================================
   2026-09-14（4回目）実物写真は画角いっぱいにせず小さめに、まわりに余白を残す
   ================================================================ */
.media-flex{grid-template-columns:.75fr 1.25fr;gap:88px}
.media-visual{max-width:400px;margin:0 auto;padding:0 20px 0 0}
.media-visual__main{box-shadow:none;border:1px solid var(--line)}
.media-visual__icon{width:80px;height:80px;right:-8px;bottom:28px;border-width:3px}
.media-handle{text-align:center}
.msg{grid-template-columns:.55fr 1.45fr;gap:80px}
.msg__photo{display:flex;justify-content:center}
.msg__photo img{max-width:280px;box-shadow:none;border:1px solid var(--line)}
.sem-photo,.lec__photo{max-width:440px;margin:0 auto;box-shadow:none;border:1px solid var(--line)}
.sem-photo img{height:clamp(200px,24vw,300px)}
.lec__photo img{height:clamp(180px,22vw,260px)}
.lec__gallery img{height:80px}
.marquee__track img{height:130px}
.marquee{padding:6px 0 10px}
.about-thumbs{gap:28px}
.about-thumbs figure{box-shadow:none!important;border:1px solid var(--line)}
@media (max-width:1080px){.media-flex{grid-template-columns:1fr;gap:44px}.msg{grid-template-columns:1fr}}
@media (max-width:860px){
  .media-flex{gap:40px}
  .media-visual{max-width:260px;padding:0}
  .media-visual__icon{width:64px;height:64px;right:-6px;bottom:22px}
  .msg{gap:36px}
  .msg__photo img{max-width:200px}
  .sem-photo,.lec__photo{max-width:280px}
  .marquee__track img{height:100px}
  .about-thumbs figure img{height:170px!important}
}


/* ================================================================
   2026-09-14（5回目）サービス内容の追記・講座写真2枚・「後ほどアップ」案内
   ================================================================ */
.soon{margin-top:14px;font-size:.82rem;color:var(--muted);line-height:1.9;border-left:2px solid var(--gold-soft);padding:4px 14px}
.sec--grad .soon{color:rgba(255,255,255,.75);border-left-color:rgba(220,193,137,.6)}
.svc-item__proc{display:inline-block;margin-top:16px;font-size:.74rem;font-weight:700;color:var(--navy);
  border:1px solid var(--gold-soft);border-radius:3px;padding:5px 10px;letter-spacing:.04em;align-self:flex-start}
.svc-item__link{margin-top:16px}
.svcd__lb{margin-top:24px;font-size:.78rem;font-weight:700;letter-spacing:.1em;color:var(--gold)}
.svcd__list{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.svcd__list li{position:relative;padding-left:16px;font-size:.88rem;line-height:1.8;color:var(--ink)}
.svcd__list li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;background:var(--gold);border-radius:50%}
.sem-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:0 auto}
.sem-photos figure{margin:0}
.sem-photos img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.sem-photos figcaption{margin-top:8px;font-size:.74rem;color:var(--muted);text-align:center;letter-spacing:.03em}
@media (max-width:860px){
  .svcd__list{grid-template-columns:1fr}
  .svcd__ttl{font-size:1.1rem}
  .sem-photos{gap:12px}
  .sem-photos img{height:120px}
  .phead__lead{font-size:.88rem}
}

/* スマホ：長い本文は文節ごとの折り返し（.nb）をやめて自然に折り返す（行の長さをそろえる） */
@media (max-width:860px){
  .svcd__txt .nb,.body-txt .nb,.pain__a .nb,.fit .nb,.msg__txt .nb,.vcard__quote .nb,.ill3__txt .nb,.mcard__desc .nb,
  .lec__txt .nb,.ccard__txt .nb,.faq__a .nb,.philo__body .nb,.reach__txt .nb,.about-body .nb,.sem-item .nb,.vision__txt .nb,.svc-note .nb{display:inline}
  .svcd__txt,.msg__txt,.philo__body,.reach__txt{font-size:.9rem;line-height:2}
}

.igp__stats span{white-space:nowrap}
@media (max-width:860px){.igp__stats{gap:16px}.igp__stats b{font-size:.95rem}.igp__stats span{font-size:.66rem}
  .about-thumbs{grid-template-columns:1fr}}
.about-thumbs{grid-template-columns:repeat(2,1fr);max-width:760px;margin-left:auto;margin-right:auto}
@media (max-width:860px){.about-thumbs{grid-template-columns:1fr}}


/* ================================================================
   2026-09-15 フッターを明るく／実物写真の活用／イラスト→線画アイコン（BtoB向け）
   ================================================================ */
/* フッター・問い合わせ帯：暗い紺をやめて、本文と同じ明るい地に */
.contact-tel{background:var(--bg-cream);color:var(--ink);border-top:1px solid var(--line)}
.contact-tel__lb{color:var(--muted)}
.contact-tel__num{color:var(--navy)}
.contact-tel__num a:hover{color:var(--gold)}
.contact-tel__note{color:var(--muted)}
.ft{background:#fff;color:var(--ink);border-top:1px solid var(--line);padding:64px 0 28px}
.ft__tagline{color:var(--muted)}
.ft__links a{color:var(--ink)}
.ft__links a:hover{color:var(--gold)}
.ft__bottom{border-top:1px solid var(--line);color:var(--muted)}
.cbox__bg::after{background:rgba(15,30,61,.82)}
.cbox--gold .cbox__bg::after{background:rgba(140,105,32,.84)}

/* 線画アイコン */
.ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--gold-soft);
  border-radius:6px;color:var(--navy);background:#fff;flex-shrink:0}
.ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc-item__ico{margin-bottom:22px}
.svcd__ico{margin-bottom:16px}
.pain__ico{margin:4px auto 16px}
.ill3__ico{margin:10px auto 18px;width:64px;height:64px}
.ill3__ico svg{width:30px;height:30px}

/* トップ：左に文章、右に登壇写真 */
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero__photo{margin:0;max-width:380px;justify-self:end}
.hero__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.hero__photo figcaption{margin-top:10px;font-size:.72rem;color:var(--muted);letter-spacing:.04em;text-align:right}
@media (max-width:1080px){.hero__grid{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr;gap:28px}
  .hero__photo{max-width:220px;justify-self:start}
  .hero__photo img{aspect-ratio:4/3}
  .hero__photo figcaption{text-align:left}
  .ico{width:48px;height:48px}.ico svg{width:22px;height:22px}
}

/* サービスページ右側の写真風イメージ（Codex生成） */
.svcd__photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);display:block}

/* 色付きイラストアイコン（Codex生成 ic_*.png） */
.ico--img{width:110px;height:110px;border:none;background:transparent;border-radius:0}
.ico--img img{width:100%;height:100%;object-fit:contain;display:block}
.ill3__ico.ico--img{width:120px;height:120px}
.svcd__ico.ico--img{width:88px;height:88px}
@media (max-width:860px){.ico--img{width:80px;height:80px}.ill3__ico.ico--img{width:100px;height:100px}}

/* Instagram埋め込み：中身は326×600のまま、表示だけ82%に縮小（幅を縮めると画像が横に伸びるため） */
.reel{flex:0 0 268px}
.reel__frame{width:268px;height:492px;overflow:hidden;background:#fff}
.reel__frame iframe{display:block;width:326px;height:600px;border:0;transform:scale(.822);transform-origin:top left}


/* ================================================================
   2026-09-15（3回目）実在感を上げる：AI生成イメージの撤去・実制作物の掲載・
   並びの単調さの解消・お客様の実際の言葉
   ================================================================ */
/* サービス詳細を左右交互に並べ、同じ形の繰り返しに見えないようにする */
.svcd:nth-of-type(even){grid-template-columns:.9fr 1.1fr}
.svcd:nth-of-type(even)>*:first-child{order:2}
.svcd:nth-of-type(even)>*:last-child{order:1}

/* 実際に制作したサイトの画面 */
.svcd__work{margin:0}
.svcd__work figcaption{margin-top:10px;font-size:.74rem;color:var(--muted);line-height:1.8}

/* お客様の実際の言葉 */
.pullq{margin:44px 0 0;padding:0 0 0 22px;border-left:2px solid var(--gold);max-width:760px}
.pullq blockquote{font-size:1.05rem;line-height:2;color:var(--navy);font-weight:500}
.pullq figcaption{margin-top:14px;font-size:.8rem;color:var(--muted)}
.pullq figcaption span{display:block;margin-top:2px;font-size:.72rem;color:var(--muted)}

@media (max-width:1080px){
  .svcd:nth-of-type(even){grid-template-columns:1fr}
  .svcd:nth-of-type(even)>*:first-child{order:1}
  .svcd:nth-of-type(even)>*:last-child{order:2}
}
@media (max-width:860px){
  .pullq{margin-top:34px;padding-left:16px}
  .pullq blockquote{font-size:.92rem;line-height:1.95}
}

/* ================================================================
   2026-09-15（4回目）角を落とさない／色の切り替えを減らす／料金表
   参考：アヴァンス（豊橋市）の料金プラン・制作事例の見せ方
   ================================================================ */

/* --- 1. 角丸をやめる（写真・カード・ボタン）。丸いままにするのは人物アイコンと円グラフだけ --- */
:root{--radius:0}
.btn,.btn-sm,.chip,.topics__tag,.vcard__badge,.reel__badge,.ph-img__tag,.svc-item__proc,
.stat,.svc-item,.vcard,.mstat,.flow li,.fit,.pain,.ccard,.faq details,.vision__story,.ill3__item,
.igp,.reel,.mcard,.hero__float,.stats,.about-thumbs figure,.media-visual__main,.about-hero img,
.sem-photo,.lec__photo,.msg__photo img,.hero__img,.hero__photo img,.svcd__photo,.sem-photos img,
.lec__gallery img,.marquee__track img,.reel__frame,.todo,.soon{border-radius:0}

/* --- 2. グラデーションをやめて単色にする（AIっぽさの主因） --- */
:root{--grad:#0F1E3D}
.sec--grad{background:var(--navy)}
.sec--grad::before{display:none}
.cbox--navy{background:var(--navy)}
.cbox--gold{background:#8c6920}
.phead{background:var(--bg-cream)}
.phead::before{display:none}
.ill3__item,.pain,.fit{background-image:none}
.sec--grad .ph-img{background-image:none}
.reach__list i{background:var(--gold)}

/* --- 3. 背景の切り替えを減らす（白と、ごく薄い一色だけ） --- */
.sec--cream,.sec--soft{background:var(--bg-cream)}

/* --- 4. 料金プラン --- */
.price-cat{margin:56px 0 20px;font-size:1rem;font-weight:700;color:var(--navy);
  padding-bottom:10px;border-bottom:1px solid var(--line)}
.price-cat:first-of-type{margin-top:0}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.plans--2{grid-template-columns:repeat(2,1fr);max-width:820px}
.plans--3s{grid-template-columns:repeat(3,1fr)}
.plan{background:#fff;border:1px solid var(--line);padding:30px 26px 28px;display:flex;flex-direction:column}
.plan--best{border-color:var(--gold);border-width:2px}
.plan__en{display:flex;align-items:center;gap:10px;font-family:"Outfit",sans-serif;font-size:.72rem;
  font-weight:700;letter-spacing:.16em;color:var(--gold)}
.plan__en em{font-style:normal;font-family:"Noto Sans JP",sans-serif;font-size:.68rem;letter-spacing:.04em;
  background:var(--gold);color:#fff;padding:3px 8px}
.plan__name{margin-top:12px;font-size:1.02rem;font-weight:700;color:var(--navy);line-height:1.6}
.plan__price{margin-top:14px;font-family:"Outfit",sans-serif;font-size:1.9rem;font-weight:600;
  color:var(--navy);line-height:1.2;letter-spacing:-.01em}
.plan__price small{font-family:"Noto Sans JP",sans-serif;font-size:.42em;font-weight:600;
  color:var(--muted);margin-left:4px;letter-spacing:.02em}
.plan__spec{margin-top:8px;font-size:.76rem;color:var(--gold);font-weight:700;letter-spacing:.03em}
.plan__txt{margin-top:14px;font-size:.86rem;color:var(--muted);line-height:1.95}
.plan__list{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:7px}
.plan__list li{position:relative;padding-left:15px;font-size:.82rem;color:var(--ink);line-height:1.8}
.plan__list li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;background:var(--gold)}
.plan--s{padding:24px 22px}
.plan--s .plan__price{font-size:1.5rem;margin-top:10px}
.price-other{margin-top:56px;border-left:2px solid var(--gold);padding:4px 0 4px 22px;max-width:860px}
.price-other__ttl{font-size:.92rem;font-weight:700;color:var(--navy)}
.price-other__txt{margin-top:10px;font-size:.86rem;color:var(--muted);line-height:2.05}

@media (max-width:1080px){
  .plans,.plans--2,.plans--3s{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .plans,.plans--2,.plans--3s{grid-template-columns:1fr;gap:14px}
  .price-cat{margin:40px 0 16px;font-size:.94rem}
  .plan{padding:24px 20px}
  .plan__price{font-size:1.6rem}
  .price-other{margin-top:40px;padding-left:16px}
}

/* ================================================================
   2026-09-15（5回目）背景を白に／うっすら写真が透ける見せ方を全体へ
   「PR・CONTACTのようなクリア感」をセクションの帯にも使う（あや指摘）
   ================================================================ */

/* --- 1. 背景は基本まっしろ --- */
body,.sec--cream,.sec--soft,.phead,.hero--simple{background:#fff}

/* --- 2. うっすら写真が透けるセクション --- */
.sec--photo{position:relative;overflow:hidden;background:#fff}
.secbg{position:absolute;inset:0;z-index:0;pointer-events:none}
.secbg img{width:100%;height:100%;object-fit:cover;opacity:.13}
.secbg::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.34)}
.sec--photo>.wrap,.sec--photo .wrap{position:relative;z-index:2}

/* 紺の面に写真を透かす場合は、写真を少し強めに出す */
.sec--grad.sec--photo{background:var(--navy)}
.sec--grad.sec--photo .secbg img{opacity:.20}
.sec--grad.sec--photo .secbg::after{background:rgba(15,30,61,.62)}

/* 見出し帯（各ページ上部）は、ページごとに違う写真がうっすら見える */
.phead.sec--photo .secbg img{opacity:.16}
.phead.sec--photo .secbg::after{background:rgba(255,255,255,.42)}

/* --- 3. 写真の上に乗るカードは、すりガラスのように透かす（クリア感） --- */
.sec--photo .stat,.sec--photo .svc-item,.sec--photo .vcard,.sec--photo .plan,
.sec--photo .flow li,.sec--photo .pain,.sec--photo .ill3__item,.sec--photo .fit{
  background:rgba(255,255,255,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border-color:rgba(15,30,61,.10)}
.sec--grad.sec--photo .stat{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
.sec--grad.sec--photo .stat__num{color:var(--gold-soft)}
.sec--grad.sec--photo .stat__lb{color:#fff}
.sec--grad.sec--photo .stat__sub{color:rgba(255,255,255,.6)}

/* --- 4. 白背景になったぶん、面の切り替わりを細い線で示す --- */
.sec--photo+.sec:not(.sec--photo),.sec:not(.sec--photo)+.sec--photo{border-top:1px solid var(--line)}

/* --- 5. PR・CONTACT：写真をもう少し見せて、色の対比を保つ --- */
.cbox__bg img{opacity:.55}
.cbox__bg::after{background:rgba(15,30,61,.72)}
.cbox--gold .cbox__bg::after{background:rgba(140,105,32,.74)}

/* --- 6. 遊び心：英字ラベルの前に短い金の線を入れて、帯の始まりを分かりやすく --- */
.ttl__en{display:inline-flex;align-items:center;gap:10px}
.ttl__en::before{content:"";width:22px;height:1px;background:currentColor;opacity:.8;flex-shrink:0}
.ttl.is-center .ttl__en{justify-content:center}

@media (max-width:860px){
  .secbg img{opacity:.11}
  .sec--grad.sec--photo .secbg img{opacity:.17}
}

/* ================================================================
   2026-09-16 参考：合同会社 結（musubi-llc.pages.dev）
   全画面ヒーロー／中央のキャッチ／丸みのあるボタン／なめらかな表示
   ================================================================ */
:root{--radius:14px;--radius-lg:22px}

/* --- 丸みを戻す（結のバランスに寄せる） --- */
.btn,.btn-sm,.chip,.topics__tag,.vcard__badge,.reel__meta em,.ph-img__tag,.svc-item__proc,.plan__en em{border-radius:50px}
.stat,.svc-item,.vcard,.mstat,.flow li,.fit,.pain,.ccard,.faq details,.ill3__item,.plan,
.reel,.reel__frame,.mcard,.hero__float,.stats,.about-thumbs figure,.svcd__photo,.sem-photos img,
.media-visual__main,.about-hero img,.sem-photo,.lec__photo,.msg__photo img,.hero__img,.works_hp,.igp{border-radius:var(--radius)}
.vision__story,.price-other,.about-thumbs figure img{border-radius:var(--radius)}
.lec__gallery img,.marquee__track img{border-radius:10px}
.btn{padding:15px 32px;gap:12px;font-weight:600;letter-spacing:.04em;transition:all .25s}
.btn__arw{transition:transform .25s;display:inline-block}
.btn:hover .btn__arw{transform:translateX(4px)}

/* --- 全画面ヒーロー --- */
.hero--full{position:relative;min-height:calc(100vh - 76px);display:flex;align-items:center;
  justify-content:center;text-align:center;background:var(--navy);overflow:hidden;padding:0}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg .slide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.hero__bg .slide.is-on{opacity:1}
.hero__bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:rgba(15,30,61,.46)}
.hero--full .hero__inner{position:relative;z-index:2;max-width:980px;padding:120px 24px;margin:0 auto}
.hero__tag{display:inline-block;font-family:"Outfit",sans-serif;font-size:.76rem;color:#fff;
  font-weight:600;letter-spacing:.28em;margin-bottom:26px;padding:8px 22px;
  border:1px solid rgba(255,255,255,.5);border-radius:50px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.10)}
.hero--full .hero__catch{font-family:"Noto Serif JP",serif;font-size:clamp(1.9rem,5vw,4rem);
  line-height:1.5;font-weight:700;color:#fff;letter-spacing:.05em;
  text-shadow:0 2px 30px rgba(0,0,0,.35);margin:0}
.hero--full .hero__catch .gold{color:var(--gold-soft)}
.hero--full .hero__sub{margin:28px auto 0;max-width:660px;color:rgba(255,255,255,.92);
  font-size:.98rem;line-height:2.05;text-shadow:0 1px 16px rgba(0,0,0,.35)}
.hero--full .hero__cta{margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-hero{background:rgba(255,255,255,.96);color:var(--navy);padding:18px 40px;font-size:.98rem;
  box-shadow:0 10px 36px rgba(0,0,0,.24);border-color:transparent}
.btn-hero:hover{background:#fff;transform:translateY(-2px)}
.btn-hero-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);
  padding:18px 36px;font-size:.98rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-hero-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.hero--full .hero__scroll{position:absolute;left:50%;bottom:26px;right:auto;transform:translateX(-50%);
  writing-mode:horizontal-tb;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:.68rem;letter-spacing:.25em;color:rgba(255,255,255,.85);z-index:2;padding:0;
  animation:scrollHint 2s ease-in-out infinite}
.hero--full .hero__scroll::after{display:none}
.hero--full .hero__scroll i{display:block;width:1px;height:40px;background:rgba(255,255,255,.7)}
@keyframes scrollHint{0%,100%{transform:translate(-50%,0);opacity:.85}50%{transform:translate(-50%,7px);opacity:.45}}

/* 数字の白い帯 */
.numband{background:#fff;border-bottom:1px solid var(--line);padding:44px 0}
.numband .hero__nums{margin:0;padding:0;border:none;justify-content:space-between}

/* --- Instagramの投稿：枠をシンプルに --- */
.reel{background:#fff;border:1px solid var(--line);box-shadow:none;overflow:hidden;padding:0}
.reel__frame{border-radius:var(--radius) var(--radius) 0 0}
.reel__meta{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:.78rem;
  font-weight:700;color:var(--navy);background:#fff;border-top:1px solid var(--line)}
.reel__meta svg{width:11px;height:11px;fill:var(--gold)}
.reel__meta em{margin-left:auto;font-style:normal;font-size:.68rem;font-weight:700;
  color:var(--navy);background:var(--gold-pale);padding:3px 10px}
/* 横スクロールのつまみを見せる（結と同じ考え方） */
.reels{scrollbar-width:thin;scrollbar-color:var(--gold) var(--bg-soft);padding-bottom:14px}
.reels::-webkit-scrollbar{display:block;height:7px}
.reels::-webkit-scrollbar-track{background:var(--bg-soft);border-radius:50px}
.reels::-webkit-scrollbar-thumb{background:var(--gold);border-radius:50px}

/* --- 表示のなめらかさ（結と同じ間の取り方） --- */
.rv{transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.25s}.rv-d3{transition-delay:.4s}

@media (max-width:860px){
  .hero--full{min-height:calc(100vh - 64px)}
  .hero--full .hero__inner{padding:90px 22px}
  .hero__tag{font-size:.66rem;letter-spacing:.2em;padding:7px 16px;margin-bottom:20px}
  .hero--full .hero__catch{font-size:clamp(1.5rem,7vw,2.1rem);letter-spacing:.03em}
  .hero--full .hero__sub{font-size:.88rem;margin-top:20px}
  .hero--full .hero__cta{margin-top:28px;flex-direction:column;align-items:stretch;gap:10px}
  .btn-hero,.btn-hero-ghost{padding:16px 24px;font-size:.9rem;width:100%}
  .numband{padding:32px 0}
  .numband .hero__nums>div{flex:0 0 calc(50% - 14px)}
}
/* ヒーローに動画を置く場合（img/hero.mp4 があれば自動でこちらになる） */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero--full:has(.hero__video)::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(15,30,61,.46)}

/* 2026-09-16（2回目）新しい写真の反映・メディア掲載の面をPRと分ける・料金はリンクのみ */
/* メディア掲載：白地＋薄いベージュの面にして、紺のPR枠とはっきり分ける */
.sec--media{background:var(--bg-cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec--media .ttl__ja,.sec--media .mcard__name{color:var(--navy)}
.sec--media .ttl__lead,.sec--media .mcard__desc{color:var(--muted)}
.sec--media .mcard{background:#fff;border-color:var(--line)}
.sec--media .mcard__kind{color:var(--gold)}
.sec--media .soon{color:var(--muted);border-left-color:var(--gold-soft)}
.media-shot{margin:0 auto 44px;max-width:640px}
.media-shot img{width:100%;height:auto;display:block;border-radius:var(--radius);border:1px solid var(--line)}
.media-shot figcaption{margin-top:12px;font-size:.8rem;color:var(--muted);text-align:center}
/* Instagramの画面キャプチャは切らずに全体を見せる */
.svcd__shot{width:100%;height:auto;display:block;border-radius:var(--radius);border:1px solid var(--line);background:#fff}
/* 料金はリンクだけ */
.price-box{max-width:720px;margin:0 auto;text-align:center;background:var(--bg-cream);
  border:1px solid var(--line);border-radius:var(--radius);padding:38px 28px}
.price-box__ttl{font-size:1.02rem;font-weight:700;color:var(--navy)}
.price-box__txt{margin:12px 0 22px;font-size:.9rem;color:var(--muted);line-height:2}
.price-other{margin-left:auto;margin-right:auto}
@media (max-width:860px){.media-shot{margin-bottom:30px}.price-box{padding:28px 20px}}

/* 2026-09-16（3回目）ご縁のあった企業・団体の並び／小さい写真が流れる帯 */
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;max-width:960px;margin:0 auto}
.partners li{background:#fff;padding:30px 18px;text-align:center;font-size:1rem;font-weight:700;
  color:var(--navy);line-height:1.6;display:flex;flex-direction:column;justify-content:center;min-height:112px}
.partners li span{display:block;margin-top:7px;font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:.04em}
.partners__note{margin-top:20px;text-align:center;font-size:.76rem;color:var(--muted);line-height:1.9}

/* 小さい写真が途切れず流れる帯 */
.flowbar{position:relative;overflow:hidden;margin-top:8px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.flowbar__track{display:flex;gap:14px;width:max-content;animation:flowmove 52s linear infinite}
.flowbar:hover .flowbar__track{animation-play-state:paused}
.flowbar__track figure{flex:0 0 auto;margin:0}
.flowbar__track img{height:150px;width:auto;border-radius:var(--radius);display:block;
  border:1px solid var(--line)}
.flowbar__track figcaption{margin-top:8px;font-size:.7rem;color:var(--muted);text-align:center;letter-spacing:.03em}
@keyframes flowmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .flowbar{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .flowbar__track{animation:none;width:auto}
}
@media (max-width:860px){
  .partners{grid-template-columns:1fr 1fr}
  .partners li{padding:22px 12px;font-size:.88rem;min-height:96px}
  .partners li span{font-size:.66rem}
  .flowbar__track img{height:110px}
}

/* 2026-09-16（4回目）サービス欄の余白をロゴで埋める／はじまりの話を横に並べる */
/* サービス詳細の空いた所に、アーチのロゴをうっすら置く */
.svcd{position:relative;overflow:hidden}
.svcd::after{content:"";position:absolute;right:-40px;bottom:-30px;width:280px;height:150px;
  background:url('../img/logo_arch_gold.png') no-repeat center/contain;opacity:.07;pointer-events:none;z-index:0}
.svcd>*{position:relative;z-index:1}
.svcd__side{justify-content:flex-start;gap:20px}
.fit{position:relative;overflow:hidden}
.fit::after{content:"";position:absolute;right:-24px;top:-18px;width:150px;height:80px;
  background:url('../img/logo_arch_gold.png') no-repeat center/contain;opacity:.10;pointer-events:none}
.fit>*{position:relative;z-index:1}

/* はじまりの話：見出しの横に並べて、単独で浮かないようにする */
.vision__grid--2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.vision__grid--2 .vision__story{margin-top:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:34px 32px}
.vision__label{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.16em;
  color:var(--gold);border:1px solid var(--gold-soft);border-radius:50px;padding:5px 14px;margin-bottom:16px}
@media (max-width:1080px){.vision__grid--2{grid-template-columns:1fr;gap:34px}}
@media (max-width:860px){
  .svcd::after{width:180px;height:100px;right:-30px;bottom:-20px}
  .fit::after{width:110px;height:60px}
  .vision__grid--2 .vision__story{padding:26px 22px}
}
/* Instagramのプロフィール画面は切らずに全部見せる（丸アイコンの重なりもなくす） */
.media-visual__main.is-shot{aspect-ratio:auto;height:auto;object-fit:contain;background:#fff;max-height:none}

/* ================================================================
   2026-09-16（5回目）スマホ表示の調整（あや指摘）
   ボタンの高さ／余白の詰め／お客様の声を吹き出しに／動画とサービスを小さく
   ================================================================ */

/* --- お客様の声：人のアイコン＋吹き出しにして、数字は控えめに --- */
.vcard{padding:26px 24px 24px;gap:0}
.vcard__icon{display:none}
.vcard__head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.vcard__avatar{width:44px;height:44px;border-radius:50%;background:var(--gold-pale);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vcard__avatar svg{width:26px;height:26px;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round}
.vcard__id{min-width:0}
.vcard__who{margin:0;padding:0;border:none;font-size:.86rem;font-weight:700;color:var(--navy);line-height:1.5}
.vcard__tag{display:inline-block;margin-top:4px;font-size:.66rem;font-weight:700;letter-spacing:.06em;
  color:var(--gold);border:1px solid var(--gold-soft);border-radius:50px;padding:2px 10px}
.vcard__bubble{position:relative;background:var(--bg-cream);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 20px;font-size:.88rem;line-height:1.95;color:var(--ink);flex:1}
.vcard__bubble::before{content:"";position:absolute;left:20px;top:-9px;width:16px;height:16px;
  background:var(--bg-cream);border-left:1px solid var(--line);border-top:1px solid var(--line);
  transform:rotate(45deg)}
.vcard__result{display:flex;align-items:baseline;gap:10px;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line);flex-wrap:wrap}
.vcard__result b{font-family:"Outfit",sans-serif;font-size:1.5rem;font-weight:600;color:var(--gold);line-height:1}
.vcard__result b small{font-size:.5em;margin-left:2px;color:var(--muted)}
.vcard__result span{font-size:.82rem;font-weight:700;color:var(--navy);line-height:1.6}

/* --- PR・CONTACT：ボタンの高さをそろえる --- */
.cbox{display:flex}
.cbox__inner{display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}
.cbox__ja{flex:1 0 auto;display:flex;align-items:center;justify-content:center}
.cbox .btn{margin-top:auto;align-self:center}

@media (max-width:860px){
  /* 余白を詰める */
  .sec{padding:60px 0}
  .sec--tight{padding:48px 0}
  .ttl{margin-bottom:26px}
  .sec-foot{margin-top:30px}
  .fold{margin-top:20px}
  .fold__body{margin-top:24px}
  .numband{padding:26px 0}
  .price-cat{margin:30px 0 14px}

  /* PR・CONTACT：2枠の高さをそろえ、ボタンを下に固定 */
  .contact{align-items:stretch}
  .cbox{padding:30px 10px 26px}
  .cbox__ja{min-height:3.6em;font-size:.76rem;line-height:1.7}
  .cbox .btn{font-size:.72rem;padding:10px 12px;width:100%;max-width:150px}

  /* お客様の声：小さめに */
  .vcard{padding:20px 18px 18px}
  .vcard__avatar{width:38px;height:38px}
  .vcard__avatar svg{width:22px;height:22px}
  .vcard__who{font-size:.8rem}
  .vcard__bubble{font-size:.82rem;line-height:1.9;padding:15px 16px}
  .vcard__result b{font-size:1.25rem}
  .vcard__result span{font-size:.78rem}

  /* Instagramの投稿：スマホではもう一段小さく */
  .reel{flex:0 0 210px}
  .reel__frame{width:210px;height:386px}
  .reel__frame iframe{transform:scale(.644)}
  .reel__meta{padding:9px 11px;font-size:.7rem}
  .reel__meta em{font-size:.62rem;padding:2px 7px}

  /* 事業内容のカード：スマホでは詰めて小さく */
  .svc-list{gap:12px}
  .svc-item{padding:20px 18px}
  .svc-item__ico.ico--img{width:56px;height:56px;margin-bottom:12px}
  .svc-item__ttl{font-size:.95rem;margin:8px 0 8px}
  .svc-item__txt{font-size:.82rem;line-height:1.9}
  .svc-item__proc{margin-top:12px;font-size:.68rem;padding:4px 9px}
  .svc-item__link{margin-top:12px;font-size:.8rem}
}
/* スマホでは押して開く／パソコンでは最初から開いて見える */
.m-fold{margin-top:22px}
.m-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:10px;font-size:.86rem;font-weight:700;color:var(--navy);background:var(--bg-cream);
  border:1px solid var(--line);border-radius:50px;padding:11px 20px}
.m-fold>summary::-webkit-details-marker{display:none}
.m-fold>summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--gold);
  border-bottom:2px solid var(--gold);transform:rotate(45deg) translateY(-2px);transition:transform .25s;flex-shrink:0}
.m-fold[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.m-fold>*:not(summary){margin-top:14px}
.m-fold--fit{background:var(--bg-cream);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.m-fold--fit>summary{background:none;border:none;border-radius:0;padding:0;color:var(--gold);
  font-size:.82rem;letter-spacing:.08em}
.m-fold--fit ul{display:flex;flex-direction:column;gap:12px}
.m-fold--fit li{position:relative;padding-left:22px;font-size:.9rem;color:var(--ink);line-height:1.85}
.m-fold--fit li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:50%;
  background:var(--gold-soft)}
@media (min-width:861px){
  /* パソコンは開閉ボタンを出さず、中身をそのまま見せる */
  .m-fold>summary::after{display:none}
  .m-fold>summary{background:none;border:none;padding:0;color:var(--gold);font-size:.78rem;letter-spacing:.1em;cursor:default}
  .m-fold:not([open])>*:not(summary){display:block}
}
@media (max-width:860px){
  .m-fold{margin-top:16px}
  .m-fold--fit{padding:0;background:none;border:none}
  .m-fold--fit>summary{background:var(--bg-cream);border:1px solid var(--line);border-radius:50px;
    padding:11px 20px;color:var(--navy);font-size:.86rem}
  .m-fold--fit>summary::after{display:block}
  .m-fold--fit ul{padding:0 4px}
  .m-fold--fit li{font-size:.85rem}
}
@media (max-width:860px){
  /* 白い面が続くところは、さらに詰める */
  .sec{padding:48px 0}
  .sec--tight{padding:38px 0}
  .ttl__lead{margin-top:14px}
  .note{margin-top:14px}
  .pain--ill .pain__ico{margin:0 auto 10px}
  .pain{padding:22px 20px}
  .svcd{padding:32px 0}
}

/* 2026-09-16（6回目）お客様の声のアイコンを小さく／企業名を小さく／説明を詰める */
/* アイコンが大きくならないよう、あらゆる場合に上限をかける */
.vcard__avatar{width:40px;height:40px;overflow:hidden}
.vcard__avatar svg,.vcard__avatar img{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:cover;border-radius:50%}
.vcard__avatar svg{fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;padding:7px;box-sizing:border-box}

/* ご縁をいただいた企業・団体：ぐっと小さく */
.partners{max-width:840px}
.partners li{padding:14px 10px;font-size:.8rem;min-height:auto;line-height:1.5}
.partners li span{margin-top:3px;font-size:.62rem}
.partners__note{margin-top:14px;font-size:.7rem}

@media (max-width:860px){
  .vcard__avatar{width:34px;height:34px}
  .partners{grid-template-columns:repeat(3,1fr)}
  .partners li{padding:11px 6px;font-size:.66rem}
  .partners li span{font-size:.56rem;margin-top:2px}
}
/* お客様の声のアイコン：イラストを小さく丸く */
.vcard__avatar{background:var(--bg-cream);border:1px solid var(--line)}
.vcard__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* ================================================================
   2026-09-16（7回目）流れをステップ表示に／アイコンを小さく／スマホをさらに圧縮
   ================================================================ */

/* --- 流れ：丸い番号が線でつながるステップ表示 --- */
.flow{grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.flow li{background:none;border:none;padding:0 14px;text-align:center;position:relative}
/* 丸と丸をつなぐ線 */
.flow li::before{content:"";position:absolute;top:21px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.flow li:first-child::before{display:none}
.flow__no{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;margin:0 auto;border-radius:50%;background:var(--navy);color:#fff;
  font-family:"Outfit",sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.02em;
  box-shadow:0 0 0 6px #fff}
.flow h3{margin:16px 0 8px;font-size:.95rem;font-weight:700;color:var(--navy)}
.flow p{font-size:.82rem;color:var(--muted);line-height:1.9}
.sec--cream .flow__no,.sec--media .flow__no{box-shadow:0 0 0 6px var(--bg-cream)}

/* --- サービスのアイコンを小さく --- */
.ico--img{width:72px;height:72px}
.svc-item__ico.ico--img{width:64px;height:64px;margin-bottom:16px}
.svcd__ico.ico--img{width:60px;height:60px;margin-bottom:12px}
.ill3__ico.ico--img{width:76px;height:76px;margin:6px auto 12px}
.pain__ico.ico--img{width:68px;height:68px;margin:0 auto 12px}

@media (max-width:860px){
  /* 流れ：縦に並べて、左に丸と縦線 */
  .flow{grid-template-columns:1fr;gap:0}
  .flow li{display:grid;grid-template-columns:36px 1fr;column-gap:14px;text-align:left;
    padding:0 0 18px;align-items:start}
  .flow li:last-child{padding-bottom:0}
  .flow li::before{top:36px;left:17px;width:2px;height:calc(100% - 30px)}
  .flow li:first-child::before{display:block}
  .flow li:last-child::before{display:none}
  .flow__no{width:36px;height:36px;font-size:.8rem;margin:0;box-shadow:0 0 0 4px #fff;grid-row:span 2}
  .flow h3{margin:8px 0 4px;font-size:.88rem;grid-column:2}
  .flow p{font-size:.78rem;line-height:1.85;grid-column:2}
  .sec--cream .flow__no{box-shadow:0 0 0 4px var(--bg-cream)}

  /* 事業内容：2列にして1枚あたりを小さく（従来の約1/4の面積） */
  .svc-list{grid-template-columns:1fr 1fr;gap:10px}
  .svc-list>*,.svc-list>*:nth-child(4),.svc-list>*:nth-child(5){grid-column:auto}
  .svc-item{padding:16px 12px}
  .svc-item__ico.ico--img{width:40px;height:40px;margin-bottom:8px}
  .svc-item__no{font-size:.62rem}
  .svc-item__ttl{font-size:.8rem;margin:6px 0 6px;line-height:1.55}
  .svc-item__txt{font-size:.72rem;line-height:1.75}
  .svc-item__proc{margin-top:8px;font-size:.6rem;padding:3px 7px}
  .svc-item__link{margin-top:8px;font-size:.72rem}

  /* 実績（売上などの3ステップ）も2列に */
  .ill3{grid-template-columns:1fr 1fr;gap:10px;max-width:none}
  .ill3__item{padding:18px 12px 16px}
  .ill3__ico.ico--img{width:48px;height:48px;margin:4px auto 8px}
  .ill3__step{position:static;font-size:.6rem;display:block;margin-bottom:4px}
  .ill3__ttl{font-size:.82rem;line-height:1.55}
  .ill3__num{font-size:1.3rem;margin:6px 0 2px}
  .ill3__txt{font-size:.7rem;line-height:1.75;margin-top:4px}

  /* 数字の枠も小さく */
  .stat{padding:16px 6px 14px}
  .stat__num{font-size:1.35rem}
  .stat__lb{font-size:.68rem;margin-top:6px}
  .stat__sub{font-size:.58rem;margin-top:3px}
  .stats{gap:8px}

  /* 課題・対象のカードも詰める */
  .pain__ico.ico--img{width:48px;height:48px;margin-bottom:8px}
  .pain__q{font-size:.88rem}
  .pain__a{font-size:.78rem;line-height:1.8}
}
@media (max-width:860px){
  /* 2列になった小さいカードは、文節で折り返すと行が細切れになるので自然な折り返しに */
  .svc-item__txt .nb,.ill3__txt .nb,.pain__a .nb,.plan__txt .nb{display:inline}
}
/* PR・CONTACTの文章：flexにすると <br> で行が横並びになるので、通常の行送りに戻す */
.cbox__ja{display:block;flex:1 0 auto}
.cbox__inner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}
.flow{list-style:none;padding-left:0}
.flow li{list-style:none}
