/* KSK Pop theme.css — 値は tokens.css の変数だけを使う（新しい色・余白・文字サイズを作らない） */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--f-body);scroll-padding-top:var(--s-24);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-body);font-size:var(--fs-md);line-height:var(--lh-body);line-break:strict;word-break:normal;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--c-primary)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:var(--lh-head);margin:0;overflow-wrap:anywhere;word-break:auto-phrase}
p{margin:0}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.nowrap{white-space:nowrap}
.screen-reader-text,.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:var(--s-4);top:var(--s-4);width:auto;height:auto;padding:var(--s-3) var(--s-6);background:var(--c-white);border:2px solid var(--c-ink);border-radius:var(--r-pill);z-index:100;color:var(--c-ink);font-weight:700}
.wrap{width:min(100% - var(--s-8),var(--w-content));margin-inline:auto}
.sec{padding:var(--s-24) 0}
.sec--tint{background:var(--c-surface)}
.sec--list{padding-top:var(--s-12)}
.eyebrow{display:inline-block;font-family:var(--f-body);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;color:var(--c-primary);margin-bottom:var(--s-3)}
.h2{font-size:var(--fs-2xl);margin-bottom:var(--s-4)}
.lead{color:var(--c-ink-2);max-width:var(--w-text);margin-bottom:var(--s-8)}
.sec__more{margin-top:var(--s-8);font-weight:700}
.sec__more a{display:inline-flex;min-height:44px;align-items:center}
.mark{background:linear-gradient(transparent 62%,var(--c-accent) 62%,var(--c-accent) 92%,transparent 92%);padding:0 var(--s-1)}
.note{font-size:var(--fs-xs);color:var(--c-ink-2);margin-top:var(--s-6)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:56px;padding:0 var(--s-8);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-sm);text-decoration:none;border:2px solid var(--c-ink);transition:transform .15s,box-shadow .15s;text-align:center}
.btn--main{background:var(--c-primary);color:var(--c-white);box-shadow:var(--sh-pop)}
.btn--main:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--c-ink)}
.btn--sub{background:var(--c-white);color:var(--c-ink)}
.btn--sub:hover{background:var(--c-sky)}

/* header */
.hd{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-line)}
.hd__in{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:var(--s-6)}
.logo{display:inline-flex;align-items:center;min-height:52px;padding:var(--s-3) 0;text-decoration:none}
.logo img{display:block;height:52px;width:auto}
.nav{display:flex;align-items:center;gap:var(--s-4)}
.nav__toggle{display:none}
.nav__list{list-style:none;display:flex;gap:var(--s-2);align-items:center}
.nav__item>a,.nav__btn{color:var(--c-ink);text-decoration:none;font-size:var(--fs-xs);font-weight:700;min-height:44px;padding:0 var(--s-3);display:inline-flex;align-items:center;border-radius:var(--r-pill)}
.nav__item>a:hover,.nav__btn:hover{background:var(--c-sky)}
.nav__item--sub{display:none}
.nav .btn{min-height:44px;padding:0 var(--s-6);font-size:var(--fs-xs);white-space:nowrap}
.nav__item--mega{position:relative}
.nav__btn::after{content:"";width:8px;height:8px;border-right:2px solid var(--c-ink);border-bottom:2px solid var(--c-ink);transform:rotate(45deg);margin:-4px 0 0 var(--s-2)}
.mega{position:absolute;left:50%;top:100%;transform:translateX(-50%);width:min(100vw - var(--s-8),960px);background:var(--c-white);border:2px solid var(--c-ink);border-radius:var(--r-md);box-shadow:var(--sh-card);padding:var(--s-8);display:none;z-index:50}
.mega.is-open,.nav__item--mega:hover .mega,.nav__item--mega:focus-within .mega{display:block}
.mega__in{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-6)}
.mega__t{display:block;font-family:var(--f-display);color:var(--c-primary);font-size:var(--fs-md);margin-bottom:var(--s-2)}
.mega__group ul{list-style:none}
.mega__group a{display:flex;align-items:center;min-height:44px;color:var(--c-ink);text-decoration:none;font-size:var(--fs-xs);border-bottom:1px solid var(--c-line)}
.mega__group a:hover{color:var(--c-primary)}
.mega__foot{grid-column:1/-1;display:flex;gap:var(--s-6);flex-wrap:wrap;padding-top:var(--s-4);border-top:1px solid var(--c-line)}
.mega__foot a{font-size:var(--fs-xs);font-weight:700;min-height:44px;display:inline-flex;align-items:center}

