/* =========================================================
   タカたびマーケティング stylesheet
   設計根拠: デジタル庁デザインシステム（行間1.6-1.7・字間0.02em・14px以上）
             8pxスペーシングスケール／近接の原則（外を大きく内を小さく）
             整列軸は1本（アイコンもテキストも左揃え）
             色は3系統まで／影より罫線
   ========================================================= */
:root{
  /* color — 紺・青・グレーの3系統のみ */
  --primary:#1e3a8a; --accent:#2563eb; --accent-h:#1d4ed8; --accent-soft:#eaf0fb;
  --text:#17191c; --muted:#5b6472; --line:#e4e7ec;
  --bg:#ffffff; --bg-soft:#f7f8fb; --bg-navy:#12244f; --bg-navy-d:#0b1a3d;
  /* type */
  --font-ja:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --font-en:"Inter","Noto Sans JP",system-ui,sans-serif;
  /* space — 8pxグリッド */
  --sp-1:4px; --sp-2:8px; --sp-3:16px; --sp-4:24px; --sp-5:32px; --sp-6:48px; --sp-7:64px; --sp-8:96px;
  --container:1120px; --radius:12px; --radius-sm:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font-ja);color:var(--text);background:var(--bg);
  font-size:16px;line-height:1.7;letter-spacing:.02em;
  overflow-wrap:anywhere;word-break:normal;line-break:strict;
  font-feature-settings:"palt" 1;
}
@media(min-width:900px){body{font-size:17px}}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.4;margin:0 0 var(--sp-3);font-weight:700;letter-spacing:.01em;text-wrap:balance}
h1{font-size:28px}h2{font-size:23px}h3{font-size:18px}
@media(min-width:900px){h1{font-size:40px}h2{font-size:30px}h3{font-size:20px}}
p{margin:0 0 var(--sp-3)}
p:last-child{margin-bottom:0}
.en{font-family:var(--font-en)}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.center{text-align:center}
.section{padding:var(--sp-6) 0}
@media(min-width:900px){.section{padding:var(--sp-8) 0}}
.section.soft{background:var(--bg-soft)}
.section.navy{background:var(--bg-navy);color:#fff}
.section.navy h2,.section.navy h3{color:#fff}
.section-stats{padding-top:var(--sp-6);padding-bottom:var(--sp-6)}
@media(min-width:900px){.section-stats{padding-top:var(--sp-7);padding-bottom:var(--sp-7)}}

/* ---------- section head ---------- */
.sec-head{margin-bottom:var(--sp-5)}
@media(min-width:900px){.sec-head{margin-bottom:var(--sp-6)}}
.sec-label{font-family:var(--font-en);font-size:13px;letter-spacing:.16em;color:var(--accent);font-weight:600;text-transform:uppercase;margin-bottom:var(--sp-2);display:flex;align-items:center;gap:10px}
.sec-head.center .sec-label{justify-content:center}
.sec-label::after{content:"";flex:0 0 32px;height:2px;background:var(--accent);opacity:.35}
.sec-head.center .sec-label::after{display:none}
.section.navy .sec-label{color:#9dbcf5}
.section.navy .sec-label::after{background:#9dbcf5}
.sec-head h2{margin-bottom:var(--sp-3)}
.sec-lead{color:var(--muted);max-width:640px;margin:0;text-wrap:balance}
.section.navy .sec-lead{color:#c9d6ee}
.center .sec-lead{margin:0 auto}
.sub-head{font-size:17px;margin:var(--sp-6) 0 var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}
@media(min-width:900px){.sub-head{font-size:19px}}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.header .container{display:flex;align-items:center;justify-content:space-between;height:64px}
@media(min-width:900px){.header .container{height:76px}}
.logo{display:flex;flex-direction:column;line-height:1.15;color:var(--primary);text-decoration:none}
.logo:hover{text-decoration:none}
.logo .en{font-weight:700;font-size:17px;letter-spacing:.1em}
.logo .ja{font-size:13px;color:var(--muted);letter-spacing:.04em;margin-top:3px}
@media(min-width:900px){.logo .en{font-size:20px}.logo .ja{font-size:13px}}
.nav{display:none;align-items:center;gap:var(--sp-4)}
.nav a{color:var(--text);font-size:15px;font-weight:500;padding:6px 2px;border-bottom:2px solid transparent}
.nav a:hover{color:var(--accent);text-decoration:none;border-color:var(--accent)}
.nav a.current{color:var(--accent);border-color:var(--accent)}
@media(min-width:1000px){.nav{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border-radius:999px;padding:12px 24px;font-weight:700;font-size:15px;line-height:1.3;transition:background .2s,color .2s,border-color .2s,transform .2s;border:2px solid transparent;cursor:pointer;text-align:center}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-h)}
.btn-outline{border-color:var(--primary);color:var(--primary);background:#fff}
.btn-outline:hover{background:var(--accent-soft)}
.btn-line{background:#087f3d;color:#fff}
.btn-line:hover{background:#066330}
.btn-lg{padding:16px 32px;font-size:16px}
.section.navy .btn-outline{border-color:#fff;color:#fff;background:transparent}
.section.navy .btn-outline:hover{background:rgba(255,255,255,.12)}
.menu-btn{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer}
.menu-btn span{width:24px;height:2px;background:var(--primary);display:block;border-radius:2px}
@media(min-width:1000px){.menu-btn{display:none}}
.header-cta{display:none}
@media(min-width:1000px){.header-cta{display:inline-flex}}
.mobile-nav{display:none;border-top:1px solid var(--line);background:#fff}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:14px 20px;border-bottom:1px solid var(--line);color:var(--text);font-weight:500}
.mobile-nav .btn{margin:var(--sp-3) 20px;display:flex}
@media(min-width:1000px){.mobile-nav{display:none!important}}

/* ---------- hero ---------- */
.hero{position:relative;padding:var(--sp-6) 0 var(--sp-7);background:linear-gradient(165deg,#f2f6ff 0%,#ffffff 62%);overflow:hidden}
@media(min-width:900px){.hero{padding:var(--sp-8) 0}}
.hero-deco{position:absolute;top:-160px;right:-160px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(37,99,235,.14),rgba(37,99,235,0) 68%);pointer-events:none}
.hero .container{position:relative}
.hero .grid{display:grid;gap:var(--sp-6);align-items:center}
@media(min-width:900px){.hero .grid{grid-template-columns:1.12fr .88fr;gap:var(--sp-7)}}
.hero .kicker{font-family:var(--font-en);font-size:13px;letter-spacing:.16em;color:var(--accent);font-weight:600;margin-bottom:var(--sp-3)}
.hero h1{font-size:29px;line-height:1.42;margin-bottom:var(--sp-4);letter-spacing:.005em}
@media(min-width:900px){.hero h1{font-size:43px;line-height:1.38}}
.hero h1 .ph{display:inline-block}
.hero .lead{font-size:16px;color:#3d4653;max-width:600px;margin-bottom:var(--sp-5)}
@media(min-width:900px){.hero .lead{font-size:17px}}
.hero .actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hero-visual{border-radius:16px;background:#fff;border:1px solid var(--line);padding:var(--sp-4)}
@media(min-width:900px){.hero-visual{padding:var(--sp-5)}}
.hv-head{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.04em;padding-bottom:var(--sp-3);border-bottom:2px solid var(--accent-soft);margin-bottom:var(--sp-1)}
.hero-visual .row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:16px 0;border-bottom:1px solid var(--line)}
.hero-visual .row:last-of-type{border-bottom:0}
.hero-visual .k{font-size:14.5px;color:var(--muted);word-break:keep-all;font-weight:500}
.hero-visual .v{font-family:var(--font-en);font-weight:700;font-size:26px;color:var(--primary);white-space:nowrap;letter-spacing:0}
.hero-visual .v.sm{font-size:15px;font-family:var(--font-ja)}
.hero-visual .v small{font-size:13px;color:var(--muted);font-weight:500;margin-left:4px;font-family:var(--font-ja)}
.hero-visual .cap{font-size:13px;line-height:1.6;color:var(--muted);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line);text-wrap:balance}

/* ---------- stats ---------- */
.stats{display:grid;gap:var(--sp-3)}
@media(min-width:760px){.stats{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);
  display:flex;flex-direction:column;border-top:3px solid var(--accent)}
.stat .num{font-family:var(--font-en);font-size:38px;font-weight:700;color:var(--primary);line-height:1.05;letter-spacing:0}
@media(min-width:900px){.stat .num{font-size:44px}}
.stat .label{font-weight:700;margin-top:var(--sp-2);font-size:16px;word-break:keep-all;overflow-wrap:anywhere}
.stat .note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:var(--sp-1);
  text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.stats-note{font-size:13px;color:var(--muted);margin:var(--sp-4) 0 0;text-align:right}

/* ---------- voices（お悩みの吹き出し） ---------- */
.voices{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-4)}
.vrow{display:grid;grid-template-columns:72px 1fr;gap:var(--sp-3);align-items:center}
.avatar{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);color:var(--primary);
  display:flex;align-items:center;justify-content:center;border:1px solid #d6e1f7}
.avatar svg{width:46px;height:46px}
.bubble{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:18px 22px;font-size:15.5px;font-weight:500;line-height:1.7;text-wrap:pretty}
@media(min-width:900px){.bubble{font-size:16.5px;padding:20px 26px}}
.bubble::before,.bubble::after{content:"";position:absolute;top:50%;margin-top:-9px;border:9px solid transparent;width:0;height:0}
.vrow.l .bubble::before{left:-19px;border-right-color:var(--line)}
.vrow.l .bubble::after{left:-17px;border-right-color:#fff}
@media(min-width:760px){
  .vrow.l{margin-right:11%}
  .vrow.r{margin-left:11%;grid-template-columns:1fr 72px}
  .vrow.r .avatar{order:2}
  .vrow.r .bubble{order:1}
  .vrow.r .bubble::before{right:-19px;border-left-color:var(--line)}
  .vrow.r .bubble::after{right:-17px;border-left-color:#fff}
}
@media(max-width:759px){
  .avatar{width:56px;height:56px}
  .avatar svg{width:36px;height:36px}
  .vrow{grid-template-columns:56px 1fr;gap:12px}
  .vrow.r .bubble::before{left:-19px;border-right-color:var(--line);right:auto}
  .vrow.r .bubble::after{left:-17px;border-right-color:#fff;right:auto}
}

/* ---------- cards ---------- */
.cards{display:grid;gap:var(--sp-4)}
@media(min-width:760px){.cards.c2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.cards.c3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:760px) and (max-width:899px){.cards.c3{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column}
@media(min-width:900px){.card{padding:var(--sp-5)}}
.svc{color:var(--text);transition:border-color .2s,transform .2s}
.svc:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-3px)}
.card .icon{width:56px;height:56px;border-radius:14px;background:var(--accent-soft);color:var(--primary);
  display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-4)}
.card .icon svg{width:30px;height:30px}
.card h3{margin-bottom:var(--sp-2)}
.card p{color:#3d4653;font-size:15px;line-height:1.75;margin-bottom:var(--sp-3)}
.card .more{margin-top:auto;font-weight:700;font-size:15px;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
.card .more svg{width:17px;height:17px;transition:transform .2s}
.svc:hover .more svg{transform:translateX(4px)}
.textlink{font-weight:700;display:inline-flex;align-items:center;gap:6px}
.textlink svg{width:17px;height:17px}

/* ---------- reasons (navy) ---------- */
.reasons{display:grid;gap:var(--sp-4)}
@media(min-width:820px){.reasons{grid-template-columns:repeat(2,1fr)}}
.reason{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column}
@media(min-width:900px){.reason{padding:var(--sp-5)}}
.reason .n{font-family:var(--font-en);color:#9dbcf5;font-weight:700;font-size:28px;line-height:1;margin-bottom:var(--sp-3);opacity:.85}
.reason h3{font-size:18px;margin-bottom:var(--sp-2)}
@media(min-width:900px){.reason h3{font-size:19px}}
.reason p{color:#c9d6ee;font-size:15px;line-height:1.8;margin:0}

/* ---------- works ---------- */
.work{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column}
@media(min-width:900px){.work{padding:var(--sp-5)}}
.work-meta{display:inline-block;align-self:flex-start;font-size:13px;font-weight:600;color:var(--accent);
  background:var(--accent-soft);border-radius:999px;padding:4px 12px;margin-bottom:var(--sp-3)}
.work h3{margin-bottom:var(--sp-1);font-size:19px}
.work-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:var(--sp-4)}
.ba{margin-bottom:var(--sp-4)}
.ba-label{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin-bottom:var(--sp-2)}
.ba-row{display:grid;grid-template-columns:1fr 30px 1fr;align-items:stretch;gap:var(--sp-2)}
.ba-row .b,.ba-row .a{display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:52px;padding:8px 10px;border-radius:var(--radius-sm);font-size:15px;line-height:1.35;
  text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.ba-row .b{background:var(--bg-soft);color:var(--muted);border:1px solid var(--line)}
.ba-row .a{background:var(--accent-soft);color:var(--primary);font-weight:700}
.ba-row .arrow{display:flex;align-items:center;justify-content:center;color:var(--accent)}
.ba-row .arrow svg{width:20px;height:20px}
.work-sum{font-size:15px;line-height:1.8;color:#3d4653;margin-bottom:var(--sp-3)}
.work ul{padding-left:1.25em;font-size:14.5px;line-height:1.8;color:#3d4653;margin:0 0 var(--sp-3)}
.work li{margin-bottom:var(--sp-1)}
.work .consent{margin-top:auto;font-size:13px;line-height:1.6;color:var(--muted);padding-top:var(--sp-3);border-top:1px solid var(--line)}

/* ---------- steps ---------- */
.steps{display:grid;gap:var(--sp-3)}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}}
.step{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent-soft);border-radius:var(--radius);padding:var(--sp-4);display:flex;flex-direction:column}
.step .n{font-family:var(--font-en);color:var(--accent);font-weight:700;font-size:26px;line-height:1;margin-bottom:var(--sp-2);opacity:.55}
.step h3{font-size:17px;margin-bottom:var(--sp-2)}
.step p{font-size:14.5px;line-height:1.75;color:#3d4653;margin:0}

/* ---------- media / photos / sns / articles ---------- */
.sns-grid{display:grid;gap:var(--sp-2);grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.sns-grid{grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}}
.sns{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;color:var(--text);transition:border-color .2s,transform .2s}
.sns:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-2px)}
.sns .ic{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--primary);flex:none}
.sns .ic svg{width:20px;height:20px}
.sns .tx{display:flex;flex-direction:column;min-width:0}
.sns .t{font-weight:700;font-size:14.5px;line-height:1.35}
.sns .s{font-size:13px;color:var(--muted);line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.arts{display:grid;gap:var(--sp-3)}
@media(min-width:900px){.arts{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}}
.art{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:var(--sp-4);color:var(--text);transition:border-color .2s,transform .2s,box-shadow .2s}
.art:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 24px rgba(30,58,138,.09)}
.art-top{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}
.art-badge{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--primary);
  background:var(--accent-soft);border-radius:999px;padding:4px 10px;font-family:var(--font-en)}
.art-badge svg{width:14px;height:14px}
.art-stat{font-size:13px;font-weight:700;color:var(--accent)}
.art-title{font-size:16px;line-height:1.6;margin-bottom:var(--sp-2);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.art-hook{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:var(--sp-4);
  ;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.art-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:2px solid var(--accent);color:var(--accent);border-radius:999px;padding:10px 18px;font-weight:700;font-size:14.5px;transition:background .2s,color .2s}
.art-cta svg{width:17px;height:17px;transition:transform .2s}
.art:hover .art-cta{background:var(--accent);color:#fff}
.art:hover .art-cta svg{transform:translateX(4px)}

/* ---------- faq ---------- */
.faq{max-width:840px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:var(--sp-2)}
.faq details[open]{border-color:var(--accent)}
.faq summary{cursor:pointer;padding:18px 52px 18px 20px;font-weight:700;list-style:none;position:relative;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:26px;width:10px;height:10px;
  border:2px solid var(--accent);border-top:0;border-left:0;transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(225deg);top:30px}
.faq .a{padding:0 20px 20px;color:#3d4653;font-size:15px;line-height:1.85}

/* ---------- news ---------- */
.news-list{list-style:none;margin:0;padding:0}
.news-list li{display:grid;grid-template-columns:auto auto 1fr;gap:var(--sp-2) var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}
@media(max-width:759px){.news-list li{grid-template-columns:auto auto}.news-list li .t{grid-column:1/3}}
.news-list .d{font-family:var(--font-en);color:var(--muted);font-size:14px}
.news-list .c{font-size:13px;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 12px;font-weight:700;white-space:nowrap}
.news-list .t{font-weight:500;line-height:1.6}
.news-body{max-width:840px;margin:0 auto}
.news-item{padding:var(--sp-5) 0;border-bottom:1px solid var(--line)}
.news-item:first-child{padding-top:0}
.news-item h2{font-size:20px;margin:var(--sp-2) 0 var(--sp-3)}
.news-item .news-list{display:flex;gap:var(--sp-3);align-items:center}

/* ---------- table ---------- */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.tbl th,.tbl td{padding:18px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:15px;line-height:1.8}
.tbl th{width:30%;background:var(--bg-soft);font-weight:700;color:var(--primary);word-break:keep-all}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}
.tbl-wrap{overflow-x:auto}

/* ---------- profile / message ---------- */
.profiles{display:grid;gap:var(--sp-4)}
@media(min-width:820px){.profiles{grid-template-columns:repeat(2,1fr)}}
.profile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4)}
@media(min-width:900px){.profile{padding:var(--sp-5)}}
.profile .mark{width:60px;height:60px;border-radius:50%;background:linear-gradient(140deg,var(--primary),var(--accent));
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;margin-bottom:var(--sp-4)}
.profile .role{font-size:13px;color:var(--accent);font-weight:700;letter-spacing:.04em}
.profile h3{margin:var(--sp-1) 0 var(--sp-1)}
.profile .sub{font-size:14px;color:var(--muted);margin-bottom:var(--sp-3);line-height:1.6}
.profile p{font-size:15px;line-height:1.85;color:#3d4653;margin:0}
.message{max-width:840px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4)}
@media(min-width:900px){.message{padding:var(--sp-7) var(--sp-6)}}
.message p{font-size:16px;line-height:1.95}
.message .sec-label{margin-bottom:var(--sp-3)}

/* ---------- cta ---------- */
.cta-box{background:linear-gradient(150deg,var(--bg-navy) 0%,var(--bg-navy-d) 100%);color:#fff;border-radius:20px;padding:var(--sp-6) var(--sp-4);text-align:center}
@media(min-width:900px){.cta-box{padding:var(--sp-8) var(--sp-6)}}
.cta-box h2{color:#fff;margin-bottom:var(--sp-3)}
.cta-box p{color:#c9d6ee;max-width:620px;margin:0 auto var(--sp-5);text-wrap:balance}
.cta-box .actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center}
.cta-box .btn-outline{border-color:#fff;color:#fff;background:transparent}
.cta-box .btn-outline:hover{background:rgba(255,255,255,.12)}

/* ---------- form ---------- */
.form{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4)}
@media(min-width:900px){.form{padding:var(--sp-6)}}
.field{margin-bottom:var(--sp-4)}
.field label{display:block;font-weight:700;margin-bottom:var(--sp-2);font-size:15px}
.field .req{color:#c02626;font-size:13px;margin-left:6px;font-weight:700}
.field input,.field select,.field textarea{width:100%;border:1px solid #c3cad6;border-radius:var(--radius-sm);padding:13px 14px;font-size:16px;font-family:inherit;background:#fff;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.field textarea{min-height:160px;resize:vertical;line-height:1.7}
.field .hint{font-size:13px;color:var(--muted);margin-top:var(--sp-1);line-height:1.6}
.form .consent{font-size:14.5px;color:#3d4653}
.alt-box{max-width:760px;margin:var(--sp-4) auto 0;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);text-align:center}
.alt-box p{margin-bottom:var(--sp-3);font-size:15px;line-height:1.8}

/* ---------- footer ---------- */
.footer{background:var(--bg-navy-d);color:#c0cadd;padding:var(--sp-7) 0 var(--sp-4);font-size:14px;line-height:1.8}
.footer .grid{display:grid;gap:var(--sp-5)}
@media(min-width:900px){.footer .grid{grid-template-columns:1.7fr 1fr 1fr 1fr;gap:var(--sp-6)}}
.footer .logo{color:#fff;margin-bottom:var(--sp-3)}
.footer .logo .ja{color:#8d9bb5}
.footer h4{color:#fff;font-size:14px;margin:0 0 var(--sp-3);letter-spacing:.06em;padding-bottom:var(--sp-2);border-bottom:1px solid rgba(255,255,255,.14)}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:10px}
.footer a{color:#c0cadd}
.footer a:hover{color:#fff}
.footer .desc{color:#93a1ba;font-size:13.5px;line-height:1.85;max-width:440px;margin-bottom:var(--sp-3)}
.footer .desc:last-child{margin-bottom:0}
.footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:var(--sp-6);padding-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:space-between;font-size:13px;color:#8d9bb5}

/* ---------- page head / prose ---------- */
.page-head{background:var(--bg-soft);padding:var(--sp-6) 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.page-head{padding:var(--sp-7) 0}}
.page-head .en{font-family:var(--font-en);font-size:13px;letter-spacing:.16em;color:var(--accent);font-weight:600;margin-bottom:var(--sp-2)}
.page-head h1{margin-bottom:0}
.page-head p{color:var(--muted);margin:var(--sp-3) 0 0;max-width:680px;text-wrap:balance}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:var(--sp-3)}
.breadcrumb a{color:var(--muted)}
.prose{max-width:840px;margin:0 auto}
.prose h2{font-size:20px;margin-top:var(--sp-6);padding-bottom:var(--sp-2);border-bottom:2px solid var(--line)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17px;margin-top:var(--sp-4)}
.prose ul{padding-left:1.3em}
.prose li{margin-bottom:var(--sp-1)}
.note{font-size:13px;line-height:1.7;color:var(--muted)}

/* ---------- service detail ---------- */
.service-detail{display:grid;gap:var(--sp-4);padding:var(--sp-6) 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.service-detail{grid-template-columns:1fr 1.45fr;gap:var(--sp-7);padding:var(--sp-7) 0}}
.service-detail:first-of-type{padding-top:0}
.service-detail:last-child{border-bottom:0;padding-bottom:0}
.service-detail .sd-icon{width:56px;height:56px;border-radius:14px;background:var(--accent-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3)}
.service-detail .sd-icon svg{width:30px;height:30px}
.service-detail .who{font-size:13.5px;color:var(--accent);font-weight:700;margin-bottom:var(--sp-2)}
.service-detail h2{font-size:23px;margin-bottom:var(--sp-3)}
@media(min-width:900px){.service-detail h2{font-size:26px}}
.service-detail .lead{color:#3d4653;font-size:15.5px;line-height:1.9}
.service-detail h3{font-size:15px;margin:var(--sp-5) 0 var(--sp-2);color:var(--primary);letter-spacing:.04em}
.service-detail h3:first-child{margin-top:0}
.service-detail ul{padding-left:1.25em;font-size:15px;line-height:1.85;color:#3d4653;margin:0}
.service-detail li{margin-bottom:var(--sp-1)}
.service-detail .flow{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
.service-detail .flow span{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500;white-space:nowrap}

/* ---------- reveal ---------- */
.reveal{opacity:1;transform:none}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .btn:hover,.svc:hover,.sns:hover,.art:hover{transform:none}
  html{scroll-behavior:auto}
}

.nb{white-space:nowrap}
.work ul li{text-wrap:pretty}
.art-title{text-wrap:pretty}

/* ── 最終行の孤立を防ぐ（本文のみ。auto-phraseは併用しない＝行が痩せるため） ── */
.card p,.reason p,.work-sum,.step p,.art-hook,.profile p,.message p,
.faq .a,.hero .lead,.service-detail .lead,.footer .desc,.alt-box p,
.cta-box p,.page-head p,.prose p,.tbl td,.work ul li,.problem .ptxt{text-wrap:pretty}
/* ── 短いリード・見出しは文節で折る（2〜3行なので痩せが出ない） ── */
.sec-lead,.sub-head,h1,h2,h3{word-break:auto-phrase}

/* 媒体名は「地域情報メディア」と「タカたび」の境目でだけ折る */
.kw{word-break:keep-all;overflow-wrap:anywhere}
.h1br{display:block}

/* ---------- compare（運用代行 と 内製化の対比図） ---------- */
.compare{display:grid;gap:var(--sp-4)}
@media(min-width:900px){.compare{grid-template-columns:repeat(2,1fr)}}
.cmp{border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4);background:#fff;display:flex;flex-direction:column}
@media(min-width:900px){.cmp{padding:var(--sp-5)}}
.cmp-x{background:var(--bg-soft)}
.cmp-o{border-color:#c3d3f2;border-top:3px solid var(--accent)}
.cmp-head{display:flex;align-items:center;gap:12px;margin-bottom:var(--sp-4)}
.cmp-head h3{margin:0;font-size:17px}
@media(min-width:900px){.cmp-head h3{font-size:19px}}
.cmp-mark{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
.cmp-x .cmp-mark{background:#f1f3f7;color:#8b95a5;border:1px solid #d3d9e3}
.cmp-o .cmp-mark{background:var(--accent-soft);color:var(--accent)}
.cmp-fig{width:100%;height:auto;margin-bottom:var(--sp-4)}
.cmp ul{margin:0;padding-left:1.25em;font-size:15px;line-height:1.85;color:#3d4653}
.cmp-x ul{color:var(--muted)}
.cmp li{margin-bottom:var(--sp-1)}

/* ---------- mission / vision / value ---------- */
.mvv{display:grid;gap:var(--sp-4);max-width:980px;margin:0 auto}
@media(min-width:900px){.mvv{grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}}
.mvv-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4)}
@media(min-width:900px){.mvv-item{padding:var(--sp-5)}}
.mvv-label{font-family:var(--font-en);font-size:13px;letter-spacing:.16em;color:var(--accent);font-weight:600;text-transform:uppercase;margin-bottom:var(--sp-2)}
.mvv-item h3{font-size:18px;margin-bottom:var(--sp-3)}
@media(min-width:900px){.mvv-item h3{font-size:20px}}
.mvv-item p{font-size:15px;line-height:1.9;color:#3d4653;margin:0;text-wrap:pretty}
.mvv-list{margin:0;padding-left:1.3em;font-size:15px;line-height:1.9;color:#3d4653}
.mvv-list li{margin-bottom:var(--sp-3)}
.mvv-list li:last-child{margin-bottom:0}
.mvv-list b{color:var(--primary);display:block}
.voices-note{max-width:880px;margin:var(--sp-5) auto 0;font-size:14px;color:var(--muted);text-align:center;text-wrap:balance}

/* ---------- value ---------- */
.values{display:grid;gap:var(--sp-4);max-width:1040px;margin:0 auto}
@media(min-width:900px){.values{grid-template-columns:repeat(3,1fr)}}
.value-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column}
.value-n{font-family:var(--font-en);font-size:30px;font-weight:700;color:var(--accent);opacity:.45;line-height:1;margin-bottom:var(--sp-3)}
.value-item h3{font-size:17px;line-height:1.55;margin-bottom:var(--sp-3)}
@media(min-width:900px){.value-item h3{font-size:18px}}
.value-item p{font-size:14.5px;line-height:1.9;color:#3d4653;margin:0;text-wrap:pretty}
.mvv-foot{margin-top:var(--sp-3)!important;font-size:14px!important;color:var(--muted)!important}
.mvv-list b{font-weight:700}

/* ---------- PR実績 / 自治体・地域 ---------- */
.pr-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.pr-grid{grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}}
.pr-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4);
  display:flex;flex-direction:column;justify-content:center;min-height:150px;border-top:3px solid var(--accent-soft)}
.pr-cat{display:inline-block;align-self:flex-start;font-size:13px;font-weight:700;color:var(--accent);
  background:var(--accent-soft);border-radius:999px;padding:4px 12px;margin-bottom:var(--sp-3)}
.pr-name{font-weight:700;font-size:15.5px;line-height:1.55;text-wrap:pretty}
.pr-area{font-size:13px;color:var(--muted);margin-top:6px}
.civic-grid{display:grid;gap:var(--sp-3)}
@media(min-width:900px){.civic-grid{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}}
.civic-item{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);
  border-left:4px solid var(--accent)}
.civic-item h3{font-size:17px;margin-bottom:var(--sp-2);line-height:1.5}
.civic-item p{font-size:14.5px;line-height:1.85;color:#3d4653;margin:0;text-wrap:pretty}

/* 2026-09: inquiry-first layout */
[id]{scroll-margin-top:104px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.btn svg,.more svg{width:20px;height:20px;flex:none}
.btn{min-height:48px}
.btn:disabled{opacity:.65;cursor:wait;transform:none}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;border:2px solid var(--accent);padding:12px 20px}
.skip-link:focus{top:12px}
.menu-btn{min-width:44px;min-height:44px;justify-content:center}
.mobile-nav .btn-primary{color:#fff}
.mobile-consult{display:none}
body:has(.mobile-consult){padding-bottom:80px}
@media(min-width:1000px){body:has(.mobile-consult){padding-bottom:0}.nav{gap:16px}.header-cta{font-size:14px;padding:12px 16px}}
@media(max-width:999px){.mobile-consult{display:block;position:fixed;z-index:45;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.mobile-consult .btn{width:100%}body:has(.mobile-consult){padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
.hero{padding:64px 0 72px}
.hero .grid{align-items:center;gap:48px}
.hero h1{font-size:clamp(34px,4.5vw,56px);line-height:1.35;letter-spacing:-.02em;color:var(--bg-navy)}
.hero-subtitle{display:block;font-size:clamp(18px,2vw,23px);font-weight:500;line-height:1.7;margin-top:24px;letter-spacing:.01em}
.hero .kicker{letter-spacing:.05em;font-family:var(--font-ja)}
.hero-note{font-size:13px;color:var(--muted);margin-top:16px}
.hero-proof{border:1px solid #d4deef;border-top:4px solid var(--primary);padding:32px;border-radius:12px;background:#fff}
.proof-heading{font-size:18px;font-weight:700;color:var(--primary);line-height:1.7;margin-bottom:24px}
.proof-primary{border-bottom:1px solid var(--line);padding-bottom:24px}
.proof-primary>span,.proof-grid span{font-size:13px;font-weight:500;color:var(--muted);display:block}
.proof-primary strong{font:700 72px/1.25 var(--font-en);color:var(--primary);letter-spacing:-.04em;display:block}
.proof-primary small{font:700 20px var(--font-ja);margin-left:8px;letter-spacing:0}
.proof-primary p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:4px}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.proof-grid strong{font:700 26px/1.5 var(--font-en);color:var(--primary);display:block;letter-spacing:-.04em}
.proof-grid small{font:500 13px var(--font-ja);margin-left:4px}
.proof-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:16px;line-height:1.6}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading h2{margin-bottom:0}.section-heading>a{flex-shrink:0;font-size:14px;font-weight:700}
.case-summary{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--text);transition:border-color .2s}
.case-summary:hover{text-decoration:none;border-color:var(--accent)}
.case-summary h3{font-size:18px;margin-bottom:24px}.case-summary .work-meta{font-size:13px;align-self:start}
.case-metric{font-size:14px;color:var(--muted);margin-bottom:8px}
.case-result{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:18px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px}
.case-result strong{font-size:27px;color:var(--primary);letter-spacing:-.03em}
.case-period{font-size:13px;color:var(--muted);margin:16px 0 24px}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--accent);font-size:14px}.case-summary .more{margin-top:auto}
.case-note{margin-top:24px}
.local-proof{border-top:1px solid var(--line);margin-top:32px;padding-top:24px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.local-proof>span{font-size:13px;color:var(--primary);font-weight:700}.local-proof p{font-size:14px;margin:0}.local-proof a{font-size:14px}
.svc-top{display:flex;align-items:center;gap:16px;margin-bottom:24px}.svc-number{font:600 28px var(--font-en);color:var(--accent)}.svc-top .icon{margin:0;width:40px;height:40px;border-radius:8px}.svc-top .icon svg{width:24px;height:24px}
.card .svc-need{font-size:14px;color:var(--primary);font-weight:700}.card p{font-size:16px}.card h3{font-size:20px;margin-bottom:16px}
.service-foot{margin-top:24px;font-size:15px}
.approach-grid{display:grid;gap:40px}.approach-lead{color:#c9d6ee;font-size:16px;line-height:1.9;max-width:420px;margin-bottom:24px}
.approach-list article{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:24px 0;border-top:1px solid #3b4c6b}.approach-list article:first-child{padding-top:0;border:0}.approach-list>article>span{font:600 24px var(--font-en);color:#9dbcf5}.approach-list h3{font-size:18px;margin-bottom:8px}.approach-list p{color:#c9d6ee;font-size:16px;line-height:1.8}
.consult-steps{display:grid;gap:24px;list-style:none;padding:0;margin:0}.consult-steps li{border-top:2px solid var(--accent-soft);padding-top:24px}.consult-steps span{font:600 24px var(--font-en);color:var(--accent);display:block;margin-bottom:16px}.consult-steps h3{font-size:18px}.consult-steps p{font-size:16px;color:var(--muted)}
.article-row{display:grid;gap:12px;padding:24px 0;border-top:1px solid var(--line);color:var(--text)}.article-row:hover{color:var(--accent)}.article-row h3{font-size:18px;margin:0;line-height:1.7}.article-kind{font-size:13px;color:var(--muted)}.media-links{display:flex;gap:24px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line);font-size:14px}
.service-jump{display:flex;gap:8px;flex-wrap:wrap;padding-top:32px}.service-jump a{border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:14px}.service-cta{margin-top:32px}
.service-detail .flow span{white-space:normal}.service-detail ul,.service-detail .lead,.profile p,.work-sum,.reason p{font-size:16px}
.work .nb{white-space:normal}.work:target{border-color:var(--accent)}
.contact-section{background:var(--bg-soft)}.contact-layout{display:grid;gap:32px;align-items:start}.contact-guide h2{font-size:24px}.contact-guide p{font-size:16px;color:var(--muted);line-height:1.85}.reply-note{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}.reply-note strong{display:block;color:var(--primary);font-size:18px}.reply-note span{display:block;font-size:14px;color:var(--muted);margin-top:8px}.line-choice{padding-top:32px}.line-choice h3{font-size:18px}.line-choice .btn{width:100%}.contact-layout .form{max-width:none;margin:0}.form h2{font-size:23px}.form-intro{font-size:14px;color:var(--muted);margin-bottom:32px}.field label{font-size:16px}.req{font-size:13px!important}.optional{margin-left:8px;color:var(--muted);font-weight:400;font-size:13px}.honeypot{display:none!important}.form-extra{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:32px 0}.form-extra summary{cursor:pointer;font-size:15px;font-weight:700;padding:20px 0}.form-extra summary>span{font-weight:400;font-size:13px;color:var(--muted);margin-left:8px}.form-extra>div{padding:8px 0}.form .consent label{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.8}.form .consent input{width:20px;height:20px;flex:0 0 20px;padding:0;margin-top:3px;accent-color:var(--accent)}.submit-button{width:100%}.form-status:empty{display:none}.form-status{font-size:14px;padding:16px;background:var(--accent-soft);border-radius:8px}.form-status.is-error{background:#fff5f5;border:1px solid #b42318;color:#8c2018}.field [aria-invalid=true]{border-color:#b42318}.contact-policy{margin-top:24px}.form-recovery{margin-top:16px}#native-submit{background:none;border:0;padding:12px 0;font-family:inherit;font-size:14px;text-align:left;cursor:pointer}#form-recovery .hint{font-size:14px;margin-top:16px}
.completion-section{background:var(--bg-soft);padding:64px 0 80px;min-height:75vh}.completion-card{max-width:760px;margin:0 auto;background:white;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:16px;padding:48px;text-align:center}.completion-mark{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--primary);display:grid;place-items:center;margin:0 auto 24px}.completion-mark svg{width:40px;height:40px}.completion-card .sec-label{justify-content:center;margin-bottom:16px}.completion-card .sec-label:after{display:none}.completion-card h1{font-size:32px;line-height:1.6;color:var(--primary)}.completion-lead{font-size:16px;line-height:1.85;color:var(--muted)}.completion-next{text-align:left;margin:32px 0;background:var(--bg-soft);padding:24px;border-radius:8px}.completion-next>span{font-weight:700;font-size:15px;color:var(--primary)}.completion-next ol{padding-left:1.4em;font-size:15px;margin:12px 0 0;line-height:1.9}.completion-card .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.completion-help{font-size:14px;color:var(--muted);line-height:1.9;text-align:left;border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.completion-help a{text-decoration:underline}
@media(min-width:900px){.hero .grid{grid-template-columns:1.2fr 1fr}.approach-grid{grid-template-columns:1fr 1.2fr;gap:80px}.consult-steps{grid-template-columns:repeat(4,1fr)}.article-row{grid-template-columns:120px 1fr 150px;align-items:center}.article-row .more{justify-self:end}.contact-layout{grid-template-columns:.8fr 1.2fr;gap:64px}.contact-guide{position:sticky;top:108px}.contact-layout .form{padding:40px}}
@media(max-width:759px){.section-heading{align-items:start;flex-direction:column;gap:16px}.hero{padding:40px 0 48px}.hero .grid{gap:32px}.hero .actions{display:grid;grid-template-columns:1fr}.hero-note{font-size:13px}.hero-proof{padding:24px}.proof-grid{gap:12px}.proof-grid strong{font-size:24px}.case-summary{padding:24px}.completion-section{padding:32px 0 48px}.completion-card{padding:32px 24px}.completion-card h1{font-size:24px}.completion-next{padding:20px}.completion-card .actions{display:grid}.contact-guide h2{font-size:22px}.contact-layout .form{padding:24px 20px}.contact-guide .reply-note{padding:16px 0}.line-choice{padding-top:24px}.footer .grid{gap:24px}.footer{padding-top:48px}.footer .grid>div:first-child{grid-column:1/-1}.tbl th,.tbl td{padding:16px 12px}.tbl th{width:28%}.logo .en{font-size:16px}.logo .ja{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.contact-methods{display:flex;gap:12px;padding-top:24px;padding-bottom:24px}.contact-methods .btn{flex:1}.completion-lead span{display:inline-block}.completion-lead{text-wrap:pretty}@media(min-width:900px){.contact-methods{display:none}}@media(max-width:420px){.contact-methods .btn{font-size:14px;padding:14px 10px}}
/* Service scope and fee pages */
.fee-list{border-top:1px solid var(--line,#dce1e8);margin:24px 0}
.fee-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--line,#dce1e8);align-items:baseline}
.fee-list h3{margin:0;font-size:18px}.fee-list p{margin:0}.fee-list strong{font-size:28px;color:#152d50}.fee-list span,.fee-amount span{display:block;font-size:15px;font-weight:400;line-height:1.8;margin-top:8px;color:#4b586b}
.fee-amount{font-size:36px;font-weight:700;color:#152d50;margin:16px 0 24px}.card ul{padding-left:1.3em;line-height:1.9}.card h2{font-size:24px}.card p+p{margin-top:16px}.prose p+p{margin-top:24px}
@media(max-width:700px){.fee-list>div{grid-template-columns:1fr;gap:8px}.fee-amount{font-size:30px}}
.logo{display:flex;flex-direction:column;gap:3px}.logo .ja{font-size:19px;font-weight:700;letter-spacing:.02em;line-height:1.4}.logo .en{font-size:12px;letter-spacing:.14em;line-height:1.4}
@media(max-width:400px){.logo .ja{font-size:17px}}

/* 2026-09-20: service overview and local creator story */
.consult-feature{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding:40px;border:1px solid #c5d5ee;border-left:5px solid var(--accent);border-radius:12px;background:var(--accent-soft);margin-bottom:32px}.consult-feature h3{font-size:28px}.eyebrow{font-weight:700;color:var(--primary);font-size:15px;letter-spacing:.05em}.consult-book{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}.consult-book .fee-amount{margin:0}.consult-book .textlink{font-size:15px}.service-directory{margin-bottom:24px}.service-price{font-weight:700;color:var(--primary);border-top:1px solid var(--line);padding-top:16px;margin-top:8px;margin-bottom:16px;font-size:16px}
.creator-hero{background:linear-gradient(120deg,#fff 40%,#eaf0fb);padding:32px 0 80px}.creator-hero .breadcrumb{margin-bottom:48px}.creator-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}.creator-hero h1{font-size:clamp(30px,3.7vw,48px);line-height:1.5;letter-spacing:.015em}.creator-lead{font-size:20px;line-height:1.9;margin:24px 0}.creator-vision{border:1px solid #cbd8ed;border-radius:16px;padding:40px;background:#fff}.vision-title{font-size:28px;font-weight:700;line-height:1.55;color:var(--bg-navy)}.vision-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:24px;font-size:14px}.vision-line strong{flex-basis:100%;font-size:19px}.future-card{border-top:3px solid var(--primary)}.future-card h3{font-size:21px}.area-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.area-map{margin:0}.area-map img{width:100%}.area-map figcaption{font-size:13px;color:var(--muted);line-height:1.7;margin-top:12px}.area-status{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #d4deec;border-bottom:1px solid #d4deec;margin:24px 0;padding:24px 0}.area-status h4{margin:12px 0 6px;font-size:23px}.area-status p{font-size:15px;margin:0}.status-tag{display:inline-block;font-size:13px;font-weight:700;color:var(--primary)}.local-member{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;border:1px solid var(--line);background:white;padding:32px;margin-top:48px;border-radius:12px}.local-member p:last-child{margin-bottom:0}.creator-roadmap{list-style:none;padding:0;margin:0}.creator-roadmap>li{display:grid;grid-template-columns:72px 1fr;gap:24px;padding:32px 0;border-top:1px solid var(--line)}.creator-roadmap>li>span{font:700 38px var(--font-en);color:#a7bddd}.creator-roadmap h3{font-size:23px}.support-output{font-size:15px;color:var(--primary);margin-bottom:0}.workstyle{border:1px solid #65738f;padding:32px;border-radius:12px;background:#192f5c}.workstyle p{color:#e4eafb}.navy .note{color:#d8e2f4}.creator-cta{margin-top:48px}
@media(max-width:760px){.consult-feature,.creator-hero-grid,.area-grid,.local-member{grid-template-columns:1fr;gap:28px}.consult-feature,.creator-vision{padding:24px}.creator-hero{padding:24px 0 48px}.creator-hero .breadcrumb{margin-bottom:32px}.creator-lead{font-size:18px}.creator-lead br{display:none}.creator-vision .vision-title{font-size:25px}.area-status{gap:16px}.local-member{padding:24px;margin-top:32px}.local-member .btn{justify-self:start}.creator-roadmap>li{grid-template-columns:40px 1fr;gap:16px}.creator-roadmap>li>span{font-size:29px}.creator-roadmap h3{font-size:20px}.workstyle{padding:24px}.consult-feature h3{font-size:25px}.consult-book .btn{width:100%}.creator-hero .actions{align-items:flex-start}.future-card h3 br{display:none}}

/* Comfortable, separate tap targets in the creator hero. */
.creator-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px;margin-top:32px}
.creator-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;white-space:normal;line-height:1.6;text-align:center}
.creator-actions>.textlink{padding:12px 8px}
.reading-guide{max-width:840px}.reading-guide p{line-height:2}.reading-guide h2{font-size:clamp(23px,3vw,30px);margin:0 0 28px;line-height:1.6}.reading-guide h3{font-size:21px;line-height:1.7;margin:32px 0 12px}.reading-guide section{padding-top:56px;scroll-margin-top:110px}.guide-summary{font-size:19px}.guide-toc{display:grid;gap:14px;padding:28px;margin:32px 0;background:var(--bg-soft);border-radius:12px}.reading-guide p a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.creator-actions{display:grid;grid-template-columns:1fr;gap:16px}.creator-actions>a{width:100%;padding:14px 20px}.reading-guide h3{font-size:19px}.guide-summary{font-size:17px}}

/* ---------- LINE登録特典（/gift/） ---------- */
.gift-no{font:700 14px var(--font-en);letter-spacing:.12em;color:#B8862B;margin-bottom:8px}
.gift-hero{max-width:960px;margin:0 auto var(--sp-6)}
.gift-hero img{width:100%;height:auto;border-radius:16px;display:block;box-shadow:0 10px 30px rgba(15,23,42,.18)}
.gift-order{padding-left:1.4em}.gift-order li{margin-bottom:8px;font-size:16px}
.gift-grid{display:grid;gap:24px}
@media(min-width:760px){.gift-grid{grid-template-columns:repeat(2,1fr)}}
.gift-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.gift-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;background:#141022}
.gift-card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.gift-card h3{font-size:17px;line-height:1.65;margin:0}
.gift-card p{font-size:15px;color:#3d4653;margin:0}
.gift-card .btn{margin-top:auto;align-self:flex-start}
.gift-foot{margin-top:var(--sp-6)}
.gift-back{margin-top:var(--sp-6);font-weight:700}
.chip{display:inline-block;font-size:13px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap;line-height:1.5}
.chip-ai{background:#e3f4ea;color:#14532d}.chip-mix{background:#fff3d6;color:#7a4b00}.chip-human{background:#eceff4;color:#3f4757}
.ck-legend{list-style:none;padding:0}.ck-legend li{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px;font-size:15px}
.ck h3{font-size:17px;margin-top:var(--sp-5)}
.ck-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ck-list label{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:16px;line-height:1.6;cursor:pointer}
.ck-list label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.ck-list input{width:22px;height:22px;margin-top:2px;flex:0 0 22px;accent-color:var(--accent)}
.ck-text{flex:1}.ck-list .chip{margin-left:auto}
.ck-why,.ck-ex{display:block;font-size:15px;color:#3d4653;margin-top:4px}.ck-ex{color:var(--muted)}
.ck-result{margin:var(--sp-5) 0;padding:24px;border-radius:16px;background:var(--bg-navy);color:#fff}
.ck-result p{color:#fff;margin-bottom:10px}.ck-result .ck-empty{color:#c9d6ee;margin:0}
.ck-total{font-size:17px}.ck-total strong{font-size:24px}
.ck-count{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 20px;margin:0 0 14px}.ck-count li{display:flex;gap:8px;align-items:center;font-size:16px}
.ck-type{font-size:19px;font-weight:700}
.ck-first{font-weight:700;margin-top:14px}.ck-result ol{margin:0;padding-left:1.4em}.ck-result li{font-size:16px}
.flow{list-style:none;padding:0;margin:var(--sp-4) 0 var(--sp-6);display:grid;gap:28px}
.flow li{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.flow li.flow-ai{background:#f3fbf6;border-color:#bfe3cc}
.flow li:not(:last-child)::after{content:"↓";position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);font-size:20px;color:var(--muted)}
.flow h3{font-size:17px;margin:8px 0 6px}.flow p{font-size:15px;color:#3d4653;margin:0}
/* 特典04 Threads編（2026-10-08） */
.gift-feature{margin:var(--sp-5) 0;padding:24px;border-radius:16px;background:var(--bg-navy);color:#fff}
.gift-feature h2{color:#fff;margin:4px 0 10px}.gift-feature p{color:#dbe4f5}
.gift-feature-tag{display:inline-block;font:700 13px var(--font-en);letter-spacing:.12em;color:#12244f;background:#ffd43b;border-radius:999px;padding:3px 12px;margin:0}
.th-stats{display:grid;gap:12px;margin:var(--sp-4) 0 8px}
@media(min-width:760px){.th-stats{grid-template-columns:repeat(3,1fr)}}
.th-stats div{background:var(--accent-soft);border-radius:14px;padding:18px 20px}
.th-stats strong{display:block;font-size:26px;color:var(--primary);line-height:1.3}
.th-stats span{display:block;font-size:15px;color:#3d4653;margin-top:4px}
.th-point{border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:0 0 16px;background:#fff}
.th-point-no{font:700 13px var(--font-en);letter-spacing:.1em;color:#B8862B;margin:0}
.th-point h3{font-size:18px;margin:6px 0 10px}
.th-point ul{margin:0;padding-left:1.2em}.th-point li{font-size:16px;margin-bottom:8px}
.th-prompt{position:relative;margin:var(--sp-3) 0 var(--sp-5)}
.th-prompt pre{white-space:pre-wrap;word-break:break-word;background:#0f172a;color:#e5e7eb;border-radius:14px;padding:22px;font-size:15px;line-height:1.75;margin:10px 0 0}
.th-cur{list-style:none;padding:0;margin:0 0 var(--sp-4);display:grid;gap:12px}
.th-cur li{border-left:4px solid var(--accent);background:var(--bg-soft);border-radius:0 12px 12px 0;padding:14px 16px}
.th-cur li p{margin:0;font-size:16px}
.th-cur .th-src{font-size:14px;color:var(--muted);margin-top:6px}
.flow-n{font:700 15px var(--font-en);color:var(--muted);margin-left:8px}
.who{display:inline-block;font-size:13px;font-weight:700;border-radius:999px;padding:2px 10px;margin-right:8px}
.who-ai{background:#14532d;color:#fff}.who-human{background:#1e3a8a;color:#fff}
@media(min-width:900px){.flow{grid-template-columns:repeat(5,1fr);gap:28px}.flow li:not(:last-child)::after{content:"→";left:auto;right:-22px;top:50%;bottom:auto;transform:translateY(-50%)}}
.gift-tbl th,.gift-tbl td{font-size:15px}.gift-tbl thead th{background:var(--bg-navy);color:#fff}
.gift-tbl.roles td{white-space:normal}
.case-grid{display:grid;gap:24px;margin:var(--sp-5) 0 var(--sp-6)}
@media(min-width:900px){.case-grid{grid-template-columns:repeat(2,1fr)}}
.case{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.case-ind{font-size:14px;color:var(--muted);margin-bottom:6px}
.case h3{font-size:20px;color:var(--primary);line-height:1.5}
.case dl{margin:16px 0 0}.case dt{font-size:14px;font-weight:700;color:#B8862B;margin-top:12px}.case dd{margin:4px 0 0;font-size:15px;line-height:1.8}
.prompt-wrap{position:relative;margin-bottom:var(--sp-4)}
.prompt-wrap .copy-btn{margin-bottom:12px}
.prompt-box{background:#0f172a;color:#e5e7eb;border-radius:12px;padding:20px;white-space:pre-wrap;word-break:break-word;font-family:var(--font-ja);font-size:15px;line-height:1.85;margin:0;overflow-x:auto}
.prompt-ex{background:#f7f8fb;color:var(--text);border:1px solid var(--line)}
.ck-sub{margin:6px 0 0;padding-left:1.3em}.ck-sub li{font-size:15px;color:#3d4653;margin-bottom:2px}
.ck-text strong{display:block}
.gift-card h3,.case h3,.flow h3,.ck-text strong,.gift-why h2,.prose h2,.page-head h1{word-break:auto-phrase;text-wrap:balance}
.gift-card p,.ck-why,.ck-ex,.ck-sub li,.case dd,.flow p,.ck-legend li,.gift-order li,.prose li{word-break:auto-phrase;text-wrap:pretty}
.prose p,.page-head p{word-break:auto-phrase}
.gift-order li,.ck-legend li{text-wrap:balance}
@media(max-width:759px){
.gift-tbl thead{display:none}
.gift-tbl,.gift-tbl tbody,.gift-tbl tr,.gift-tbl th,.gift-tbl td{display:block;width:100%}
.gift-tbl tr{border-bottom:1px solid var(--line);padding:10px 0}
.gift-tbl tr:last-child{border-bottom:0}
.tbl.gift-tbl th{width:100%;background:none;border:0;padding:10px 16px 4px;font-size:16px}
.tbl.gift-tbl td{border:0;padding:4px 16px;font-size:15px}
.gift-tbl td[data-label]::before{content:attr(data-label) "：";font-weight:700;color:var(--muted)}
.ck-list label{flex-wrap:wrap}.ck-list .ck-text{flex:1 1 calc(100% - 40px)}.ck-list .chip{margin-left:34px}
}
.gift-tbl td,.gift-tbl th{word-break:auto-phrase;text-wrap:pretty}
.ck-ex{text-wrap:balance}
@media(max-width:759px){.gift-tbl td .who{display:table;margin:0 0 4px}}
.reading-guide p,.reading-guide h2{word-break:auto-phrase;text-wrap:pretty}
/* /guide/ のLINE枠：7つの無料プレゼント一覧（2026-10-09） */
.cta-gifts{list-style:none;max-width:680px;margin:0 auto var(--sp-5);padding:0;text-align:left;display:grid;gap:10px}
.cta-gifts li{word-break:auto-phrase;text-wrap:pretty;display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.08);border-radius:12px;padding:12px 16px;font-size:15px;line-height:1.6;color:#fff}
.cta-gifts span{flex:none;font:700 14px var(--font-en);color:#ffd43b;padding-top:1px}
.cta-box p.cta-gifts-lead{word-break:auto-phrase}
/* /events/ イベント申込ページ（2026-10-13） */
.ev-narrow{max-width:840px}
.ev-hero h1{word-break:auto-phrase;text-wrap:balance}
.ev-info{margin:0}
.ev-info-row{display:grid;grid-template-columns:5.5em 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ev-info-row:last-child{border-bottom:0}
.ev-info dt{font-size:14px;color:var(--muted);font-weight:500}
.ev-info dd{margin:0;font-size:15px;font-weight:700;color:var(--primary);text-wrap:pretty}
.ev-future{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
@media(min-width:900px){.ev-future{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}}
.ev-future li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:var(--sp-4)}
.ev-future p{color:#fff;font-size:16px;line-height:1.8;margin:var(--sp-2) 0 0;text-wrap:pretty}
.ev-num{font:700 15px var(--font-en);color:#9dbcf5;letter-spacing:.06em}
.ev-check{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ev-check li{position:relative;padding:16px 16px 16px 48px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:16px;line-height:1.7;text-wrap:pretty}
.ev-check li::before{content:"";position:absolute;left:18px;top:21px;width:16px;height:9px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}
.ev-program,.ev-flow{list-style:none;padding:0;margin:0;display:grid;gap:0}
.ev-program>li,.ev-flow>li{display:grid;grid-template-columns:6.5em 1fr;gap:var(--sp-3);padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}
.ev-flow>li{grid-template-columns:2.5em 1fr}
.ev-flow .ev-num{color:var(--accent);font-size:18px}
.ev-time{font:700 15px var(--font-en);color:var(--accent);padding-top:2px}
.ev-program h3,.ev-flow h3{font-size:17px;margin:0 0 6px}
.ev-program p,.ev-flow p{margin:0;color:#3d4653;font-size:15px;line-height:1.8;text-wrap:pretty}
.ev-faq{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.ev-faq summary{cursor:pointer;padding:18px 20px;font-weight:700;font-size:16px;line-height:1.6}
.ev-faq p{margin:0;padding:0 20px 20px;font-size:15px;line-height:1.85;color:#3d4653;text-wrap:pretty}
.ev-form{max-width:760px}
.ev-group{border:0;padding:0;margin:0 0 var(--sp-4)}
.ev-group legend{font-weight:700;font-size:16px;margin-bottom:var(--sp-2);padding:0}
.ev-group[aria-invalid=true]{outline:2px solid #b42318;outline-offset:6px;border-radius:4px}
.ev-opts{display:grid;gap:8px}
.ev-opt{display:flex!important;align-items:flex-start;gap:12px;font-weight:400!important;font-size:15px!important;line-height:1.7;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;margin:0!important}
.ev-opt input{width:20px!important;height:20px;flex:0 0 20px;margin-top:3px;padding:0!important;accent-color:var(--accent)}
.ev-opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.ev-privacy{background:var(--bg-soft);border-radius:10px;padding:16px 18px;margin:var(--sp-4) 0}
.ev-privacy h3{font-size:15px;margin:0 0 6px}
.ev-privacy p{font-size:14px;line-height:1.8;color:#3d4653;margin:0}
.ev-done{max-width:760px;text-align:left}
.ev-done p{font-size:16px;line-height:1.85;margin:12px 0 0;text-wrap:pretty}
/* /events/ しゅうへいさんの講座ページの型（2026-10-13 TTP） */
.ev-bar{background:var(--bg-navy);color:#fff;font-size:14px}
.ev-bar .container{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:center;padding-top:10px;padding-bottom:10px;text-align:center}
.ev-bar a{color:#ffd43b;font-weight:700;white-space:nowrap}
.ev-meta{font-size:14px;font-weight:700;color:var(--accent);margin-bottom:var(--sp-3);text-wrap:balance}
.ev-deadline{font-size:15px;font-weight:700;color:var(--primary);margin:0 0 var(--sp-3)}
.ev-after-btn{font-size:14px!important;color:var(--muted);margin-top:var(--sp-2);line-height:1.7;text-wrap:pretty}
.ev-proof{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:14px;color:#3d4653;line-height:1.7;text-wrap:pretty}
.ev-nav{position:sticky;top:64px;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.ev-nav .container{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.ev-nav .container::-webkit-scrollbar{display:none}
.ev-nav a{flex:none;padding:14px 12px;font-size:14px;font-weight:700;color:var(--text);border-bottom:2px solid transparent}
.ev-nav a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}
.ev-voices{display:grid;gap:var(--sp-3)}
@media(min-width:900px){.ev-voices{grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}}
.ev-voice{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4)}
.ev-voice-q{font-weight:700;font-size:17px;color:var(--primary);line-height:1.6;margin:0 0 var(--sp-2);word-break:auto-phrase;text-wrap:balance}
.ev-voice p:last-child{margin:0;font-size:15px;line-height:1.8;color:#3d4653;text-wrap:pretty}
.ev-summary{margin:var(--sp-5) auto 0;max-width:760px;font-size:17px;font-weight:700;line-height:1.8;text-align:center;text-wrap:balance}
.ev-points{margin-top:var(--sp-3);background:var(--bg-soft);border-radius:10px;padding:14px 16px}
.ev-points-h{font-size:14px!important;font-weight:700;color:var(--accent)!important;margin:0 0 8px!important}
.ev-points ol{margin:0;padding-left:1.3em;display:grid;gap:8px}
.ev-points li{font-size:15px;line-height:1.7}
.ev-points strong{display:block;color:var(--text)}
.ev-points span{display:block;color:var(--muted);font-size:14px}
.ev-prompt{margin:var(--sp-4) 0 0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:16px 18px}
.ev-prompt figcaption{font-size:14px;font-weight:700;color:var(--accent);margin-bottom:8px}
.ev-prompt p{margin:0!important;font-size:15px;line-height:1.85}
.ev-merits{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-3)}
.ev-merits li{display:grid;grid-template-columns:44px 1fr;gap:var(--sp-3);background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4)}
.ev-merits .ev-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:18px}
.ev-merits h3{font-size:17px;margin:0 0 6px}
.ev-merits p{margin:0;font-size:15px;line-height:1.8;color:#3d4653;text-wrap:pretty}
.ev-venue{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4)}
.ev-venue-name{font-size:18px;font-weight:700;color:var(--primary);margin:0 0 6px}
.ev-venue p{font-size:15px;margin:0 0 var(--sp-3)}
.ev-note-list{margin:0;padding:0 20px 20px 2.2em;display:grid;gap:8px}
.ev-note-list li{font-size:15px;line-height:1.8;color:#3d4653;text-wrap:pretty}
.ev-center{text-align:center}.ev-center .sec-label{justify-content:center}
.ev-price{max-width:760px;margin:0 auto var(--sp-4);background:#fff;border:2px solid var(--accent);border-radius:var(--radius);padding:var(--sp-4);text-align:center}
.ev-price-name{font-size:15px;font-weight:700;color:var(--muted);margin:0}
.ev-price-amount{font:700 40px var(--font-en);color:var(--primary);margin:6px 0}
.ev-price-amount small{font:500 14px var(--font-ja);color:var(--muted);margin-left:6px}
.ev-price p:last-child{font-size:15px;margin:0;text-wrap:pretty}
.ev-prep{list-style:none;padding:0;margin:var(--sp-3) 0 0;display:grid;gap:12px}
.ev-prep li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.ev-prep a{display:block;font-weight:700;font-size:16px}
.ev-prep span{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.ev-final{text-align:center}
.ev-final-date{font-size:15px;font-weight:700;color:#9dbcf5;margin:0 0 var(--sp-2)}
.ev-final h2{word-break:auto-phrase;text-wrap:balance}
.ev-final .actions{justify-content:center;margin-top:var(--sp-4)}
.ev-final-note{font-size:14px;color:#c9d6ee;margin-top:var(--sp-3)}
.ev-bar span,.ev-deadline,.ev-meta{word-break:auto-phrase;text-wrap:balance}

/* タカたびメディア（/media/・2026-10-19） */
.media-article{font-size:17px;line-height:1.9;word-break:auto-phrase}.media-kicker{display:block;font-size:.95rem;color:#2b9e97;margin-bottom:4px}.media-title-main{display:block}.media-title-sub{display:block;font-size:.8em;color:#444;margin-top:6px;font-weight:600}.media-article h1{font-size:1.6rem;line-height:1.5;margin:.4em 0 .8em}
.media-cat{font-size:.9rem;color:#777}.media-pr{background:#fff4e5;padding:8px 12px;border-radius:6px}
.media-lead{font-size:1.08rem}
.mk{background:linear-gradient(transparent 58%,#ffe58a 58%);color:inherit;padding:0 1px;font-weight:700}
.media-fig{margin:18px auto;max-width:560px}.media-fig img{width:100%;height:auto;border-radius:12px;display:block}.media-fig figcaption{font-size:.88rem;color:#777;text-align:center;margin-top:6px}
.media-hero{max-width:none}.media-hero img{aspect-ratio:4/3;object-fit:cover}
.media-points{position:relative;background:#f4faf9;border:2px solid #7cc6c2;border-radius:14px;padding:18px 20px 10px;margin:22px 0}
.media-points-title{font-weight:700;font-size:1.15rem;margin:0 0 6px;color:#2b6f6b}.media-points ul{margin:0;padding-left:0;list-style:none}
.media-points li{font-size:1.05rem;padding:4px 0 4px 30px;position:relative}.media-points li:before{content:"";position:absolute;left:4px;top:.72em;width:16px;height:9px;border-left:3px solid #2b9e97;border-bottom:3px solid #2b9e97;transform:rotate(-45deg)}
.media-illust{position:absolute;right:12px;top:-30px;width:84px;height:63px}
.media-h2{font-size:1.25rem;line-height:1.5;margin:2.2em 0 .6em;padding-bottom:8px;border-bottom:2px solid #eee;display:flex;gap:10px;align-items:flex-start}
.media-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.8em;height:1.8em;border-radius:50%;background:#2b9e97;color:#fff;font-size:.85em}
.media-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-gallery .media-fig{margin:8px 0;max-width:none}.media-gallery img{aspect-ratio:1/1;object-fit:cover}
.media-voice{display:flex;gap:12px;align-items:flex-start;margin:28px 0}.media-voice-ico{flex:none;width:56px;height:56px;border-radius:50%;background:#f4faf9;border:2px solid #7cc6c2;display:flex;align-items:center;justify-content:center}
.media-voice-ico .media-illust{position:static;width:40px;height:30px}
.media-voice-body{position:relative;background:#fff8e6;border-radius:14px;padding:12px 16px}.media-voice-body:before{content:"";position:absolute;left:-8px;top:18px;border:8px solid transparent;border-right-color:#fff8e6;border-left:0}
.media-voice-by{font-size:.9rem;color:#a07a2c;margin:0 0 4px;font-weight:700}.media-voice-body p{margin:0}
.media-shop{width:100%;border-collapse:collapse;margin:12px 0;font-size:.98rem}.media-shop th,.media-shop td{border-bottom:1px solid #e8e8e8;padding:10px 8px;text-align:left;vertical-align:top}
.media-shop th{width:9em;white-space:nowrap;color:#555;font-weight:600}.media-ico{width:18px;height:18px;vertical-align:-3px;margin-right:6px;fill:none;stroke:#2b9e97;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.media-map{margin:16px 0}.media-note{font-size:.88rem;color:#777}.media-tag{display:inline-block;margin:0 8px 6px 0;font-size:.9rem;color:#2b9e97}
.media-cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.media-list{display:grid;gap:12px;margin-top:20px}
.media-card{display:block;padding:14px 16px;border:1px solid #e5e5e5;border-radius:10px;text-decoration:none;color:inherit}.media-card strong{display:block;margin-top:4px}
.media-reel{position:relative;max-width:420px;margin:16px auto;text-align:center}.media-reel img{width:100%;height:auto;border-radius:12px;display:block;filter:brightness(.75)}
.media-reel-btn{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:#fff;color:#1b2430;border:0;border-radius:999px;padding:14px 22px;font-size:1rem;font-weight:700;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer}
.media-reel-link{display:inline-block;margin-top:8px;font-size:.9rem;color:#2b9e97}
@media(max-width:600px){.media-gallery{grid-template-columns:1fr 1fr}.media-article h1{font-size:1.35rem}.media-shop,.media-shop tbody,.media-shop tr,.media-shop th,.media-shop td{display:block;width:auto}.media-shop th{border-bottom:0;padding:10px 4px 0;font-size:.9rem}.media-shop td{padding:2px 4px 10px 28px}.media-cta .btn{width:100%;text-align:center}}
/* /events/ 東京・インフルエンサー主催の人気ページの型（2026-10-19）：数字のバッジ・こんな方に・参加特典・ボタンの繰り返し */
.ev-badges{list-style:none;padding:0;margin:0 0 var(--sp-4);display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ev-badges li{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.ev-badges strong{font-size:18px;color:var(--primary);line-height:1.3;word-break:auto-phrase}
.ev-badges span{font-size:14px;color:#3d4653;line-height:1.5;word-break:auto-phrase;text-wrap:balance}
.ev-assure{font-size:15px;font-weight:700;color:var(--primary);margin:var(--sp-2) 0 0;text-wrap:pretty}
.ev-decline{margin:var(--sp-4) 0 0;padding:14px 16px;background:var(--bg-soft);border-radius:10px;font-size:15px;line-height:1.8;color:#3d4653;text-wrap:pretty}
.ev-mid-cta{justify-content:center;margin-top:var(--sp-5)}
.ev-bonuses{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-3)}
.ev-bonuses>li{display:grid;grid-template-columns:1fr;gap:10px;align-items:start;background:#fff;border:1px solid var(--line);border-left:4px solid #f5c518;border-radius:var(--radius);padding:var(--sp-4)}
.ev-bonus-tag{justify-self:start;font-size:14px;font-weight:700;color:var(--primary);background:#fff4c2;border-radius:999px;padding:4px 12px;white-space:nowrap}
.ev-bonuses h3{font-size:17px;margin:0 0 6px;line-height:1.6;word-break:auto-phrase;text-wrap:balance}
.ev-bonuses p{margin:0;font-size:15px;line-height:1.8;color:#3d4653;text-wrap:pretty}
.ev-bonus-note{margin-top:var(--sp-3);font-size:14px}
.ev-host-pts{margin-bottom:var(--sp-4)}
.ev-merits p,.ev-merits h3{text-wrap:pretty}
.ev-host-pts{padding-left:0!important;margin-left:0!important}
.ev-decline,.ev-merits p,.ev-bonuses p,.ev-check li,.ev-assure,.ev-info dd,.ev-voice p,.ev-program p,.ev-flow p,.ev-faq p{word-break:auto-phrase}
.ev-faq summary{word-break:auto-phrase;text-wrap:pretty}
.ev-hero .lead,.ev-summary,.ev-after-btn{word-break:auto-phrase}
.ev-price p,.ev-info dd{word-break:auto-phrase;text-wrap:pretty}
.ev-form .hint,.ev-form legend,.ev-form label,.ev-done p,.ev-note-list li{word-break:auto-phrase;text-wrap:pretty}
/* 2026-10-22 ご依頼から6か月後の姿（DESIGN.md：前→後は3列固定・月は罫線の段・本文は pretty のみ・揃えの軸は左1本） */
.future-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column}
.future-card .work-meta{margin-bottom:var(--sp-1)}
.future-card h3{font-size:20px;margin:0 0 var(--sp-3);text-wrap:balance}
.future-card .ba{margin-bottom:var(--sp-4)}
.future-card .ba-row .b,.future-card .ba-row .a{min-height:72px;padding:12px;font-size:15px;line-height:1.6;text-wrap:balance;word-break:auto-phrase}
.future-months{list-style:none;margin:0 0 var(--sp-4);padding:0}
.future-months li{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line)}
.future-months li:last-child{border-bottom:1px solid var(--line)}
.fm-month{font:700 15px var(--font-en);color:var(--accent);line-height:1.7}
.future-months p{margin:0;font-size:16px;line-height:1.7;text-wrap:pretty}
.future-gets{background:var(--bg-soft);border-radius:var(--radius-sm);padding:var(--sp-3);margin-bottom:var(--sp-4)}
.future-gets p{margin:0 0 var(--sp-2);font-size:14px;font-weight:700;color:var(--muted)}
.future-gets ul{margin:0;padding-left:1.2em;font-size:15px;line-height:1.7}
.future-card .more{margin-top:auto}
@media(max-width:759px){.future-card{padding:var(--sp-4) 20px}.future-months li{grid-template-columns:1fr;gap:var(--sp-1)}}
.hero-note{font-size:14px}
.sd-goal{font-size:16px;font-weight:700;color:var(--primary);background:var(--accent-soft);border-radius:8px;padding:12px 16px}
.cta-sub{font-size:14px;color:var(--muted);margin-top:12px}
.cta-box p{word-break:auto-phrase}
.cta-box h2{word-break:auto-phrase}.news-list .c{justify-self:start}
@media(max-width:759px){.future-card .ba-row{grid-template-columns:1fr;gap:var(--sp-1)}.future-card .ba-row .b,.future-card .ba-row .a{min-height:0;justify-content:flex-start;text-align:left;padding:12px 16px}.future-card .ba-row .arrow{justify-content:flex-start;padding-left:16px}.future-card .ba-row .arrow svg{transform:rotate(90deg)}}
.tl{white-space:nowrap}
/* 2026-10-22 短い文の折れ方（孤立改行の検査で見つかった所） */
.ba-row .b,.ba-row .a{word-break:auto-phrase}
.col-table th,.col-table td{word-break:auto-phrase;text-wrap:balance}
@media(max-width:759px){.tbl th{width:34%;word-break:keep-all}}
@media(max-width:759px){.col-table th,.col-table td{font-size:14px;padding-left:8px;padding-right:8px}}
.case-online{margin-top:var(--sp-2);font-weight:700;color:var(--primary)}
/* 2026-10-22 写真を足す（最初の画面＝宝塚の街・想いの節＝兄妹の後ろ姿・日々の実践＝お店の写真） */
.hero-photo{background:var(--bg-navy-d)}
.hero-photo .hero-deco{display:none}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,26,61,.50) 0%,rgba(11,26,61,.70) 40%,rgba(11,26,61,.78) 70%,rgba(11,26,61,.55) 100%)}
@media(max-width:899px){.hero-bg img{object-position:center 62%}}
@media(min-width:900px){.hero-photo::before{background:linear-gradient(90deg,rgba(11,26,61,.88) 0%,rgba(11,26,61,.66) 45%,rgba(11,26,61,.12) 100%)}.hero-bg img{object-position:center 70%}}
.hero-photo .container{z-index:2}
.hero-photo h1{color:#fff}
.hero-photo .kicker{color:#a9c5f7}
.hero-photo .hero-subtitle{color:#e8eefb}
.hero-photo .lead{color:#dfe7f5}
.hero-photo .hero-note{color:#c9d6ee}
.hero-photo .btn-outline{border-color:#fff;color:#fff;background:transparent}
.hero-photo .btn-outline:hover{background:rgba(255,255,255,.12)}
.approach-photo,.message-photo{margin:var(--sp-5) 0 0}
.approach-photo img,.message-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);display:block}
.approach-photo img{aspect-ratio:16/10;object-position:center 50%}
.message-photo{margin:0 0 var(--sp-5)}
.message-photo img{aspect-ratio:3/2;object-position:center 62%}
.media-strip-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin:0 0 var(--sp-3)}
.media-strip-head h3{font-size:18px;margin:0}
.media-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-6)}
@media(min-width:900px){.media-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}}
.media-thumb{display:flex;flex-direction:column;gap:var(--sp-1);color:var(--text)}
.media-thumb:hover{text-decoration:none;color:var(--accent)}
.media-thumb img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-sm);display:block;margin-bottom:var(--sp-1)}
.mt-cat{font-size:13px;color:var(--muted)}
.media-thumb strong{font-size:15px;line-height:1.5}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:0;transition:opacity .8s ease}
.hero-video.is-playing{opacity:1}
@media(min-width:900px){.hero-video{object-position:center 70%}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
.case-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--sp-3);display:block}
.work-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--sp-3);display:block}
/* 運営している兄妹：一人ずつの写真（2026-10-22・宝塚大劇場の前・顔は出さない） */
.profile-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--sp-4);display:block}

/* 2026-10-22 認定パートナー募集: 長い見出しを言葉の途中で折り返さない（3行を幅に合わせて縮める） */
.partner-hero-copy{container-type:inline-size}
.creator-hero h1.partner-title{white-space:nowrap;font-size:min(44px,5.8cqw);line-height:1.45}

/* 2026-10-23 総点検: 4列の役割分担表で右の列がつぶれる（見出しのth幅30%が4つ並ぶため） */
@media(min-width:760px){.gift-tbl.roles{table-layout:fixed}.gift-tbl.roles th,.gift-tbl.roles td{width:auto}.gift-tbl.roles thead th:first-child,.gift-tbl.roles tbody th{width:28%}}
/* 2026-10-23 総点検: コラムの3列の表がスマホで言葉の途中で折れる */
@media(max-width:759px){.col-table{table-layout:fixed;width:100%}.col-table th:nth-child(1),.col-table td:nth-child(1){width:33%}.col-table th:nth-child(2),.col-table td:nth-child(2){width:34%}.col-table th:nth-child(3),.col-table td:nth-child(3){width:33%}.col-table th,.col-table td{text-wrap:pretty}}
/* 2026-10-23 総点検: 注記も本文の下限14pxに */
.note,.hint,.proof-note,.work-meta,.kicker,.th-point-no,.hero-copy p.kicker,.proof-primary p,.field p.hint{font-size:14px}

/* 2026-10-24 トップの実績：総フォロワーのSNSごとの内訳 */
.proof-breakdown{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
