@charset "utf-8";
/* ============================================================
   rararakt.com v4 「空と地上」
   ------------------------------------------------------------
   設計の約束
   1. 既定で見える。演出は <html class="anim"> が付いたときだけ。
      anim は起動から 5.2 秒で必ず外れるので、何があっても本文は消えない。
   2. 箱のかたちは3つだけ（.card / .row / .pill）。増やさない。
   3. PCは「見出し左・中身右」の2カラム。スマホでは1列に戻る。
   ============================================================ */

:root{
  /* 地上 */
  --ground:#f7f2e8;
  --ground-2:#fbf8f2;
  --paper:#ffffff;
  --paper-2:#f4f7fb;

  /* 文字 */
  --ink:#0d2545;
  --ink-2:#4a6285;
  --ink-3:#5f7390;

  /* 線 */
  --line:rgba(13,37,69,.13);
  --line-soft:rgba(13,37,69,.07);

  /* 色 */
  --accent:#1f4172;
  --sky:#59a9ef;
  --sky-ink:#2b6cb0;   /* 白地に置く空色の文字（読める濃さ。線や背景は --sky のまま） */
  --sky-soft:#e4eefb;
  --warm:#d8942c;
  --warm-soft:#fbf1dc;

  /* 書体 */
  --serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --en:"Cormorant Garamond",Georgia,serif;

  /* かたち */
  --r:14px;
  --r-lg:18px;
  --shadow:0 1px 2px rgba(13,37,69,.05),0 10px 30px rgba(13,37,69,.07);
  --shadow-lg:0 2px 4px rgba(13,37,69,.07),0 22px 50px rgba(13,37,69,.12);
  --ease:cubic-bezier(.22,1,.36,1);
  --pop:cubic-bezier(.34,1.56,.64,1);

  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper-2);color:var(--ink);
  font-family:var(--sans);font-size:15.5px;line-height:1.9;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,h4,h5{margin:0;line-height:1.4;font-weight:700}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
blockquote,figure{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:4px}

/* ---------- 器 ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.sec{padding:clamp(60px,8vw,104px) 0}
.sec-alt{background:var(--paper)}
.sec-warm{background:linear-gradient(180deg,var(--ground) 0%,var(--ground-2) 100%)}

/* 見出し左・中身右 */
.two{display:grid;grid-template-columns:272px minmax(0,1fr);gap:clamp(22px,4vw,60px);align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:20px}}

.sec-head .eyebrow{
  display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;
  color:var(--sky);margin-bottom:10px;text-transform:uppercase;
}
.sec-head h2{font-family:var(--serif);font-size:clamp(22px,2.6vw,27px);font-weight:900;letter-spacing:.03em;text-wrap:balance}
.sec-head h2 span{display:inline-block}
.sec-head .lead{margin-top:12px;font-size:13.5px;line-height:1.95;color:var(--ink-2)}
.sec-head .side{margin-top:16px}

/* ---------- 3つのかたち ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.row{display:grid;gap:2px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.pill{
  display:inline-flex;align-items:center;gap:7px;padding:5px 13px;border-radius:999px;
  border:1px solid var(--line);background:var(--paper);
  font-size:13.5px;font-weight:700;color:var(--accent);line-height:1.5;white-space:nowrap;
}
.pill small{font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:0}
.pill.w{white-space:normal}
a.pill.go{text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
a.pill.go i{font-style:normal;font-size:12.5px;color:var(--accent);opacity:.7}
a.pill.go:hover{border-color:var(--accent);background:var(--sky-soft);transform:translateY(-1px)}

.btn{
  display:inline-flex;align-items:center;gap:9px;padding:12px 24px;border-radius:999px;
  background:var(--accent);color:#fff;text-decoration:none;font-size:14px;font-weight:700;
  box-shadow:0 8px 22px rgba(31,65,114,.24);transition:transform .3s var(--ease),box-shadow .3s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(31,65,114,.32)}
.btn span{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover span{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent);box-shadow:none}
.btn-ghost:hover{background:var(--sky-soft);box-shadow:none}
.link{
  display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;
  color:var(--accent);text-decoration:none;
}
.link span{display:inline-block;transition:transform .3s var(--ease)}
.link:hover span{transform:translateX(4px)}

/* ============================================================
   ナビ
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  transition:background .4s var(--ease),box-shadow .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.solid{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom-color:var(--line);box-shadow:0 2px 18px rgba(13,37,69,.06)}
.nav-in{max-width:1120px;margin:0 auto;padding:14px clamp(20px,5vw,48px);display:flex;align-items:center;gap:20px}
.nav-logo{display:flex;flex-direction:column;line-height:1.2;text-decoration:none;margin-right:auto}
.nav-logo b{font-family:var(--serif);font-size:16px;font-weight:700;letter-spacing:.08em}
.nav-logo small{font-family:var(--en);font-style:italic;font-size:12.5px;letter-spacing:.14em;opacity:.7}
.nav a,.nav-logo{color:#fff;text-shadow:0 1px 10px rgba(6,20,45,.5)}
.nav.solid a,.nav.solid .nav-logo{color:var(--ink);text-shadow:none}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-links a{font-size:13px;font-weight:700;text-decoration:none;padding:7px 12px;border-radius:999px;transition:background .25s}
.nav-links a:hover{background:rgba(255,255,255,.18)}
.nav.solid .nav-links a:hover{background:var(--sky-soft)}
.nav-cta{padding:8px 18px!important;border:1.5px solid currentColor;border-radius:999px}
.nav-btn{display:none;width:42px;height:42px;border:0;background:none;padding:0;cursor:pointer}
.nav-btn i{display:block;height:2px;background:currentColor;margin:5px 8px;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.nav-btn.open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-btn.open i:nth-child(2){opacity:0}
.nav-btn.open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:880px){
  .nav-links{
    position:fixed;inset:64px 12px auto 12px;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
    box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:.3s var(--ease);
  }
  .nav-links.open{opacity:1;visibility:visible;transform:none}
  .nav-links a{color:var(--ink)!important;text-shadow:none!important;padding:12px 14px;border-radius:10px;font-size:14.5px}
  .nav-cta{border:0!important;background:var(--sky-soft)}
  .nav-btn{display:block}
}

/* いまいるページ（メニューは全ページ同じ。2026/10/17） */
.nav-links a[aria-current="page"]{background:rgba(255,255,255,.2)}
.nav.solid .nav-links a[aria-current="page"]{background:var(--sky-soft);color:var(--accent)}
@media(max-width:1100px) and (min-width:881px){
  .nav-in{gap:12px}
  .nav-links{gap:0}
  .nav-links a{padding:7px 8px;font-size:13.5px}
  .nav-cta{padding:7px 12px!important}
}
@media(max-width:880px){
  .nav-links a[aria-current="page"]{background:var(--sky-soft);color:var(--accent)!important}
  .nav-links a[aria-current="page"]::after{content:"いまここ";margin-left:8px;font-size:12.5px;font-weight:700;color:var(--sky)}
}

/* ページの終わりの「ほかのページへ」 */
.pnext{padding:clamp(44px,6vw,72px) 0;background:var(--paper-2);border-top:1px solid var(--line)}
.pnext-h{font-family:var(--serif);font-size:clamp(19px,2.4vw,23px);font-weight:900;letter-spacing:.03em;margin-bottom:16px}
.pnext-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:900px){.pnext-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pnext-grid{grid-template-columns:1fr;gap:8px}}
.pnext-c{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px 10px 10px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
  transition:transform .3s var(--ease),border-color .25s}
.pnext-c:hover{transform:translateY(-2px);border-color:var(--sky)}
.pnext-c img{width:56px;height:56px;border-radius:10px;object-fit:cover;display:block}
.pnext-c b{display:block;font-size:15px;font-weight:800;line-height:1.4}
.pnext-c small{display:block;font-size:13px;color:var(--ink-3);line-height:1.5}
.pnext-c i{font-style:normal;color:var(--accent);font-weight:700}
.pnext-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px}
.pnext-foot a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--accent);text-decoration:none;
  padding:10px 18px;border-radius:999px;border:1.5px solid var(--accent);background:var(--paper)}
.pnext-foot a:hover{background:var(--sky-soft)}
.pnext-foot .pnext-top{border-color:var(--line);color:var(--ink-2)}

/* ============================================================
   01 ヒーロー（空と地上）
   ============================================================ */
.hero{position:relative;isolation:isolate;overflow:hidden}
.sky{position:absolute;inset:0;z-index:0;transition:background 1.2s ease;
  background:linear-gradient(180deg,#0b1f3f 0%,#1a3f72 14%,#3a76bd 38%,#7fb4e4 68%,#cfe2f5 88%,#f7f2e8 100%)}
.sky::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 120% 58% at 50% 100%,rgba(255,255,255,.5),transparent 62%)}
.stars{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;animation:tw 3.6s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.95;transform:scale(1.4)}}