/* hero (top) */
.hero{position:relative;overflow:hidden;padding:var(--s-16) 0 var(--s-24)}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-12);align-items:center}
.hero h1{font-size:var(--fs-3xl);margin-bottom:var(--s-6)}
.h1-kw{display:block;font-family:var(--f-body);font-size:var(--fs-xs);line-height:1.6;margin-bottom:var(--s-2)}
.hero__def{color:var(--c-ink-2);margin-bottom:var(--s-8)}
.hero__cta,.phero__cta{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-bottom:var(--s-4)}
.hero__note{font-size:var(--fs-xs);color:var(--c-ink-2);word-break:auto-phrase}
.trust{list-style:none;margin:0 0 var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);font-size:var(--fs-xs);color:var(--c-ink-2)}
.trust b{color:var(--c-primary-strong);font-size:var(--fs-sm);margin-right:var(--s-1)}
.hero__art{position:relative}
.hero__art img{display:block;width:100%;height:auto;border-radius:var(--r-lg)}
.hero__chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4);justify-content:center}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--c-white);border:2px solid var(--c-ink);box-shadow:var(--sh-pop);font-size:var(--fs-xs);font-weight:700;color:var(--c-ink);text-decoration:none}
.hero__chips .chip{animation:float 6s ease-in-out infinite}
.hero__chips .chip:nth-child(3n){animation-delay:-2s}.hero__chips .chip:nth-child(3n+1){animation-delay:-4s}
.chip--b{background:var(--c-primary);color:var(--c-white)}
.chip--y{background:var(--c-accent)}
a.chip:hover{transform:translateY(-2px)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* inner hero */
.phero{padding:var(--s-8) 0 var(--s-12)}
.phero__grid{display:grid;grid-template-columns:1fr;gap:var(--s-12);align-items:center}
.phero--img .phero__grid{grid-template-columns:1.2fr .8fr}
.phero h1{font-size:var(--fs-2xl);margin-bottom:var(--s-6)}
.phero__lead{color:var(--c-ink-2);margin-bottom:var(--s-8);max-width:var(--w-text)}
.phero__art img{display:block;width:100%;height:auto;border-radius:var(--r-lg);border:2px solid var(--c-ink)}
.phero__art--ceo{max-width:360px;margin-inline:auto}
.phero__cap{font-size:var(--fs-xs);color:var(--c-ink-2);margin-top:var(--s-3);text-align:center}

/* breadcrumbs */
.bc{padding:var(--s-4) 0 0;font-size:var(--fs-xs);color:var(--c-ink-2)}
.bc__list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-1) 0}
.bc__item{display:inline-flex;align-items:center;min-height:32px}
.bc__item+.bc__item::before{content:"／";margin:0 var(--s-2);color:var(--c-line)}
.bc__item a{color:var(--c-ink-2);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.bc__item a:hover{color:var(--c-primary)}

/* article */
.article{padding:0 0 var(--s-16)}
.article--wide .prose{max-width:none}
.meta-line{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);font-size:var(--fs-xs);color:var(--c-ink-2);padding:var(--s-4) 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);margin-bottom:var(--s-12)}
.prose{max-width:var(--w-text)}
.prose>*+*{margin-top:var(--s-6)}
.prose h2{font-size:var(--fs-xl);margin-top:var(--s-16);padding-left:var(--s-4);border-left:8px solid var(--c-primary)}
.prose h3{font-size:var(--fs-lg);margin-top:var(--s-12)}
.prose p{margin-top:var(--s-4)}
.prose ul,.prose ol{margin-top:var(--s-4);padding-left:var(--s-6)}
.prose li+li{margin-top:var(--s-2)}
.prose img{border-radius:var(--r-md)}
.prose a{text-decoration-thickness:2px;text-underline-offset:3px}
.prose strong{font-weight:700}
.c-sec{margin-top:var(--s-16)}
.c-sec:first-child{margin-top:0}
.c-sec>h2:first-child{margin-top:0}
.c-check{list-style:none;padding:0}
.c-check li{position:relative;padding:var(--s-3) var(--s-4) var(--s-3) var(--s-12);background:var(--c-surface);border-radius:var(--r-sm);border:1px solid var(--c-line)}
.c-check li::before{content:"✓";position:absolute;left:var(--s-4);top:var(--s-3);width:28px;height:28px;border-radius:50%;background:var(--c-accent);border:2px solid var(--c-ink);display:grid;place-items:center;font-weight:700;font-size:var(--fs-xs)}
.c-steps{list-style:none;padding:0;counter-reset:st}
.c-steps li{position:relative;padding:var(--s-4) 0 var(--s-4) var(--s-16);border-left:2px solid var(--c-line);margin-left:var(--s-6)}
.c-steps li::before{counter-increment:st;content:counter(st);position:absolute;left:-24px;top:var(--s-4);width:48px;height:48px;border-radius:50%;background:var(--c-primary);color:var(--c-white);display:grid;place-items:center;font-family:var(--f-display);font-size:var(--fs-lg);border:2px solid var(--c-ink)}
.c-steps li h3{margin-top:0;font-size:var(--fs-md);min-height:48px;display:flex;align-items:center}
.c-steps li p{margin-top:var(--s-2);color:var(--c-ink-2)}
.c-steps--row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-8)}
.c-steps--row li{border-left:0;margin:0;padding:var(--s-16) var(--s-6) var(--s-6);background:var(--c-white);border:2px solid var(--c-ink);border-radius:var(--r-md)}
.c-steps--row li::before{left:var(--s-6);top:-24px}
.c-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-sm);overflow:hidden}
.c-table th,.c-table td{padding:var(--s-3) var(--s-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--c-line)}
.c-table thead th{background:var(--c-sky);color:var(--c-primary-strong);font-weight:700}
.c-table tbody th{background:var(--c-surface);font-weight:700;width:34%}
.c-table tr:last-child td,.c-table tr:last-child th{border-bottom:0}
.table-wrap,.prose table{display:block;overflow-x:auto}
.c-price__scope{margin-top:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--c-accent-soft);border-radius:var(--r-sm);font-size:var(--fs-sm)}
.c-price__link{margin-top:var(--s-3);font-size:var(--fs-sm);font-weight:700}
.c-price__note{margin-top:var(--s-8);font-size:var(--fs-xs);color:var(--c-ink-2)}
.c-links{list-style:none;padding:0}
.c-links li{border-bottom:1px solid var(--c-line)}
.c-links a{display:flex;align-items:center;min-height:48px;text-decoration:none;color:var(--c-ink);font-weight:700}
.c-links a::after{content:"→";margin-left:auto;color:var(--c-primary);padding-left:var(--s-4)}
.c-links a:hover{color:var(--c-primary)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-8)}
.chips .chip{box-shadow:none}

