:root{--green:#06663d;--green2:#11824f;--deep:#083d32;--ink:#113128;--orange:#ef5b09;--cream:#fff8ed;--off:#f9f7f2;--pale:#edf7ef;--border:#e2e8e2;--muted:#66766f;--shadow:0 12px 32px rgba(22,62,41,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fcfcfa;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500;line-height:1.7}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #fb973a;outline-offset:3px}[hidden]{display:none!important}.container{max-width:1220px;width:calc(100% - 48px);margin:0 auto}.eyebrow{color:var(--green);font-size:.75rem;font-weight:900;letter-spacing:.15em}.muted{color:var(--muted)}.small{font-size:.83rem}.tiny{font-size:.73rem}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:100px;background:#f1f5f1;color:#28523d;font-size:.77rem;font-weight:850}.badge.warn{background:#fff1d9;color:#9b5b09}.badge.demo{background:#fff0e7;color:#ab4d0a}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:11px;background:var(--green);color:white;padding:13px 23px;font-weight:900;line-height:1.3;box-shadow:0 6px 14px rgba(4,87,52,.14);transition:transform .2s,background .2s,box-shadow .2s}.button:hover{background:#095334;transform:translateY(-2px)}.button.orange{background:var(--orange);box-shadow:0 6px 14px rgba(239,91,9,.19)}.button.orange:hover{background:#d84b00}.button.outline{background:white;border:1px solid #bfd6c5;color:var(--green);box-shadow:none}.button.light{background:#e9f4ed;color:var(--green);box-shadow:none}.button.small{font-size:.81rem;padding:10px 15px}.section{padding:52px 0}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.divider{border:0;border-top:1px solid var(--border);margin:19px 0}.heading{font-weight:950;line-height:1.4;letter-spacing:-.045em}.heading.lg{font-size:clamp(1.65rem,3vw,2.5rem);margin:6px 0 8px}.heading.md{font-size:clamp(1.23rem,2.1vw,1.7rem);margin:4px 0 10px}.accent{color:var(--orange)}
/* shared navigation */
.site-header{height:78px;background:#fff;box-shadow:0 2px 12px rgba(11,53,34,.07);position:sticky;top:0;z-index:25}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:17px}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand svg{width:45px;height:45px;flex:none}.brand strong{font-size:1.22rem;font-weight:950;line-height:1.1;display:block;letter-spacing:-.055em}.brand small{font-size:.58rem;color:#6a756f;display:block;white-space:nowrap}.header-links{display:flex;align-items:center;gap:clamp(10px,1.7vw,26px);font-size:.79rem;font-weight:850}.header-links a:hover,.header-links a.active{color:var(--green)}.header-actions{display:flex;align-items:center;gap:12px}.mobile-menu-btn{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--green);font-size:22px}.mobile-nav{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:14px 24px 22px;box-shadow:0 12px 17px rgba(0,0,0,.12)}.mobile-nav a{display:block;padding:12px;border-bottom:1px solid var(--border);font-weight:800}.mobile-nav:not([hidden]){display:block}.foot{background:#103a2b;color:#f5fff7;padding:35px 0}.foot-grid{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.foot .brand small,.foot .muted{color:#c5d8ca}.foot a{text-decoration:underline;text-underline-offset:4px}.foot-links{display:flex;gap:18px;flex-wrap:wrap;font-size:.78rem}.demo-ribbon{background:#fff0df;border-bottom:1px solid #ffdcac;color:#75410b;text-align:center;padding:9px 20px;font-size:.78rem;line-height:1.5}
/* hero */
.page-hero{background:linear-gradient(112deg,#edf9f3 0%,#fffaf0 64%,#fff0dc 100%);padding:37px 0 32px;position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;width:360px;height:360px;right:-180px;top:-130px;border:68px solid rgba(103,175,110,.08);border-radius:50%;pointer-events:none}.hero-layout{display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:1}.page-hero p{max-width:650px;margin:9px 0 0}.hero-side{background:#fff;border:1px solid #dbeadb;border-radius:20px;padding:17px 22px;box-shadow:var(--shadow);min-width:250px}.hero-side strong{display:block;color:var(--deep);font-size:1.05rem}.crumbs{font-size:.76rem;color:#587064;margin:0 0 15px}.crumbs a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
/* filters & listings */
.filter-panel{padding:24px}.form-line{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:12px;align-items:end}.field{display:grid;gap:6px;min-width:0}.field label,.field>span.label{font-size:.82rem;color:#415b4c;font-weight:850}.field select,.field input,.field textarea{background:white;border:1px solid #d5ded5;border-radius:10px;width:100%;padding:12px 13px;outline:none;color:var(--ink)}.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #d9f2df}.quick{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:15px}.chip{padding:7px 12px;background:#fff6e9;border:1px solid #f5eadc;border-radius:100px;font-size:.73rem;font-weight:800;color:#665038;cursor:pointer}.chip:hover{background:#ffe8c6}.filter-options{display:flex;gap:12px;flex-wrap:wrap}.filter-options label{background:#f7faf7;border:1px solid #e6eee7;border-radius:9px;padding:8px 10px;font-size:.82rem;display:flex;align-items:center;gap:6px}.list-head{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:26px 0 13px}.list-head .heading{margin:0}.result-grid{display:grid;grid-template-columns:1fr;gap:15px}.result-grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.company-card{padding:24px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:17px;transition:transform .2s,border-color .2s}.company-card:hover{transform:translateY(-2px);border-color:#a6d2b3}.result-grid.cards .company-card{grid-template-columns:1fr}.company-icon{background:linear-gradient(135deg,#e7f5e9,#f7faf2);color:var(--green);border-radius:17px;font-size:30px;display:flex;align-items:center;justify-content:center;height:66px}.company-main{min-width:0}.company-title{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}.company-title h3{margin:0;font-size:1.16rem;font-weight:950;letter-spacing:-.035em}.company-title p{margin:5px 0;color:var(--muted);font-size:.78rem}.facts{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.fact{border-radius:8px;background:#f2f7f3;color:#2d5a40;padding:5px 8px;font-size:.75rem;font-weight:800}.fact.notice{background:#fff3e4;color:#86521a}.company-summary{font-size:.87rem;color:#526258;margin:8px 0 12px}.company-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:15px}.company-foot .hint{font-size:.8rem;color:#4a6153}.empty{padding:40px;text-align:center}.compare-dock{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#113e2d;color:white;border-radius:16px;padding:11px 16px;z-index:40;display:flex;align-items:center;gap:12px;box-shadow:0 12px 35px #003a2b40;max-width:calc(100vw - 24px)}.compare-dock button{white-space:nowrap}.compare-box{width:min(900px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:0;border-radius:22px;padding:22px;box-shadow:0 15px 75px #001e164d}.compare-box::backdrop{background:#031c17a6}.compare-table{width:100%;border-collapse:collapse;font-size:.84rem}.compare-table th,.compare-table td{border:1px solid var(--border);padding:12px;min-width:130px;text-align:left;vertical-align:top}.compare-table th{background:#eaf4ea}
/* detail */
.profile-banner{display:grid;grid-template-columns:1fr 290px;gap:20px;padding:27px}.profile-banner h1{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:950;line-height:1.3;margin:8px 0}.profile-banner .badge{margin-right:4px}.profile-banner aside{background:linear-gradient(145deg,#e9f7ee,#fff7e9);border-radius:15px;padding:20px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.detail-panel{padding:26px;margin:0 0 22px}.detail-panel h2{margin:0 0 14px;font-size:1.35rem}.meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.meta{background:#f5faf6;border:1px solid #e7ede7;padding:12px;border-radius:9px}.meta strong{display:block;font-size:.87rem}.meta span{font-size:.77rem;color:#68796b}.trust-list{display:grid;gap:9px}.trust-item{border:1px solid #e3e9e0;border-radius:12px;background:#fff;overflow:hidden}.trust-item summary{list-style:none;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.trust-item summary::-webkit-details-marker{display:none}.trust-item[open]{background:#f8fbf8;border-color:#bfdac6}.trust-item .body{padding:0 14px 15px;color:#617064;font-size:.82rem}.trust-name{font-weight:850}.trust-expl{display:inline-flex;align-items:center;gap:6px}.sidebox{padding:21px;position:sticky;top:100px}.sidebox h3{margin:3px 0 9px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{background:#f4f7f2;border-radius:11px;padding:13px;text-align:center}.metric strong{font-size:1.28rem;display:block}.metric span{font-size:.68rem;color:var(--muted)}
/* request */
.steps{display:flex;gap:5px;margin:24px 0}.step{flex:1;background:#e5eae5;border-radius:9px;text-align:center;padding:11px 5px;font-size:.82rem;font-weight:900;color:#7c8980}.step.active{background:#dcf0e4;color:var(--green);outline:1px solid #87be96}.request-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px}.form-panel{padding:27px}.form-panel fieldset{border:0;margin:0;padding:0;display:grid;gap:17px}.form-panel legend{font-weight:950;font-size:1.33rem;margin-bottom:16px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.required{font-size:.67rem;background:#fff0e3;color:#b04400;border-radius:5px;padding:2px 5px;margin-left:4px}.form-panel label{font-weight:800;font-size:.87rem}.form-panel .field textarea{min-height:105px;resize:vertical}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.form-note{background:#fff4e5;border:1px solid #ffe2bd;border-radius:11px;padding:15px;font-size:.82rem;color:#885323}.review-table{width:100%;border-collapse:collapse;font-size:.88rem}.review-table th,.review-table td{border-bottom:1px solid var(--border);padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.review-table th{width:130px;color:#4e6858}.success-state{padding:50px 12px;text-align:center;background:#eaf5ee;border-radius:17px}
@media(max-width:1080px){.header-links{display:none}.mobile-menu-btn{display:block}.form-line{grid-template-columns:1fr 1fr}.form-line .button{grid-column:span 2}}
@media(max-width:850px){.profile-layout,.request-grid,.profile-banner{grid-template-columns:1fr}.sidebox{position:static}.hero-layout{align-items:stretch}.hero-side{min-width:200px}.site-header{height:70px}.mobile-nav{top:70px}.header-actions .button{display:none}}
@media(max-width:620px){.container{width:calc(100% - 28px)}.header-inner .brand strong{font-size:1.02rem}.brand small{font-size:.51rem;white-space:normal;line-height:1.2}.brand svg{width:39px;height:39px}.section{padding:30px 0}.page-hero{padding:25px 0}.hero-layout{display:block}.hero-side{margin-top:17px}.form-line,.two-col,.meta-grid{grid-template-columns:1fr}.form-line .button{grid-column:auto}.result-grid.cards{grid-template-columns:1fr}.company-card{padding:16px;grid-template-columns:48px 1fr;gap:11px}.company-icon{height:46px;font-size:22px;border-radius:10px}.company-title h3{font-size:1.04rem}.profile-banner,.detail-panel,.form-panel{padding:18px}.profile-banner{gap:12px}.metric-grid{grid-template-columns:repeat(3,1fr)}.compare-dock{width:calc(100% - 22px);flex-wrap:wrap;justify-content:center;text-align:center}.compare-table{font-size:.75rem}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.foot-grid{display:block}.foot-links{margin-top:18px}.steps{gap:3px}.step{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v1.4: Prevent mobile input auto-zoom and keep controls comfortably touchable. */
@media(max-width:640px){.field input,.field select,.field textarea{font-size:16px;min-height:44px}.company-foot .button{min-height:44px}}

/* Official logo only; all approved design rules before this block remain unchanged. */
.site-header .brand img.akn-official-logo{display:block;width:306px;height:54px;max-width:100%;object-fit:contain}
.foot .akn-footer-logo{display:block;width:215px;height:72px;max-width:100%;object-fit:contain}
@media(max-width:900px){.site-header .brand img.akn-official-logo{width:260px;height:46px}}
@media(max-width:380px){.site-header .brand img.akn-official-logo{width:224px;height:40px}}