/* 機影（塗装も社章も無いシルエット） */
.plane{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;animation:fly 38s linear 3.4s infinite}
.plane svg{position:absolute;left:-190px;top:17%;width:150px;height:auto;transform:rotate(-4deg)}
.plane-body{fill:#08121f;opacity:.62;transition:opacity .9s ease,fill .9s ease}
.trail{transition:opacity .9s ease}
.navlight{opacity:0}
/* 夕方・夜は空が暗いので、黒いままだと機影が沈んで見えない。
   月明かりを受けた機体の色に切り替える */
[data-time="evening"] .plane-body{fill:#f0dfe6;opacity:.5}
[data-time="night"]   .plane-body{fill:#cfddf0;opacity:.68}
[data-time="evening"] .plane svg{filter:drop-shadow(0 0 7px rgba(255,200,170,.28))}
[data-time="night"]   .plane svg{filter:drop-shadow(0 0 8px rgba(150,190,240,.4))}
[data-time="night"] .trail{opacity:.32}
[data-time="night"] .navlight{animation:blink 1.6s steps(1,end) infinite}
[data-time="night"] .strobe{animation:strobe 1.6s steps(1,end) infinite}
@keyframes blink{0%,22%{opacity:1}23%,100%{opacity:0}}
@keyframes strobe{0%,6%{opacity:1}7%,48%{opacity:0}54%,60%{opacity:1}61%,100%{opacity:0}}
.strobe{opacity:0}
@keyframes fly{
  0%{transform:translate(0,0);opacity:0}
  4%{opacity:1}40%{opacity:1}
  47%{transform:translate(124%,-8%);opacity:0}
  100%{transform:translate(124%,-8%);opacity:0}
}
@media(prefers-reduced-motion:reduce){.plane{display:none}}

.hero-in{position:relative;z-index:2;max-width:1120px;margin:0 auto;
  padding:clamp(108px,15vw,148px) clamp(20px,5vw,48px) 0;
  display:grid;grid-template-columns:188px minmax(0,1fr) clamp(200px,21vw,264px);
  grid-template-areas:"shot who slides";gap:clamp(16px,2.2vw,30px);align-items:end}
.shot{grid-area:shot}
.who{grid-area:who}
.shot{width:188px;aspect-ratio:3/3.6;border-radius:16px;overflow:hidden;
  box-shadow:0 14px 40px rgba(6,20,45,.34);background:rgba(255,255,255,.12)}
.shot img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
/* タップで操縦席の写真へ。カードをめくるように、横に縮めてから入れ替える */
button.shot{display:block;border:0;padding:0;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
button.shot:focus-visible{outline:2px solid #fff;outline-offset:3px}
.shot-in{position:relative;display:block;width:100%;height:100%;transition:transform .18s ease-in}
.shot-in img{position:absolute;inset:0;opacity:0}
.shot-in img.on{opacity:1}
.shot-back{object-position:58% 25%!important}
.shot.turning .shot-in{transform:scaleX(0)}
.shot-hint{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-style:normal;font-size:14px;color:var(--accent);background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(6,20,45,.25);
  transition:transform .3s var(--ease)}
button.shot:hover .shot-hint{transform:scale(1.12) rotate(-12deg)}
.shot.flip .shot-hint{transform:rotate(180deg)}
@media(max-width:880px){.shot-hint{width:24px;height:24px;font-size:13px;right:6px;bottom:6px}}
@media(prefers-reduced-motion:reduce){.shot-in{transition:none}}
.who{padding-bottom:6px}
.kanban{font-family:var(--en);font-style:italic;font-size:15px;letter-spacing:.1em;
  color:rgba(255,255,255,.86);margin-bottom:12px}

/* いちばんの肩書き。名前の上に大きく */
.title1{display:inline-flex;align-items:baseline;gap:.5em;margin-bottom:12px;
  font-family:var(--serif);font-weight:700;font-size:clamp(17px,2.3vw,25px);
  letter-spacing:.08em;line-height:1.4;color:#fff;
  text-shadow:0 2px 18px rgba(6,20,45,.55);
  padding-bottom:9px;border-bottom:2px solid rgba(255,255,255,.55)}
.title1 strong{font-weight:900;font-size:1.12em;letter-spacing:.14em}
/* 肩書きと役割は、それぞれのサイト・ページへの入口にもなっている */
.title1 a{color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;gap:.5em;border-radius:4px}
.title1 a i{font-style:normal;font-size:.62em;opacity:.55;margin-left:-.1em;transition:opacity .25s,transform .3s var(--ease)}
.title1 a:hover i,.title1 a:focus-visible i{opacity:1;transform:translate(2px,-2px)}
.title1 a:hover{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px;text-decoration-color:rgba(255,255,255,.6)}
.phero .title1{margin-bottom:10px}
@media(max-width:600px){.title1{border-bottom-width:1.5px;padding-bottom:7px}}
.nm{font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.8vw,54px);
  line-height:1.12;letter-spacing:.03em;color:#fff;margin-bottom:12px;text-shadow:0 2px 24px rgba(6,20,45,.5)}
.nm .ch{display:inline-block;white-space:pre;overflow:hidden;vertical-align:bottom;
  padding-bottom:.16em;margin-bottom:-.16em}
.nm .ch > i{display:inline-block;font-style:normal}
.nm small{font-family:var(--sans);font-weight:500;font-size:.3em;letter-spacing:.14em;margin-left:14px;opacity:.9}
.ln{font-size:clamp(14.5px,1.5vw,17px);line-height:1.85;color:#fff;margin-bottom:16px;max-width:32em;
  text-shadow:0 2px 18px rgba(6,20,45,.55)}
.ln .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln .line>span{display:block}
.roles{display:flex;flex-wrap:wrap;gap:7px}
.role{font-size:13px;padding:4px 12px;border-radius:999px;color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.1);backdrop-filter:blur(4px);
  transition:background .25s,border-color .25s,transform .25s var(--ease)}
.role i{font-style:normal;opacity:.7;display:inline-block;transition:transform .3s var(--ease)}
a.role:hover,a.role:focus-visible{background:rgba(255,255,255,.26);border-color:#fff;transform:translateY(-1px)}
a.role:hover i{transform:translateX(2px)}

/* 写真の枠（中身が入れ替わる入口）。左の本人写真と同じ高さ・同じ下ぞろえにして、左右の釣り合いを取る */
.slides{grid-area:slides;align-self:end;position:relative;height:196px;margin-bottom:30px;border-radius:16px;overflow:hidden;
  isolation:isolate;touch-action:pan-y;background:rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(6,20,45,.34)}
/* 上は本人写真とそろえ、下は地平線から出る大仏のぶんだけ空ける。
   画面が広いと大仏は枠より外に出るので、そのときは写真と同じ高さまで伸ばす */
@media(min-width:1320px){.slides{height:226px;margin-bottom:0}}
.slide{position:absolute;inset:0;display:block;color:#fff;text-decoration:none;
  opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.slide.on{opacity:1;visibility:visible;z-index:1;transition:opacity .9s ease}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,20,45,0) 38%,rgba(6,20,45,.84) 100%)}
.slide .cap{position:absolute;left:13px;right:13px;bottom:10px;z-index:1;display:flex;flex-direction:column;gap:1px;line-height:1.4}
.slide .cap b{font-size:15.5px;font-weight:800;letter-spacing:.03em}
.slide .cap b::after{content:" →";display:inline-block;margin-left:.3em;transition:transform .3s var(--ease)}
.slide[target] .cap b::after{content:" ↗"}
.slide:hover .cap b::after{transform:translateX(3px)}
.slide .cap small{font-size:13px;opacity:.92}
.slide:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.sdots{position:absolute;top:0;right:4px;z-index:2;display:flex;gap:0}
.sdots button{width:24px;height:28px;padding:12px 4px;border:0;background:none;cursor:pointer}
.sdots button::before{content:"";display:block;height:3px;border-radius:2px;background:rgba(255,255,255,.5);transition:background .3s}
.sdots button.on::before{background:#fff}
@media(prefers-reduced-motion:no-preference){
  .slide.on img{animation:slideZoom 7s ease-out both}
}
@keyframes slideZoom{from{transform:scale(1)}to{transform:scale(1.07)}}

.horizon{position:relative;z-index:2;height:1px;margin-top:clamp(28px,5vw,44px);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  box-shadow:0 0 22px 2px rgba(255,255,255,.45)}

.land{position:relative;z-index:4;background:linear-gradient(180deg,var(--ground),var(--ground-2))}
.land-in{max-width:1120px;margin:0 auto;padding:clamp(22px,3.5vw,30px) clamp(20px,5vw,48px) clamp(26px,4vw,34px)}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.door{display:block;text-decoration:none;background:var(--paper);border:1px solid rgba(31,65,114,.14);
  border-radius:var(--r);padding:16px 18px 14px;color:#12294a;box-shadow:0 8px 24px rgba(20,40,80,.09);
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.door:hover{transform:translateY(-4px);border-color:var(--sky);box-shadow:0 18px 38px rgba(31,65,114,.18)}
.door .n{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;color:var(--sky-ink)}
.door .t{display:block;font-weight:800;font-size:15.5px;margin:3px 0 5px}
.door .d{display:block;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.door .go{display:block;margin-top:8px;font-size:13px;font-weight:700;color:var(--accent)}
.door .go span{display:inline-block;transition:transform .3s var(--ease)}
.door:hover .go span{transform:translateX(4px)}
.door .go em{font-style:normal}
/* 03 は行き先が2つあるので、扉の中にボタンを2つ置く */
.door-btns,.c3-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.door-btns a,.c3-btns a{font-size:13px;font-weight:700;line-height:1.3;padding:7px 12px;border-radius:999px;text-decoration:none;
  color:var(--accent);background:var(--sky-soft);border:1px solid rgba(31,65,114,.14);
  transition:background .25s,color .25s,transform .25s var(--ease)}
.door-btns a:hover,.c3-btns a:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}
/* 「やっていること」は見出しを上に、カードを横いっぱいに。写真を主役にする */
.two.two-stack{grid-template-columns:1fr;gap:clamp(18px,3vw,28px)}
.two-stack .c3-photo{aspect-ratio:4/3;display:block}
.two-stack .c3 h3{font-size:22px}
@media(max-width:900px){.two-stack .c3-photo{aspect-ratio:16/9}}
.c3-btns{margin-top:4px}
.c3-btns a{font-size:13.5px;padding:8px 13px}
.nav-sp{display:none}

/* のぞき大仏（地平線から） */
.peek{position:absolute;right:clamp(14px,4vw,48px);bottom:100%;z-index:1;width:82px;
  border:0;background:none;padding:0;cursor:pointer;transform:translateY(22%);
  transition:transform .6s var(--pop)}
.peek:hover{transform:translateY(8%)}
.peek img{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(6,20,45,.3))}
.bub{position:absolute;right:108%;bottom:30%;white-space:nowrap;background:#fff;color:#12294a;
  font-size:15.5px;font-weight:500;line-height:1.5;padding:9px 15px;border-radius:14px 14px 2px 14px;box-shadow:0 8px 20px rgba(6,20,45,.22);
  opacity:0;transform:translateY(6px) scale(.96);transform-origin:bottom right;
  transition:opacity .4s ease,transform .4s var(--pop);pointer-events:none}
.bub.show{opacity:1;transform:none}
/* 吹き出しの中のボタン（触ったときだけ出る） */
.bub.has-link{pointer-events:auto}
.bub a{display:inline-block;margin-top:6px;padding:5px 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:.85em;font-weight:700;text-decoration:none}
/* 触ったときの動き。どれか1つがランダムで */
@keyframes bJump{0%,100%{transform:translateY(22%)}35%{transform:translateY(-18%)}60%{transform:translateY(26%)}80%{transform:translateY(16%)}}
@keyframes bWiggle{0%,100%{transform:translateY(12%) rotate(0)}20%{transform:translateY(12%) rotate(-12deg)}40%{transform:translateY(12%) rotate(10deg)}60%{transform:translateY(12%) rotate(-7deg)}80%{transform:translateY(12%) rotate(4deg)}}
@keyframes bSquash{0%,100%{transform:translateY(22%) scale(1,1)}30%{transform:translateY(28%) scale(1.18,.82)}55%{transform:translateY(0) scale(.9,1.12)}75%{transform:translateY(24%) scale(1.04,.96)}}
@keyframes bShine{0%,100%{filter:drop-shadow(0 6px 14px rgba(6,20,45,.3))}50%{filter:drop-shadow(0 0 18px rgba(255,214,120,.95)) brightness(1.12)}}
.peek.act-jump{animation:bJump .8s var(--ease)}
.peek.act-wiggle{animation:bWiggle .7s ease}
.peek.act-squash{animation:bSquash .75s var(--pop)}
.peek.act-shine img{animation:bShine 1.2s ease}
.peek img{transition:opacity .18s ease}
.peek.swap img{opacity:0}
@media(prefers-reduced-motion:reduce){.peek[class*="act-"]{animation:none}.peek[class*="act-"] img{animation:none}}

@media(max-width:880px){
  .hero-in{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"shot slides" "who who";
    gap:16px 13px;align-items:start;padding-top:96px}
  .shot{width:112px;border-radius:13px}
  /* 写真の枠は、本人写真の右の空きに同じ高さで入れる */
  .slides{align-self:stretch;height:auto;margin-bottom:0;max-width:300px;border-radius:13px}
  .slide .cap{left:10px;right:10px;bottom:8px}
  .slide .cap b{font-size:13.5px}
  .slide .cap small{font-size:12.5px}
  /* 扉は1行ずつ。説明はたたんで、最初の画面に3つとも見えるように */
  .door{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:14px 16px}
  .door .t{margin:0;font-size:15px}
  .door .d,.door .go em{display:none}
  .door .go{margin:0;font-size:15px}
  .door-btns{grid-column:1/-1;margin-top:10px}
  .door-btns a{flex:1 1 0;text-align:center;font-size:13px;padding:10px 8px;white-space:nowrap}
  .c3-btns a{flex:1 1 0;text-align:center;padding:11px 8px;white-space:nowrap}
  .nav-pc{display:none}
  .nav-sp{display:block}
  /* 写真の右にできる余白を、機影が通る。早く出して、短い周期で */
  .plane{animation-duration:24s;animation-delay:1.8s}
  .plane svg{width:104px;left:-116px;top:10.5%}
  .doors{grid-template-columns:1fr;gap:9px}
  .peek{width:62px}
  /* 吹き出しが肩書のチップに重ならないよう、空の下に吹き出しぶんの余白を取る（2026/10/23） */
  .hero-in{padding-bottom:54px}
  .bub{left:auto;right:calc(100% + 6px);bottom:0;transform:translateY(6px) scale(.96);transform-origin:bottom right;
    border-radius:12px 12px 2px 12px;white-space:normal;width:max-content;max-width:calc(100vw - 110px);font-size:14px}
  .bub.show{transform:none}
}

/* ============================================================
   01b 活動の写真が流れる帯
   ============================================================ */
.strip{position:relative;background:var(--ground-2);
  padding:16px 0 18px;border-top:1px solid rgba(31,65,114,.08)}
.strip::before,.strip::after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
.strip::before{left:0;background:linear-gradient(90deg,var(--ground-2),transparent)}
.strip::after{right:0;background:linear-gradient(270deg,var(--ground-2),transparent)}
.strip{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.strip::-webkit-scrollbar{display:none}
.strip-track{display:flex;gap:12px;width:max-content}
.strip figure{position:relative;flex:none;height:clamp(116px,15vw,156px);width:auto;
  border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(13,37,69,.12)}
.strip img{height:100%;width:100%;display:block;object-fit:cover}
.strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 7px;
  font-size:12.5px;letter-spacing:.02em;color:#fff;line-height:1.4;
  background:linear-gradient(transparent,rgba(6,20,45,.78))}
@media(max-width:880px){
  .strip::before,.strip::after{width:34px}
}

/* ============================================================
   02 信頼の帯
   ============================================================ */
.trust{background:var(--paper);border-bottom:1px solid var(--line-soft)}
.trust-in{max-width:1120px;margin:0 auto;padding:clamp(24px,4vw,34px) clamp(20px,5vw,48px)}
/* 所属・資格（信頼の帯のいちばん上） */
.creds{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}
@media(max-width:820px){.creds{grid-template-columns:1fr;gap:8px}}
.cred{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r);
  background:var(--paper-2);border:1px solid var(--line);text-decoration:none;color:inherit;transition:border-color .25s,transform .25s var(--ease)}
a.cred:hover{border-color:var(--sky);transform:translateY(-1px)}
.cred img{width:70px;height:auto;display:block}
.cred i{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-style:normal;
  font-family:var(--serif);font-weight:900;font-size:18px;color:#fff;background:var(--accent)}
.cred b{display:block;font-size:14.5px;color:var(--ink);line-height:1.4}
.cred small{display:block;font-size:13px;color:var(--ink-3);margin-top:2px}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.num b{display:block;font-family:var(--mono);font-size:clamp(28px,3.6vw,38px);font-weight:400;
  line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.num b em{font-style:normal;font-size:14px;margin-left:3px}
.num span{display:block;font-size:13px;color:var(--ink-3);margin-top:6px}
.tg{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:start;margin-top:16px;
  padding-top:14px;border-top:1px dashed var(--line)}
.tg + .tg{margin-top:12px}
.tg-label{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--ink-3);padding-top:8px}
.tg-list{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:700px){
  .nums{grid-template-columns:1fr 1fr;gap:12px}
  .tg{grid-template-columns:1fr;gap:6px}.tg-label{padding-top:0}
}

/* 最新のお知らせ帯 */
.latest{display:flex;align-items:center;gap:12px;margin-top:18px;padding:11px 16px;
  background:var(--sky-soft);border-radius:var(--r);text-decoration:none;color:var(--ink);
  transition:transform .3s var(--ease),box-shadow .3s}
.latest:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(31,65,114,.12)}
.latest .k{flex-shrink:0;font-size:12.5px;font-weight:700;color:#fff;background:var(--accent);padding:3px 10px;border-radius:999px}
.latest .d{flex-shrink:0;font-family:var(--mono);font-size:13px;color:var(--ink-2)}
.latest .t{flex:1;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest .m{flex-shrink:0;font-size:13px;font-weight:700;color:var(--accent)}
@media(max-width:700px){.latest{flex-wrap:wrap;gap:8px}.latest .t{flex-basis:100%;white-space:normal}}

/* ============================================================
   03 名刺3枚（何をしている人か）
   ============================================================ */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.cards3{grid-template-columns:1fr;gap:12px}}
.c3{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);
  transition:transform .35s var(--ease),box-shadow .35s}
.c3:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.c3-photo{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.c3-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.c3:hover .c3-photo img{transform:scale(1.05)}
.c3-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.c3-n{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;color:var(--sky)}
.c3 h3{font-family:var(--serif);font-size:20px;font-weight:900;letter-spacing:.03em}
.c3 p{font-size:13.5px;line-height:1.85;color:var(--ink-2)}
.c3-fact{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);
  display:flex;align-items:baseline;gap:8px}
.c3-fact b{font-family:var(--mono);font-size:21px;color:var(--accent);line-height:1}
.c3-fact span{font-size:13px;color:var(--ink-3)}
.c3-go{font-size:13px;font-weight:700;color:var(--accent);margin-top:4px}
.c3-go span{display:inline-block;transition:transform .3s var(--ease)}
.c3:hover .c3-go span{transform:translateX(4px)}

/* ============================================================
   04 実績（ハイライト＋声）
   ============================================================ */
.hl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:900px){.hl{grid-template-columns:1fr 1fr}}
.hl-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  transition:transform .3s var(--ease),box-shadow .3s}
a.hl-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.hl-photo{aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}
.hl-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s var(--ease)}
a.hl-card:hover .hl-photo img{transform:scale(1.05)}
.hl-body{padding:13px 15px 15px;display:flex;flex-direction:column;gap:5px}
.hl-d{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--sky)}
.hl-cat{padding:2px 8px;border-radius:999px;background:var(--sky-soft);color:var(--accent);white-space:nowrap;
  font-family:var(--sans);font-size:12.5px;font-weight:700}
