/* 本文・見出し・補足を揃え、文章量と文字の強弱を整理。 */
:root{--copy-body:15px;--copy-small:12px;--copy-heading:clamp(26px,2.5vw,34px);--copy-dark:#33465d}
.hero h2{font-size:20px;line-height:1.6}.hero-description{font-size:16px;line-height:1.9}
.guide-heading h2,.needs-heading h2,.approach-intro h2,.advisory-guide .advisory-heading h2,.training-guide h2,.demo-gallery h2,.dashboard-demo h2,.feature-copy h2{font-size:var(--copy-heading);line-height:1.55;letter-spacing:.02em}
.needs-grid h3,.tool-grid h3,.secondary-examples h3{font-size:24px;line-height:1.6}
.needs-grid p,.needs-heading p,.guide-heading>p,.approach-intro p:not(.kicker),.advisory-heading p:not(.advisory-price),.advisory-conversation>p,.advisory-conversation li p,.advisory-menu p,.training-guide .guide-heading>p,.lesson-list article>p,.training-follow>p,.tool-grid>article>p,.everyday-ai-heading>p:not(.kicker),.everyday-ai-list p,.feature-copy>p:not(.kicker),.secondary-examples article>p,.business-process p,.capabilities article p{font-size:var(--copy-body);line-height:1.85}
.needs-grid p,.needs-heading p,.guide-heading>p,.tool-grid>article>p,.everyday-ai-heading>p:not(.kicker),.everyday-ai-list p{color:var(--copy-dark)}
.service-choices .service-choice dd{font-size:14px;line-height:1.85}.service-choices .service-choice dt{font-size:13px}.service-choices .choice-heading p{font-size:13px}.service-choices .choice-bottom .button{font-size:13px}.service-choices .choice-lead{font-size:16px}
.demo-pair-grid .demo-showcase-copy h3{font-size:24px;line-height:1.55}.demo-pair-grid .demo-showcase-copy>p:not(.kicker):not(.demo-product-name),.demo-details dd{font-size:14px;line-height:1.85}.demo-details dt,.demo-expand summary{font-size:13px}.demo-pair-grid .demo-showcase figcaption{font-size:11px}
.note,.provider-notice,.scope p{font-size:var(--copy-small);line-height:1.8}.section-rule>p{font-size:12px}.kicker{letter-spacing:.12em}
.contact .consultation-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.contact .consultation-intro h2{font-size:var(--copy-heading);line-height:1.6;margin:20px 0 24px}
.contact .consultation-intro>p:not(.kicker){font-size:16px;line-height:1.9}
.consultation-points{list-style:none;padding:0;margin:32px 0;font-size:14px}.consultation-points li{padding:12px 0;border-top:1px solid var(--line)}
.consultation-form{padding:32px;background:#fff;color:var(--ink);border:1px solid var(--line);min-width:0}
.consultation-form h3{font-family:var(--sans);font-size:22px;margin:0 0 24px}
.consultation-form label{display:block;font-size:14px;font-weight:600;margin-bottom:20px}
.consultation-form label>span:not(:last-child){font-size:11px;font-weight:400;margin-left:8px;color:var(--copy-dark)}
.consultation-form input:not([type=checkbox]):not([type=hidden]),.consultation-form select,.consultation-form textarea{display:block;width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:16px/1.6 var(--sans);box-sizing:border-box}
.consultation-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.consultation-form .consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:13px}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.consent a{text-decoration:underline;text-underline-offset:3px}
.consultation-form .button{width:100%;margin-top:20px;font-size:15px;cursor:pointer}.consultation-form .form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}
.contact .form-preview-note{font-size:12px;margin-top:16px;line-height:1.8;color:var(--copy-dark)}
#review{box-sizing:border-box;width:min(640px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:32px;color:var(--ink);border:1px solid var(--line);background:white}
#review::backdrop{background:rgba(10,25,45,.45)}#review h2{font-size:25px}#review>p{font-size:14px;line-height:1.8}#review-values{margin:24px 0}#review-values dt{font-size:12px;margin-top:16px;font-weight:700}#review-values dd{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.review-actions{display:flex;gap:16px;flex-wrap:wrap}.review-actions button{cursor:pointer;padding:14px 20px;font:14px var(--sans)}#contact-status:empty{display:none}
.consultation-form :is(input,select,textarea):focus-visible,#review button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:900px){.contact .consultation-layout{grid-template-columns:1fr;gap:24px}.consultation-points{margin:24px 0}.consultation-intro{max-width:42em}}
@media(max-width:600px){.hero h2{font-size:18px}.hero-description{font-size:15px}.hero-description br{display:none}.needs-grid h3,.tool-grid h3,.secondary-examples h3{font-size:23px}.consultation-form{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}.consultation-form h3{font-size:20px}.review-actions{flex-direction:column}.review-actions button{width:100%}.service-choices .choice-heading h3{font-size:27px}}

/* LINE公式素材は原色・無加工で表示。リンク設定までは静的な画像。 */
.line-consultation-placeholder{display:inline-flex;padding:16px;background:#fff;border-radius:0;cursor:default}.line-consultation-placeholder img{display:block;width:48px;height:48px;object-fit:contain;transform:none;filter:none;animation:none}

/* 白背景の相談エリア。LINEの不可侵領域はアイコン幅の半分を四方に確保。 */
.contact{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.contact .kicker{color:var(--ink)}
.contact p,.contact small{color:var(--copy-dark)}
.contact .button{background:var(--ink);color:#fff;border-color:var(--ink);min-width:0}
.contact .consultation-form{background:#fff}
.line-consultation-placeholder{display:inline-flex;align-items:center;padding:0;background:transparent;border:0;border-radius:0;cursor:default;margin-top:0}
.line-icon-clearspace{display:block;padding:24px;flex-shrink:0}
.line-consultation-placeholder .line-icon-clearspace img{display:block;width:48px;height:48px;object-fit:contain;transform:none;filter:none;animation:none;box-shadow:none}
.line-consultation-label{font:500 15px/1.6 var(--sans);color:var(--ink);padding-right:24px}