/* faq */
.faq{max-width:840px;margin-top:var(--s-8)}
.prose .faq{margin-top:var(--s-4)}
.faq details{border-bottom:1px solid var(--c-line)}
.faq summary{cursor:pointer;list-style:none;font-weight:700;min-height:64px;display:flex;align-items:center;gap:var(--s-4);padding:var(--s-2) 0}
.faq summary::before{content:"Q";font-family:var(--f-display);color:var(--c-primary);flex:none}
.faq summary::-webkit-details-marker{display:none}
.faq details p{padding:0 0 var(--s-6) var(--s-8);color:var(--c-ink-2);font-size:var(--fs-sm);margin:0}

/* cards */
.card{background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-8);box-shadow:var(--sh-card)}
.card h3{font-size:var(--fs-lg);margin-bottom:var(--s-3)}
.card p{color:var(--c-ink-2);font-size:var(--fs-sm)}
.card--link{display:block;text-decoration:none;color:var(--c-ink);transition:transform .15s}
.card--link:hover{transform:translateY(-2px)}
.card__meta{display:block;font-size:var(--fs-xs);color:var(--c-ink-2);margin-bottom:var(--s-2)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}
.num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-accent);border:2px solid var(--c-ink);font-family:var(--f-display);font-size:var(--fs-md);margin-bottom:var(--s-4)}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}