.hl-t{font-size:14px;font-weight:800;line-height:1.55}
.hl-x{font-size:13.5px;line-height:1.75;color:var(--ink-2)}
@media(max-width:560px){.hl-x{display:none}}

/* ============================================================
   03b 集まる場所（交流会・くらぶ）
   ============================================================ */
.com-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:900px){.com-grid{grid-template-columns:1fr;gap:16px}}
.com{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.com-hero{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--accent)}
.com-hero img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform .7s var(--ease)}
.com-hero:hover img{transform:scale(1.04)}
.com-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,45,0) 55%,rgba(6,20,45,.55) 100%)}
.com-tag{position:absolute;left:14px;bottom:12px;z-index:1;color:#fff;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;
  padding:4px 10px;border-radius:999px;background:rgba(6,20,45,.45);backdrop-filter:blur(4px)}
.com-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;flex:1}
.com h3{font-family:var(--serif);font-size:23px;font-weight:900;letter-spacing:.03em}
.com-body>p{font-size:13.5px;line-height:1.9;color:var(--ink-2)}
/* 「みんなで運営」「個人で主宰」のひとこと。見出しのすぐ下に */
.com-role{display:flex;align-items:flex-start;gap:8px;margin-top:-4px;font-size:13.5px!important;line-height:1.7!important}
.com-role i{flex-shrink:0;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.04em;padding:3px 9px;border-radius:999px;
  background:var(--accent);color:#fff;margin-top:1px}
.com-nums{display:flex;gap:0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:10px 0}
.com-nums li{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border-left:1px dashed var(--line)}
.com-nums li:first-child{border-left:0}
.com-nums b{font-family:var(--mono);font-size:22px;line-height:1;color:var(--accent)}
.com-nums b i{font-style:normal;font-size:.6em;vertical-align:.3em}
.com-nums span{font-size:12.5px;color:var(--ink-3)}
/* 第1回〜第7回の丸い写真。押すとその回のレポートへ */
.com-rounds{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none}
.com-rounds::-webkit-scrollbar{display:none}
.round{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;width:72px;text-decoration:none;color:inherit}
.round img{width:60px;height:60px;border-radius:50%;object-fit:cover;display:block;border:2px solid #fff;box-shadow:0 3px 10px rgba(13,37,69,.18);transition:transform .3s var(--ease)}
.round:hover img{transform:translateY(-3px) scale(1.05)}
.round b{font-size:13px;font-weight:800;line-height:1.2}
.round small{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.02em;text-align:center;line-height:1.35}
.com-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.com-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
/* 次回（events.json から） */
/* やっていること 3枚（入口だけの短いカード）2026/10/17 */
.com-grid3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.com-grid3{grid-template-columns:1fr}}
.com-s .com-body{gap:10px}
.com-s h3{font-size:21px}
.com-s .com-body>p b{color:var(--ink);font-weight:800}
.com-stat{font-size:13.5px!important;line-height:1.6!important;color:var(--ink-3)!important;
  padding:8px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}
.com-stat span{white-space:nowrap}
.com-stat b{font-family:var(--mono);font-size:17px;color:var(--accent)!important;margin:0 1px}
.com-go{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}
.com-go .btn{flex:1 1 auto;justify-content:center;padding:11px 16px;font-size:13.5px;margin-top:0}
@media(max-width:900px){.com-s .com-hero{aspect-ratio:2/1}}
.com-next{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:12px;
  background:var(--sky-soft);text-decoration:none;color:inherit;transition:background .25s}
.com-next[hidden]{display:none}
a.com-next:hover{background:#d6e6f8}
.com-next img{width:56px;height:56px;border-radius:12px;object-fit:cover;display:block}
.com-next .nx{display:flex;flex-direction:column;gap:1px;min-width:0;white-space:normal}
.com-next small{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--sky)}
.com-next b{font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.com-next .nx>span{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.com .btn{align-self:flex-start;margin-top:auto}
#community{scroll-margin-top:70px}
/* 看板の中の小見出しつきブロック（講演・会社） */
.pan-block{display:flex;flex-direction:column;gap:7px}
.pan-block h4{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;color:var(--sky);font-weight:400}
.pan-aud{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0}
.pan-aud dt{font-size:12.5px;font-weight:800;color:var(--accent);padding:3px 9px;border-radius:999px;background:var(--sky-soft);align-self:start;white-space:nowrap}
.pan-aud dd{margin:0;font-size:13.5px;line-height:1.75;color:var(--ink-2)}
.pan-aud dd i{font-style:normal;font-size:12px;color:var(--sky);margin-left:2px}
.pan-themes{display:flex;flex-direction:column;gap:4px}
.pan-themes li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:13px;padding:6px 10px;border-radius:9px;background:var(--paper);border:1px solid var(--line)}
.pan-themes b{font-weight:800}
.pan-themes small{font-size:12.5px;color:var(--ink-3)}
.pan-checks{display:flex;flex-direction:column;gap:4px}
.pan-checks li{position:relative;padding:5px 0 5px 24px;font-size:13px;line-height:1.6;color:var(--ink-2)}
.pan-checks li::before{content:"";position:absolute;left:4px;top:11px;width:8px;height:4px;border-left:2px solid var(--sky);border-bottom:2px solid var(--sky);transform:rotate(-45deg)}
.pan-works{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
@media(max-width:480px){.pan-works{grid-template-columns:1fr 1fr}}
.pan-works a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}
.pan-works img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border-radius:9px;display:block;border:1px solid var(--line);transition:transform .3s var(--ease)}
.pan-works a:hover img{transform:translateY(-2px)}
.pan-works span{font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.pan-flow{display:flex;flex-wrap:wrap;gap:4px;counter-reset:f}
.pan-flow li{counter-increment:f;font-size:13px;font-weight:700;padding:5px 10px 5px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;gap:6px}
.pan-flow li::before{content:counter(f);font-family:var(--mono);font-size:12px;width:16px;height:16px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.pan-flow li:not(:last-child)::after{content:"→";color:var(--ink-3);margin-left:2px}

/* 写真で見る実績（トップ）。文字は日付と題名だけ */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:900px){.tiles{grid-template-columns:1fr 1fr;gap:8px}}
.tile{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;
  background:linear-gradient(160deg,var(--accent),#0d2a55);box-shadow:var(--shadow);isolation:isolate;
  transition:transform .3s var(--ease),box-shadow .3s}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tile img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .6s var(--ease)}
.tile:hover img{transform:scale(1.06)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,45,0) 30%,rgba(6,20,45,.86) 100%)}
.tile.no-img::after{background:none}
/* 実績の下の「つくったもの」 */
.made{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.made-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:12px}
.made-head h3{font-size:18px;font-weight:800;color:var(--ink)}
.made-head p{flex:1 1 260px;font-size:13px;line-height:1.7;color:var(--ink-2)}
.made .tile img{object-position:top center}
.sec-head .side{display:flex;flex-wrap:wrap;gap:8px 18px}
.made-note{margin-top:10px;font-size:13.5px}
.made-note a{font-weight:700;white-space:nowrap}
.tile-cap{position:absolute;left:12px;right:12px;bottom:11px;z-index:1;display:flex;flex-direction:column;gap:4px}
.tile-d{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;opacity:.9}
.tile-d i{font-style:normal;font-family:var(--sans);font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;
  background:rgba(255,255,255,.22);letter-spacing:.02em;white-space:nowrap}
.two-stack .voices{margin-top:14px}
.tile-cap b{font-size:13.5px;font-weight:800;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile.no-img .tile-cap{top:12px;justify-content:flex-start}
.tile.no-img .tile-cap b{-webkit-line-clamp:4}
@media(max-width:560px){.tile-cap b{font-size:13.5px}.tile-cap{left:10px;right:10px;bottom:9px}}

.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
@media(max-width:900px){.voices{grid-template-columns:1fr}}
.voice{position:relative;padding:22px 20px 18px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow)}
.voice::before{content:"”";position:absolute;top:2px;left:16px;font-family:var(--en);font-size:56px;
  color:var(--sky-soft);line-height:1}
