:root{--color-bg:#FFFFFF;--color-surface:#E8F1ED;--color-text-primary:#12261F;--color-text-secondary:#4B5F58;--color-accent:#0F6E56;--color-accent-dark:#085041;--color-accent-soft:#E1F5EE;--color-cta:#0F6E56;--color-border:#D8E3DF;--color-warn:#BA7517;--color-section-deep:#085041;--color-ink:#08201A;--color-gold:#C7A96B;--color-gold-soft:#D8C39A;--color-gold-line:rgba(199,169,107,0.55);--hero-scrim:linear-gradient(100deg,rgba(8,32,26,0.86),rgba(8,32,26,0.64) 38%,rgba(8,32,26,0.22) 72%,rgba(8,32,26,0.08));--color-on-dark:#FFFFFF;--color-on-dark-soft:rgba(255,255,255,0.86);--shadow-hero-text:0 2px 24px rgba(8,32,26,0.55);--band-scrim:linear-gradient(180deg,rgba(8,32,26,0.32),rgba(8,32,26,0.58));--cta-image-overlay:linear-gradient(180deg,rgba(8,32,26,0.82),rgba(8,64,50,0.88));--hero-fade:linear-gradient(90deg,var(--color-surface) 0%,var(--color-surface) 8%,rgba(232,241,237,0) 44%);--font-sans:var(--font-noto),"Noto Sans JP",system-ui,sans-serif;--font-serif:var(--font-noto-serif),"Noto Serif JP","Yu Mincho",serif;--text-3xl:44px;--text-4xl:60px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--section-pad-y:80px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--color-cta-text:#FFFFFF;--shadow-floating:0 4px 12px rgba(18,38,31,0.24);--container-max:1440px;--container-pad:48px;--header-h:72px}@media (max-width:767px){:root{--section-pad-y:var(--space-48)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:var(--header-h)}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.7;color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{line-height:1.3;font-weight:700}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.section{padding-block:var(--section-pad-y)}.section--alt{background:var(--color-surface)}.section--figure{position:relative;overflow:hidden}.section--figure>.container{position:relative;z-index:1}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-24);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .25s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-floating);border-color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-base);font-weight:700;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn--primary{background:var(--color-cta);color:var(--color-cta-text)}.btn--primary:hover{background:var(--color-accent-dark)}.btn--secondary{background:var(--color-bg);color:var(--color-accent);border-color:var(--color-accent)}.btn--secondary:hover{background:var(--color-accent-soft)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover{color:var(--color-accent);background:var(--color-accent-soft)}.btn--lg{padding:var(--space-16) var(--space-32);font-size:var(--text-lg)}.linkGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-8);gap:var(--space-8);list-style:none}@media (max-width:1023px){.linkGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.linkGrid{grid-template-columns:1fr}}.linkChip{display:block;padding:var(--space-12) var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--text-sm);line-height:1.4;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,border-color .15s ease,color .15s ease,background-color .15s ease}.linkChip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft);transform:translateY(-3px);box-shadow:var(--shadow-floating)}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.text-gold{color:var(--color-gold)}