:root{--navy: #0d2b4e;--blue: #1a5fa8;--white: #ffffff;--black: #111111;--gray: #555555;--border: #d0dce8;--bg: #f5f8fc;--font-sans: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif;--font-en: "Syncopate", sans-serif;--rem: 1rem;--max-w: 960px;--duration: .6s;--ease-out: cubic-bezier(.23, 1, .32, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:clamp(15px,1.6vw,16px);line-height:1.8;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none;transition:color calc(var(--duration) * .5) var(--ease-out)}a:hover{color:var(--navy)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-w);margin:0 auto;padding:0 clamp(16px,4vw,48px)}.site-header{position:sticky;top:0;z-index:100;background:var(--navy);border-bottom:1px solid rgba(255 255 255 / .1)}.site-header .container{height:64px;display:flex;align-items:center}.site-title{font-family:var(--font-sans);font-size:clamp(.95rem,1.6vw,1.05rem);font-weight:700;color:var(--white);letter-spacing:.06em}.hero{background:linear-gradient(150deg,var(--navy) 0%,var(--blue) 100%);color:var(--white);padding:clamp(72px,12vw,120px) 0 clamp(64px,10vw,100px);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(255 255 255 / .05),transparent);pointer-events:none}.hero-label{font-family:var(--font-en);font-size:clamp(.65rem,1.2vw,.75rem);font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#fff9;margin-bottom:clamp(16px,2.5vw,24px)}.hero-heading{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.3;letter-spacing:-.01em;margin-bottom:clamp(20px,3vw,32px)}.hero-heading br{display:block}.hero-body{font-size:clamp(.9rem,1.5vw,1rem);line-height:2;color:#ffffffbf;max-width:520px}.section{padding:clamp(56px,10vw,96px) 0}.section-label{font-family:var(--font-en);font-size:clamp(.6rem,1.1vw,.7rem);font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}.section-title{font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:700;color:var(--navy);margin-bottom:clamp(32px,5vw,48px);padding-bottom:16px;border-bottom:2px solid var(--border);position:relative}.section-title:after{content:"";position:absolute;bottom:-2px;left:0;width:48px;height:2px;background:var(--blue)}.news-section{background:var(--bg)}.news-list{list-style:none}.news-list li{padding:20px 0;border-bottom:1px solid var(--border)}.news-list li:first-child{border-top:1px solid var(--border)}.news-date{font-size:.82rem;color:#888;display:block;margin-bottom:4px}.news-list a{font-size:1rem;font-weight:600;color:var(--navy);display:block}.news-list p{font-size:.9rem;color:var(--gray)}.page-header{background:linear-gradient(150deg,var(--navy) 0%,var(--blue) 100%);color:var(--white);padding:clamp(48px,8vw,72px) 0}.page-header h1{font-size:clamp(1.4rem,3vw,2rem)}.news-body{line-height:2;color:var(--gray)}.news-body p{margin-bottom:1.2em}.news-body h2,.news-body h3{color:var(--navy);margin:1.5em 0 .5em}.back-link{color:var(--blue);text-decoration:none;font-size:.9rem}.back-link:hover{text-decoration:underline}.about-section{background:var(--white)}.about-table-wrap{max-width:640px}.about-table{width:100%;border-collapse:collapse;font-size:.95rem}.about-table tr{border-bottom:1px solid var(--border)}.about-table tr:first-child{border-top:1px solid var(--border)}.about-table th{width:160px;padding:20px 16px;text-align:left;color:var(--navy);font-weight:700;vertical-align:top;white-space:nowrap}.about-table td{padding:20px 16px;color:#444;line-height:1.8}.site-footer{background:var(--navy);color:#ffffff80;text-align:center;padding:28px 20px;font-size:.8rem;letter-spacing:.06em}[data-fade]{opacity:0;transform:translateY(24px);transition:opacity var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}[data-fade].is-visible{opacity:1;transform:none}@media (max-width: 768px){.about-table th{width:120px}}@media (max-width: 480px){.about-table th,.about-table td{display:block;padding:10px 0}.about-table th{width:100%;padding-bottom:4px;border-bottom:none;font-size:.8rem;color:var(--blue)}.about-table td{padding-top:0;padding-bottom:14px}}@media (prefers-reduced-motion: reduce){[data-fade]{opacity:1;transform:none;transition:none}:root{--duration: 0s}}