.voice p{position:relative;font-size:13.5px;line-height:1.95;color:var(--ink)}
.voice footer{margin-top:10px;font-size:13px;color:var(--ink-3)}

/* ============================================================
   05 どんな人か
   ============================================================ */
.about{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(22px,4vw,44px);align-items:start}
@media(max-width:820px){.about{grid-template-columns:1fr}}
.about-photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--paper)}
.about-photo img{width:100%;display:block}
.about-q{font-family:var(--serif);font-size:clamp(17px,2.1vw,21px);font-weight:700;line-height:1.75;
  letter-spacing:.02em;margin-bottom:16px;text-wrap:balance}
.about-body p{font-size:14.5px;line-height:2.05;color:var(--ink-2)}
.about-body p + p{margin-top:12px}
.about-body strong{color:var(--ink);font-weight:700}
/* 自己紹介の動画（縦長）。押すまで読み込まない（preload=none） */
/* セミナー登場映像の入口（1行のボタン） */
.pan-video{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;width:100%;text-align:left;cursor:pointer;
  padding:10px 14px 10px 10px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:inherit;font:inherit;
  transition:border-color .25s,transform .25s var(--ease)}
.pan-video:hover{border-color:var(--sky);transform:translateY(-1px)}
.pv-play{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:3px;
  background:var(--accent);color:#fff;font-size:14px;box-shadow:0 6px 14px rgba(31,65,114,.25)}
.pv-t b{display:block;font-size:14px;color:var(--accent)}
.pv-t small{display:block;font-size:13px;line-height:1.6;color:var(--ink-2);margin-top:1px}
.lecp .pan-video{margin:4px 0 14px;max-width:560px}
/* 画面いっぱいの再生 */
.vmodal{position:fixed;inset:0;z-index:200;background:rgba(4,12,26,.86);display:flex;align-items:center;justify-content:center;padding:16px}
.vmodal[hidden]{display:none}
.vbox{position:relative;height:min(92vh,calc((100vw - 32px) * 16 / 9));aspect-ratio:9/16;max-width:calc(100vw - 32px)}
.vbox video{width:100%;height:100%;display:block;border-radius:14px;background:#000}
.vclose{position:absolute;top:-6px;right:-6px;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;
  background:#fff;color:var(--ink);font-size:22px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.35)}
@media(max-width:600px){.vclose{top:6px;right:6px}}
/* 終わったら「次の一歩」 */
.vend{position:absolute;inset:0;border-radius:14px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;padding:24px;
  background:linear-gradient(180deg,rgba(13,37,69,.82),rgba(13,37,69,.94));color:#fff;text-align:center;animation:rise .5s var(--ease)}
.vend[hidden]{display:none}
.vend-h{font-family:var(--serif);font-size:clamp(20px,5.5vw,26px);font-weight:900}
.vend-s{font-size:13.5px;opacity:.85;margin-bottom:6px}
.vend-b{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 16px;border-radius:12px;text-decoration:none;
  color:#fff;font-weight:800;font-size:14.5px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);transition:background .25s}
.vend-b:hover{background:rgba(255,255,255,.22)}
.vend-b.is-main{background:#fff;color:var(--accent)}
.vend-r{margin-top:4px;align-self:center;border:0;background:none;color:#fff;opacity:.8;text-decoration:underline;cursor:pointer;font-size:13px}
.vend-c{margin-top:6px;font-size:12.5px;opacity:.6}
body.vlock{overflow:hidden}
/* G検定の合格バッジ。ロゴと見出しを横に、説明は下の段に */
.about-cert{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-areas:"logo title" "text text";gap:8px 14px;align-items:center;
  margin-top:20px;padding:14px 18px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  text-decoration:none;color:inherit;transition:transform .3s var(--ease),border-color .3s}
.about-cert:hover{transform:translateY(-2px);border-color:var(--sky)}
.about-cert img{grid-area:logo;width:110px;height:auto;display:block}
.about-cert span{display:contents}
.about-cert b{grid-area:title;font-size:15.5px;color:var(--accent);line-height:1.5}
.about-cert small{grid-area:text;font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.values{display:grid;gap:10px;margin-top:22px}
.value{padding:14px 16px 14px 18px;border-left:3px solid var(--sky);background:var(--paper);
  border-radius:0 var(--r) var(--r) 0;box-shadow:var(--shadow)}
.value b{display:block;font-size:14.5px;margin-bottom:2px}
.value span{font-size:13px;line-height:1.85;color:var(--ink-2)}

/* ============================================================
   06 これからの予定
   ============================================================ */
.sched .row{grid-template-columns:104px minmax(0,1fr) auto;gap:4px 18px;align-items:baseline;
  display:grid;padding:18px 0}
.sched .row:last-child{border-bottom:0}
.sched .d{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.04em}
.sched .d em{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3);letter-spacing:.1em;margin-top:2px}
.sched .b{min-width:0}
.sched .tag{display:inline-block;margin-bottom:5px}
.sched .t{display:block;font-size:15.5px;font-weight:800;line-height:1.6}
.sched .m{display:block;font-size:13.5px;color:var(--ink-2);margin-top:3px}
.sched .s{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:var(--warm);
  background:var(--warm-soft);padding:3px 11px;border-radius:999px}
.sched .go{flex-shrink:0}
.tag{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.04em;white-space:nowrap}
.tag-open{background:var(--sky-soft);color:var(--accent)}
.tag-teach{background:#eaf3ec;color:#256b45}
@media(max-width:700px){
  .sched .row{grid-template-columns:1fr;gap:6px}
  .sched .d em{display:inline;margin-left:8px}
}
.news-mini{margin-top:26px;padding-top:20px;border-top:1px dashed var(--line)}
.news-mini h3{font-size:13px;color:var(--ink-3);font-weight:700;letter-spacing:.06em;margin-bottom:10px}
.news-mini li{display:flex;gap:12px;padding:7px 0;font-size:13.5px;align-items:baseline}
.news-mini .d{font-family:var(--mono);font-size:13px;color:var(--ink-3);flex-shrink:0}
.news-mini a{color:var(--ink);text-decoration:none}
.news-mini a:hover{color:var(--accent);text-decoration:underline}

/* 近い3件だけ。残りはボタンで開く（JS が付ける。JS が無ければ全部見える） */
.sched.is-short .row:nth-child(n+4){display:none}
.sched-more{display:block;width:100%;margin-top:6px;padding:12px;border-radius:12px;border:1px dashed var(--line);
  background:var(--paper);color:var(--accent);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.sched-more:hover{border-color:var(--sky);background:var(--sky-soft)}

/* ============================================================
   折りたたみ（押した人だけ続きを読む）
   ============================================================ */
.fold{margin-top:14px}
.fold>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;font-weight:700;color:var(--accent);padding:8px 16px;border-radius:999px;
  border:1.5px solid var(--line);background:var(--paper);transition:border-color .2s,background .2s}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:"＋";font-size:13px}
.fold[open]>summary::after{content:"－"}
.fold>summary:hover{border-color:var(--sky);background:var(--sky-soft)}
.fold .c{display:none}
.fold[open] .o{display:none}
.fold[open] .c{display:inline}
.fold-in{margin-top:14px}
.about-body .fold-in p + p{margin-top:12px}
.news-mini.fold>summary{margin-bottom:0}
.news-mini.fold[open] ul{margin-top:10px}

/* ============================================================
   07 頼み方
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:s}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding:24px 20px 20px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow)}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-13px;left:18px;
  width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;
  font-family:var(--mono);font-size:13.5px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 5px 14px rgba(31,65,114,.3)}
.step b{display:block;font-size:15.5px;margin-bottom:5px}
.step span{font-size:13px;line-height:1.85;color:var(--ink-2)}
.fee{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:start;margin-top:22px;
  padding:20px 24px;background:var(--sky-soft);border-radius:var(--r)}
.fee b{font-size:14px;color:var(--accent);white-space:nowrap;padding-top:2px}
.fee p{font-size:14px;line-height:2}
.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
@media(max-width:820px){.contacts{grid-template-columns:1fr}}
.contact{display:flex;flex-direction:column;gap:4px;padding:18px 20px;text-decoration:none;color:inherit;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.contact:hover{transform:translateY(-3px);border-color:var(--sky);box-shadow:var(--shadow-lg)}
.contact b{font-size:15px}
.contact span{font-family:var(--en);font-style:italic;font-size:13.5px;color:var(--ink-3)}
.contact-main{background:linear-gradient(120deg,var(--sky),var(--accent));border-color:transparent;color:#fff}
.contact-main span{color:rgba(255,255,255,.85)}

/* 相談フォーム */
.cform{position:relative;margin-top:0;padding:clamp(18px,3vw,26px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.cform-head{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.cform-head b{font-family:var(--serif);font-size:19px;font-weight:900;letter-spacing:.03em}
.cform-head span{font-size:13px;line-height:1.8;color:var(--ink-2)}
.cform-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.cform-grid{grid-template-columns:1fr}}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.cform .lt{display:flex;align-items:center;gap:6px}
.cform label i{font-style:normal;font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;line-height:1.6}
.cform .req{background:#fde8e8;color:#b3261e}
.cform .opt{background:var(--sky-soft);color:var(--accent)}
.cform input,.cform select,.cform textarea{font:inherit;font-size:15px;font-weight:400;color:var(--ink);
  padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);width:100%;
  transition:border-color .25s,box-shadow .25s}
.cform select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234a6285' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
.cform textarea{resize:vertical;min-height:110px;line-height:1.8}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-soft);background:#fff}
.cform input:user-invalid,.cform textarea:user-invalid{border-color:#d9534f}
.cform-msg{margin-top:12px}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform-foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:16px}
.cform-foot .btn{min-width:150px;justify-content:center}
.cform-note{font-size:13px;color:var(--ink-3)}
.cform-status{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.8;background:var(--sky-soft);color:var(--accent)}
.cform-status.is-ng{background:#fde8e8;color:#8f1f1b}
.cform.is-sent .cform-grid,.cform.is-sent .cform-msg,.cform.is-sent .cform-foot{display:none}
.cform.is-sent .cform-status{margin-top:0;padding:18px;font-size:15px}
.cform.is-busy .btn{opacity:.6;pointer-events:none}
.contacts-alt{margin-top:14px}
.contacts-alt .contact{padding:13px 16px}
.contacts-alt .contact b{font-size:13.5px}
#request{scroll-margin-top:70px}
.steps-after{margin-top:36px}

/* ============================================================
   08 おまけ（大仏）
   ============================================================ */
.omake{background:linear-gradient(180deg,var(--ground) 0%,var(--ground-2) 100%);
  border-top:1px dashed rgba(31,65,114,.3)}
.omake-in{display:grid;grid-template-columns:152px minmax(0,1fr);gap:clamp(18px,4vw,36px);align-items:center}
@media(max-width:700px){.omake-in{grid-template-columns:1fr;gap:14px;text-align:center}}
.omake img{width:152px;display:block;margin:0 auto;filter:drop-shadow(0 10px 20px rgba(6,20,45,.18))}
.omake h2{font-family:var(--serif);font-size:clamp(20px,2.6vw,26px);font-weight:900;letter-spacing:.03em;margin-bottom:8px}
.omake p{font-size:14px;line-height:1.95;color:var(--ink-2);margin-bottom:16px}
.omake .btns{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:700px){.omake .btns{justify-content:center}}

/* ============================================================
   09 フッター
   ============================================================ */
.foot{background:var(--accent);color:#fff;padding:clamp(40px,6vw,64px) 0 26px}
.foot a{color:rgba(255,255,255,.88);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:22px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand b{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.06em;display:block;margin-bottom:8px}
.foot-brand p{font-size:13px;line-height:1.9;color:rgba(255,255,255,.72)}
.foot-visit{margin-top:14px;font-family:var(--mono);font-size:13px;color:rgba(255,255,255,.6)}
.foot h5,.foot .foot-h{font-size:13px;letter-spacing:.14em;color:rgba(255,255,255,.78);font-family:var(--mono);margin-bottom:10px}
.foot li{padding:4px 0;font-size:13.5px}
.qr{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 26px;padding-top:26px;
  border-top:1px solid rgba(255,255,255,.16)}
@media(max-width:700px){.qr{grid-template-columns:1fr}}
.qr a{display:flex;gap:11px;align-items:center;text-decoration:none}
.qr img{width:56px;height:56px;border-radius:8px;background:#fff;padding:4px;flex-shrink:0}
.qr b{display:block;font-size:13px}
.qr span{font-size:12.5px;color:rgba(255,255,255,.6)}
.foot-end{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  padding-top:18px;border-top:1px solid rgba(255,255,255,.16);
  font-size:13px;color:rgba(255,255,255,.72)}

/* ============================================================
   演出（既定は見える。anim が付いたときだけ）
   ============================================================ */
@keyframes rise{to{opacity:1;transform:none}}
@keyframes emerge{to{opacity:1;filter:blur(0);transform:none}}
@keyframes kanbanIn{to{opacity:1;letter-spacing:.1em}}

.anim .shot{transform:translateY(26px) scale(.97);
  animation:slideIn 1.05s var(--ease) .1s forwards}
/* 写真と写真の枠は、透明から始めない（最初から見えていて、位置だけ動く）。
   透明から始めると「いちばん大きな画像が出るまで」が遅れて計測される（2026/10/23） */
@keyframes slideIn{to{transform:none}}
.anim .kanban{opacity:0;letter-spacing:.44em;animation:kanbanIn 1.2s var(--ease) .22s forwards}
.anim .title1{opacity:0;transform:translateY(10px);animation:rise .85s var(--ease) .22s forwards}
.anim .nm .ch > i{transform:translateY(112%);animation:charUp .95s var(--ease) forwards}
@keyframes charUp{to{transform:translateY(0)}}
.anim .nm small{opacity:0;animation:rise .8s var(--ease) 1.05s forwards}
.anim .role{opacity:0;transform:translateY(12px);animation:rise .62s var(--pop) forwards}
.anim .slides{transform:translateY(18px);animation:slideIn .95s var(--ease) .2s forwards}
.anim .door{opacity:0;transform:translateY(16px);animation:rise .8s var(--ease) forwards}
.anim .door:nth-child(1){animation-delay:1.62s}
.anim .door:nth-child(2){animation-delay:1.74s}
.anim .door:nth-child(3){animation-delay:1.86s}
.anim .peek:not(.on){transform:translateY(106%)}

/* スクロールで現れるもの（IntersectionObserver が付ける .in） */
.reveal{opacity:1}
.can-reveal .reveal{opacity:0;transform:translateY(22px);
  transition:opacity .75s var(--ease),transform .75s var(--ease)}
.can-reveal .reveal.in{opacity:1;transform:none}
.can-reveal .reveal-d1{transition-delay:.08s}
.can-reveal .reveal-d2{transition-delay:.16s}
.can-reveal .reveal-d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  .can-reveal .reveal{opacity:1!important;transform:none!important}
}

/* ============================================================
   下層ページ共通（lecture / support / achievements / profile / play）
   ============================================================ */
.phero{position:relative;overflow:hidden;background:var(--accent);color:#fff;
  padding:clamp(104px,14vw,140px) 0 clamp(44px,6vw,64px)}
.phero::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,#0b1f3f 0%,#1a3f72 46%,#2f6199 100%)}
.phero-bg{position:absolute;inset:0;z-index:0;opacity:.2}
.phero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.phero .wrap{position:relative;z-index:1}
.back{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;letter-spacing:.06em;
  color:rgba(255,255,255,.78);text-decoration:none;margin-bottom:26px}
.back:hover{color:#fff}
.phero .eyebrow{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;
  color:rgba(255,255,255,.72);margin-bottom:12px;text-transform:uppercase}
.phero h1{font-family:var(--serif);font-size:clamp(28px,4.4vw,44px);font-weight:900;
  letter-spacing:.04em;line-height:1.28;text-wrap:balance}
.phero h1 span{display:inline-block}
.phero .en{display:block;font-family:var(--en);font-style:italic;font-size:clamp(15px,1.8vw,19px);
  color:rgba(255,255,255,.62);letter-spacing:.06em;margin-top:8px}
.phero .lead{margin-top:20px;font-size:clamp(14px,1.6vw,16.5px);line-height:2;color:rgba(255,255,255,.9);max-width:46em}
.phero .marks{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.phero .marks span{font-size:13px;padding:5px 13px;border-radius:999px;
  border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08)}
.phero .note{display:inline-block;margin-top:20px;padding:9px 15px;border-radius:10px;
  border:1px dashed rgba(255,255,255,.45);background:rgba(255,255,255,.08);
  font-size:13.5px;line-height:1.75;color:rgba(255,255,255,.9)}

/* 番号つきの節 */
.sec-num{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;color:var(--sky-ink);margin-bottom:10px}

/* テーマ一覧 */
.themes{display:grid;gap:12px}
.theme{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 24px;box-shadow:var(--shadow)}
.theme > b{font-family:var(--en);font-style:italic;font-size:30px;color:var(--sky);line-height:1}
.theme h3{font-family:var(--serif);font-size:18px;font-weight:900;letter-spacing:.02em;line-height:1.5}
.theme h3 small{display:block;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--accent);margin-top:3px}
.theme .meta{font-family:var(--mono);font-size:13px;color:var(--ink-3);margin:7px 0 8px;letter-spacing:.04em}
.theme p{font-size:14px;line-height:1.95;color:var(--ink-2)}
@media(max-width:600px){.theme{grid-template-columns:1fr;gap:6px}}

/* 対象別の一覧 */
.aud{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.aud{grid-template-columns:1fr}}
.aud-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)}
.aud-box h3{display:flex;align-items:center;gap:10px;font-size:15.5px;margin-bottom:12px}
.aud-box h3 em{font-family:var(--mono);font-style:normal;font-size:12.5px;letter-spacing:.14em;color:var(--sky-ink);font-weight:400}
.aud-box li{position:relative;padding-left:15px;font-size:13.5px;line-height:1.8;color:var(--ink-2);margin-bottom:7px}
.aud-box li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--sky)}
.aud-box li b{color:var(--ink);font-weight:700}
.aud-box li i{font-style:normal;font-size:12.5px;color:var(--accent);background:var(--sky-soft);
  border-radius:999px;padding:1px 9px;margin-left:6px;white-space:nowrap}

/* 講師プロフィール */
.lecp{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,4vw,36px);align-items:start}
.lecp.no-photo{grid-template-columns:1fr}
@media(max-width:760px){.lecp{grid-template-columns:1fr}}
.lecp-photo{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--paper-2);
  border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--ink-3);font-size:13.5px;line-height:1.7;padding:14px}
.lecp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lecp-roles{font-size:13px;color:var(--ink-3);line-height:1.9;margin-bottom:14px}
.lecp-text{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-bottom:12px;box-shadow:var(--shadow)}
.lecp-text h4,.lecp-text h3{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;color:var(--sky-ink);font-weight:400;margin-bottom:9px}
.lecp-text p{font-size:13.5px;line-height:2;color:var(--ink-2)}
.lecp-text p + p{margin-top:9px}
.copy{margin-top:12px;padding:7px 15px;border-radius:999px;border:1px solid var(--line);
  background:var(--paper-2);font-size:13px;font-weight:700;color:var(--accent);cursor:pointer;transition:border-color .2s}
.copy:hover{border-color:var(--sky)}

/* 形式チップ */
.forms{display:flex;flex-wrap:wrap;gap:10px}
.forms span{padding:10px 18px;border-radius:999px;background:var(--paper);border:1px solid rgba(89,169,239,.45);
  font-size:13.5px;font-weight:700;color:var(--accent)}

/* FAQ */
.faq{display:grid;gap:12px}
.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;box-shadow:var(--shadow)}
.faq-item h4,.faq-item h3{font-size:14.5px;margin-bottom:7px}
.faq-item h4::before,.faq-item h3::before{content:"Q. ";font-family:var(--en);font-style:italic;color:var(--sky)}
.faq-item p{font-size:13.5px;line-height:1.95;color:var(--ink-2)}

.note-line{font-size:13px;line-height:1.9;color:var(--ink-3);margin-top:14px}
.note-line a{color:var(--accent);font-weight:700}

/* 事例カード（support） */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.cases{grid-template-columns:1fr}}
.case-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 22px;box-shadow:var(--shadow)}
.case-tag{display:inline-block;font-family:var(--en);font-style:italic;font-size:13.5px;
  color:var(--sky-ink);letter-spacing:.06em}
.case-card h3{font-size:16px;font-weight:800;margin:5px 0 12px;line-height:1.55}
.case-card .before{padding-left:13px;border-left:2px solid var(--line);
  font-size:13px;line-height:1.85;color:var(--ink-3);margin-bottom:11px}
.case-card .after{font-size:13.5px;line-height:1.9;color:var(--ink)}
.case-card .after::before{content:"→ ";color:var(--sky);font-weight:800}

/* 困りごと一覧（support の 01）は箱を軽く */
#pains .aud-box{padding:16px 18px;display:flex;align-items:center}
#pains .aud-box b{font-size:14.5px;font-weight:700;color:var(--accent-ink,var(--ink));line-height:1.75}

/* ============================================================
   実績一覧（achievements）
   ============================================================ */
.achv-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.fbtn{padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);
  font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:all .25s var(--ease)}
