/* 縁works サイト共通スタイル（Claude Design「コーポレートサイト上部デザイン案」2026-09 を静的HTML化） */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F5F5F5;color:#111;font-family:'Noto Sans JP','Hiragino Sans',sans-serif}
a{color:#111}
a:hover{color:#111}
img{max-width:100%}
@keyframes dcrise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes dcmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}

.f-inter{font-family:'Inter Tight','Helvetica Neue',sans-serif}
.f-mono{font-family:'IBM Plex Mono',monospace}
.muted{color:#6E6E6E}
.nowrap{white-space:nowrap}
.sp{display:none}
[hidden]{display:none!important}
.hov-u{text-decoration:none}
.hov-u:hover{text-decoration:underline}
canvas{display:block;width:100%;height:100%}

/* 5カラムの格子 */
.g5{display:grid;grid-template-columns:repeat(5,1fr)}
.c2-3{grid-column:2 / span 3}.c2-2{grid-column:2 / span 2}.c2-4{grid-column:2 / span 4}
.c3-3{grid-column:3 / span 3}.c4-2{grid-column:4 / span 2}.c1-2{grid-column:1 / span 2}.c1-3{grid-column:1 / span 3}

/* ティッカー */
.ticker{height:40px;background:#E8E8E8;border-bottom:1px solid #D0D0D0;overflow:hidden;display:flex;align-items:center}
.ticker-in{display:flex;white-space:nowrap;animation:dcmarq 50s linear infinite;font-size:14px;color:#6E6E6E;letter-spacing:0.02em}
.ticker-in span{font-family:'Inter Tight','Noto Sans JP',sans-serif;margin-right:40px}

/* ヘッダー（追従。PCは右に横並び、スマホは右上のハンバーガー） */
.hdr{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;background:rgba(245,245,245,0.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;font-family:'Inter Tight','Helvetica Neue',sans-serif;font-size:17px;line-height:1.5;transition:border-color .3s,padding .3s}
.hdr.scrolled{border-bottom-color:#D0D0D0;padding-top:14px;padding-bottom:14px}
.hdr-nav{display:flex;align-items:center;gap:36px}
.hdr-nav a{position:relative;text-decoration:none}
.hdr-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.hdr-nav a[aria-current]{text-decoration:underline;text-underline-offset:4px}
.hdr-nav a[aria-current]:not(.hdr-contact)::before{content:"";position:absolute;left:-12px;top:50%;width:6px;height:6px;border-radius:50%;background:#C1272D;transform:translateY(-50%)}
.hdr-contact{display:flex;align-items:center;gap:12px;padding:8px 18px;border:1px solid #111}
.hdr-contact:hover{background:#111;color:#F5F5F5!important;text-decoration:none!important}
.hdr-contact .dot{width:8px;height:8px;border-radius:50%;background:#111}
.hdr-contact:hover .dot{background:#F5F5F5}
.hdr-contact[aria-current] .dot{background:#C1272D}
.hdr-burger{display:none}
section[id]{scroll-margin-top:84px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#111}
.logo-mark{position:relative;width:30px;height:18px;flex:none}
.logo-mark i{position:absolute;top:0;width:18px;height:18px;border:1.5px solid #9AA0AC;border-radius:50%}
.logo-mark i:first-child{left:0}
.logo-mark i+i{left:11px;border-color:#C9543F}
.logo-txt{font-family:'Noto Serif JP',serif;font-weight:700;font-size:24px;line-height:1;letter-spacing:0}
.logo-txt span{font-family:'Playfair Display','Noto Serif JP',serif;font-weight:700}

/* セクション共通 */
.sec{position:relative;border-top:1px solid #D0D0D0}
.sec.white{background:#FFFFFF}
.mk{position:absolute;left:48px;right:48px;top:0;height:0;pointer-events:none;z-index:2}
.mk span{position:absolute;top:0;width:6px;height:6px;background:#111;transform:translate(-50%,-50%)}
.h2{margin:0;font-family:'Inter Tight',sans-serif;font-weight:500;font-size:48px;line-height:1.2;letter-spacing:-0.01em}
.corner{position:absolute;width:8px;height:8px;background:#111}
.corner.tl{left:0;top:0;transform:translate(-50%,-50%)}.corner.tr{right:0;top:0;transform:translate(50%,-50%)}
.corner.bl{left:0;bottom:0;transform:translate(-50%,50%)}.corner.br{right:0;bottom:0;transform:translate(50%,50%)}
.corner.bl0{left:0;bottom:0}.corner.br0{right:0;bottom:0}
.line-link{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #111;text-decoration:none}
.line-link:hover{border-bottom-color:#C1272D}
.line-link .dot{border-radius:50%;background:#C1272D}
.sysinfo{position:absolute;left:20px;top:18px;font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:15px;color:#111}

/* トップ：ヒーロー */
.hero-wrap{padding:0 48px 48px}
.hero{position:relative;height:780px;border:1px solid #111;overflow:hidden}
.hero-canvas{position:absolute;inset:0}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;pointer-events:none;text-align:center}
.hero-copy>*{opacity:0;background:#F5F5F5;will-change:opacity,transform}
.hero-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.2em;padding:4px 10px}
.hero-copy h1{margin:0;font-weight:500;font-size:52px;line-height:1.5;letter-spacing:0.16em;padding:8px 24px}
.hero-copy p{margin:0;font-size:16px;line-height:2;letter-spacing:0.14em;padding:4px 16px}
.scroll{position:absolute;left:28px;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#F5F5F5;padding:8px 2px;font-family:'Inter Tight',sans-serif;font-size:12px}
.scroll span:first-child{writing-mode:vertical-rl;letter-spacing:0.2em}

/* About */
.about{padding:176px 48px 192px;align-items:start}
.about-v{writing-mode:vertical-rl;font-size:34px;line-height:1.9;letter-spacing:0.24em;font-weight:500;height:420px}
.about-lead{margin:0;font-size:28px;line-height:1.9;letter-spacing:0.12em;font-weight:500;text-wrap:pretty}
.about-body{margin:48px 0 0;max-width:560px;font-size:16px;line-height:2.1;letter-spacing:0.12em}

/* Service */
.service{padding:128px 48px 64px}
.svc-head{margin-bottom:96px}
.svc-head p{margin:12px 0 0;font-size:16px;line-height:2;letter-spacing:0.12em}
.svc-row{border-top:1px solid #D0D0D0;padding:80px 0;align-items:start}
.svc-no{font-family:'Inter Tight',sans-serif;font-size:32px}
.svc-name{margin-left:-120px}
.svc-en{font-family:'Inter Tight',sans-serif;font-weight:500;font-size:clamp(64px,7vw,100px);line-height:1;letter-spacing:-0.035em;white-space:nowrap}
.svc-ja{margin-top:16px;font-size:14px;letter-spacing:0.2em;color:#6E6E6E}
.svc-txt{padding-top:12px}
.svc-txt h3{margin:0;font-size:22px;line-height:1.7;letter-spacing:0.1em;font-weight:500}
.svc-txt p{margin:16px 0 0;font-size:16px;line-height:2;letter-spacing:0.12em}
.svc-end{border-top:1px solid #D0D0D0;padding-top:48px}

/* Flow */
.flow{padding:160px 48px 176px}
.flow-head{align-items:start;margin-bottom:112px}
.flow-head p{margin:0;font-size:34px;line-height:1.7;letter-spacing:0.14em;font-weight:500}
.flow-grid{position:relative;align-items:start}
.flow-rule{position:absolute;left:20%;right:0;top:0;height:1px;background:#111}
.flow-label{grid-column:1;padding-top:40px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.16em;color:#6E6E6E;line-height:2}
.step{position:relative;padding:40px 40px 0 0}
.step .pin{position:absolute;left:0;top:0;width:10px;height:10px;background:#111;transform:translate(-50%,-50%)}
.step .pin.red{background:#C1272D}
.step-no{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.14em}
.step-en{margin-top:24px;font-family:'Inter Tight',sans-serif;font-weight:500;font-size:56px;line-height:1;letter-spacing:-0.03em}
.step h3{margin:32px 0 0;font-size:20px;line-height:1.7;letter-spacing:0.1em;font-weight:500}
.step p{margin:14px 0 0;font-size:15px;line-height:2;letter-spacing:0.12em}
.flow-ask{position:relative;padding:40px 0 0 40px}
.flow-ask .pin{position:absolute;left:0;top:0;width:6px;height:6px;background:#111;transform:translate(-50%,-50%)}
.flow-ask .muted{margin:0;font-size:14px;line-height:2;letter-spacing:0.14em}
.flow-ask .q{margin:20px 0 0;padding-left:1em;text-indent:-1em;white-space:nowrap;font-size:16px;line-height:2;letter-spacing:0.08em;font-weight:500}
.flow-ask .q+.q{margin-top:12px}

/* トップ：Products 帯 */
.prod-band{padding:128px 48px 96px}
.prod-band-head{align-items:start;margin-bottom:88px}
.prod-band-head .t{margin:8px 0 0;font-size:24px;line-height:1.7;letter-spacing:0.14em;font-weight:500}
.prod-band-head .s{margin:12px 0 0;font-size:15px;line-height:2;letter-spacing:0.12em}
.prod-band-row{border-top:1px solid #D0D0D0;padding:32px 0;align-items:center}
.prod-band-row .f-mono{font-size:11px;letter-spacing:0.16em;color:#6E6E6E}
.prod-band-link{justify-self:end;width:360px;padding:0 0 14px;font-size:16px;letter-spacing:0.1em}
.prod-band-link .dot{width:8px;height:8px}

/* トップ：Contact 帯 */
.contact-band{padding:48px}
.contact-box{position:relative;border:1px solid #111;padding:112px 0 104px;align-items:start}
.contact-box-label{padding-left:32px;display:flex;flex-direction:column;gap:12px}
.contact-box-label .f-mono{font-size:11px;letter-spacing:0.2em;color:#6E6E6E}
.contact-box-label h2{margin:0;font-family:'Inter Tight',sans-serif;font-weight:400;font-size:24px;line-height:1.2;letter-spacing:0.01em}
.contact-box-main{padding-right:48px}
.contact-box-main .big{margin:0;font-size:28px;line-height:1.8;letter-spacing:0.22em;font-weight:400}
.contact-box-cols{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;align-items:start}
.contact-box-cols .txt{grid-column:1 / span 2;margin:0;padding-right:56px;font-size:13px;line-height:2.2;letter-spacing:0.14em;color:#333333}
.contact-box-cols .info{grid-column:3 / span 2}
.kv{display:flex;flex-direction:column}
.kv>div{display:grid;grid-template-columns:80px 1fr;padding:14px 0;border-top:1px solid #D0D0D0;align-items:baseline}
.kv>div:last-child{border-bottom:1px solid #D0D0D0}
.kv .k{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;color:#6E6E6E}
.kv .v{font-family:'Inter Tight',sans-serif;font-weight:300;font-size:16px;letter-spacing:0.02em;text-decoration:none}
.kv .v:hover{text-decoration:underline}
.kv .s{font-size:12px;line-height:2;letter-spacing:0.12em}
.contact-box .line-link{margin-top:64px;width:320px;font-size:13px;letter-spacing:0.16em}
.contact-box .line-link .dot{width:6px;height:6px}

/* フッター */
.ftr{padding:0 48px 48px}
.ftr.pad-top{padding-top:48px}
.ftr-box{position:relative;border:1px solid #111;overflow:hidden;padding:88px 0 0}
.ftr-bg{position:absolute;inset:0;pointer-events:none}
.ftr-geo{position:absolute;right:20px;top:18px;display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#111}
.ftr-geo .logo-mark{width:20px;height:12px}
.ftr-geo .logo-mark i{width:12px;height:12px;border-width:1px}
.ftr-geo .logo-mark i+i{left:7px}
.ftr-main{position:relative;align-items:start;padding:0 32px}
.ftr-tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.2em;background:#F5F5F5;justify-self:start;padding:2px 6px}
.ftr-addr{padding-right:48px}
.ftr-addr .en{margin:0;font-family:'Inter Tight',sans-serif;font-weight:400;font-size:32px;line-height:1.2;letter-spacing:-0.01em;background:#F5F5F5;display:inline-block;padding:0 6px 0 0}
.ftr-addr .ja{margin:16px 0 0;font-size:13px;line-height:2.1;letter-spacing:0.14em;background:#F5F5F5}
.ftr-info{display:flex;flex-direction:column;font-size:12px;line-height:1.9;letter-spacing:0.12em;background:#F5F5F5}
.ftr-info>div{display:grid;grid-template-columns:96px 1fr;padding:12px 0;border-top:1px solid #D0D0D0}
.ftr-info>div:last-child{border-bottom:1px solid #D0D0D0}
.ftr-info .k{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;color:#6E6E6E}
.ftr-bar{position:relative;margin-top:96px;border-top:1px solid #111;background:#F5F5F5;align-items:center;padding:20px 32px;font-size:12px;letter-spacing:0.12em}
.ftr-bar .top{justify-self:end;display:flex;align-items:center;gap:10px;font-family:'Inter Tight',sans-serif;letter-spacing:0.08em}

/* 下層ページのヒーロー（Products / Contact） */
.sub-hero-wrap{padding:0 48px 48px}
.sub-hero{position:relative;border:1px solid #111;overflow:hidden}
.sub-hero .bg{position:absolute;inset:0;pointer-events:none}
.crumb{position:absolute;right:24px;top:18px;display:flex;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;background:#F5F5F5;padding:2px 6px}
.crumb a{text-decoration:none;color:#6E6E6E}
.crumb a:hover{color:#111;text-decoration:underline}
.sub-hero-foot{position:absolute;left:0;right:0;bottom:0;align-items:end;padding:0 32px 36px}
.sub-hero h1{margin:0 0 -18px -6px;font-family:'Inter Tight',sans-serif;font-weight:500;font-size:clamp(112px,10.5vw,176px);line-height:0.85;letter-spacing:-0.045em;background:#F5F5F5;justify-self:start;padding:0 12px 18px 6px}
.sub-hero-txt{background:#F5F5F5;padding:12px 0 0}
.sub-hero-txt .t{margin:0;font-size:22px;line-height:1.7;letter-spacing:0.16em;font-weight:500}
.sub-hero-txt .s{margin:12px 0 0;font-size:13px;line-height:2.1;letter-spacing:0.12em}

/* Products ページ */
.plist{padding:64px 48px 128px}
.filter-row{align-items:center;margin-bottom:56px}
.filter-row>.f-mono{font-size:11px;letter-spacing:0.16em;color:#6E6E6E}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip-f{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid #D0D0D0;background:transparent;color:#111;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.1em}
.chip-f:hover{border-color:#111}
.chip-f[aria-pressed="true"]{background:#111;color:#FFF;border-color:#111}
.chip-f span{opacity:0.7}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:96px}
.card{display:flex;flex-direction:column;opacity:0;animation:dcrise 0.8s cubic-bezier(.2,.7,.2,1) forwards}
.card[hidden]{display:none}
.card-img{position:relative;aspect-ratio:3 / 2;overflow:hidden;background:#1E2547}
.card-img .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.16) 1px,transparent 1.2px);background-size:16px 16px;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.card-img .dots:hover{transform:scale(1.03)}
.card-img .no{position:absolute;left:16px;top:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;color:#FFFFFF}
.card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:24px}
.card-meta .en{font-family:'Inter Tight',sans-serif;font-size:14px;letter-spacing:0.04em;color:#6E6E6E}
.badge{display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.08em;background:#E6E6E6;padding:4px 10px}
.badge i{width:6px;height:6px;background:#111}
.badge.pub i{background:#C1272D}.badge.con i{background:#6E6E6E}
.card h2{margin:12px 0 0;font-size:24px;line-height:1.6;letter-spacing:0.12em;font-weight:500}
.card p{margin:12px 0 0;max-width:520px;font-size:14px;line-height:2.1;letter-spacing:0.12em}
.ask{padding:128px 48px}
.ask .g5{align-items:end}
.ask .big{margin:0;font-size:28px;line-height:1.8;letter-spacing:0.18em;font-weight:400}
.ask .small{margin:24px 0 0;font-size:13px;line-height:2.1;letter-spacing:0.14em;color:#333333}
.ask .line-link{justify-self:end;width:360px;padding-bottom:14px;font-size:16px;letter-spacing:0.1em}
.ask .line-link .dot{width:8px;height:8px}

/* Products ページ：説明文の一覧（画像なし） */
.plist-items{border-top:1px solid #111}
.pitem{display:grid;grid-template-columns:2fr 3fr;gap:48px;padding:64px 0;border-bottom:1px solid #D0D0D0}
.pitem-head{display:flex;flex-direction:column;align-items:flex-start;position:sticky;top:32px;align-self:start}
.pitem-meta{display:flex;align-items:center;gap:16px}
.pitem-meta .no{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.14em}
.pitem-head h2{margin:20px 0 0;font-size:32px;line-height:1.5;letter-spacing:0.1em;font-weight:500}
.pitem-head .en{margin-top:8px;font-family:'Inter Tight',sans-serif;font-size:14px;letter-spacing:0.04em;color:#6E6E6E}
.pitem-head .for{margin-top:20px;font-size:13px;letter-spacing:0.1em;border-left:2px solid #C1272D;padding-left:10px}
.pitem-body{max-width:680px}
.pitem-body .lead{margin:0;font-size:20px;line-height:1.9;letter-spacing:0.1em;font-weight:500}
.pitem-body p{margin:20px 0 0;font-size:15px;line-height:2.1;letter-spacing:0.08em}
.pitem-body h3{margin:40px 0 0;font-family:'IBM Plex Mono','Noto Sans JP',monospace;font-size:12px;font-weight:400;letter-spacing:0.16em;color:#6E6E6E}
.pitem-body ul{margin:16px 0 0;padding:0;list-style:none;border-top:1px solid #D0D0D0}
.pitem-body li{position:relative;padding:14px 0 14px 22px;border-bottom:1px solid #D0D0D0;font-size:15px;line-height:1.9;letter-spacing:0.06em}
.pitem-body li::before{content:"";position:absolute;left:2px;top:25px;width:6px;height:6px;background:#111}
.pitem-body .note{margin-top:16px;padding:16px 20px;background:#E8E8E8;font-size:14px}

/* Contact ページ */
.cform-sec{padding:96px 48px 128px;align-items:start}
.cform-aside{padding-right:64px;position:sticky;top:32px}
.cform-aside .lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.16em;color:#6E6E6E;display:block}
.cform-aside .lead{margin:20px 0 0;font-size:20px;line-height:1.9;letter-spacing:0.14em;font-weight:500}
.qa{margin-top:28px;display:flex;flex-direction:column}
.qa>div{display:grid;grid-template-columns:48px 1fr;padding:16px 0;border-top:1px solid #D0D0D0;align-items:baseline}
.qa>div:last-child{border-bottom:1px solid #D0D0D0}
.qa .f-mono{font-size:11px}
.qa span+span{font-size:15px;letter-spacing:0.12em}
.after{margin-top:20px;display:flex;flex-direction:column;gap:18px}
.after>div{display:grid;grid-template-columns:48px 1fr;align-items:baseline}
.after i{width:8px;height:8px;background:#111}
.after i.red{background:#C1272D}
.after span{font-size:13px;line-height:2;letter-spacing:0.12em}
.cform-aside .kv{margin-top:64px;font-size:13px;letter-spacing:0.1em}
.cform-aside .kv>div{padding:12px 0}
.cform-aside .kv .v{font-weight:400;font-size:13px}
.cform-panel{background:#E8E8E8;padding:64px 56px 72px}
.cform{display:flex;flex-direction:column;gap:36px}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cform label.fld{display:flex;flex-direction:column;gap:12px}
.cform .lab{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;letter-spacing:0.1em}
.req{font-size:12px;font-weight:400;color:#6E6E6E;background:#F5F5F5;border-radius:999px;padding:2px 10px}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform textarea{border:none;border-bottom:1px solid #FFFFFF;background:#FFFFFF;padding:20px;font:inherit;font-size:16px;outline:none;border-radius:0;color:#111;width:100%}
.cform textarea{line-height:1.9;resize:vertical}
.cform input:focus,.cform textarea:focus{border-bottom-color:#111}
.cform .bad{border-bottom-color:#C1272D!important}
input::placeholder,textarea::placeholder{color:#6E6E6E}
.chip-c{padding:14px 22px;border:1px solid #FFFFFF;background:#FFFFFF;color:#111;cursor:pointer;font-family:'Noto Sans JP',sans-serif;font-size:14px;letter-spacing:0.1em}
.chip-c.sm{padding:12px 18px;font-size:13px;letter-spacing:0.08em}
.chip-c[aria-pressed="true"]{background:#111;color:#FFFFFF;border-color:#111}
.agree{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:0.1em;cursor:pointer}
.agree input{width:18px;height:18px;margin:0;accent-color:#111}
.err{margin:-12px 0 0;font-size:13px;letter-spacing:0.1em;color:#C1272D}
.submit-row{display:flex;justify-content:flex-end}
.submit{display:flex;align-items:center;gap:56px;background:#111;color:#FFFFFF;border:none;border-radius:0;padding:24px 32px;cursor:pointer;font-family:'Noto Sans JP',sans-serif;font-size:15px;letter-spacing:0.14em}
.submit:hover{background:#333333;transform:translateY(-1px)}
.submit:disabled{opacity:0.6;cursor:wait}
.submit i{width:8px;height:8px;border-radius:50%;background:#FFFFFF}
.sent{min-height:640px;display:flex;flex-direction:column;justify-content:center;animation:dcrise .8s cubic-bezier(.2,.7,.2,1) both}
.sent .f-mono{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:0.16em}
.sent .f-mono i{width:8px;height:8px;background:#C1272D}
.sent .big{margin:28px 0 0;font-size:28px;line-height:1.8;letter-spacing:0.16em;font-weight:500}
.sent .small{margin:24px 0 0;max-width:520px;font-size:14px;line-height:2.1;letter-spacing:0.12em}
.sent .line-link{margin-top:56px;width:320px;font-size:14px;letter-spacing:0.12em}
.sent .line-link .dot{width:8px;height:8px;background:#111}

/* ===== タブレット・スマホ ===== */
@media (max-width:1100px){
  .svc-name{margin-left:0}
  .svc-en{font-size:clamp(48px,6vw,80px)}
}
@media (max-width:860px){
  .g5{grid-template-columns:1fr}
  .g5>*{grid-column:auto!important}
  .mk{left:16px;right:16px}

  .hdr{padding:14px 16px;font-size:16px}
  .hdr.scrolled{padding-top:10px;padding-bottom:10px}
  .hdr-burger{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;margin-right:-10px;padding:0 10px;background:none;border:none;cursor:pointer}
  .hdr-burger span{display:block;height:1.5px;background:#111;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  .hdr-burger[aria-expanded="true"] span:first-child{transform:translateY(4.25px) rotate(45deg)}
  .hdr-burger[aria-expanded="true"] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
  .hdr-nav{position:fixed;left:0;right:0;top:var(--hdr-h,72px);height:var(--nav-h,calc(100dvh - 72px));flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 32px;background:#F5F5F5;border-top:1px solid #D0D0D0;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}
  .hdr.open .hdr-nav{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1)}
  .hdr-nav a{padding:20px 4px;border-bottom:1px solid #D0D0D0;font-size:28px;font-weight:500;letter-spacing:-0.01em}
  .hdr-nav a[aria-current]:not(.hdr-contact)::before{left:auto;right:8px}
  .hdr-contact{margin-top:28px;justify-content:space-between;padding:18px 20px;font-size:18px;border:1px solid #111;background:#111;color:#F5F5F5!important}
  .hdr-contact .dot{background:#F5F5F5}
  body.menu-open{overflow:hidden}
  section[id]{scroll-margin-top:72px}

  .hero-wrap,.sub-hero-wrap{padding:0 16px 16px}
  .hero{height:78vh;min-height:520px;max-height:680px}
  .hero-copy{gap:14px;padding:0 12px}
  .hero-eyebrow{font-size:11px;letter-spacing:0.14em}
  .hero-copy h1{font-size:clamp(22px,6.4vw,34px);letter-spacing:0.08em;padding:6px 12px;line-height:1.6}
  .hero-copy p{font-size:13px;letter-spacing:0.08em;padding:4px 10px}
  .scroll{left:12px;bottom:12px}

  .about{padding:88px 16px 96px;gap:32px}
  .about-v{writing-mode:horizontal-tb;height:auto;font-size:26px;letter-spacing:0.14em;line-height:1.7}
  .sp{display:inline}
  .pc{display:none}
  .about-lead{font-size:18px;letter-spacing:0.04em}
  .about-body{margin-top:32px;font-size:15px;letter-spacing:0.06em}

  .h2{font-size:36px}
  .service{padding:88px 16px 40px}
  .svc-head{margin-bottom:48px;gap:16px}
  .svc-row{padding:48px 0;gap:16px}
  .svc-no{font-size:22px}
  .svc-en{font-size:clamp(44px,13vw,64px)}
  .svc-txt{padding-top:4px}
  .svc-txt p,.svc-head p{font-size:15px;letter-spacing:0.06em}

  .flow{padding:88px 16px 96px}
  .flow-head{margin-bottom:56px;gap:16px}
  .flow-head p{font-size:24px;letter-spacing:0.08em}
  .flow-rule{left:0;top:0;bottom:0;right:auto;width:1px;height:auto}
  .flow-label{padding:0 0 8px 24px}
  .step{padding:32px 0 16px 24px}
  .step .pin{left:0;top:40px}
  .step-en{font-size:44px;margin-top:16px}
  .step h3{margin-top:20px}
  .step p{font-size:15px;letter-spacing:0.06em}
  .flow-ask{padding:40px 0 0 24px}
  .flow-ask .pin{top:48px}

  .prod-band{padding:88px 16px 64px}
  .prod-band-head{margin-bottom:40px;gap:12px}
  .prod-band-row{gap:12px}
  .prod-band-link,.ask .line-link{justify-self:stretch;width:100%}

  .contact-band{padding:16px}
  .contact-box{padding:64px 20px 56px;gap:24px}
  .contact-box-label{padding-left:0}
  .contact-box-main{padding-right:0}
  .contact-box-main .big{font-size:22px;letter-spacing:0.12em}
  .contact-box-cols{grid-template-columns:1fr;margin-top:32px;gap:32px}
  .contact-box-cols .txt,.contact-box-cols .info{grid-column:auto;padding-right:0}
  .contact-box-cols .txt .nowrap{white-space:normal}
  .contact-box .line-link{width:100%}

  .ftr,.ftr.pad-top{padding:0 16px 16px}
  .ftr.pad-top{padding-top:16px}
  .ftr-box{padding-top:80px}
  .ftr-main{padding:0 16px;gap:24px}
  .ftr-addr{padding-right:0}
  .ftr-addr .en{font-size:26px}
  .ftr-addr .ja .nowrap{white-space:normal}
  .ftr-info>div{grid-template-columns:84px 1fr}
  .ftr-bar{margin-top:56px;padding:16px;gap:10px;grid-template-columns:1fr 1fr!important}
  .ftr-bar>span:empty{display:none}
  .ftr-bar>*{grid-column:auto!important}

  .sub-hero{height:360px!important}
  .sub-hero-foot{padding:0 16px 20px;gap:12px}
  .sub-hero h1{font-size:clamp(64px,19vw,112px);margin:0 0 0 -4px;padding:0 8px 8px 4px}
  .sub-hero-txt .t{font-size:18px;letter-spacing:0.1em}
  .crumb{right:12px}

  .plist{padding:48px 16px 88px}
  .filter-row{margin-bottom:32px;gap:12px}
  .cards{grid-template-columns:1fr;row-gap:56px}
  .pitem{grid-template-columns:1fr;gap:24px;padding:48px 0}
  .pitem-head{position:static}
  .pitem-head h2{font-size:24px;margin-top:14px}
  .pitem-body .lead{font-size:17px;letter-spacing:0.06em}
  .pitem-body p,.pitem-body li{font-size:14px;letter-spacing:0.04em}
  .ask{padding:88px 16px}
  .ask .g5{gap:32px}
  .ask .big{font-size:22px;letter-spacing:0.1em}

  .cform-sec{padding:56px 16px 88px;gap:40px}
  .cform-aside{position:static;padding-right:0}
  .cform-aside .kv{margin-top:40px}
  .cform-panel{padding:32px 16px 40px;margin:0 -16px}
  .cform .row2{grid-template-columns:1fr}
  .chips-c{flex-wrap:wrap}
  .submit-row{justify-content:stretch}
  .submit{width:100%;justify-content:space-between;gap:16px}
  .sent{min-height:420px}
  .sent .big{font-size:22px}
  .sent .line-link{width:100%}
}