/* asks */
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s-12);align-items:center}
.split img{display:block;width:100%;height:auto}
.split--tight{margin-top:var(--s-12)}
.split h3{font-size:var(--fs-lg);margin-bottom:var(--s-3)}
.split h3+p{margin-bottom:var(--s-6);color:var(--c-ink-2)}
.asks{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);margin-top:var(--s-8)}
.ask{word-break:auto-phrase;background:var(--c-white);border-radius:var(--r-md);padding:var(--s-6);border:2px dashed var(--c-line);font-size:var(--fs-sm);font-weight:700}
.ask::before{content:"「";color:var(--c-primary)}.ask::after{content:"」";color:var(--c-primary)}

/* services */
.groups{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);margin-top:var(--s-8)}
.group{background:var(--c-white);border:2px solid var(--c-ink);border-radius:var(--r-md);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}
.group__t{font-family:var(--f-display);font-size:var(--fs-lg);color:var(--c-primary)}
.group ul{list-style:none;display:flex;flex-direction:column;gap:var(--s-2)}
.group a{color:var(--c-ink);font-size:var(--fs-sm);text-decoration:none;display:flex;min-height:44px;align-items:center;border-bottom:1px solid var(--c-line)}
.group a::after{content:"→";margin-left:auto;color:var(--c-primary)}
.svc-group{margin-top:var(--s-12)}
.svc-group h2{font-size:var(--fs-xl);margin-bottom:var(--s-6)}
.svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-6)}
.svc-card{display:flex;flex-direction:column;gap:var(--s-3);background:var(--c-white);border:2px solid var(--c-ink);border-radius:var(--r-md);padding:var(--s-8);text-decoration:none;color:var(--c-ink);transition:transform .15s}
.svc-card:hover{transform:translateY(-2px)}
.svc-card h3{font-size:var(--fs-lg);color:var(--c-primary)}
.svc-card p{color:var(--c-ink-2);font-size:var(--fs-sm)}
.svc-card__more{font-size:var(--fs-xs);font-weight:700;margin-top:auto}
.svc-card__more::after{content:" →"}

/* works */
.works{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-12);margin-top:var(--s-8)}
.works ul{list-style:none;display:flex;flex-direction:column;gap:var(--s-3)}
.works li{background:var(--c-white);border-radius:var(--r-sm);border-left:8px solid var(--c-primary);font-size:var(--fs-sm);box-shadow:var(--sh-card)}
.works li a{display:flex;align-items:center;min-height:56px;padding:var(--s-3) var(--s-6);color:var(--c-ink);text-decoration:none;font-weight:700}
.works li a:hover{color:var(--c-primary)}
.works__sub{font-size:var(--fs-lg);margin-bottom:var(--s-3)}
.works__p{font-size:var(--fs-sm);color:var(--c-ink-2);margin-bottom:var(--s-4)}
.works-list{list-style:none}
.works-list li{border-bottom:1px solid var(--c-line);padding:var(--s-4) 0}
.prods{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.prod{background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-6)}
.prod b{display:block;font-family:var(--f-display);font-size:var(--fs-md)}
.prod b a{color:var(--c-ink);text-decoration:none}
.prod b a:hover{color:var(--c-primary)}
.prod span{font-size:var(--fs-xs);color:var(--c-ink-2)}
.badge{display:inline-block;font-size:var(--fs-xs);font-weight:700;padding:0 var(--s-2);border-radius:var(--r-pill);background:var(--c-sky);color:var(--c-primary-strong);margin-bottom:var(--s-2)}
.badge--soon{background:var(--c-accent-soft);color:var(--c-ink)}