.fbtn:hover{border-color:var(--sky);color:var(--accent)}
.fbtn.is-on{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(31,65,114,.2)}
.rec-h{font-family:var(--serif);font-size:19px;font-weight:900;letter-spacing:.03em;
  margin:34px 0 14px;padding-bottom:9px;border-bottom:2px solid var(--ink)}
/* 実績ページ：写真カードを3列に。説明はたたんでおく */
.rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.rec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rec-grid{grid-template-columns:1fr}}
.rc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;
  scroll-margin-top:90px;transition:box-shadow .3s,border-color .3s}
.rc:target{border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-soft),var(--shadow-lg)}
.rc summary{list-style:none;cursor:pointer;display:block}
.rc summary::-webkit-details-marker{display:none}
.rc-photo{display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(160deg,var(--accent),#0d2a55);position:relative}
.rc-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .6s var(--ease)}
.rc summary:hover .rc-photo img{transform:scale(1.05)}
.rc-photo.is-logo{background:#fff;border-bottom:1px solid var(--line)}
.rc-photo.is-logo img{object-fit:contain;padding:18px}
.rc-photo.no-img::after{content:attr(data-cat);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:var(--serif);font-size:22px;font-weight:900;letter-spacing:.1em;opacity:.85}
.rc-body{display:block;padding:14px 16px 14px}
.rc-d{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--accent)}
.rc-d i{font-style:normal;font-family:var(--sans);font-size:12.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--sky-soft);letter-spacing:.02em}
.rc h3{font-size:15px;font-weight:800;line-height:1.55;margin:7px 0 0}
.rc-more-btn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:13px;font-weight:700;color:var(--ink-3)}
.rc-more-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .3s var(--ease)}
.rc[open] .rc-more-btn::after{transform:rotate(-135deg) translateY(-1px)}
.rc[open] .rc-more-btn .o{display:none}
.rc:not([open]) .rc-more-btn .c{display:none}
.rc-more{padding:0 16px 16px}
.rc-more p{font-size:13.5px;line-height:1.95;color:var(--ink-2)}
.rc-more .rec-tags{margin:10px 0 4px}
.rc-more .link{margin-top:6px}
.rec-list{display:grid;gap:12px}
.rec{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:18px;align-items:start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 22px;box-shadow:var(--shadow)}
.rec.is-soon{border-color:rgba(89,169,239,.45);background:linear-gradient(180deg,var(--sky-soft) 0%,var(--paper) 62%)}
.rec-date{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:.04em;padding-top:2px}
.rec-date em{display:block;font-style:normal;font-family:var(--sans);font-size:12.5px;font-weight:700;
  color:var(--ink-3);margin-top:5px;letter-spacing:.04em}
.rec-body h3{font-size:16.5px;font-weight:800;line-height:1.55;margin-bottom:7px}
.rec-body p{font-size:13.5px;line-height:1.95;color:var(--ink-2)}
.rec-body .rec-meta{font-weight:700;color:var(--accent);margin-bottom:4px}
.rec-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.rec-tags i{font-style:normal;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;
  background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line-soft)}
