@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#19372f;--paper:#f8f7f3;--muted:#68716b;--line:#d7dcd5;--gold:#aa8d59}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,select{font:inherit}a,button,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{height:100px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:28px;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:15px;letter-spacing:.08em;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:.25em}.logo{width:88px;height:47px;overflow:hidden;background:white;display:block;position:relative}.logo img{position:absolute;width:112px;max-width:none;left:-12px;top:-7px}nav{display:flex;gap:26px;font-size:12px}nav a:hover,.text-link:hover{color:#a38449}.head-actions{display:flex;align-items:center;gap:20px}select{border:0;color:var(--ink);background:transparent;font-size:12px;padding:8px;max-width:100px}.contact-top{background:var(--ink);color:white;padding:12px 21px;font-size:12px}.hero{height:min(700px,78vh);min-height:540px;position:relative;background:#203b32;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 25%;background:url('assets/kaminarimon-hero.jpg') center/cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,37,30,.96),rgba(14,37,30,.68) 35%,rgba(14,37,30,.05) 78%)}.hero-copy{position:relative;z-index:1;padding:95px 7%;max-width:1000px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.24em;display:block;margin-bottom:25px}h1,h2,h3,p{margin:0}h1,h2{font-family:'Noto Serif JP',serif;font-weight:500}h1{font-size:clamp(30px,3.5vw,52px);line-height:1.65;letter-spacing:.08em;margin:0 0 27px}h2{font-size:clamp(26px,2.6vw,38px);line-height:1.7;letter-spacing:.04em}.hero p{font-size:14px;line-height:2.1;color:#ecede4}.button{display:inline-flex;gap:60px;align-items:center;padding:15px 25px;margin-top:35px;border:1px solid #ffffff80;font-size:12px}.button:hover{background:#ffffff20}.hero-caption{position:absolute;right:4%;bottom:36px;z-index:1;font-size:12px;letter-spacing:.22em;text-shadow:0 1px 4px #222}.hero-caption span{display:block;font-size:9px;margin-top:4px}.scroll{position:absolute;bottom:35px;left:7%;z-index:1;font-size:9px;letter-spacing:.25em}.section{padding:100px 8%;scroll-margin-top:0}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:8%}.intro-body p{color:var(--muted)}.intro-body .large{font-size:19px;color:var(--ink);margin-bottom:23px;line-height:1.9}.stats{display:flex;gap:45px;border-top:1px solid var(--line);margin-top:34px;padding-top:24px}.stats strong{display:block;font-family:Georgia,serif;font-size:45px;line-height:1.4;font-weight:400}.stats strong small{font-size:13px;margin-left:7px;font-family:sans-serif}.stats span{font-size:11px;color:var(--muted)}.note{display:block;font-size:11px;line-height:1.9;color:var(--muted);margin-top:18px}.services{background:#eaece5}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:50px}.section-head p{color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-grid article{border-top:1px solid #a8b3a8;padding-top:22px}.number{font-family:Georgia,serif;font-size:15px;color:#708775}.service-grid h3{font-size:18px;font-weight:500;margin:25px 0 16px}.service-grid p{font-size:13px;color:#647066}.section-note{font-size:10px;letter-spacing:.16em}.hotel{display:grid;grid-template-columns:1.15fr 1fr;margin-bottom:65px;align-items:center;gap:7%}.hotel.reverse .hotel-image{order:2}.hotel-image{height:380px;position:relative;overflow:hidden}.hotel-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.hotel-image:hover img{transform:scale(1.035)}.image-label{position:absolute;bottom:0;left:0;padding:12px 24px;background:var(--ink);color:white;font-size:10px;letter-spacing:.2em}.status{font-size:10px;color:#4c6959;display:inline-block;border-bottom:1px solid #829c88;margin-bottom:16px}.hotel h3{font-family:'Noto Serif JP',serif;font-size:32px;font-weight:400;letter-spacing:.04em;line-height:1.3}.jp-name{font-size:11px;margin:5px 0 18px;color:var(--muted)}.hotel-info>p:not(.jp-name){font-size:13px;color:var(--muted)}dl{margin:20px 0}dl>div{display:grid;grid-template-columns:90px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font-size:12px}dd{margin:0;font-size:13px}.hotel-links{display:flex;gap:18px;flex-wrap:wrap}.text-link{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:4px}.pipeline{background:var(--ink);color:#f5f5e9}.pipeline .section-head p,.pipeline .note{color:#bdc8be}.project-list>div{display:grid;grid-template-columns:150px 1fr 80px 95px;align-items:center;padding:24px 0;border-top:1px solid #ffffff30;gap:15px}.project-list>div>span:first-child{font-family:Georgia,serif;font-size:25px;color:#d3c49e}.project-list h3{font-size:18px;font-weight:400}.project-list small{font-size:10px;color:#c8d4c9}.company{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.company p{margin-top:25px;color:var(--muted)}.company dl{margin:0}.company dl>div{grid-template-columns:125px 1fr;padding:20px 0}.company dd small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em}.contact{text-align:center;border-top:1px solid var(--line);background:#eaece5}.contact p{color:var(--muted);margin-top:20px}.mail{display:block;font-family:Georgia,serif;font-size:clamp(18px,2vw,25px);margin:26px auto 12px;max-width:650px;border-bottom:1px solid #bcc6ba;padding-bottom:15px}.mail span{font-family:sans-serif;font-size:24px;margin-left:22px}.phone{font-size:16px;letter-spacing:.05em}footer{display:flex;justify-content:space-between;align-items:center;padding:35px 6%;gap:20px}footer>span,footer button{font-size:10px;color:var(--muted)}footer button{background:none;border:0;cursor:pointer}dialog{border:0;max-width:600px;width:90%;padding:45px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#132b24aa}dialog h2{font-size:25px;margin-bottom:20px}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;cursor:pointer}.skip{position:fixed;left:10px;top:-100px;background:white;z-index:30;padding:8px}.skip:focus{top:10px}html[lang=en] h1{letter-spacing:0;font-size:clamp(30px,3.6vw,50px)}html[lang=en] h2{letter-spacing:0} @media(min-width:1600px){.section{padding-left:calc((100vw - 1344px)/2);padding-right:calc((100vw - 1344px)/2)}}@media(max-width:1100px){nav{display:none}.section{padding:70px 6%}.hero-copy{padding-top:80px}.service-grid{grid-template-columns:repeat(2,1fr);gap:35px}.hotel{gap:5%}.hotel-image{height:330px}.stats{gap:25px}}@media(max-width:640px){header{height:78px;padding:0 5%;gap:10px}.brand{gap:8px;font-size:11px}.logo{width:65px;height:37px}.logo img{width:86px;left:-10px;top:-4px}.brand small{font-size:8px}.contact-top{display:none}.head-actions{gap:0}.hero{min-height:590px;height:76vh;max-height:740px}.hero-photo{left:0}.hero:after{background:linear-gradient(90deg,#102d23d9,#102d2366)}.hero-copy{padding:90px 7% 0}.hero h1{font-size:29px}.hero p{font-size:12px}.hero-caption{bottom:24px;right:6%;font-size:10px}.scroll{bottom:25px}.section{padding:62px 7%}.intro,.company{grid-template-columns:1fr;gap:30px}.intro-body .large{font-size:17px}.stats{justify-content:space-between;gap:10px}.stats strong{font-size:38px}.section-head{display:block;margin-bottom:32px}.section-head p,.section-note{display:block;margin-top:20px}h2{font-size:26px}.eyebrow{margin-bottom:15px}.service-grid{gap:25px}.service-grid h3{font-size:16px}.service-grid p{font-size:12px}.hotel{grid-template-columns:1fr;gap:25px;margin-bottom:48px}.hotel.reverse .hotel-image{order:0}.hotel-image{height:280px}.hotel h3{font-size:29px}.project-list>div{grid-template-columns:80px 1fr 42px;gap:12px;padding:22px 0}.project-list>div>span:first-child{font-size:19px}.project-list h3{font-size:14px}.project-list small{grid-column:2}.company dl>div{grid-template-columns:90px 1fr}.contact h2{font-size:25px}footer{flex-wrap:wrap;padding:28px 7%}footer .brand{width:100%}dialog{padding:32px 22px}html[lang=en] .hero h1{font-size:33px}html[lang=en] .service-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.asset-management{background:#eeeee6}.asset-lead{display:grid;grid-template-columns:1fr 2fr;gap:45px;border-top:1px solid #b9c4b7;padding-top:28px;margin-bottom:44px}.asset-label{font-size:15px;font-weight:500}.asset-lead p{color:var(--muted)}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.asset-grid article{border-top:1px solid var(--line);padding-top:22px}.asset-grid h3{font-size:18px;font-weight:500;margin:18px 0 14px}.asset-grid p,.asset-roles p{font-size:13px;color:var(--muted)}.asset-roles{margin-top:38px;border-left:2px solid var(--gold);padding:5px 0 5px 24px;max-width:950px}.asset-roles h3{font-size:14px;margin-bottom:10px;font-weight:500}@media(max-width:640px){.asset-lead,.asset-grid{grid-template-columns:1fr;gap:22px}.asset-grid h3{margin-top:10px}}

