@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-var.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-italic-var.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Zen Old Mincho;src:url(/fonts/zen-old-mincho-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/fonts/noto-sans-jp-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-var.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}:root{--ratio: 1.414;--space-1: 8px;--space-2: 11px;--space-3: 16px;--space-4: 23px;--space-5: 32px;--space-6: 45px;--space-7: 64px;--space-8: 90px;--text-xs: clamp(11px, .62rem + .15vw, 12px);--text-sm: clamp(14px, .8rem + .2vw, 15px);--text-base: clamp(17px, .9rem + .35vw, 19px);--text-lg: clamp(21px, 1.05rem + .45vw, 23px);--text-xl: clamp(28px, 1.3rem + .6vw, 30px);--display-1: clamp(2rem, 1.05rem + 4.5vw, 4.25rem);--display-2: clamp(1.9rem, 1.42rem + 2.1vw, 3.1rem);--display-3: clamp(1.35rem, 1.18rem + .75vw, 1.85rem);--text-primary: #212529;--text-secondary: #495057;--text-tertiary: #868E96;--text-inverse: #FFFFFF;--bg-primary: #FFFFFF;--bg-secondary: #F8F9FA;--bg-tertiary: #F1F3F5;--bg-highlight: #EBF5FF;--bg-paper: #FBFAF7;--bg-ink: #1B1D21;--border-light: #E9ECEF;--border-regular: #DEE2E6;--border-ink: #DCD8CF;--action-primary: #4A90E2;--action-primary-hover: #3A7BC8;--achievement: #7ED321;--progress: #F5A623;--progress-light: #FFEACC;--marker: #FBEFA8;--radius-badge: 999px;--radius-button: 10px;--radius-media: 6px;--radius-card: 18px;--radius-panel: 28px;--section-tight: clamp(3rem, 5.5vw, 4.25rem);--section-base: clamp(4.5rem, 8vw, 6.75rem);--section-wide: clamp(6rem, 11vw, 9.5rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .16s;--dur-base: .24s;--max-width: 1180px;--header-height: 64px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-3))}body{font-family:var(--body-font, "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif);font-size:var(--text-base);line-height:1.85;letter-spacing:.02em;color:var(--text-primary);background:var(--bg-paper);overflow-x:hidden;font-feature-settings:"palt" 1;word-break:auto-phrase;-webkit-font-smoothing:antialiased}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4)}.display{font-family:var(--display-font);font-weight:600;letter-spacing:-.035em;line-height:1.24;font-feature-settings:"palt" 1;word-break:auto-phrase}.eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary)}section{padding:var(--section-base) 0}section.is-wide{padding:var(--section-wide) 0}section.is-tight{padding:var(--section-tight) 0}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);display:flex;align-items:center;background:color-mix(in srgb,var(--bg-paper) 88%,transparent);backdrop-filter:blur(12px) saturate(140%);z-index:1000;border-bottom:1px solid transparent}.header-inner{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{display:flex;align-items:center;text-decoration:none}.logo img{height:26px;width:auto;display:block}.header-nav{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-5)}.header-nav a{color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);letter-spacing:.06em;transition:color var(--dur-fast) var(--ease-out)}.header-nav a:hover{color:var(--text-primary)}.header-cta{background:var(--text-primary);color:var(--text-inverse)!important;padding:9px var(--space-4);border-radius:var(--radius-badge);font-size:var(--text-sm);font-weight:500;letter-spacing:.04em;white-space:nowrap;flex:none;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.header-cta:hover{background:var(--action-primary);transform:translateY(-1px)}@media (max-width: 860px){.header-nav{gap:var(--space-3)}.header-nav a:not(.header-cta){display:none}}@media (max-width: 560px){.logo img{height:19px}.header-nav{gap:var(--space-2)}.header-cta{padding:8px var(--space-3);font-size:var(--text-xs)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px var(--space-5);border-radius:var(--radius-button);font-size:var(--text-base);font-weight:500;letter-spacing:.03em;text-decoration:none;cursor:pointer;border:none;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn-primary{background:var(--action-primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--action-primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px -6px #2a67af8c}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-ink)}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--text-tertiary)}.btn-large{padding:18px var(--space-6);font-size:var(--text-lg)}.section-title{font-family:var(--display-font);font-size:var(--display-2);font-weight:600;line-height:1.26;letter-spacing:-.035em;color:var(--text-primary);margin-bottom:var(--space-5);max-width:15em;word-break:auto-phrase}.section-title--inverse{color:var(--text-inverse)}.eyebrow--inverse{color:#ffffff80}.section-title--center{text-align:center;margin-inline:auto}.section-lead{max-width:min(36em,67ch);color:var(--text-secondary);margin-bottom:var(--space-6)}.mark{background:linear-gradient(transparent 62%,var(--marker) 62%,var(--marker) 94%,transparent 94%)}.site-footer{background:var(--bg-ink);color:var(--text-inverse);padding:var(--space-7) 0 var(--space-5)}.footer-grid{display:grid;grid-template-columns:1.618fr 1fr 1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-5)}.footer-brand-section{grid-column:1 / -1}}.footer-brand{font-family:var(--display-font);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-2)}.footer-tagline{font-size:var(--text-sm);line-height:1.75;color:#ffffff9e;max-width:min(27em,50ch)}.footer-section h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-3);color:#ffffff8c}.footer-section ul{list-style:none}.footer-section li{margin-bottom:var(--space-2)}.footer-section a{color:#fffc;text-decoration:none;font-size:var(--text-sm);transition:color var(--dur-fast) var(--ease-out)}.footer-section a:hover{color:var(--text-inverse)}.footer-bottom{padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12);font-size:var(--text-xs);letter-spacing:.08em;color:#ffffff73}.page-hero{padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:var(--section-tight);border-bottom:1px solid var(--border-ink)}.page-title{font-size:var(--display-2);line-height:1.22;margin:var(--space-4) 0 var(--space-3);max-width:16em}.page-lead{max-width:min(34em,63ch);color:var(--text-secondary)}.split{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(var(--space-5),5vw,var(--space-8));align-items:start}.split-head{position:sticky;top:calc(var(--header-height) + var(--space-5))}@media (max-width: 860px){.split{grid-template-columns:1fr}.split-head{position:static}}.entry-list{list-style:none;margin-top:var(--space-5)}.entry{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--border-ink)}.entry:last-child{border-bottom:1px solid var(--border-ink)}.entry-index{font-family:EB Garamond,serif;font-size:var(--text-lg);color:var(--text-tertiary)}.entry-title{font-family:var(--display-font);font-size:var(--display-3);font-weight:600;line-height:1.45;margin-bottom:var(--space-2)}.entry-text{color:var(--text-secondary);max-width:min(40em,74ch)}.entry-meta{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary)}.entry-link{display:inline-block;margin-top:var(--space-3);font-size:var(--text-sm);color:var(--action-primary);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.entry-link:hover{color:var(--action-primary-hover)}@media (max-width: 620px){.entry{grid-template-columns:1fr;gap:var(--space-2)}}.spec-list{border-top:1px solid var(--border-ink)}.spec-row{display:grid;grid-template-columns:minmax(9em,.32fr) minmax(0,1fr);gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-ink)}.spec-label{font-size:var(--text-sm);letter-spacing:.06em;color:var(--text-tertiary)}.spec-value{color:var(--text-primary)}.spec-value a{color:var(--action-primary);text-decoration:none;border-bottom:1px solid currentColor}@media (max-width: 620px){.spec-row{grid-template-columns:1fr;gap:2px}}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-bottom:var(--space-6)}.contact-item{border-top:2px solid var(--text-primary);padding-top:var(--space-3)}.contact-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-2)}.contact-value{font-size:clamp(1.15rem,2vw,1.6rem);color:var(--text-primary);text-decoration:none;word-break:break-word;transition:color var(--dur-fast) var(--ease-out)}.contact-value:hover{color:var(--action-primary)}@media (max-width: 620px){.contact-grid{grid-template-columns:1fr;gap:var(--space-4)}}.link-list{list-style:none;margin-top:var(--space-4);border-top:1px solid var(--border-ink)}.link-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) auto;gap:var(--space-4);align-items:baseline;padding:var(--space-4) 0;border-bottom:1px solid var(--border-ink);text-decoration:none;color:var(--text-primary);transition:color var(--dur-fast) var(--ease-out)}.link-row:hover{color:var(--action-primary)}.link-row__title{font-family:var(--display-font);font-size:var(--display-3);font-weight:600}.link-row__desc{font-size:var(--text-sm);color:var(--text-tertiary)}.link-row__arrow{font-family:EB Garamond,serif;transition:transform var(--dur-base) var(--ease-out)}.link-row:hover .link-row__arrow{transform:translate(4px)}@media (max-width: 720px){.link-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3)}.link-row__desc{grid-column:1 / -1}}.faq-entry{border-bottom:1px solid var(--border-ink)}.faq-entry:first-child{border-top:1px solid var(--border-ink)}.faq-q{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;cursor:pointer;font-weight:500;list-style:none;transition:color var(--dur-fast) var(--ease-out)}.faq-q::-webkit-details-marker{display:none}.faq-q:hover{color:var(--action-primary)}.faq-mark{position:relative;width:14px;height:14px;flex:none}.faq-mark:before,.faq-mark:after{content:"";position:absolute;inset:50% 0 auto;height:1px;background:var(--text-primary);transition:transform var(--dur-base) var(--ease-out)}.faq-mark:after{transform:rotate(90deg)}.faq-entry[open] .faq-mark:after{transform:rotate(0)}.faq-a{padding-bottom:var(--space-4);color:var(--text-secondary);max-width:min(40em,74ch)}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 5% entry 60%}.site-header{animation:header-settle linear both;animation-timeline:scroll();animation-range:0 120px}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes header-settle{to{border-bottom-color:var(--border-ink)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