.rec-tags i.teach{background:#eaf3ec;color:#256b45;border-color:transparent}
.rec-tags i.open{background:var(--sky-soft);color:var(--accent);border-color:transparent}
.rec-body .link{margin-top:6px}
.rec-thumb{width:136px;height:96px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--paper-2)}
.rec-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rec-thumb.is-logo{background:#fff;border:1px solid var(--line)}
.rec-thumb.is-logo img{object-fit:contain;padding:8px}
@media(max-width:820px){
  .rec{grid-template-columns:1fr;gap:10px}
  .rec-date{display:flex;align-items:baseline;gap:10px}
  .rec-date em{margin-top:0}
  .rec-thumb{width:100%;height:170px;order:-1}
}

/* ============================================================
   プロフィール
   ============================================================ */
.pf-head{display:grid;grid-template-columns:184px minmax(0,1fr);gap:clamp(20px,4vw,36px);align-items:center}
@media(max-width:760px){.pf-head{grid-template-columns:122px minmax(0,1fr);gap:18px}}
.pf-photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:0 14px 40px rgba(6,20,45,.4);background:rgba(255,255,255,.1)}
.pf-photo img{width:100%;height:auto;display:block}
.pf-q{font-family:var(--serif);font-size:clamp(17px,2.2vw,22px);font-weight:700;line-height:1.75;
  letter-spacing:.02em;margin-bottom:18px;text-wrap:balance}
.pf-body p{font-size:14.5px;line-height:2.05;color:var(--ink-2)}
.pf-body p + p{margin-top:12px}
.pf-body strong{color:var(--ink);font-weight:700}
.pf-facts{display:grid;gap:1px;margin-top:26px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pf-facts li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;background:var(--paper);padding:14px 18px}
.pf-facts span{font-size:13px;color:var(--ink-3);letter-spacing:.06em;padding-top:2px}
.pf-facts b{font-size:14.5px;font-weight:700}
.pf-facts b em{display:block;font-style:normal;font-size:13px;font-weight:400;color:var(--ink-3);margin-top:2px}
@media(max-width:600px){.pf-facts li{grid-template-columns:1fr;gap:2px}}
.pf-block{margin-top:26px;padding:22px 24px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow)}
.pf-block h3{font-family:var(--serif);font-size:17px;font-weight:900;letter-spacing:.03em;margin-bottom:12px}
.pf-block p{font-size:14px;line-height:2;color:var(--ink-2)}
.pf-block p + p{margin-top:10px}
.pf-block strong{color:var(--ink);font-weight:700}
.pf-note{margin-top:14px;padding:14px 16px;background:var(--sky-soft);border-radius:10px;
  font-size:13.5px;line-height:1.95;color:var(--ink)}
.pf-pull{margin-top:22px;padding:22px 26px;border-left:3px solid var(--sky);
  font-family:var(--serif);font-size:clamp(16px,2vw,19px);font-weight:700;line-height:1.95;letter-spacing:.02em}
.joys{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.joys{grid-template-columns:1fr}}
.joy{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)}
.joy b{display:block;font-family:var(--serif);font-size:16px;font-weight:900;letter-spacing:.02em;margin-bottom:9px;line-height:1.6}
.joy span{font-size:13.5px;line-height:1.95;color:var(--ink-2)}
.offday{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.offday{grid-template-columns:1fr}}
.offday figure{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--paper)}
.offday img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.offday figcaption{padding:11px 14px 13px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}

/* ============================================================
   つくったもの（works）
   ============================================================ */
.wk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
@media(max-width:820px){.wk-grid{grid-template-columns:1fr}}
.wk{display:flex;flex-direction:column;overflow:hidden;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);
  transition:transform .35s var(--ease),box-shadow .35s}
.wk:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.wk-photo{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.wk-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.wk:hover .wk-photo img{transform:scale(1.04)}
.wk-photo.is-none{display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(135deg,var(--paper-2) 0 10px,#eef2f8 10px 20px);
  color:var(--ink-3);font-size:13.5px;letter-spacing:.04em}
.wk-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.wk-meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;color:var(--sky-ink)}
.wk h3,.wk h2{font-size:17px;font-weight:800;line-height:1.55}
.wk-before{padding-left:13px;border-left:2px solid var(--line);font-size:13px;line-height:1.85;color:var(--ink-3)}
.wk-after{font-size:13.5px;line-height:1.95;color:var(--ink-2)}
.wk-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.wk-tech i{font-style:normal;font-size:12.5px;padding:3px 10px;border-radius:999px;
  background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line-soft)}
.wk-note{font-size:13px;line-height:1.75;color:var(--ink-3);margin-top:auto;padding-top:6px}
.wk .link{margin-top:auto;padding-top:6px}

/* プロフィール: 機長写真・引用・見出し */
.pf-shot{margin-bottom:24px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);
  background:var(--paper);max-width:340px}
.pf-shot img{width:100%;display:block}
.pf-shot figcaption{padding:11px 15px 13px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
.pf-quote{margin:16px 0;padding:16px 20px;border-left:3px solid var(--sky);background:var(--sky-soft);
  border-radius:0 10px 10px 0;font-family:var(--serif);font-size:clamp(15px,1.9vw,17.5px);
  font-weight:700;line-height:1.9;letter-spacing:.02em;color:var(--ink)}
.pf-h3{font-family:var(--serif);font-size:18px;font-weight:900;letter-spacing:.03em;
  margin:30px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
@media(max-width:760px){.pf-shot{max-width:none}}


/* ============================================================
   いつでも相談できるボタン（画面下に固定）
   ============================================================ */
.consult{position:fixed;left:50%;bottom:16px;z-index:50;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:999px;
  background:linear-gradient(120deg,var(--sky),var(--accent));color:#fff;text-decoration:none;
  font-size:14px;font-weight:700;letter-spacing:.02em;white-space:nowrap;
  box-shadow:0 8px 28px rgba(13,37,69,.3),0 2px 6px rgba(13,37,69,.2);
  transition:transform .3s var(--ease),box-shadow .3s}
.consult:hover{transform:translateX(-50%) translateY(-3px);box-shadow:0 16px 38px rgba(13,37,69,.36)}
.consult i{font-style:normal;font-size:15px}
.consult small{font-size:13px;font-weight:500;opacity:.85;padding-left:10px;
  border-left:1px solid rgba(255,255,255,.4)}
@media(max-width:600px){
  .consult{left:12px;right:12px;bottom:12px;transform:none;justify-content:center;padding:14px 18px}
  .consult:hover{transform:translateY(-3px)}
  .consult small{display:none}
}
/* フッターに来たら、じゃまにならないよう引っ込む */
.consult.tuck{opacity:0;visibility:hidden;transform:translateX(-50%) translateY(20px)}
@media(max-width:600px){.consult.tuck{transform:translateY(20px)}}
/* ボタンのぶん、ページの末尾に余白 */
body{padding-bottom:72px}
@media(max-width:600px){body{padding-bottom:84px}}

/* About の写真2枚（自分の顔と、操縦席） */
.about-photos{display:grid;gap:12px}
.about-photos figure{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--paper)}
.about-photos img{width:100%;display:block}
.about-photos figcaption{padding:10px 14px 12px;font-size:13px;line-height:1.7;color:var(--ink-2)}
@media(max-width:820px){
  .about-photos{grid-template-columns:1fr 1fr;gap:10px;align-items:start}
  .about-photos figcaption{font-size:13px;padding:8px 11px 10px}
}

/* ============================================================
   迷っている人の入口（AI診断・はじめの一歩ナビ）
   ============================================================ */
.doors-try{margin:0 0 12px;text-align:left;font-size:13px;line-height:1.8;color:var(--ink-2)}
.doors-try a{color:var(--accent);font-weight:800;text-decoration:underline;text-underline-offset:.2em;text-decoration-color:rgba(31,65,114,.35)}
.doors-try a:hover{text-decoration-color:currentColor}
@media(max-width:880px){.doors-try{font-size:13.5px;margin-bottom:10px}}
.pan-try{font-size:13.5px;color:var(--ink-2);padding:8px 12px;border-radius:10px;background:var(--paper);border:1px dashed var(--line)}
.pan-try a{color:var(--accent);font-weight:800}
.try2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
@media(max-width:700px){.try2{grid-template-columns:1fr}}
.try2-h{grid-column:1/-1;font-size:13.5px;font-weight:800;color:var(--ink-2)}
.try2-c{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px 10px 10px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit;box-shadow:var(--shadow);
  transition:transform .3s var(--ease),border-color .3s}
.try2-c:hover{transform:translateY(-2px);border-color:var(--sky)}
.try2-c img{width:64px;height:48px;object-fit:cover;object-position:top;border-radius:8px;display:block}
.try2-c img.is-icon{object-fit:contain;background:var(--sky-soft)}
.try2-c b{display:block;font-size:14px}
.try2-c small{display:block;font-size:13px;line-height:1.6;color:var(--ink-2);margin-top:2px}
.try2-c i{font-style:normal;color:var(--accent);font-weight:800}
.try3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:700px){.try3{grid-template-columns:1fr;text-align:left}}
.try3-c{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 34px 14px 16px;border-radius:var(--r);text-decoration:none;
  color:var(--accent);background:var(--paper);border:1.5px solid var(--accent);transition:transform .3s var(--ease),background .3s}
.try3-c:hover{transform:translateY(-2px);background:var(--sky-soft)}
.try3-c.is-main{background:var(--accent);color:#fff}
.try3-c b{font-size:14.5px}
.try3-c small{font-size:13px;opacity:.85}
.try3-c i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:800}
/* 遊び場：一歩ナビの結果から相談へ */
.fstep-consult{display:inline-flex;align-items:center;gap:8px;margin:16px 0 4px;padding:12px 20px;border-radius:999px;
  background:var(--accent,#1f4172);color:#fff!important;font-weight:800;font-size:14.5px;text-decoration:none;box-shadow:0 10px 24px rgba(31,65,114,.25)}
.fstep-consult:hover{transform:translateY(-2px)}

/* 2026-10-17 実績カード：「くわしく」の中に写真を並べる（achievements.json の images） */
.rc-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 6px}
.rc-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#eef3f9}
.rc-gallery img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .4s var(--ease)}
.rc-gallery a:hover img{transform:scale(1.06)}

/* ============================================================
   2026/10/23 頼み方の並べ替え・フォーム・交流会カードの LINE
   ============================================================ */