.cost-feature{margin-top:55px;padding:35px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.3fr 1fr;gap:15px 50px}.cost-feature h3{font-family:'Noto Serif JP',serif;font-size:25px;font-weight:500;line-height:1.6;margin-bottom:18px}.cost-feature p{font-size:13px;color:#d5ded4}.cost-number{align-self:center;text-align:center;font-size:12px}.cost-number strong{display:block;font:normal 76px/1.3 Georgia,serif;color:#eee4c9}.cost-number strong>span{font-size:44px}.cost-number small{font-size:36px}.cost-exclude{display:block;letter-spacing:.08em}.cost-footnote{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:18px;font-size:11px!important}.investment-cycle>h3,.structure>h3{font-family:'Noto Serif JP',serif;font-size:25px;font-weight:500;margin-bottom:15px}.investment-cycle>p,.structure>p{color:var(--muted);font-size:13px;max-width:950px}.cycle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:23px;margin-top:30px}.cycle-grid article{border-top:2px solid #879b83;padding-top:18px}.cycle-grid h4,.structure h4{font-size:16px;font-weight:500;line-height:1.7;margin:15px 0 12px}.cycle-grid p{color:var(--muted);font-size:12px}.structure{border-top:1px solid #bbc5b7;margin-top:48px;padding-top:38px}.structure .asset-grid{margin-top:28px}.structure .note{margin-top:25px;font-size:11px}.structure .asset-grid article{border:0;border-left:1px solid #bdc7b7;padding:0 0 0 22px}@media(max-width:900px){.cycle-grid{grid-template-columns:repeat(3,1fr)}.cost-feature{gap:20px}.cost-number strong{font-size:60px}}@media(max-width:640px){.cost-feature{grid-template-columns:1fr;padding:25px}.cost-number{text-align:left}.cost-footnote{grid-column:auto}.cycle-grid{grid-template-columns:1fr 1fr}.structure .asset-grid{grid-template-columns:1fr}.investment-cycle>h3,.structure>h3{font-size:22px}}

/* Mobile navigation and readable, touch-friendly layouts. */
.menu-toggle,.mobile-extra{display:none}
main section *,footer *,dialog *{min-width:0}
@media(max-width:1100px){
 header{gap:16px}
 .menu-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;padding:4px 10px}
 .menu-toggle>span:first-child{font-size:22px;line-height:1}
 .menu-label{font-size:12px}
 header nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 100px);overflow-y:auto;background:var(--paper);padding:14px 6% 22px;box-shadow:0 12px 20px #19372f18;gap:0;flex-direction:column;border-bottom:1px solid var(--line)}
 header nav a{display:flex;align-items:center;min-height:48px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:15px}
 #language{min-height:44px;font-size:16px}
}
@media(max-width:640px){
 html{scroll-padding-top:90px}
 header{padding:0 4%;gap:8px}
 header .brand{gap:6px;letter-spacing:0;flex-shrink:0}
 .head-actions{gap:6px}
 .menu-toggle{padding:4px 8px}
 .menu-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #language{padding:8px 2px;max-width:85px}
 header nav.is-open{max-height:calc(100dvh - 78px)}
 .hero{height:auto;min-height:590px;max-height:none}
 .hero-copy{padding:64px 7% 120px}
 .hero h1{font-size:clamp(25px,6.7vw,31px);letter-spacing:.035em;overflow-wrap:anywhere}
 html[lang=en] .hero h1{font-size:clamp(29px,8vw,34px)}
 .hero p{font-size:15px;line-height:1.9}
 .hero-photo{background-position:58% center}
 .button{font-size:14px;min-height:48px;gap:28px;max-width:100%}
 .section{padding:54px 6%}
 .section p,.hotel-info>p:not(.jp-name),.service-grid p,.cycle-grid p,.asset-grid p,.asset-roles p,.section-head p,.investment-cycle>p,.structure>p,.cost-feature p{font-size:15px;line-height:1.9}
 .section .note,.structure .note,.cost-feature .cost-footnote{font-size:12px!important;line-height:1.9}
 .section h2{font-size:26px;overflow-wrap:anywhere}
 .service-grid,.cycle-grid{grid-template-columns:1fr;gap:24px}
 .service-grid h3{font-size:19px;margin:12px 0}
 .cycle-grid article{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding-top:16px}
 .cycle-grid .number{grid-row:1/3}
 .cycle-grid h4{margin:0 0 8px;font-size:17px}
 .cycle-grid p{grid-column:2}
 .hotel-image{height:auto;aspect-ratio:4/3}
 .hotel-links{gap:8px;align-items:flex-start;flex-direction:column}
 .text-link{display:flex;align-items:center;font-size:14px;min-height:44px;padding:8px 0}
 .hotel-info .jp-name{font-size:12px;margin-top:10px}
 dt,dd{font-size:14px;overflow-wrap:anywhere}
 .project-list>div{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:22px 0}
 .project-list h3{grid-column:1/-1;grid-row:2;font-size:18px}
 .project-list small{grid-column:1/-1;font-size:12px}
 .project-list>div>span:first-child{font-size:22px}
 .cost-feature{padding:24px 20px}
 .cost-feature h3{font-size:23px}
 .cost-number{font-size:14px}
 .company dl>div{grid-template-columns:85px minmax(0,1fr);gap:12px}
 .asset-roles{padding-left:16px}
 .asset-roles h3{font-size:17px}
 .mail{font-size:20px;overflow-wrap:anywhere}
 .mail span{margin-left:8px}
 .phone{display:inline-flex;align-items:center;min-height:44px}
 footer{gap:12px}
 footer button,footer>a:last-child{min-height:44px;min-width:44px;font-size:12px}
 dialog{max-height:85dvh;overflow-y:auto;padding:56px 22px 28px}
 dialog p{font-size:15px;overflow-wrap:anywhere}
 dialog h2{font-size:22px}
 .close{min-width:44px;min-height:44px}
}
@media(max-width:1100px){header nav.is-open .mobile-extra{display:flex}} @media(max-width:640px){.hero h1{text-wrap:balance}}
