@charset "UTF-8";
:root{--paper:#f4f1eb;--paper-deep:#e8e3d9;--ink:#202722;--ink-soft:#58625a;--green:#33453b;--green-deep:#26372f;--gold:#b89661;--line:#d6d0c5;--white:#fffdf8;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--page:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:12px;top:-60px;z-index:20;padding:8px 14px;background:var(--ink);color:#fff}.skip-link:focus{top:12px}.site-header{height:86px;padding:0 clamp(22px,6vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,39,34,.12);position:relative;z-index:10;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:11px;letter-spacing:.11em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:var(--serif);font-size:21px;line-height:1}.brand-name{font-size:14px;font-weight:700;letter-spacing:.14em}.brand-name span{font-weight:400;color:var(--ink-soft);font-size:11px;letter-spacing:.23em;margin-left:3px}.site-nav{display:flex;align-items:center;gap:clamp(17px,2.6vw,40px);font-size:11px;letter-spacing:.09em}.site-nav>a:not(.nav-contact){transition:color .2s}.site-nav>a:not(.nav-contact):hover,.text-link:hover,.privacy-home:hover{color:var(--gold)}.nav-contact{border:1px solid var(--ink);padding:11px 18px;letter-spacing:.04em}.nav-contact span{margin-left:11px;color:var(--gold)}.menu-toggle{display:none}
.hero{min-height:min(730px,calc(100vh - 86px));max-width:var(--page);margin:auto;padding:80px clamp(22px,8.4vw,124px) 92px;position:relative;display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:4vw;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:5vh 0}.eyebrow{margin:0 0 22px;color:#8d7753;font-size:10px;letter-spacing:.24em;font-weight:600}.hero h1,.privacy-page h1{font-family:var(--serif);font-size:clamp(41px,5.2vw,70px);font-weight:500;line-height:1.55;letter-spacing:.08em;margin:0 0 20px}.hero h1 em,.privacy-page h1 em{font-style:normal;color:var(--green)}.hero-lead{font-size:14px;color:var(--ink-soft);line-height:2.2;max-width:390px;margin:0 0 34px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:0 21px;font-size:11px;letter-spacing:.06em;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:var(--white)}.button-dark:hover{background:var(--green-deep)}.button-dark span{color:#d9bd8d;font-size:16px}.hero-art{height:490px;position:relative;background:#e5e0d6;overflow:hidden}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 47%),linear-gradient(0deg,rgba(37,52,44,.12),transparent 60%)}.sun{position:absolute;width:155px;height:155px;border-radius:50%;background:#c6ad81;right:19%;top:11%;opacity:.8}.building{position:absolute;bottom:0;display:grid;grid-template-columns:repeat(2,1fr);gap:17px 14px;padding:18px}.building i{display:block;background:rgba(241,237,225,.47);height:12px;width:100%}.building-back{height:72%;width:33%;right:11%;background:#6b756e;transform:skewY(-4deg);grid-template-columns:repeat(2,1fr);align-content:space-evenly}.building-front{height:87%;width:45%;left:15%;background:#46584f;grid-template-columns:repeat(2,1fr);align-content:space-evenly;box-shadow:15px 0 35px rgba(40,50,43,.12)}.building-front:after{content:"";position:absolute;height:100%;width:22%;right:0;top:0;background:rgba(24,38,31,.18)}.building-front i{position:relative;z-index:1}.ground-line{position:absolute;bottom:0;left:0;right:0;height:12px;background:#b89c6e}.art-caption{position:absolute;bottom:24px;right:20px;color:#fff;font-size:8px;letter-spacing:.22em;text-align:right;line-height:1.7;z-index:2}.hero-index{position:absolute;right:clamp(22px,3.3vw,48px);bottom:45px;display:flex;align-items:center;gap:12px;color:#817c71;font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl}.hero-index span:first-child{color:var(--gold)}.index-line{height:52px;width:1px;background:var(--line)}
.section-pad{padding:108px clamp(24px,9vw,132px)}.intro{background:var(--white);display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.section-label{color:#867552;font-size:9px;letter-spacing:.2em;white-space:nowrap}.section-label span{display:block;color:var(--ink);font:italic 22px var(--serif);letter-spacing:0;margin-bottom:6px}.intro-body{display:grid;grid-template-columns:1fr .9fr;gap:5vw;align-items:start}.intro h2,.approach h2,.company h2,.access h2,.contact h2{font-family:var(--serif);font-weight:500;letter-spacing:.08em;line-height:1.7;margin:0}.intro h2{font-size:clamp(26px,3vw,39px)}.intro-text{color:var(--ink-soft);font-size:13px}.intro-text p:first-child{margin-top:0}.intro-text p{margin:0 0 17px}.approach{background:var(--green);color:var(--white)}.approach .section-label,.approach .section-label span{color:#d0b17b}.approach-heading{display:flex;align-items:end;justify-content:space-between;margin:-27px 0 34px 15%;gap:20px}.approach h2{font-size:clamp(27px,3.5vw,42px)}.approach-heading p{font-size:12px;color:#d3d8d2;margin:0 0 10px}.principles{margin-left:15%;border-top:1px solid rgba(255,255,255,.25)}.principle{min-height:125px;display:grid;grid-template-columns:70px 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid rgba(255,255,255,.25)}.principle-num{font:italic 21px var(--serif);color:#c6aa78}.principle h3{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.06em;margin:0 0 5px}.principle p{font-size:12px;color:#d2d8d2;margin:0}.principle-symbol{color:#c6aa78;font-size:18px;text-align:right}
.company{background:var(--paper-deep);display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.company .section-label span{color:var(--ink)}.company-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw}.company-heading h2,.access h2{font-size:clamp(30px,3.4vw,44px)}.company-heading>p:last-child{font-size:12px;color:var(--ink-soft);max-width:240px}.company-list{margin:0;border-top:1px solid #c8c1b4}.company-list div{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #c8c1b4}.company-list dt{font-size:11px;color:#77786f;letter-spacing:.08em}.company-list dd{margin:0;font-size:13px;line-height:1.9}.access{background:var(--white);display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.access-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw}.access-copy .address{margin:24px 0 15px;font-size:13px;line-height:2}.text-link{font-size:11px;letter-spacing:.04em;border-bottom:1px solid var(--gold);padding-bottom:6px}.text-link span{color:var(--gold);margin-left:10px}.route-list{border-top:1px solid var(--line)}.route{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:16px;min-height:88px;border-bottom:1px solid var(--line)}.route-line{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-size:10px;color:var(--green);letter-spacing:.04em}.route div{display:flex;flex-direction:column}.route strong{font-size:12px;font-weight:600}.route div span{font-size:10px;color:#77786f}.route-time{font:italic 28px var(--serif);color:var(--green)}.route-time span{font:10px var(--sans);color:#77786f;margin-left:4px}
.contact{background:var(--green-deep);color:var(--white);position:relative;overflow:hidden}.contact-inner{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:1050px;margin:auto}.contact h2{font-size:clamp(30px,4vw,48px)}.contact .eyebrow{color:#c6aa78}.contact-action{max-width:320px}.contact-action p{font-size:12px;color:#d2d8d2}.contact-action .contact-email{margin:12px 0 0;font-size:11px}.contact-email a{color:#e8d2aa;text-decoration:underline;text-underline-offset:3px}.button-light{background:var(--paper);color:var(--green);border-color:var(--paper);cursor:pointer}.contact-decoration{position:absolute;font:italic 300px/1 var(--serif);color:rgba(255,255,255,.035);right:6%;bottom:-100px;pointer-events:none}.site-footer{background:#202923;color:#e8e5dc;padding:36px clamp(24px,8vw,116px) 20px}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:25px;padding-bottom:27px;border-bottom:1px solid rgba(255,255,255,.2)}.brand-footer .brand-name{color:#fff}.brand-footer .brand-name span{color:#c5c4bb}.footer-top>p{font-size:10px;color:#c5c4bb;line-height:1.8}.back-top{width:36px;height:36px;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;color:#d4b984}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:15px;color:#c5c4bb;font-size:9px;letter-spacing:.05em}.footer-bottom a:hover{color:#d4b984}
.privacy-home{font-size:11px;letter-spacing:.06em}.privacy-page{max-width:900px;margin:0 auto;padding:88px 28px 110px}.privacy-page h1{font-size:clamp(42px,6vw,68px);line-height:1.35;margin-bottom:22px}.privacy-lead{font-size:14px;color:var(--ink-soft);margin:0 0 30px;max-width:730px}.draft-note{padding:18px 20px;background:#eee7d9;border-left:3px solid var(--gold);font-size:12px;margin:0 0 52px}.policy-section{padding:0 0 24px;margin:0 0 25px;border-bottom:1px solid var(--line)}.policy-section h2{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:.05em;margin:0 0 10px}.policy-section p,.policy-section li{font-size:12px;color:var(--ink-soft);line-height:2.1}.policy-section p{margin:0}.policy-section ul{padding-left:1.3em;margin:10px 0 0}.policy-date{text-align:right;color:#77786f;font-size:11px;margin:35px 0}.privacy-footer{padding-top:18px}.privacy-footer .footer-bottom{padding-top:0}
@media(max-width:900px){.hero{padding-left:7vw;padding-right:7vw;gap:3vw;min-height:650px}.hero-art{height:420px}.site-nav{gap:16px}.site-nav>a:not(.nav-contact){font-size:10px}.nav-contact{padding:9px 12px}.section-pad{padding-top:82px;padding-bottom:82px}.intro,.company,.access{gap:4vw;grid-template-columns:.5fr 1.5fr}.intro-body,.company-grid,.access-grid{gap:3vw}.approach-heading,.principles{margin-left:6%}}
@media(max-width:680px){body{font-size:14px}.site-header{height:70px;padding:0 20px}.brand-mark{width:31px;height:31px}.menu-toggle{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;align-items:center}.menu-toggle span{width:21px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:12px!important}.site-nav .nav-contact{margin-top:14px;text-align:center;border:1px solid var(--ink);padding:12px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:45px 22px 62px;min-height:0}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:13px}.hero h1{font-size:42px;line-height:1.5}.hero-lead{font-size:13px;margin-bottom:24px}.hero-art{height:300px;margin-left:9%;}.sun{width:110px;height:110px}.building{gap:13px 10px;padding:14px}.building i{height:9px}.hero-index{right:22px;bottom:24px;writing-mode:horizontal-tb;gap:8px}.index-line{width:32px;height:1px}.section-pad{padding:64px 22px}.intro,.company,.access{display:block}.section-label{margin-bottom:30px}.section-label span{font-size:18px}.intro-body,.company-grid,.access-grid{display:block}.intro h2{font-size:29px;margin-bottom:22px}.intro-text{font-size:12px}.approach-heading{display:block;margin:0 0 27px}.approach-heading p{margin-top:10px}.approach h2{font-size:30px}.principles{margin:0}.principle{grid-template-columns:38px 1fr 20px;gap:12px;min-height:115px}.principle-num{font-size:17px}.principle h3{font-size:17px}.principle p{font-size:10px;line-height:1.8}.company-heading{margin-bottom:25px}.company-heading h2,.access h2{font-size:34px}.company-heading>p:last-child{max-width:310px}.company-list div{grid-template-columns:72px 1fr;gap:12px;padding:14px 0}.company-list dt,.company-list dd{font-size:11px}.access-copy{margin-bottom:28px}.route{min-height:80px;grid-template-columns:37px 1fr auto;gap:12px}.route-line{width:31px;height:31px;font-size:9px}.route strong{font-size:11px}.route div span{font-size:9px}.route-time{font-size:24px}.contact-inner{display:block}.contact h2{font-size:34px}.contact-action{margin-top:24px}.contact-decoration{font-size:190px;right:-10px;bottom:-50px}.site-footer{padding:28px 22px 16px}.footer-top{grid-template-columns:1fr auto;gap:14px}.footer-top>p{grid-column:1/2;grid-row:2;margin:0}.back-top{grid-column:2;grid-row:1/3}.footer-bottom{font-size:8px;gap:10px;flex-wrap:wrap}.privacy-home{font-size:10px}.privacy-page{padding:60px 22px 75px}.privacy-page h1{font-size:45px}.privacy-lead{font-size:12px}.draft-note{font-size:11px;padding:14px}.policy-section h2{font-size:18px}.policy-section p,.policy-section li{font-size:11px}.privacy-footer .footer-bottom{justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
