@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600&display=swap');
:root{--paper:#f7f5ef;--ink:#282d2b;--sub:#666b65;--gold:#a48a5b;--line:#d9d8ce;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}img{max-width:100%;display:block}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(28px,3.1vw,44px);line-height:1.65;letter-spacing:.07em}h3{font-size:23px;letter-spacing:.05em}p{letter-spacing:.025em}.skip{position:fixed;left:20px;top:-100px;padding:12px 20px;background:white;z-index:100}.skip:focus{top:10px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--paper);position:relative;z-index:10}.brand{display:inline-flex;flex-direction:column;align-items:center;width:130px;line-height:1}.brand-word{font-family:Georgia,'Times New Roman',serif;font-size:48px;letter-spacing:.06em;line-height:1}.brand-dot{color:var(--gold)}.brand-sub{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.31em;margin-top:8px}.desktop-nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:.08em}.desktop-nav>a{transition:color .2s}.desktop-nav>a:hover{color:var(--gold)}.nav-contact{border:1px solid #b8b9ae;padding:13px 23px;display:flex;gap:38px}.menu-toggle{display:none}.hero{position:relative;min-height:650px;height:calc(100svh - 100px);max-height:920px;color:white;isolation:isolate;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,17,.57),rgba(15,20,17,.13) 65%),linear-gradient(0deg,rgba(10,20,16,.3),transparent 35%);z-index:-2}.hero-content{max-width:1400px;margin:auto;padding:clamp(90px,12vh,160px) 7% 100px}.eyebrow{font-family:Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:.2em;color:#7c725c}.eyebrow.light{color:#e6dfd1}.hero h1{font-size:clamp(38px,4.2vw,66px);line-height:1.65;letter-spacing:.1em;margin:25px 0 22px;text-shadow:0 1px 15px #23231e33}.hero-description{font-size:14px;line-height:2.2;letter-spacing:.07em;color:#f1eee8}.hero-cta{border-bottom:1px solid #d9cdb1;padding:13px 0;margin-top:27px;display:inline-flex;gap:62px;font-size:12px}.hero-cta span{font-size:19px;transition:transform .2s}.hero-cta:hover span{transform:translate(3px,-3px)}.hero-bottom{position:absolute;bottom:28px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:.19em}.hero-bottom a{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.hero-bottom a span{margin-left:24px;font-size:17px}.image-note{font:9px var(--sans);opacity:.8;letter-spacing:.05em}.intro-band{padding:25px 7%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:12px;gap:24px}.intro-band>a{font:23px Georgia,serif;white-space:nowrap;display:flex;align-items:center;gap:20px}.intro-band small{font:10px var(--sans);color:var(--sub)}.intro-band>a>span{font-size:17px;color:var(--gold)}.section{padding:100px 7%;max-width:1600px;margin:auto}.section-index{display:flex;align-items:center;gap:36px;margin-bottom:52px}.hairline{height:1px;background:var(--line);flex:1}.philosophy-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%}.large-en{font:italic clamp(24px,3vw,44px) Georgia,serif;color:#b7b8a9;margin-top:38px}.prose{font-size:14px;line-height:2.4}.prose p+p{margin-top:24px}.text-link{display:inline-flex;border-bottom:1px solid #969b91;padding:11px 0;gap:38px;font-size:12px;margin-top:25px}.text-link span{color:var(--gold)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:30px}.section-heading>p{color:var(--sub);font-size:13px}.service{padding-top:60px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:stretch}.service-visual{position:relative;min-height:440px;overflow:hidden}.service-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.52)}.service-visual>span{position:absolute;bottom:30px;left:30px;font:10px Arial,sans-serif;letter-spacing:.22em;color:white}.service-item{border-top:1px solid var(--line);padding:32px 0;display:flex;align-items:flex-start;gap:23px;transition:background .2s}.service-item:last-child{border-bottom:1px solid var(--line)}.item-no{font:italic 14px Georgia,serif;color:var(--gold);padding-top:10px}.service-item p{color:var(--sub);font-size:12px;margin-top:12px;line-height:2}.item-arrow{margin-left:auto;font:23px Georgia,serif;color:var(--gold);align-self:center;transition:transform .2s}.service-item:hover .item-arrow{transform:translate(4px,-4px)}.values{background:#ebece4;max-width:none}.values .section-index,.values .section-heading,.values-grid{max-width:1376px;margin-left:auto;margin-right:auto}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%}.values-grid article{border-top:1px solid #bdc1b3;padding:27px 0 0}.value-number{font:italic 23px Georgia,serif;color:var(--gold);display:block;margin-bottom:22px}.values-grid h3{font-size:22px}.values-grid p{font-size:12px;color:#555d53;line-height:2.1;margin:19px 0 26px;max-width:300px}.value-en{font:9px Arial,sans-serif;letter-spacing:.18em;color:#737d6e}.company-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.company-intro>p{font-size:12px;color:var(--sub);margin-top:25px;line-height:2.2}.company-mark{font:120px Georgia,serif;letter-spacing:.03em;color:#e6e6dc;margin-top:52px;line-height:1}.company-mark span{color:#d7cab4}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:125px 1fr;border-bottom:1px solid var(--line);padding:20px 0;font-size:12px}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{color:#73796e}.company-table dd{margin:0}.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;padding-top:30px}.faq h2{margin-top:18px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;padding:25px 0}summary::-webkit-details-marker{display:none}summary>span{font:24px Georgia,serif;color:var(--gold);font-weight:400;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:12px;line-height:2.1;color:var(--sub);padding:0 35px 24px 0}.contact{background:#29352f;max-width:none;color:#f1f0e8}.contact .section-index,.contact-layout{max-width:1376px;margin-left:auto;margin-right:auto}.contact .eyebrow{color:#c3b28c}.contact .hairline{background:#657066}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.contact h2{font-size:clamp(26px,2.8vw,39px)}.contact-layout>div>p:not(.eyebrow){font-size:12px;color:#d0d5cb;line-height:2.2;margin-top:24px}.contact-phone{display:inline-flex;gap:48px;font:38px Georgia,serif;margin-top:38px}.contact-phone span{font-size:23px;align-self:center;color:#c3b28c}.contact-layout .contact-hours{margin-top:10px!important;font-size:10px!important}.contact-card{padding:37px;border:1px solid #6f796d}.contact-card h3{font-size:25px;margin-top:16px}.contact-card p:not(.eyebrow){margin-top:12px!important}.solid-button{border:0;border-radius:0;background:#a68d61;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;width:100%;font-size:13px;line-height:1.8;transition:background .2s}.solid-button:hover{background:#887149}.contact-card .solid-button{margin-top:26px}.contact-layout p.small{font-size:10px!important;line-height:1.8!important;margin-top:13px!important}.small{font-size:11px;line-height:1.8;color:var(--sub)}footer{padding:45px 7% 20px}.footer-main{display:flex;align-items:center;gap:45px;padding-bottom:38px}.footer-main>p{font-size:10px;color:var(--sub);line-height:2.1}.back-top{margin-left:auto;font:9px Arial,sans-serif;letter-spacing:.14em}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;color:var(--sub);font-size:9px}.footer-bottom>span:first-child{font-family:Arial,sans-serif}.menu-toggle{background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{height:1px;width:24px;background:var(--ink);display:block;margin:7px 0}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 7% 25px;box-shadow:0 15px 20px #0001}.mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}[hidden]{display:none!important}dialog{border:0;background:var(--paper);color:var(--ink);padding:0;max-width:680px;width:calc(100% - 28px);max-height:90svh;overflow:auto}dialog::backdrop{background:#17251ee0}.dialog-content{padding:45px}.dialog-close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:28px;line-height:1;width:32px;height:32px}.dialog-content h2{font-size:29px;margin:12px 0}.dialog-lead{font-size:12px;color:var(--sub);margin-bottom:26px}.dialog-content label{display:block;font-size:12px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}input,select,textarea{display:block;width:100%;border:1px solid #bbbfb2;border-radius:0;background:white;color:var(--ink);padding:11px 12px;margin-top:7px;font-size:14px;min-width:0}textarea{resize:vertical}.required{font-size:10px;color:#806942;margin-left:9px}.form-note{font-size:11px;color:var(--sub);margin-bottom:22px}.text-button{border:0;background:none;border-bottom:1px solid #9b9f94;padding:9px 0;font-size:12px;margin-top:14px}.dialog-content pre{font:12px/1.8 var(--sans);white-space:pre-wrap;background:#eeeee4;padding:20px;overflow-wrap:anywhere;margin:18px 0}.dialog-content #email-review>p{font-size:12px}.dialog-content #email-review>.small{margin-top:20px}#copy-status{font-size:11px;color:#596a4f}
@media(min-width:1600px){.hero-content{padding-left:4%}}
@media(max-width:1000px){.desktop-nav{gap:22px}.site-header{height:85px}.hero{height:calc(90svh - 85px);min-height:620px}.hero-content{padding-top:110px}.intro-band{flex-direction:column;gap:13px;text-align:center}.intro-band>a{gap:18px}.section{padding:75px 6%}.section-index{margin-bottom:36px}.service-grid{gap:5%}.service-item{gap:15px}.service-item h3{font-size:20px}.company-layout{gap:6%}.company-table>div{grid-template-columns:100px 1fr}.company-mark{font-size:100px}.contact-layout{gap:5%;grid-template-columns:1.2fr 1fr}.contact-card{padding:25px}.contact-phone{font-size:32px;gap:25px}.faq{grid-template-columns:.8fr 1.5fr}}
@media(max-width:700px){html{scroll-padding-top:20px}.site-header{height:78px;padding:0 6%}.brand{width:102px}.brand-word{font-size:39px}.brand-sub{font-size:6.8px}.desktop-nav{display:none}.menu-toggle{display:block}.hero{height:calc(92svh - 78px);min-height:610px;max-height:820px}.hero-image{object-position:55% center}.hero-shade{background:linear-gradient(90deg,#101b16a6,#18221d26),linear-gradient(0deg,#101b1690,transparent 40%)}.hero-content{padding:95px 7% 100px}.hero h1{font-size:clamp(28px,8.5vw,36px);line-height:1.8;margin:25px 0;letter-spacing:.05em}.hero-description{font-size:12px;line-height:2.3}.eyebrow{font-size:9px;letter-spacing:.16em}.hero-cta{margin-top:31px;font-size:12px;gap:45px}.hero-bottom{left:7%;right:7%;bottom:25px;display:block;font-size:8px}.hero-bottom>a{position:static;transform:none;display:block;margin-top:17px;font-size:8px}.hero-bottom>a span{margin-left:16px}.image-note{position:absolute;right:0;bottom:0;font-size:8px}.intro-band{padding:23px 6%;gap:12px}.intro-band p{font-size:10px}.intro-band>a{font-size:21px;gap:12px}.intro-band small{font-size:8px}.section{padding:65px 7%}.section-index{gap:20px;margin-bottom:32px}.philosophy-layout,.service-grid,.company-layout,.contact-layout,.faq{grid-template-columns:1fr}.philosophy-layout{gap:32px}.large-en{font-size:30px;margin-top:22px}.prose{font-size:12px;line-height:2.4}.text-link{font-size:11px;margin-top:19px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:12px}.service-grid{gap:28px}.service-visual{height:280px;min-height:0}.service-item{padding:27px 0;gap:20px}.service-item h3{font-size:22px}.service-item p{font-size:11px}.service-item .item-no{font-size:13px}.values-grid{grid-template-columns:1fr;gap:30px}.values-grid article{display:grid;grid-template-columns:34px 1fr;gap:10px 18px;padding-top:24px}.value-number{grid-row:1/4;margin:0;font-size:19px;line-height:1.9}.values-grid h3{font-size:22px}.values-grid p{max-width:none;margin:0;font-size:12px}.value-en{font-size:8px;margin-top:8px;grid-column:2}.company-layout{gap:34px}.company-mark{display:none}.company-table>div{grid-template-columns:95px 1fr;font-size:11px;padding:18px 0}.company-intro>p{font-size:12px}.faq{gap:25px;padding-top:0}.faq h2{font-size:28px}.faq summary{font-size:12px;gap:18px;padding:21px 0}.contact{padding-top:58px}.contact-layout{gap:35px}.contact h2{font-size:28px;letter-spacing:.025em}.contact-phone{font-size:35px;margin-top:28px}.contact-card{padding:28px 24px}.contact-card h3{font-size:23px}.contact-card .solid-button{font-size:12px}.contact-card>.eyebrow{font-size:9px}.footer-main{gap:24px;flex-wrap:wrap;align-items:flex-start;padding-bottom:28px}.footer-main>p{font-size:9px;max-width:200px}.back-top{margin-left:0;width:100%;font-size:8px}.footer-bottom{gap:18px;align-items:center;font-size:8px}.footer-bottom>span:last-child{font-size:8px}footer{padding:35px 7% 23px}.dialog-content{padding:38px 22px 28px}.dialog-content h2{font-size:26px}.form-grid{grid-template-columns:1fr}.dialog-lead{font-size:11px}input,select,textarea{font-size:16px}.dialog-content pre{font-size:11px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
