:root{--ink:#193c3e;--muted:#526c6d;--teal:#008b8e;--aqua:#eaf5f5;--line:#cddfdf;--gold:#aa8b49;--paper:#fff;--serif:Georgia,'Times New Roman','Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Helvetica Neue',Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:6px}p{line-height:1.95}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:16px}.skip:focus{top:0}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(205,223,223,.45)}.brand{display:inline-flex;align-items:center}.brand img.brand-logo{object-fit:contain;height:44px;width:auto;display:block}footer .brand img.brand-logo{height:36px}.header nav{display:flex;gap:32px;align-items:center;font-size:14px}.header nav>a:not(.nav-contact):hover{color:var(--teal)}.nav-contact{border:1px solid var(--line);padding:15px 22px;border-radius:2px}.nav-contact span{margin-left:24px;color:var(--teal)}.menu-toggle{display:none}.hero{min-height:730px;position:relative;display:flex;align-items:center;isolation:isolate;padding:70px 8% 105px;overflow:hidden}.hero-text{position:relative;z-index:2;width:62%}.eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:35px;display:flex;align-items:center;gap:12px}.eyebrow>span{width:26px;height:1px;background:var(--gold)}h1{font-family:var(--serif);font-size:clamp(48px,5.15vw,82px);line-height:1.55;letter-spacing:.045em;margin-bottom:25px}.accent{color:var(--teal)}.hero-description{font-size:16px;line-height:2.15;margin-bottom:32px}.text-link{display:inline-flex;align-items:center;gap:40px;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:12px}.text-link span{font-size:23px;color:var(--teal);transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.hero-art{position:absolute;right:0;top:0;bottom:0;width:49%;background:#e0f0f2 url('marble.jpg') center/cover;z-index:0;display:flex;align-items:center;justify-content:center}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,.08) 35%,rgba(230,245,245,.07))}.hero-word{position:relative;font-family:var(--serif);font-size:clamp(55px,6.6vw,108px);line-height:1.03;letter-spacing:-5px;color:rgba(29,99,102,.7);transform:rotate(-8deg);padding-left:15px}.hero-word i{font-weight:normal}.art-caption{position:absolute;right:9%;bottom:110px;font-size:12px;letter-spacing:2px;line-height:1.8;color:#366b6c}.hero-bottom{position:absolute;bottom:32px;left:8%;right:5.5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:var(--muted)}.hero-bottom a span{margin-left:20px;font-size:19px}.section{padding:105px 8%}.section-label{font-size:12px;letter-spacing:2px;line-height:1.8;color:var(--teal);font-weight:600}.about{display:grid;grid-template-columns:25% 75%;border-top:1px solid var(--line);position:relative}.gold-line{display:block;width:50px;height:1px;background:var(--gold);margin-top:30px}.serif-kicker{font-family:var(--serif);font-size:28px;color:var(--gold);font-style:italic;margin-bottom:22px}h2{font-family:var(--serif);font-size:clamp(30px,3vw,45px);line-height:1.6;letter-spacing:.05em;margin-bottom:25px}.about-content h2{font-size:clamp(32px,3.4vw,50px)}.about-copy{margin-left:23%;margin-top:35px;font-size:16px}.about-copy p{margin-bottom:23px}.business{background:var(--aqua)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:50px}.section-top h2{margin-bottom:0}.section-top .section-label{margin-bottom:22px}.section-intro{color:var(--muted);font-size:15px;margin-bottom:5px}.business-list{border-top:1px solid #b9d1d1}details{border-bottom:1px solid #b9d1d1}summary{display:flex;align-items:center;gap:34px;padding:31px 10px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.number{font-family:var(--serif);font-size:26px;color:var(--gold);width:45px}.business-en{font-size:11px;letter-spacing:1.7px;color:var(--muted)}summary h3{font-size:23px;margin:9px 0 0;letter-spacing:.04em}.plus{margin-left:auto;position:relative;width:32px;height:32px;border:1px solid #abc6c7;border-radius:50%;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:15px;left:9px;width:12px;height:1px;background:var(--teal)}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}summary:hover h3{color:var(--teal)}.detail{margin:0 10px 32px 89px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.detail p{font-size:15px;margin:0;color:var(--muted)}.detail ul{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-content:center;font-size:13px}.detail li:before{content:'—';color:var(--gold);margin-right:7px}.visual-band{height:470px;position:relative;overflow:hidden;background:#70a6ae;color:white}.visual-band img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.visual-band:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,55,62,.63),rgba(10,55,62,.04))}.visual-band>div{position:absolute;left:8%;top:95px;z-index:1}.visual-band p{font-size:12px;letter-spacing:2px}.visual-band h2{font-size:49px;margin-top:27px}.visual-band>span{position:absolute;right:8%;bottom:35px;font-size:12px;letter-spacing:2px;z-index:1}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.steps article{border-top:1px solid var(--gold);padding-top:26px}.steps article>span{font-size:12px;letter-spacing:1.7px;color:var(--teal)}.steps h3{font-size:21px;margin:27px 0 18px}.steps p{font-size:15px;color:var(--muted);margin-bottom:0}.company{display:grid;grid-template-columns:40% 60%;background:#f7fafa;border-top:1px solid var(--line)}.company-word{font-family:var(--serif);font-size:55px;letter-spacing:-2px;margin-top:70px}.company-word span{display:block;font-size:12px;letter-spacing:1px;font-family:Arial,'Noto Sans JP',sans-serif;color:var(--muted)}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:23px 0;font-size:14px;line-height:1.9}dl>div:first-child{padding-top:0}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}dd small{margin-left:16px;color:var(--muted)}dd a:hover{text-decoration:underline}.contact{text-align:center;background:#eaf5f5 url('marble.jpg') center/cover;position:relative;isolation:isolate;padding-top:85px;padding-bottom:85px}.contact:before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.67);z-index:-1}.contact h2{font-size:49px;margin:20px 0}.contact>p:not(.section-label){font-size:15px}.contact-button{display:flex;align-items:center;justify-content:center;gap:14px;margin:30px auto 19px;width:310px;background:#087e81;color:white;padding:23px 29px;font-size:15px;transition:background .2s}.contact-button:hover{background:#14595b}.contact-button span{font-size:24px}.contact-email{font-size:14px;border-bottom:1px solid #aac8c9;padding-bottom:3px}footer{padding:40px 5.5%}.footer-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.footer-group-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.footer-brands{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.footer-row{display:flex;align-items:baseline;gap:28px;font-size:12px}footer p{margin:0;color:var(--muted)}.footer-row>span{color:var(--muted)}.footer-row>a:last-child{font-size:11px;letter-spacing:1px}
@media(min-width:1600px){.hero{min-height:820px}.section{padding-left:max(8%,calc((100vw - 1340px)/2));padding-right:max(8%,calc((100vw - 1340px)/2))}}
@media(max-width:900px){.header{height:80px;padding:0 6%}.brand img.brand-logo{height:38px}.header nav{gap:18px;font-size:12px}.nav-contact{padding:12px}.nav-contact span{margin-left:12px}.hero{min-height:670px;padding-left:7%}.hero-text{width:78%}h1{font-size:54px}.hero-art{width:48%;opacity:.75}.hero-word{font-size:65px}.eyebrow{font-size:10px;letter-spacing:1px}.section{padding:80px 7%}.about{grid-template-columns:22% 78%}.about-copy{margin-left:10%}.section-top{gap:25px}.detail{gap:30px;grid-template-columns:1fr}.steps{gap:25px}.company{grid-template-columns:35% 65%}dl>div{grid-template-columns:90px 1fr}.footer-top{gap:28px}.footer-row{gap:18px;flex-wrap:wrap}.footer-row>a:last-child{margin-left:0}}
@media(max-width:640px){html{scroll-padding-top:76px}.header{height:76px}.brand img.brand-logo{height:32px}.menu-toggle{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:var(--ink);font-size:12px;letter-spacing:1px;padding:12px 0}.menu-toggle span{font-size:24px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:18px 7% 26px;border-bottom:1px solid var(--line);gap:0;font-size:15px}.header nav.is-open{display:flex}.header nav a{padding:17px 0}.nav-contact{border:0}.nav-contact span{float:right}.hero{min-height:765px;align-items:flex-start;padding:48px 7% 80px}.hero-text{width:100%}.eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:23px;gap:9px}.eyebrow>span{width:16px}h1{font-size:44px;line-height:1.6;letter-spacing:.035em;margin-bottom:21px}.hero-description{font-size:14px;line-height:2;margin-bottom:25px}.text-link{font-size:13px;gap:30px}.hero-art{top:360px;height:335px;bottom:auto;width:100%;opacity:1;z-index:-1}.hero-art:before{background:linear-gradient(180deg,#fff,rgba(255,255,255,.08) 40%)}.hero-word{font-size:65px;letter-spacing:-3px;padding-top:30px;padding-left:70px;line-height:1.05}.art-caption{font-size:9px;bottom:18px;right:7%;letter-spacing:1px}.hero-bottom{left:7%;right:7%;bottom:27px;font-size:8px;letter-spacing:.9px}.hero-bottom a{font-size:0}.hero-bottom a span{font-size:18px}.section{padding:60px 7%}.section-label{font-size:10px;letter-spacing:1.6px}.about{display:block}.gold-line{display:none}.about-content{margin-top:30px}.serif-kicker{font-size:23px;margin-bottom:16px}.about-content h2{font-size:31px;letter-spacing:.015em}.about-copy{margin:27px 0 0;font-size:14px}.about-copy br{display:none}.about-copy p{max-width:34em;line-height:2.1}.section-top{display:block;margin-bottom:30px}h2{font-size:30px}.section-intro{font-size:14px;margin-top:22px}.business .section-intro br{display:none}summary{gap:15px;padding:26px 0}.number{font-size:21px;width:23px}.business-en{font-size:9px;letter-spacing:.7px}summary h3{font-size:18px;line-height:1.6;letter-spacing:0;margin-top:5px}.plus{width:27px;height:27px}.plus:before,.plus:after{top:12px;left:7px;width:11px}.detail{margin:0 0 28px 38px;gap:20px}.detail p{font-size:14px}.detail ul{grid-template-columns:1fr;font-size:12px;gap:10px}.visual-band{height:360px}.visual-band>div{left:7%;top:65px}.visual-band p{font-size:10px}.visual-band h2{font-size:38px}.visual-band>span{font-size:10px}.steps{grid-template-columns:1fr;gap:32px;margin-top:35px}.steps article{padding-top:21px}.steps h3{margin:18px 0 12px}.steps p{font-size:14px}.company{display:block}.company-word{display:none}.company dl{margin-top:30px}dl>div{grid-template-columns:83px 1fr;font-size:13px;padding:20px 0}dd small{display:block;margin-left:0}.contact h2{font-size:38px}.contact>p:not(.section-label){font-size:13px}.contact>p br{display:none}.contact-button{max-width:100%;width:290px;padding:19px 24px}.contact-email{font-size:12px}footer{padding:30px 7%}.footer-row{gap:12px 15px;flex-wrap:wrap}footer p{font-size:11px}.footer-row>span{font-size:10px}.footer-row>a:last-child{width:100%;font-size:10px;margin-top:7px}.footer-brands{gap:16px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:640px){.hero-word{font-size:53px;letter-spacing:-2px;padding-left:0;max-width:100%}}

.approach h2>span{display:inline-block}
@media(max-width:640px){.about-content h2{font-size:clamp(23px,6.5vw,28px)}.approach h2{font-size:26px;letter-spacing:0}.hero-word{font-size:clamp(43px,13.5vw,53px)}}
.lang-switch{display:flex;align-items:center;gap:2px;padding-left:24px;border-left:1px solid var(--line)}.lang-btn{border:0;background:none;cursor:pointer;color:var(--muted);font-size:11px;letter-spacing:1px;padding:6px 8px;border-radius:2px;transition:background .2s,color .2s}.lang-btn:hover{color:var(--teal)}.lang-btn.active{background:var(--teal);color:white}
html[lang^=zh] body{font-family:'Helvetica Neue',Arial,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans JP',sans-serif}html[lang^=zh]{--serif:Georgia,'Times New Roman','Songti SC','STSong','Noto Serif SC','SimSun','Noto Serif JP',serif}
html[lang=en] h1,html[lang=ms] h1{font-size:clamp(42px,4.3vw,70px);line-height:1.3;letter-spacing:0}html[lang=en] h2,html[lang=ms] h2{line-height:1.35;letter-spacing:0}html[lang=en] h3,html[lang=ms] h3{letter-spacing:0}html[lang=en] p,html[lang=ms] p{line-height:1.8}html[lang=en] dl>div,html[lang=ms] dl>div{grid-template-columns:150px 1fr}
@media(max-width:1100px){.header nav{gap:18px}.lang-switch{padding-left:14px}.lang-btn{padding:5px 6px}}
@media(max-width:640px){.lang-switch{border-left:0;padding:18px 0 0;gap:8px}.lang-btn{font-size:12px;padding:8px 14px;border:1px solid var(--line)}.lang-btn.active{border-color:var(--teal)}html[lang=en] h1,html[lang=ms] h1{font-size:30px}html[lang^=zh] h1{font-size:38px}html[lang=en] .contact h2,html[lang=ms] .contact h2{font-size:32px}html[lang=en] dl>div,html[lang=ms] dl>div{grid-template-columns:105px 1fr}}