/* ideas */
.ideas__head{display:grid;grid-template-columns:auto 1fr;gap:var(--s-8);align-items:center}
.avatar-wrap{position:relative;width:160px;flex:none}
.avatar-crop{width:160px;height:160px;border-radius:50%;overflow:hidden;border:2px solid var(--c-ink);background:var(--c-sky)}
.avatar-crop img{width:150%;height:150%;max-width:none;margin:-14% 0 0 -25%;display:block}
.avatar__tag{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--c-accent);color:var(--c-ink);font-size:var(--fs-xs);padding:0 var(--s-3);border-radius:var(--r-pill);border:2px solid var(--c-ink);font-weight:700}
.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-top:var(--s-12)}
.idea{background:var(--c-white);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--c-line);box-shadow:var(--sh-card);text-decoration:none;color:var(--c-ink);display:flex;flex-direction:column;transition:transform .15s}
.idea:hover{transform:translateY(-2px)}
.idea__img{aspect-ratio:1200/630;background:var(--c-sky);display:grid;place-items:center;overflow:hidden}
.idea__img img{width:100%;height:100%;object-fit:cover}
.idea__body{padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-2)}
.idea__body h3{font-size:var(--fs-md)}
.idea__meta{font-size:var(--fs-xs);color:var(--c-ink-2)}
.idea-notice{display:inline-block;background:var(--c-accent-soft);border:2px solid var(--c-ink);border-radius:var(--r-sm);padding:var(--s-2) var(--s-4);font-size:var(--fs-sm);margin-bottom:var(--s-6)}
.idea-facts{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);font-size:var(--fs-xs);color:var(--c-ink-2)}
.ai-staff{display:grid;grid-template-columns:auto 1fr;gap:var(--s-8);align-items:center;margin-top:var(--s-16);padding:var(--s-8);background:var(--c-surface);border-radius:var(--r-md);border:1px solid var(--c-line)}
.ai-staff__name{font-family:var(--f-display);font-size:var(--fs-lg)}
.ai-staff__name small{font-family:var(--f-body);font-size:var(--fs-xs);color:var(--c-ink-2);margin-left:var(--s-2)}
.ai-staff__comment{margin-top:var(--s-3)}
.ai-staff .note{margin-top:var(--s-3)}
.source{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);align-items:center;padding:var(--s-4) var(--s-6);background:var(--c-surface);border-left:8px solid var(--c-primary);border-radius:var(--r-sm);font-size:var(--fs-sm);margin-bottom:var(--s-8)}
.source__label{font-weight:700;color:var(--c-primary-strong)}

/* flow */
.flow-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s-12);align-items:center}
.flow-wrap>img{display:block;width:100%;height:auto}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6);counter-reset:f;margin-top:var(--s-12)}
.flow-wrap .flow{grid-template-columns:1fr 1fr}
.step{position:relative;background:var(--c-white);border-radius:var(--r-md);padding:var(--s-8) var(--s-6) var(--s-6);border:2px solid var(--c-ink)}
.step::before{counter-increment:f;content:counter(f);position:absolute;top:-24px;left:var(--s-6);width:48px;height:48px;border-radius:50%;background:var(--c-primary);color:var(--c-white);display:grid;place-items:center;font-family:var(--f-display);font-size:var(--fs-lg);border:2px solid var(--c-ink)}
.step h3{font-size:var(--fs-md);margin-bottom:var(--s-2)}
.step p{font-size:var(--fs-sm);color:var(--c-ink-2)}
.flow__more{margin-top:var(--s-8);font-weight:700}
.flow__more a{display:inline-flex;min-height:44px;align-items:center}

