:root{--ai: #16304a;--ai-deep: #0f2337;--bg: #f4f5f3;--paper: #ffffff;--sub: #5e7085;--line: #d9ddd9;--akari: #b8863b;--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ai);font-family:var(--sans);font-size:16px;line-height:1.95;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--akari);outline-offset:3px}.wrap{width:min(100% - 2.5rem,72rem);margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;background:#f4f5f3eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}.brand img{display:block;height:30px;width:auto}@media(max-width:480px){.brand img{height:24px}}.site-nav{display:flex;gap:1.75rem;font-size:.82rem;letter-spacing:.08em}.site-nav a{text-decoration:none;color:var(--sub);padding-block:.25rem;border-bottom:1px solid transparent}.site-nav a:hover{color:var(--ai);border-bottom-color:var(--akari)}@media(max-width:640px){.site-nav{display:none}}.hero{background:var(--ai);color:#eef1f4;padding-block:clamp(5rem,14vw,9.5rem);border-bottom:3px solid var(--akari)}.hero-vision{font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,5.4vw,3.4rem);line-height:1.65;letter-spacing:.04em;margin:0;max-width:22em;text-wrap:balance}.hero-vision .lit{color:#f0d9a8}.hero-lede{margin:2.75rem 0 0;max-width:34em;color:#b9c6d4;font-size:.95rem;line-height:2.1}.hero-mark{display:block;width:3.25rem;height:1px;background:var(--akari);margin-bottom:2.5rem}.section{padding-block:clamp(4rem,10vw,7rem);border-bottom:1px solid var(--line)}.section-title{font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.34em;margin:0 0 3.25rem;line-height:1.5;color:var(--sub);display:flex;align-items:center;gap:1.5rem}.section-title:after{content:"";flex:1;height:1px;background:var(--line)}.biz{border:1px solid var(--line);max-width:52rem}.biz-item{background:var(--paper);padding:clamp(2rem,4vw,3rem)}.biz-item h3{font-family:var(--serif);font-size:1.15rem;font-weight:600;margin:0 0 1.25rem;line-height:1.8}.biz-item p{margin:0;font-size:.92rem;color:#3d5468}.stance{display:grid;gap:2.5rem;align-items:start}@media(min-width:860px){.stance{grid-template-columns:1.1fr 1fr;gap:5rem}}.stance-lead{font-family:var(--serif);font-size:clamp(1.3rem,3.2vw,1.9rem);font-weight:500;line-height:1.9;letter-spacing:.03em;margin:0;text-indent:-.5em}.stance-body p{margin:0 0 1.6rem;font-size:.95rem;color:#3d5468}.stance-body p:last-child{margin-bottom:0}.profile{border-top:1px solid var(--line);max-width:52rem}.profile-row{display:grid;grid-template-columns:9rem 1fr;gap:1.5rem;padding-block:1.15rem;border-bottom:1px solid var(--line);align-items:baseline}@media(max-width:600px){.profile-row{grid-template-columns:1fr;gap:.25rem}}.profile-row dt{font-size:.82rem;letter-spacing:.1em;color:var(--sub)}.profile-row dd{margin:0;font-size:.95rem}.profile-row dd ul{margin:0;padding-left:1.2em}.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:52rem}.news-item{display:grid;grid-template-columns:8rem 1fr;gap:1.5rem;padding-block:1.35rem;border-bottom:1px solid var(--line);align-items:baseline}@media(max-width:600px){.news-item{grid-template-columns:1fr;gap:.35rem}}.news-date{font-size:.82rem;color:var(--sub);font-variant-numeric:tabular-nums}.news-title{font-size:.95rem;margin:0}.news-empty{color:var(--sub);font-size:.9rem;padding-block:1.5rem}.contact{padding-block:clamp(4rem,10vw,6rem)}.contact-mail{font-family:var(--serif);font-size:clamp(1.15rem,3.6vw,1.75rem);letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--akari);padding-bottom:.2rem;display:inline-block;word-break:break-all}.contact-note{margin:1.75rem 0 0;font-size:.85rem;color:var(--sub)}.site-footer{background:var(--ai-deep);color:#9fb0c0;padding-block:3rem;font-size:.78rem;letter-spacing:.06em}.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.site-footer .fmark{display:block;height:28px;width:auto;opacity:.9}
