:root{--green:#08734a;--green-light:#a2d6b7;--ink:#18251f;--muted:#66736b;--cream:#f7f8f5;--line:#dce4dc;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN','Noto Sans CJK JP',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #54be86;outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.skip{position:fixed;top:-100px;left:12px;z-index:200;background:white;padding:10px}.skip:focus{top:12px}
.header{position:absolute;z-index:30;left:0;right:0;top:0;color:#fff;border-bottom:1px solid #ffffff29}.head-inner{min-height:114px;display:flex;align-items:center;justify-content:space-between;padding:20px 45px;gap:24px}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.mark{width:62px;height:62px;background:var(--green);display:grid;place-items:center;color:white;font-family:var(--sans);font-size:51px;line-height:1;font-weight:700}.brand-copy{line-height:1.2}.brand-copy small{font-size:12px;letter-spacing:.22em;display:block;margin-bottom:6px}.brand-copy strong{font-size:27px;letter-spacing:.06em;display:block}.brand-copy em{font:10px/1.5 Arial,sans-serif;letter-spacing:.21em;display:block;margin-top:7px;font-style:normal}.nav{display:flex;align-items:center;gap:30px}.nav a{position:relative;text-align:center;white-space:nowrap;padding:9px 0}.nav b{font-size:14px;letter-spacing:.13em;font-family:var(--serif)}.nav span{display:block;font-family:Georgia,serif;font-size:13px;letter-spacing:.08em;color:var(--green-light);line-height:1.4;margin-top:3px}.nav a:after{position:absolute;bottom:0;left:50%;height:2px;background:var(--green-light);content:'';width:0;transition:.2s}.nav a:hover:after,.nav .current:after{width:100%;left:0}.header-call{display:flex;align-items:center;gap:12px;padding:11px 17px;border:1px solid #ffffff6b;font-family:Arial,sans-serif;font-weight:600;font-size:16px;white-space:nowrap}.phone-icon{width:20px;height:20px;flex-shrink:0}.menu-toggle{display:none;background:none;border:1px solid #ffffff80;color:white;width:44px;height:44px;align-items:center;justify-content:center}.menu-toggle svg{width:22px}
.hero{height:min(810px,50vw);min-height:660px;position:relative;overflow:hidden;color:#fff;background:#25372f;display:grid;place-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 49%;filter:grayscale(1) contrast(1.07)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,12,.68),rgba(9,22,22,.2) 26%,rgba(7,23,19,.32) 62%,rgba(6,21,17,.68))}.hero-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);font-family:var(--sans);font-size:440px;font-weight:900;color:#fff;opacity:.1;line-height:1;pointer-events:none;user-select:none}.hero-content{position:relative;text-align:center;width:100%;padding:110px 24px 50px;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:18px;font:11px/1.5 Arial,sans-serif;letter-spacing:.32em;color:#fff}.eyebrow:before,.eyebrow:after{content:'';width:42px;height:1px;background:#ffffff8a}.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,4vw,64px);letter-spacing:.11em;margin:20px 0 25px;line-height:1.6;text-shadow:0 2px 18px #0007}.hero-en{display:inline-block;background:#fff;color:#23392d;font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3.1vw,48px);line-height:1.2;padding:14px 30px 17px;box-shadow:0 5px 20px #0001}.hero-sub{font-size:13px;letter-spacing:.18em;line-height:2.1;margin:22px auto 0}.hero-bottom{position:absolute;bottom:24px;left:45px;right:45px;display:flex;align-items:end;justify-content:space-between;z-index:3;font:10px/1.8 Arial,sans-serif;letter-spacing:.22em;color:#ffffffe0}.hero-bottom small{font:10px/1.5 var(--sans);letter-spacing:.06em}.hero-scroll{display:flex;align-items:center;gap:12px;font:10px/1.5 Arial,sans-serif;letter-spacing:.22em}.hero-scroll span{height:36px;width:1px;background:linear-gradient(#ffffff00,#fff)}
.works{padding:38px 0 39px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.title-row{display:flex;align-items:center;gap:22px}.section-label{font:10px/1.5 Arial,sans-serif;color:var(--green);font-weight:700;letter-spacing:.24em}.title-row h2{font-family:var(--serif);font-size:28px;letter-spacing:.12em;margin:0;font-weight:600}.title-row .section-label{padding-left:22px;border-left:1px solid #d8e1d9}.section-note{font-size:11px;color:var(--muted);letter-spacing:.07em}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:21px}.work{margin:0;min-width:0}.work-button{display:block;text-align:left;padding:0;border:0;background:none;width:100%}.work-image{aspect-ratio:1.65;overflow:hidden;position:relative;background:#e3e7e3}.work img{width:100%;height:100%;object-fit:cover;transition:transform .4s;filter:saturate(.75)}.work .tag{position:absolute;top:11px;left:11px;font-size:10px;letter-spacing:.05em;padding:4px 9px;background:#ffffffef;color:#263b2c}.work .zoom{position:absolute;bottom:0;right:0;width:33px;height:33px;display:grid;place-items:center;background:var(--green);color:white;font-size:22px;font-weight:300}.work button:hover img{transform:scale(1.05)}.work-caption{display:flex;justify-content:space-between;align-items:center;padding-top:13px;gap:10px}.work-caption strong{font-size:13px;letter-spacing:.07em;font-weight:600}.work-caption small{font:10px Arial,sans-serif;color:#6c7c70;letter-spacing:.11em}.photo-note{margin:20px 0 0;font-size:10px;letter-spacing:.02em;color:#778378;line-height:1.8}
.intro{padding:70px 0 77px;background:var(--cream);border-top:1px solid #edf0eb}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.intro h2{font:600 clamp(25px,2.7vw,39px)/1.8 var(--serif);letter-spacing:.09em;margin:15px 0 0}.intro p{font-size:13px;line-height:2.3;letter-spacing:.045em;color:#5d6a60;margin:0}.underlink{display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid #9caf9e;padding:13px 0 8px;font-size:12px;letter-spacing:.1em;margin-top:19px}.underlink span{font-size:20px}.services{padding:80px 0}.section-title h2{font:600 35px/1.5 var(--serif);letter-spacing:.1em;margin:10px 0 30px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:30px 25px 32px;border-right:1px solid var(--line)}.service:first-child{padding-left:0}.service:last-child{border:0;padding-right:0}.service .num{font:italic 32px Georgia,serif;color:#8db49a}.service h3{font-family:var(--serif);font-size:18px;line-height:1.7;margin:15px 0 11px}.service p{font-size:12px;line-height:2.1;color:var(--muted);margin:0}.service small{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:.14em;color:var(--green);margin-top:10px}
.company{background:#f3f6f1;padding:80px 0}.company-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.company-intro p{font-size:13px;color:var(--muted);line-height:2.2}.company dl{margin:0}.company-row{display:grid;grid-template-columns:135px 1fr;padding:18px 0;border-bottom:1px solid #d8e1d7;gap:20px;font-size:13px;line-height:2}.company-row:first-child{padding-top:0}.company dt{font-weight:600}.company dd{margin:0;color:#536456}.company dd a{text-decoration:underline;text-decoration-color:#bdc9be;text-underline-offset:4px}.registration{margin-top:26px;border:1px solid #cfdbcf;padding:15px 19px;background:#ffffff8c;font-size:12px}.registration summary{cursor:pointer;font-weight:600}.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:14px;font-size:11px}.registration p{font-size:10px;color:#68796a;margin:14px 0 2px}
.contact{background:var(--green);color:#fff;padding:68px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact .section-label{color:#c5e4cf}.contact h2{font:600 clamp(24px,2.7vw,38px)/1.7 var(--serif);letter-spacing:.06em;margin:12px 0 13px}.contact p{font-size:12px;letter-spacing:.055em;color:#d7ebdf;margin:0}.contact-call{text-align:right;flex-shrink:0}.contact-call small{font-size:11px;letter-spacing:.15em;display:block}.contact-number{font:38px/1.7 Georgia,serif;letter-spacing:.04em;display:flex;align-items:center;gap:17px;white-space:nowrap}.contact-number svg{width:26px;height:26px}.secondary-phone{font-size:11px;color:#d1e6d7}.footer{padding:37px 0 24px;background:#17251d;color:#e3ebe6}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .brand-copy strong{font-size:20px}.footer .mark{width:47px;height:47px;font-size:38px}.footer .brand-copy small{font-size:10px}.footer .brand-copy em{font-size:8px}.footer-address{font-size:11px;color:#b9c8bd;line-height:2}.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;font-size:10px;color:#93a79a}.footer-bottom a{border-bottom:1px solid #93a79a}.signature-cumali{font-style:italic;font-size:13px;letter-spacing:.07em;color:#e5eee7}.mobile-call{display:none}
.lightbox{border:none;border-radius:0;padding:0;background:#11241c;color:white;max-width:min(1060px,94vw);width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 120px #0006}.lightbox::backdrop{background:#08110ee8}.lightbox-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:13px}.lightbox-close{width:39px;height:39px;color:white;border:1px solid #ffffff60;background:transparent;font-size:24px;line-height:1}.lightbox img{width:100%;max-height:72vh;object-fit:contain;background:#101710}.lightbox-foot{font-size:11px;color:#d1dfd6;padding:14px 20px;line-height:1.8}
@media(min-width:1700px){.head-inner{padding:25px 55px}.nav{gap:38px}.hero-content{padding-top:120px}.hero h1{margin-top:22px}}
@media(max-width:1220px){.head-inner{padding:20px 28px;gap:20px}.header-call{display:none}.nav{gap:26px}.brand-copy strong{font-size:23px}.mark{width:54px;height:54px;font-size:44px}.hero h1{font-size:46px}.wrap{width:calc(100% - 70px)}.intro-grid{gap:60px}}
@media(max-width:900px){.head-inner{min-height:94px;padding:16px 24px}.nav{gap:20px}.nav b{font-size:12px}.nav span{font-size:11px}.brand-copy strong{font-size:21px}.brand-copy small{font-size:10px}.brand-copy em{font-size:8px}.mark{width:49px;height:49px;font-size:40px}.hero{height:660px;min-height:0}.hero h1{font-size:39px}.hero-en{font-size:34px}.work-grid{gap:15px}.work-caption strong{font-size:11px}.intro-grid{gap:40px}.company-grid{grid-template-columns:1fr;gap:25px}.service{padding:25px 15px}.service h3{font-size:16px}.contact-inner{display:block}.contact-call{text-align:left;margin-top:26px}.contact-number{font-size:34px}.footer-top{align-items:start}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.head-inner{padding:17px 20px;min-height:91px}.brand{gap:11px}.brand-copy strong{font-size:19px}.brand-copy small{font-size:9px}.brand-copy em{font-size:7px;letter-spacing:.17em}.mark{width:46px;height:46px;font-size:37px}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:91px;left:0;right:0;background:#143c2ef7;padding:18px 24px 24px;grid-template-columns:1fr 1fr;gap:13px 24px;box-shadow:0 15px 25px #0002}.nav.open{display:grid}.nav a{padding:10px 0}.nav b{font-size:14px}.nav span{font-size:12px}.hero{height:620px}.hero-photo{object-position:60% 50%}.hero-watermark{font-size:340px;top:49%}.hero-content{padding:105px 15px 55px}.eyebrow{font-size:9px;gap:10px;letter-spacing:.2em}.eyebrow:before,.eyebrow:after{width:25px}.hero h1{font-size:clamp(25px,7.6vw,38px);letter-spacing:.04em;line-height:1.7;margin:23px 0}.hero-en{font-size:clamp(22px,5.6vw,30px);padding:12px 14px 15px;max-width:100%;line-height:1.3}.hero-sub{font-size:11px;letter-spacing:.1em;margin-top:22px}.hero-bottom{left:20px;right:20px;bottom:23px;font-size:8px;letter-spacing:.15em}.hero-bottom small{font-size:8px}.hero-scroll{font-size:8px;gap:9px}.hero-scroll span{height:30px}.works{padding:30px 0 34px}.section-heading{display:block;margin-bottom:20px}.title-row{gap:16px}.title-row h2{font-size:26px}.title-row .section-label{padding-left:16px;font-size:9px}.section-note{margin-top:10px;font-size:10px}.work-grid{grid-template-columns:1fr 1fr;gap:23px 14px}.work-image{aspect-ratio:1.35}.work .tag{top:7px;left:7px;font-size:8px;padding:3px 7px}.work-caption{padding-top:9px;gap:5px}.work-caption strong{font-size:11px}.work-caption small{font-size:8px}.work .zoom{width:27px;height:27px;font-size:18px}.photo-note{font-size:9px;margin-top:22px}.intro{padding:44px 0 48px}.intro-grid{grid-template-columns:1fr;gap:21px}.intro h2{font-size:27px;margin-top:13px}.intro p{font-size:12px}.services{padding:46px 0}.section-title h2{font-size:29px;margin-bottom:24px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:23px 16px!important;border-bottom:1px solid var(--line)}.service:nth-child(odd){padding-left:0!important}.service:nth-child(even){border-right:0;padding-right:0!important}.service:nth-child(n+3){border-bottom:0}.service .num{font-size:27px}.service h3{font-size:16px}.service p{font-size:11px}.company{padding:46px 0}.company-grid{gap:24px}.company-row{grid-template-columns:85px 1fr;gap:15px;font-size:12px;overflow-wrap:anywhere;padding:15px 0}.reg-grid{grid-template-columns:1fr}.contact{padding:46px 0}.contact h2{font-size:26px}.contact p{font-size:11px}.contact-number{font-size:30px;gap:13px}.contact-number svg{width:22px}.contact-call{margin-top:25px}.footer{padding:30px 0 82px}.footer-top{display:block}.footer-address{margin-top:23px;font-size:10px}.footer-bottom{font-size:8px;gap:15px}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;align-items:center;justify-content:center;gap:13px;background:#08734af5;color:#fff;z-index:25;min-height:54px;padding:12px 15px calc(12px + env(safe-area-inset-bottom));font-size:13px;letter-spacing:.07em;box-shadow:0 -2px 20px #0002}.mobile-call svg{width:17px;height:17px}.lightbox-head{font-size:12px;padding:12px 15px}.lightbox-foot{font-size:10px}.hero-scroll{margin-bottom:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.map-link{display:inline-flex;align-items:center;margin-top:9px;font-size:11px;font-weight:600;color:var(--green)!important}
.service-link{display:inline-flex;align-items:center;margin-top:18px;padding:7px 0;border-bottom:1px solid #b0c3b4;font-size:11px;color:var(--green);font-weight:600}
.contact-subject:not([hidden]){display:inline-block;margin-top:15px;padding:8px 13px;border:1px solid #ffffff55;color:#fff;font-size:12px}
.lightbox-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid #ffffff22}
.lightbox-nav button{background:transparent;border:1px solid #ffffff66;color:white;padding:8px 15px;font-size:12px}
.lightbox-nav button:hover{background:#ffffff18}
#lightbox-count{font:12px Arial,sans-serif;letter-spacing:.1em}
@media(max-width:600px){.lightbox-nav{padding:10px 13px}.lightbox-nav button{font-size:11px;padding:8px 10px}}

.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
#main:focus{outline:none}
.contact-options{display:flex;justify-content:flex-end;gap:10px 18px;flex-wrap:wrap;margin-top:5px}
.contact-options a,.contact-options span{font-size:11px;color:#d1e6d7}
.contact-options a{text-decoration:underline;text-decoration-color:#ffffff55;text-underline-offset:4px}
.contact-emails{display:grid;justify-items:end;gap:4px;margin-top:12px}
.contact-emails a{font-size:12px;color:#fff;text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:4px;overflow-wrap:anywhere}
.lightbox-photo-wrap{touch-action:pan-y}
@media(max-width:900px){.contact-options{justify-content:flex-start}.contact-emails{justify-items:start}}
@media(max-width:700px){.footer-bottom{flex-wrap:wrap}.contact-options{display:grid;gap:8px}.contact-options a{font-size:11px}.contact-emails a{font-size:11px}}
@media(max-width:460px){.service-grid{grid-template-columns:1fr}.service{padding:22px 0!important;border-right:0;border-bottom:1px solid var(--line)!important}.service:last-child{border-bottom:0!important}.work-grid{gap:20px 12px}.contact-number{font-size:clamp(24px,8vw,30px)}.footer-bottom{display:grid;gap:10px}}