/* ceo */
.ceo{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s-12);align-items:center}
.ceo__photo{aspect-ratio:4/5;border-radius:var(--r-lg);border:2px solid var(--c-ink);overflow:hidden;background:var(--c-sky)}
.ceo__photo img{display:block;width:100%;height:100%;object-fit:cover}
.ceo__tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-6)}
.ceo p+p{margin-top:var(--s-4)}
.sign{font-family:var(--f-display);margin-top:var(--s-6)}
.prose--message p{font-size:var(--fs-md)}
.company-logo{margin:var(--s-8) 0 var(--s-12)}
.company-logo img{height:64px;width:auto}
.c-map iframe{width:100%;height:400px;border-radius:var(--r-md);border:2px solid var(--c-ink)}
.c-map__link{margin-top:var(--s-3);font-weight:700}

/* voice */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-top:var(--s-8)}
.voice{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-8);position:relative}
.voice::before{content:"“";position:absolute;top:var(--s-2);left:var(--s-4);font-family:var(--f-display);font-size:var(--fs-3xl);line-height:1;color:var(--c-accent)}
.voice p{font-size:var(--fs-sm);margin-top:var(--s-6)}
.voice cite{display:block;font-style:normal;font-size:var(--fs-xs);color:var(--c-ink-2);margin-top:var(--s-4)}

/* related */
.related__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6)}
.related__card{display:flex;flex-direction:column;gap:var(--s-2);background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-6);text-decoration:none;color:var(--c-ink);box-shadow:var(--sh-card);transition:transform .15s}
.related__card:hover{transform:translateY(-2px)}
.related__type{font-size:var(--fs-xs);color:var(--c-primary);font-weight:700}
.related__card h3{font-size:var(--fs-md)}
.related__card p{font-size:var(--fs-xs);color:var(--c-ink-2)}

/* cta */
.cta{background:var(--c-primary);color:var(--c-white);border-radius:var(--r-lg);padding:var(--s-16) var(--s-12);text-align:center;border:2px solid var(--c-ink);box-shadow:0 8px 0 var(--c-ink)}
.cta h2{font-size:var(--fs-2xl);margin-bottom:var(--s-4)}
.cta p{max-width:640px;margin:0 auto var(--s-8);word-break:auto-phrase}
.cta .btn--main{background:var(--c-accent);color:var(--c-ink)}
.cta__sub{font-size:var(--fs-xs);margin:var(--s-6) auto 0}

/* forms */
.contact-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);margin-bottom:var(--s-12)}
.contact-way{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-6);background:var(--c-white);border:2px solid var(--c-ink);border-radius:var(--r-md);text-decoration:none;color:var(--c-ink);font-size:var(--fs-xs)}
.contact-way__t{font-family:var(--f-display);font-size:var(--fs-lg);color:var(--c-primary)}
.c-form{display:flex;flex-direction:column;gap:var(--s-6);max-width:var(--w-text)}
.c-form__row{display:flex;flex-direction:column;gap:var(--s-2);border:0;padding:0;margin:0;min-width:0}
.c-form label,.c-form legend{font-weight:700;font-size:var(--fs-sm)}
.c-form .req{display:inline-block;font-size:var(--fs-xs);color:var(--c-white);background:var(--c-primary);border-radius:var(--r-pill);padding:0 var(--s-2);margin-left:var(--s-2)}
.c-form input[type=text],.c-form input[type=email],.c-form input[type=tel],.c-form textarea{font:inherit;font-size:var(--fs-sm);padding:var(--s-3) var(--s-4);border:2px solid var(--c-ink);border-radius:var(--r-sm);background:var(--c-white);min-height:48px;width:100%}
.c-form__radios{display:flex;flex-wrap:wrap;gap:var(--s-3)}
.c-form__radio{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);border:2px solid var(--c-line);border-radius:var(--r-pill);font-weight:400}
.c-form__radio input{width:20px;height:20px;accent-color:var(--c-primary)}
.c-form__hp{position:absolute;left:-9999px}
.c-form__policy{font-size:var(--fs-xs);color:var(--c-ink-2)}
.notice{padding:var(--s-6);border-radius:var(--r-md);border:2px solid var(--c-ink);margin-bottom:var(--s-8);background:var(--c-white)}
.notice--ok{background:var(--c-accent-soft)}
.notice--ok h2{font-size:var(--fs-lg);margin-bottom:var(--s-2)}
.notice--ng{background:var(--c-sky)}
.c-booking iframe{width:100%;border:2px solid var(--c-ink);border-radius:var(--r-md);background:var(--c-white)}
.c-booking__note{font-size:var(--fs-xs);color:var(--c-ink-2);margin-top:var(--s-3)}
.c-booking--pending{padding:var(--s-8);background:var(--c-white);border:2px dashed var(--c-ink);border-radius:var(--r-md)}