.steps-first{margin-top:0}
.fee-first{margin-bottom:22px}
.contacts-h{margin-top:22px;font-size:13px;font-weight:700;color:var(--ink-2)}
.contacts-h + .contacts-alt{margin-top:8px}
.try2-after{margin-top:30px;margin-bottom:0}
.cform .err{display:block;font-size:13px;font-weight:700;color:#8f1f1b;line-height:1.5}
.com-line{margin:2px 0 10px;font-size:13.5px}
.com-line a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* 画面には出さず、読み上げだけに使う文字 */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* 「もっと見る」と、スマホで付いてくる絞り込み（2026/10/23） */
.more-btn{grid-column:1/-1;display:block;width:100%;margin-top:14px;padding:14px 18px;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);color:var(--accent);font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:var(--shadow)}
.more-btn:hover{background:var(--sky-soft)}
@media(max-width:700px){
  .achv-filter{position:sticky;top:70px;z-index:20;margin-left:-20px;margin-right:-20px;padding:10px 20px;
    background:rgba(244,247,251,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .achv-filter::-webkit-scrollbar{display:none}
  .achv-filter .fbtn{flex:0 0 auto}
}

/* ============================================================
   講演ページを A4 1枚に印刷する（2026/10/23）
   主催者が案内文・回覧に使う。テーマ・講師プロフィール200字・声・連絡先だけ
   ============================================================ */
.print-only{display:none}
.print-btn-wrap{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.print-btn-wrap small{font-size:13px;color:var(--ink-3)}
@media print{
  @page{size:A4;margin:9mm 12mm}
  .print-sheet{background:#fff;padding:0!important;font-size:10.5pt;color:#000}
  .print-sheet .nav,.print-sheet .consult,.print-sheet .foot,.print-sheet .pnext,.print-sheet #audience,.print-sheet #format,
  .print-sheet #request,.print-sheet .back,.print-sheet .pan-video,.print-sheet .copy,.print-sheet .print-btn-wrap,
  .print-sheet .lecp-text:nth-of-type(2),.print-sheet .phero-bg,.print-sheet .marks,.print-sheet .sec-num,.print-sheet .vmodal{display:none!important}
  .print-sheet .reveal{opacity:1!important;transform:none!important}
  .print-sheet .phero{background:none!important;color:#0d2545;padding:0 0 3mm!important;min-height:0!important}
  .print-sheet .phero::before,.print-sheet .phero::after{display:none!important}
  .print-sheet .phero *{color:#0d2545!important;text-shadow:none!important;background:none!important;border-color:#9aa9bd!important}
  .print-sheet .phero .note,.print-sheet .phero .marks,.print-sheet .phero .eyebrow{display:none!important}
  .print-sheet .phero h1{font-size:20pt!important}
  .print-sheet .phero .lead{font-size:10.5pt!important;margin-top:2mm}
  .print-sheet .sec{padding:1.5mm 0!important;background:none!important}
  .print-sheet .sec *{box-shadow:none!important}
  .print-sheet .wrap{max-width:none!important;padding:0!important}
  .print-sheet .two{display:block!important}
  .print-sheet .sec-head{margin-bottom:2mm!important}
  .print-sheet .sec-head h2{font-size:13pt!important}
  .print-sheet .sec-head .lead{display:none}
  .print-sheet .tcards{display:grid!important;grid-template-columns:1fr 1fr;gap:2mm 5mm}
  .print-sheet .tcard{display:block!important;box-shadow:none!important;border:0!important;background:none!important;break-inside:avoid}
  .print-sheet .tcard > img,.print-sheet .tcard p{display:none!important}
  .print-sheet .tcard-b{padding:0!important;gap:1mm!important}
  .print-sheet .tcard h3{font-size:11pt!important}
  .print-sheet .tcard h3 small{font-size:9.5pt!important}
  .print-sheet .tcard-k span{font-size:9pt!important;background:none!important;padding:0!important;color:#0d2545!important}
  .print-sheet .phero .marks{display:none!important}
  .print-sheet .lecp{grid-template-columns:32mm 1fr!important;gap:5mm!important}
  .print-sheet .lecp-text{padding:0!important;box-shadow:none!important;border:0!important;background:none!important}
  .print-sheet .lecp-text p{font-size:10pt!important;line-height:1.6!important}
  .print-sheet .lecp-roles{font-size:10pt!important;margin-bottom:1mm!important}
  .print-sheet .lecp-photo{box-shadow:none!important}
  .print-sheet .voices{display:grid!important;grid-template-columns:1fr 1fr;gap:3mm}
  .print-sheet .voice{padding:2mm 3mm!important;box-shadow:none!important;border:1px solid #c9d3e0!important}
  .print-sheet .voice p,.print-sheet .voice footer{font-size:9pt!important;line-height:1.5!important}
  .print-sheet .voice:nth-child(n+3){display:none}
  .print-sheet .print-foot{display:flex!important;align-items:center;gap:5mm;margin-top:3mm;padding-top:3mm;border-top:1px solid #9aa9bd;font-size:10pt}
  .print-sheet .print-foot img{width:22mm;height:22mm}
}
/* トップ「どんな人か」：プロフィールの話への入口（2026/10/23） */
.stories{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 6px}
@media(max-width:600px){.stories{grid-template-columns:1fr}}
.story{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px 40px 14px 16px;border:1px solid var(--line);border-radius:14px;
  background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:transform .25s var(--ease)}
.story:hover{transform:translateY(-2px)}
.story small{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--sky-ink)}
.story b{font-family:var(--serif);font-size:16.5px;font-weight:900;line-height:1.45}
.story span{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.story i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--accent)}
.lead-sub{margin-top:10px;font-size:14px}
/* スマホの「頼み方」：手順は番号を左に置いた細い行にして、フォームを近づける（2026/10/23） */
@media(max-width:760px){
  .steps-first{gap:8px}
  .steps-first .step{padding:12px 14px 12px 52px}
  .steps-first .step::before{top:50%;left:12px;transform:translateY(-50%)}
  .steps-first .step b{font-size:15px;margin-bottom:2px}
  .steps-first .step span{font-size:13.5px;line-height:1.6}
  .fee-first{padding:14px 16px;grid-template-columns:1fr}
  .fee-first p{line-height:1.8}
}
/* 一覧が読み込まれるまでの場所取り（あとから中身が入っても画面がずれないように）2026/10/23 */
.wk-grid:empty,#done:empty{min-height:120vh}
/* 予定の札「AI・DX支援」（ボルクバレット北九州など）2026/10/31 */
.tag-dx{background:#fdf0d8;color:#7a4b00}
.rec-tags i.dx{background:#fdf0d8;color:#7a4b00;border-color:transparent}

/* ============================================================
   2026/10/31 講演ページ・会社/個人ページを「写真と図」で
   （清水さん「字しかずらずら並んでなくて見えない」への対応）
   ============================================================ */
/* 下層ページの顔写真をはっきり見せる（左に文字の帯） */
.phero.vivid .phero-bg{opacity:.62}
.phero.vivid .phero-bg img{filter:none}
.phero.vivid::before{background:linear-gradient(90deg,rgba(13,37,69,.94) 0%,rgba(13,37,69,.82) 38%,rgba(13,37,69,.35) 72%,rgba(13,37,69,.15) 100%)}
@media(max-width:880px){.phero.vivid::before{background:linear-gradient(180deg,rgba(13,37,69,.88) 0%,rgba(13,37,69,.82) 60%,rgba(13,37,69,.6) 100%)}}
.phero .marks.nums span{font-family:var(--mono);letter-spacing:.02em}
.phero .marks.nums span b{font-family:var(--sans);font-weight:700;margin-right:5px}
.phero .marks.nums span i{font-style:normal}

/* テーマ：写真つきカード */
.tcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.tcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.tcard > img{width:100%;aspect-ratio:16/9;object-fit:cover}
.tcard-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.tcard-k{display:flex;flex-wrap:wrap;gap:6px}
.tcard-k span{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--sky-soft);color:var(--accent)}
.tcard-k span.t{background:var(--green-soft,#eaf3ec);color:#256b45}
.tcard h3{font-family:var(--serif);font-size:18px;font-weight:900;letter-spacing:.02em;line-height:1.45}
.tcard h3 small{display:block;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--accent);margin-top:3px}
.tcard p{font-size:14px;line-height:1.85;color:var(--ink-2)}
.tcard-where{font-size:13px;color:var(--ink-3);padding-top:6px;border-top:1px solid rgba(13,37,69,.07)}
.tcard-where b{color:var(--ink-2);font-weight:700}

/* こんな場所で：対象ごとの写真カード */
.wgrp + .wgrp{margin-top:22px}
.wgrp h3{display:flex;align-items:baseline;gap:10px;font-size:16px;font-weight:800;margin-bottom:10px}
.wgrp h3 em{font-family:var(--mono);font-style:normal;font-size:12.5px;letter-spacing:.14em;color:var(--sky-ink);font-weight:400}
.wgrp h3 small{font-size:12.5px;color:var(--ink-3);font-weight:500}
.wcards{display:grid;gap:10px}
.wcard{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .25s var(--ease),border-color .25s}
.wcard:hover{transform:translateY(-2px);border-color:var(--sky)}
.wcard img,.wcard .noimg{width:104px;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--paper-2)}
.wcard-b{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:6px}
.wcard-d{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);letter-spacing:.03em}
.wcard-d i{font-style:normal;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--accent);background:var(--sky-soft);padding:1px 7px;border-radius:999px;margin-left:6px}
.wcard b{font-size:15px;line-height:1.45}
.wcard small{font-size:13px;color:var(--ink-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wsoon{margin-top:8px;display:grid;gap:6px}
.wsoon li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;padding:8px 12px;background:var(--paper-2);border-radius:10px}
.wsoon li i{font-style:normal;font-size:12px;font-weight:700;color:#256b45;background:#eaf3ec;padding:1px 8px;border-radius:999px}
.wsoon li span{color:var(--ink-3);font-family:var(--mono);font-size:12.5px}
@media(min-width:880px){
  .wcards{grid-template-columns:repeat(3,1fr)}
  .wcard{grid-template-columns:1fr;padding:0;overflow:hidden;align-items:start}
  .wcard img,.wcard .noimg{width:100%;aspect-ratio:16/10;border-radius:0}
  .wcard-b{padding:10px 14px 14px}
}

/* 形式：3枚 */
.fmts{display:grid;gap:10px}
.fmt{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.fmt b{display:block;font-family:var(--serif);font-size:18px;font-weight:900;letter-spacing:.02em}
.fmt em{display:block;font-style:normal;font-family:var(--mono);font-size:22px;color:var(--sky-ink);margin:4px 0 6px;letter-spacing:-.01em}
.fmt span{font-size:13.5px;color:var(--ink-2);line-height:1.7}
@media(min-width:700px){.fmts{grid-template-columns:repeat(3,1fr)}}

/* 流れ：横につながる図（携帯は縦） */
.tl{position:relative;display:grid;gap:12px;margin-top:18px;counter-reset:tl}
.tl li{position:relative;padding:14px 16px 14px 58px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.tl li::before{counter-increment:tl;content:counter(tl);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--mono);font-size:14px;display:grid;place-items:center}
.tl li b{display:block;font-size:15.5px;margin-bottom:3px}
.tl li span{font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.tl li em{display:block;font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--sky-ink);margin-top:6px;letter-spacing:.04em}
@media(min-width:880px){
  .tl{grid-template-columns:repeat(var(--n,3),1fr);gap:18px}
  .tl::before{content:"";position:absolute;left:8%;right:8%;top:31px;height:2px;background:linear-gradient(90deg,var(--sky),var(--accent));opacity:.5}
  .tl li{padding:46px 16px 16px;text-align:center}
  .tl li::before{left:50%;transform:translateX(-50%);top:-15px;width:32px;height:32px;box-shadow:0 0 0 4px var(--paper-2)}
  .sec:not(.sec-alt) .tl li::before{box-shadow:0 0 0 4px var(--ground-2,#fbf8f2)}
  .tl li b{font-size:16px}
}

/* よくある質問：たたむ */
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:0 18px}
.faq details summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:baseline;padding:14px 0;font-size:14.5px;font-weight:700}
.faq details summary::-webkit-details-marker{display:none}
.faq details summary::before{content:"Q.";font-family:var(--en);font-style:italic;color:var(--sky-ink);flex:0 0 auto}
.faq details summary::after{content:"＋";margin-left:auto;color:var(--ink-3);font-weight:400;flex:0 0 auto}
.faq details[open] summary::after{content:"－"}
.faq details p{font-size:13.5px;line-height:1.95;color:var(--ink-2);padding:0 0 14px 26px}

/* 困りごと：印つきカード */
.pains{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pain{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}
.pain svg{flex:0 0 auto;width:30px;height:30px;stroke:var(--sky-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pain b{font-size:14.5px;line-height:1.5;display:block}
.pain small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px}
@media(max-width:600px){.pains{grid-template-columns:1fr}}

/* 事例：図つき */
.cv{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:4px 0 12px;padding:12px;background:var(--paper-2);border-radius:10px}
.cvb{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.5;text-align:center;font-weight:700;color:var(--ink-2)}
.cvb.is-after{color:var(--accent);border-color:rgba(89,169,239,.6);background:var(--sky-soft)}
.cva{font-size:20px;color:var(--sky-ink);font-weight:700}
.case-card > img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:4px 0 12px;border:1px solid var(--line)}
.sites{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.sites a{display:block;text-decoration:none;color:inherit}
.sites img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border-radius:10px;border:1px solid var(--line)}
.sites b{display:block;font-size:13px;line-height:1.5;margin-top:6px}
@media(max-width:600px){.sites{grid-template-columns:repeat(3,1fr);gap:8px}.sites b{font-size:12px}}

/* 個人で教わる：写真つき例 */
.exs{display:grid;gap:12px}
.exc{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px;box-shadow:var(--shadow)}
.exc img{width:112px;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.exc b{display:block;font-size:15.5px;line-height:1.5}
.exc span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.7;margin-top:3px}
@media(min-width:880px){.exs{grid-template-columns:repeat(3,1fr)}.exc{grid-template-columns:1fr;padding:0;overflow:hidden;align-items:start}.exc img{width:100%;aspect-ratio:16/10;border-radius:0}.exc > div{padding:12px 14px 14px}}
.howchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.howchips span{font-size:13.5px;font-weight:700;padding:7px 14px;border-radius:999px;background:var(--paper);border:1px solid rgba(89,169,239,.5);color:var(--accent)}
/* 講演ページの顔写真：PCは顔が見出しの上に来るよう下側を見せる。スマホは顔（左寄り）が画面に入るように（2026/11/01） */
.phero-bg img.face-left{object-position:50% 100%}
@media(max-width:880px){.phero-bg img.face-left{object-position:18% 50%;transform:scale(1.28);transform-origin:25% 100%}}

/* ============================================================
   2026/11/01 名刺型トップ（清水さん「紹介に使うと分かりにくい」への答え）
   いまの良いところ（空・機影・大仏・写真の枠・写真の帯・おまけ）は残して、
   最初の1画面を「誰で・何の人で・何をしてきたか・どう頼むか」に
   ============================================================ */
/* 名刺：写真｜名前と肩書｜写真の枠、その下に数字4つ */
.hero-in.meishi{grid-template-areas:"shot who slides" "join join join" "acts acts acts";align-items:start;padding-bottom:34px}
.hero-in.meishi .ln{grid-area:auto}
.hero-in.meishi .shot{align-self:start}
.hero-in.meishi .who{padding-top:6px}
.kana{font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;color:#bcd7f5;margin-bottom:4px}
.hero-in.meishi h1.nm{margin-bottom:8px}
.titles{display:grid;gap:4px;margin:4px 0 14px;font-size:15px;font-weight:700;line-height:1.5;color:#fff}
.titles li{position:relative;padding-left:13px}
.titles li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:#ffe2a8}
.titles a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.titles small{font-size:12.5px;font-weight:500;color:#bcd7f5;margin-left:7px}
.proof{grid-area:proof;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px;list-style:none;padding:0}
.proof li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.proof > li > b{font-family:var(--mono);font-size:30px;font-weight:500;line-height:1;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.proof > li > b em{font-style:normal;font-size:13px;margin-left:2px}
.proof li span{font-size:12.5px;line-height:1.45;color:#dce9f8}
.proof li span b{display:block;font-size:13.5px;font-weight:700;color:#fff;line-height:1.4}
.proof li span i{font-style:normal}
/* 行動3つ（扉の代わり）。地上に置く */
.acts{grid-area:acts;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.act{display:flex;flex-direction:column;gap:1px;padding:13px 18px;border-radius:999px;background:rgba(255,255,255,.94);border:1.5px solid #fff;color:var(--accent);text-decoration:none;text-align:center;box-shadow:0 10px 26px rgba(6,20,45,.18);transition:transform .25s var(--ease),background .25s}
.act:hover{transform:translateY(-2px);background:#fff}
.act b{font-size:16px;font-weight:800;letter-spacing:.02em;color:var(--ink)}
.act small{font-size:12.5px;color:var(--ink-2)}
.act.is-main{background:var(--accent);border-color:#fff}
.act.is-main b{color:#fff}
.act.is-main small{color:#dce9f8}
.latest-wrap{background:var(--paper-2);padding:14px 0 4px}
.latest-wrap .latest{margin-top:0}
@media(max-width:880px){
  .hero-in.meishi{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"shot who" "join join" "acts acts" "slides slides";padding-bottom:58px;gap:14px 14px}
  .hero-in.meishi .shot{width:112px}
  .hero-in.meishi .who{padding-right:0}
  .hero-in.meishi .slides{max-width:none;height:auto;aspect-ratio:16/8;margin:0}
  .hero-in.meishi .slide .cap b{font-size:15px}
  .hero-in.meishi h1.nm small{display:block;margin:2px 0 0}
  .titles{font-size:14.5px}
  .proof{grid-template-columns:1fr 1fr;gap:8px;margin-top:0}
  .hero-in.meishi .ln{margin-bottom:0}
  .hero-in.meishi .who{padding-bottom:0}
  .proof > li > b{font-size:26px}
  .acts{grid-template-columns:1fr;gap:9px;margin-top:2px}
  .act{padding:12px 16px}
}
/* やっていること：3行（写真は小さく・名詞＋これまで＋次は） */
.rows{display:grid;gap:12px}
.wrow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:start;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.wrow > img{width:120px;aspect-ratio:1;object-fit:cover;border-radius:10px}
.wrow h3{font-family:var(--serif);font-size:19px;font-weight:900;letter-spacing:.02em;line-height:1.4}
.wrow .d{font-size:14px;color:var(--ink-2);line-height:1.75;margin-top:4px}
.wrow .names{margin-top:8px;font-size:13.5px;line-height:1.7}
.wrow .names b{color:var(--ink-3);font-weight:700;margin-right:5px}
.wrow .next{margin-top:5px;font-size:13.5px;color:#256b45;font-weight:700;line-height:1.6}
.wrow .next:empty{display:none}
.wrow .go{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.wrow .go .btn{padding:8px 13px;font-size:13.5px;margin-top:0}
@media(max-width:600px){.wrow{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px}.wrow > img{width:72px}.wrow h3{font-size:17.5px}}
/* 実績の読める一覧 */
.reclist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.reclist{grid-template-columns:1fr}}
.grp{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px 10px}
.grp h3{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;color:var(--sky-ink);font-weight:500;margin-bottom:4px}
.grp li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:6px 0;border-top:1px solid rgba(13,37,69,.07);font-size:14px;line-height:1.55}
.grp li:first-child{border-top:0}
.grp li .d{color:var(--ink-3);font-family:var(--mono);font-size:12.5px;white-space:nowrap;padding-top:3px}
.grp li.soon{color:var(--ink-2)}
.grp li.soon .d{color:#256b45}
.tiles.mini{margin-top:14px;grid-template-columns:repeat(4,1fr);gap:8px}
.tiles.mini .tile-cap b{font-size:12.5px}
.tiles.mini .tile-d{font-size:11.5px}
@media(max-width:700px){.tiles.mini{grid-template-columns:repeat(3,1fr)}.tiles.mini .tile:nth-child(n+7){display:none}.tiles.mini .tile-cap{left:8px;right:8px;bottom:7px}.tiles.mini .tile-d i{display:none}}
#record .voices{margin-top:16px}
/* 参加する */
.join{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.join{grid-template-columns:1fr}}
.jc{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.jc h3{font-family:var(--serif);font-size:19px;font-weight:900;letter-spacing:.02em}
.jc .m{font-size:13.5px;color:var(--ink-2);line-height:1.7}
.jc .com-next{margin:2px 0}
.jc .btn{align-self:flex-start;margin-top:2px}
.jc-line{font-size:13px;margin-top:2px}
.jc-line a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* リンク集（サイトの地図） */
.links{background:var(--paper-2)}
.lk{display:grid;gap:10px}
.lk li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px 10px 10px}
.lk img{width:72px;height:72px;border-radius:8px;border:1px solid var(--line);background:#fff}
.lk b{display:block;font-size:15px;line-height:1.4}
.lk span{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-top:1px}
.lk code{display:block;font-family:var(--mono);font-size:12px;color:var(--sky-ink);margin-top:4px;word-break:break-all;user-select:all}
.lk-copy{font:inherit;font-size:13px;font-weight:800;padding:9px 14px;border-radius:999px;border:1.5px solid var(--accent);background:var(--paper);color:var(--accent);cursor:pointer;white-space:nowrap}
.lk-copy.ok{background:var(--accent);color:#fff}
@media(max-width:600px){.lk li{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:10px 12px}.lk img{display:none}.lk span{display:none}.lk code{margin-top:2px}.lk-copy{padding:8px 12px}}
/* 名刺型：地上は細く（大仏と、迷った人向けの一行だけ）2026/11/01 */
.hero .land-in{padding-top:14px;padding-bottom:14px}
.hero .doors-try{margin:0;padding-right:96px}
@media(max-width:880px){.hero .doors-try{padding-right:72px;font-size:13.5px}}

/* ============================================================
   2026/11/01b 名刺の数字 → 主催・代表している会に参加する／実績は写真を先に
   ============================================================ */
.hjoin{grid-area:join;margin-top:22px}
.hjoin-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:15px;font-weight:800;color:#fff;margin-bottom:10px;letter-spacing:.02em}
.hjoin-h small{font-size:13px;font-weight:500;color:#dce9f8}
.hjoin-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hjoin .jc{color:var(--ink);box-shadow:0 14px 34px rgba(6,20,45,.22)}
.hjoin .jc h3{display:flex;align-items:center;gap:8px;color:var(--ink)}
.jc-role{font-style:normal;font-family:var(--sans);font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--warm-soft);color:#7a4b00;letter-spacing:.04em}
@media(max-width:880px){
  .hjoin{margin-top:0}
  .hjoin-cards{grid-template-columns:1fr;gap:10px}
  .hjoin .jc{padding:14px 16px}
  .hjoin .jc .btn{width:100%;justify-content:center}
}
/* 実績：写真6枚を先に（PC 3列×2・携帯 2列×3） */
.tiles.rec-photos{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.tiles.rec-photos .tile{aspect-ratio:3/2}
.tiles.rec-photos .tile-cap b{font-size:14px}
@media(max-width:700px){.tiles.rec-photos{grid-template-columns:1fr 1fr;gap:8px}.tiles.rec-photos .tile{aspect-ratio:4/3}.tiles.rec-photos .tile-cap{left:9px;right:9px;bottom:8px}.tiles.rec-photos .tile-cap b{font-size:13px}.tiles.rec-photos .tile-d i{display:none}}
/* 一覧：名前の下にひとこと（試作の形） */
.grp li .n small{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.5;margin-top:1px}
/* 実績ページ：これからの予定は1行ずつ（写真の実績を先に見せるため・2026/11/01） */
.srows{display:grid;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:6px}
.srow{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:11px 16px;border-top:1px solid rgba(13,37,69,.07);align-items:start}
.srow:first-child{border-top:0}
.srow .sd{font-family:var(--mono);font-size:13px;color:var(--accent);line-height:1.5;padding-top:1px}
.srow .sb{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:14.5px;line-height:1.55}
.srow .sb a{color:var(--ink);text-decoration:none}
.srow .sb a:hover b{text-decoration:underline}
.srow .sb small{flex-basis:100%;font-size:12.5px;color:var(--ink-3)}
.srow .sb i{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--sky-soft);color:var(--accent)}
.srow .sb i.teach{background:#eaf3ec;color:#256b45}
.srow .sb i.dx{background:#fdf0d8;color:#7a4b00}
@media(max-width:600px){.srow{grid-template-columns:76px minmax(0,1fr);padding:10px 12px;gap:10px}}
/* トップ「北九州でAIに困ったら」（窓口・つなぐ）2026/11/01 */
.ask3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:ak;list-style:none;padding:0;margin:0}
.ask3 li{position:relative;padding:16px 16px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.ask3 li::before{counter-increment:ak;content:counter(ak);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--mono);font-size:13px;margin-bottom:8px}
.ask3 li:last-child{background:var(--warm-soft);border-color:rgba(216,148,44,.35)}
.ask3 b{display:block;font-family:var(--serif);font-size:17px;font-weight:900;letter-spacing:.02em}
.ask3 span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.7;margin-top:4px}
.ask-net{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start;margin-top:14px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.ask-net img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.ask-h{font-size:13px;font-weight:800;color:var(--sky-ink);letter-spacing:.06em;margin-top:2px}
.ask-h + ul,.ask-h + p{margin-top:6px}
.ask-facts{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px;font-size:14px}
.ask-facts li{padding-left:14px;position:relative}
.ask-facts li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--sky)}
.ask-chips{display:flex;flex-wrap:wrap;gap:6px}
.ask-chips span{font-size:13px;font-weight:700;padding:4px 11px;border-radius:999px;background:var(--sky-soft);color:var(--accent)}
.ask-note{margin-top:10px;font-size:12.5px;color:var(--ink-3)}
.ask-go{margin-top:16px}
@media(max-width:760px){.ask3{grid-template-columns:1fr}.ask-net{grid-template-columns:1fr}}
/* 声が増えたので、携帯では横にめくる形（縦に長くしない）2026/11/01 */
@media(max-width:700px){
  .voices.vscroll{display:flex;grid-template-columns:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;margin-left:-20px;margin-right:-20px;padding:2px 20px 10px;scrollbar-width:none}
  .voices.vscroll::-webkit-scrollbar{display:none}
  .voices.vscroll .voice{flex:0 0 82%;scroll-snap-align:start}
}
.voices-hint{display:none;font-size:12.5px;color:var(--ink-3);margin-top:4px}
@media(max-width:700px){.voices-hint{display:block}}
.two > *{min-width:0}
