:root{--navy: #0f2747;--navy-deep: #0a1a31;--gold: #b8954a;--gold-soft: #d9c08a;--paper: #f7f5f0;--paper-2: #efebe3;--ink: #1d1d1f;--ink-2: #4a4a4f;--line: #d9d4c8;--white: #ffffff;--max: 1120px;--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;--sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.9;font-feature-settings:"palt"}img{max-width:100%;height:auto;display:block}a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--gold)}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.4;color:var(--navy);margin:0 0 .6em}h1{font-size:clamp(1.6rem,3.2vw,2.3rem);letter-spacing:.02em}h2{font-size:clamp(1.35rem,2.6vw,1.8rem)}h3{font-size:clamp(1.1rem,2vw,1.3rem)}p{margin:0 0 1.2em}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.section{padding:clamp(3rem,7vw,5.5rem) 0}.section--alt{background:var(--white)}.section--navy{background:var(--navy);color:#e9e6df}.section--navy h2,.section--navy h3{color:var(--gold-soft)}.eyebrow{font-family:var(--serif);color:var(--gold);letter-spacing:.25em;font-size:.78rem;text-transform:uppercase;margin-bottom:.5rem}.lead{font-size:1.05rem;color:var(--ink-2);max-width:46em}.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:2px;font-weight:600;background:var(--navy);color:#fff;text-decoration:none;letter-spacing:.05em;border:1px solid var(--navy)}.btn:hover{background:var(--navy-deep);color:#fff}.btn--gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn--gold:hover{background:#a3823f;color:#fff}.btn--ghost{background:transparent;color:var(--navy)}.btn--ghost:hover{background:var(--navy);color:#fff}.site-header{position:sticky;top:0;z-index:50;background:#f7f5f0f0;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--navy)}.brand__logo{height:48px;width:auto}@media(max-width:480px){.brand__logo{height:34px}}.brand__name{font-family:var(--serif);font-weight:700;font-size:1.15rem;letter-spacing:.04em}.brand__name small{display:block;font-family:var(--sans);font-weight:400;font-size:.68rem;letter-spacing:.2em;color:var(--ink-2)}.nav{display:flex;align-items:center;gap:1.4rem}.nav a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--navy)}.nav a:hover{color:var(--gold)}.nav__tel{font-family:var(--serif);font-size:1.05rem;letter-spacing:.04em}.nav__lang{font-size:.8rem;letter-spacing:.1em;border:1px solid var(--line);padding:.25rem .6rem;border-radius:2px}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:2px;padding:.4rem .6rem;font-size:.85rem;color:var(--navy)}@media(max-width:860px){.nav-toggle{display:inline-block}.nav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem 1rem 1rem}.nav.is-open{display:flex}.nav a{padding:.7rem 0;border-bottom:1px solid var(--line)}}.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center right}.hero__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a1a31f0,#0a1a31d1 45%,#0a1a3173)}@media(max-width:760px){.hero__bg:after{background:#0a1a31d9}}.hero__inner{position:relative;padding:clamp(4rem,12vw,8rem) 0;max-width:40em}.hero h1{color:#fff;font-size:clamp(1.7rem,4vw,2.8rem)}.hero p{color:#e4e0d6;font-size:1.05rem}.hero .motto{font-family:var(--serif);color:var(--gold-soft);letter-spacing:.2em;font-size:.85rem;margin-bottom:1rem}.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--white);border:1px solid var(--line);padding:1.8rem 1.6rem;border-top:3px solid var(--gold)}.card h3{margin-top:0}.card p{color:var(--ink-2);font-size:.95rem}.card a{font-weight:600;text-decoration:none}.prose{max-width:46em}.prose h2{margin-top:2.2em;padding-bottom:.4em;border-bottom:1px solid var(--line)}.prose h3{margin-top:1.8em}.prose h4{margin-top:1.4em;color:var(--gold);font-size:.95rem;letter-spacing:.1em}.prose img{margin:1.5em 0;border:1px solid var(--line)}.prose table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);padding:.6em .8em;text-align:left;vertical-align:top}.prose th{background:var(--paper-2);width:9em;white-space:nowrap}.prose ul{padding-left:1.2em}.prose blockquote{margin:1.5em 0;padding:.5em 1.2em;border-left:3px solid var(--gold);color:var(--ink-2);background:var(--white)}.page-head{background:var(--navy);color:#fff;padding:clamp(2.5rem,6vw,4rem) 0}.page-head h1{color:#fff;margin:0}.page-head .crumbs{font-size:.8rem;color:#c9c3b4;margin-bottom:.6rem}.page-head .crumbs a{color:#c9c3b4}.post-list{list-style:none;padding:0;margin:0}.post-list li{padding:1.4rem 0;border-bottom:1px solid var(--line)}.post-list time{font-size:.85rem;color:var(--ink-2);letter-spacing:.05em}.post-list h3{margin:.3rem 0 .4rem}.post-list h3 a{text-decoration:none}.post-list p{margin:0;color:var(--ink-2);font-size:.95rem}.form{max-width:40em}.form label{display:block;font-weight:600;margin:1.2rem 0 .4rem}.form input,.form textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:2px;font:inherit;background:var(--white)}.form textarea{min-height:10em}.form .req{color:#b4452c;font-size:.8rem;margin-left:.3em}.notice{background:var(--white);border:1px solid var(--line);padding:1rem 1.2rem;font-size:.92rem;color:var(--ink-2)}.site-footer{background:var(--navy-deep);color:#c9c3b4;padding:3rem 0 2rem;font-size:.9rem}.site-footer a{color:#e4e0d6}.site-footer__grid{display:grid;gap:2rem;grid-template-columns:1.4fr 1fr 1fr}@media(max-width:760px){.site-footer__grid{grid-template-columns:1fr}}.site-footer h4{color:var(--gold-soft);font-family:var(--serif);margin-bottom:.6rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.3rem 0}.site-footer .copy{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#8f8a7d}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:100}.prose thead:has(th:empty:first-child){display:none}.prose td:first-child{width:9em;white-space:nowrap;background:var(--paper-2)}@media(max-width:600px){.prose td:first-child{width:auto;white-space:normal}}@media(max-width:600px){.hero h1 br{display:none}}.prose p:has(>img){display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5em 0}.prose p:has(>img) img{margin:0;width:100%;max-height:420px;object-fit:cover}.prose p:has(>img:only-child){display:block}.prose p:has(>img:only-child) img{max-height:none;width:auto;max-width:100%;object-fit:unset}.profile-card{display:flex;align-items:center;gap:2rem;margin:2.5em 0;padding:1.5rem;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold)}.profile-card img{width:220px;height:220px;object-fit:cover;object-position:top;flex:0 0 auto;margin:0;border:1px solid var(--line)}.profile-card__body .eyebrow{margin-bottom:.2rem}.profile-card__body h2{margin:0 0 .2em;padding:0;border:0}.profile-card__body p{margin:0;color:var(--ink-2)}@media(max-width:600px){.profile-card{flex-direction:column;align-items:flex-start}}