/* footer */
.ft{padding:var(--s-16) 0 var(--s-24);font-size:var(--fs-xs);color:var(--c-ink-2);background:var(--c-surface);border-top:1px solid var(--c-line)}
.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-8)}
.ft .logo img{height:56px}
.ft__addr{margin-top:var(--s-4)}
.ft__addr a{color:var(--c-ink-2)}
.ft__sns{margin-top:var(--s-2)}
.ft a{color:var(--c-ink-2);text-decoration:none}
.ft a:hover{color:var(--c-primary)}
.ft__links{list-style:none}
.ft__links a{display:inline-flex;min-height:44px;align-items:center}
.ft__copy{margin-top:var(--s-8);padding-top:var(--s-6);border-top:1px solid var(--c-line)}
.bar{display:none}
.fab{position:fixed;right:var(--s-4);bottom:var(--s-4);z-index:30;display:inline-flex;align-items:center;min-height:56px;padding:0 var(--s-6);border-radius:var(--r-pill);background:var(--c-accent);color:var(--c-ink);border:2px solid var(--c-ink);box-shadow:var(--sh-pop);font-weight:700;font-size:var(--fs-sm);text-decoration:none}
.fab[hidden]{display:none}
.fab:hover{transform:translateY(-2px)}
.pagination{margin-top:var(--s-12)}
.nav-links{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--s-3);border:2px solid var(--c-ink);border-radius:var(--r-pill);text-decoration:none;color:var(--c-ink);font-weight:700;font-size:var(--fs-xs)}
.nav-links .current{background:var(--c-primary);color:var(--c-white)}
.sitemap-cols .c-sec{margin-top:var(--s-12)}

@media (max-width:1024px){
	.groups{grid-template-columns:repeat(2,1fr)}
	.flow{grid-template-columns:repeat(2,1fr);row-gap:var(--s-12)}
	.flow-wrap{grid-template-columns:1fr}
	.related__grid{grid-template-columns:repeat(2,1fr)}
	.mega__in{grid-template-columns:repeat(3,1fr)}
	.cards,.ideas,.voices,.promise,.asks{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
	body{font-size:var(--fs-sm)}
	.sec{padding:var(--s-16) 0}
	.hd__in{min-height:64px}
	.logo{min-height:44px}
	.logo img{height:36px}
	.nav{gap:var(--s-2)}
	.nav__toggle{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;min-width:44px;padding:0 var(--s-3);font-size:var(--fs-xs);font-weight:700;border:2px solid var(--c-ink);border-radius:var(--r-pill);background:var(--c-white)}
	.nav__toggle-bar{width:18px;height:2px;background:var(--c-ink);box-shadow:0 -6px 0 var(--c-ink),0 6px 0 var(--c-ink)}
	.nav__panel{display:none;position:fixed;left:0;right:0;top:64px;bottom:0;background:var(--c-white);overflow-y:auto;padding:var(--s-6) var(--s-4) var(--s-32);z-index:45;border-top:2px solid var(--c-ink)}
	.nav__panel.is-open{display:block}
	.nav__list{flex-direction:column;align-items:stretch;gap:0}
	.nav__item>a,.nav__btn{width:100%;min-height:52px;border-radius:0;border-bottom:1px solid var(--c-line);font-size:var(--fs-sm);justify-content:space-between}
	.nav__item--sub{display:block}
	.nav__btn::after{margin-left:auto}
	.mega{position:static;transform:none;width:auto;border:0;box-shadow:none;padding:var(--s-4) 0 var(--s-6);border-radius:0;background:var(--c-surface)}
	.nav__item--mega:hover .mega{display:none}
	.mega.is-open{display:block}
	.mega__in{grid-template-columns:1fr;gap:var(--s-4)}
	.mega__group a{font-size:var(--fs-sm)}
	.nav .nav__cta{min-height:44px;padding:0 var(--s-4)}
	.hero{padding:var(--s-8) 0 var(--s-16)}
	.hero__grid,.works,.ceo,.ideas__head,.split,.phero--img .phero__grid,.ai-staff{grid-template-columns:1fr}
	.hero h1{font-size:var(--fs-xl)}
	.phero h1,.h2,.cta h2{font-size:var(--fs-xl)}
	.prose h2{font-size:var(--fs-lg)}
	.prose h3{font-size:var(--fs-md)}
	.groups,.promise,.asks,.ideas,.voices,.flow,.prods,.ft__grid,.cards,.related__grid,.svc-cards,.contact-ways,.c-steps--row,.mega__in{grid-template-columns:1fr}
	.flow{row-gap:var(--s-12)}
	.flow-wrap .flow{grid-template-columns:1fr}
	.cta{padding:var(--s-12) var(--s-6)}
	.ceo__photo{aspect-ratio:1/1}
	.c-table thead{display:none}
	.c-table tr{display:block;padding:var(--s-3) 0;border-bottom:1px solid var(--c-line)}
	.c-table th,.c-table td{display:block;border:0;padding:var(--s-1) var(--s-4);width:auto}
	.c-table--price td::before{content:attr(data-label);display:inline-block;min-width:96px;margin-right:var(--s-2);font-size:var(--fs-xs);color:var(--c-ink-2);font-weight:700}
	.c-table tbody th{background:transparent;color:var(--c-primary-strong)}
	.c-table--company tr{display:grid;grid-template-columns:1fr}
	.ft{padding-bottom:var(--s-32)}
	.fab{bottom:calc(var(--s-16) + var(--s-4))}
	.bar{display:grid;grid-template-columns:1fr 1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--c-white);border-top:2px solid var(--c-ink);padding:var(--s-2) var(--s-2) calc(var(--s-2) + env(safe-area-inset-bottom,0px));gap:var(--s-2)}
	.bar a{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;text-decoration:none;color:var(--c-ink);border:2px solid var(--c-ink)}
	.bar a.main{background:var(--c-primary);color:var(--c-white)}
	.c-steps li{margin-left:var(--s-4);padding-left:var(--s-12)}
	.c-steps li::before{left:-24px;width:44px;height:44px;font-size:var(--fs-md)}
	.c-steps--row li{padding:var(--s-12) var(--s-6) var(--s-6);margin:0}
	.c-steps--row li::before{left:var(--s-6)}
	.trust{gap:var(--s-2) var(--s-4)}
}
@media (prefers-reduced-motion:reduce){
	.hero__chips .chip{animation:none}
	.btn,.chip,.card--link,.svc-card,.idea,.related__card,.fab{transition:none}
}

/* footer small */
.ft small{font-size:var(--fs-xs)}

/* fixes: タップ領域・スマホ表の見出し幅 */
.prod b a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:760px){
	.c-table tbody th{width:auto}
	.c-table th,.c-table td{width:auto}
}
.card h2{font-size:var(--fs-lg);margin-bottom:var(--s-3)}
.hero__chips .chip{min-height:48px}
.sitemap-cols h2 a{display:inline-flex;min-height:44px;align-items:center}

/* 表は本文幅より広く使う（比較表・料金表の列が窮屈にならないように） */
.prose .c-table,.prose table{width:min(100vw - var(--s-8),var(--w-content))}
.prose .c-price .c-table{width:100%}

/* 事業のアイキャッチ */
.svc-card__img{display:block;width:100%;height:auto;border-radius:var(--r-sm);background:var(--c-surface)}
.phero--img .phero__art img{border:0;background:var(--c-surface)}

/* 審査反映: 番号付きリストの流れ・blockquote の声 */
ol.flow{list-style:none;padding:0;margin:var(--s-12) 0 0}
blockquote.voice{margin:0}
