:root{--navy:#101f2c;--deep:#0b1722;--gold:#bfa16a;--paper:#f6f5f1;--ink:#1d2b33;--muted:#657078;--line:#d7dbda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{border:0}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h2{font-size:clamp(28px,3.2vw,46px);font-weight:600;line-height:1.65;letter-spacing:.08em}.wrap{width:min(1200px,86%);margin:0 auto}.section{padding:112px 0}.section-label,.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;color:#8a7246}.section-label{margin-bottom:22px}.skip{position:fixed;top:-60px;left:20px;padding:8px 20px;background:white;z-index:20}.skip:focus{top:10px}.header{height:86px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff19}.wordmark{display:flex;align-items:center;gap:16px}.wordmark>b{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px;letter-spacing:.12em;color:#e7d2a5;font-weight:500}.wordmark>span{font-family:Arial,sans-serif;font-size:18px;letter-spacing:.22em;line-height:1.35}.wordmark-sub{font-size:8px;display:block;letter-spacing:.16em;color:#aeb7bd;margin-top:4px}.header nav{display:flex;align-items:center;gap:35px;font-size:12px}.header nav>a{transition:color .2s}.header nav>a:hover{color:#e2c790}.nav-contact{border:1px solid #bfa16a80;padding:10px 22px}.nav-contact span{margin-left:24px;color:#ddc48f}.menu-toggle{display:none}.hero{height:min(820px,calc(100svh - 86px));min-height:590px;position:relative;isolation:isolate;background:var(--deep);color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071421d9 0%,#07142160 52%,#0714210a 100%);z-index:-2}.hero-content{position:absolute;left:7%;top:23%}.eyebrow.light{color:#d6bd8a;font-size:11px;letter-spacing:.22em;margin-bottom:30px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.8vw,72px);font-weight:500;line-height:1.62;letter-spacing:.1em;text-shadow:0 2px 18px #0003}.hero-lead{margin-top:25px;font-size:14px;letter-spacing:.12em;line-height:2.2;color:#e5e8eb}.line-link{font-size:12px;display:flex;align-items:center;justify-content:space-between;width:220px;border-bottom:1px solid #bfa16a;margin-top:40px;padding-bottom:13px}.line-link span{font-size:20px;color:#e2c790}.hero-bottom{position:absolute;bottom:35px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:end;font-size:11px;letter-spacing:.14em}.hero-location{display:block;color:#c0cbd3;font:9px Arial,sans-serif;letter-spacing:.2em;margin-top:5px}.hero-bottom>a{font:9px Arial,sans-serif;letter-spacing:.2em}.hero-bottom>a span{font-size:22px;margin-left:20px}.image-note{position:absolute;bottom:10px;right:14px;font-size:8px;color:#d1d8dc}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px}.gold-line{display:block;width:34px;height:1px;background:var(--gold);margin-bottom:18px}.intro-content{display:grid;grid-template-columns:1.2fr 1fr;gap:45px}.intro h2{font-size:clamp(26px,2.5vw,36px)}.intro-copy{font-size:13px;color:#58646a;padding-top:8px}.intro-copy p+p{margin-top:22px}.services{background:#eaece9}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}.section-heading>p{font-size:12px;color:#657078;padding-bottom:8px}.service-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:45px;padding:48px 0;border-top:1px solid #bac2c4}.service-row:last-child{border-bottom:1px solid #bac2c4}.service-number{color:#988052;font-family:Georgia,serif;font-size:22px}.service-title h3{font-size:25px;line-height:1.6;letter-spacing:.06em;margin:16px 0 18px;font-weight:600}.english{font:10px Arial,sans-serif;letter-spacing:.18em;color:#6d797e}.service-description h4{font-size:20px;line-height:1.8;font-weight:500;letter-spacing:.06em;margin-bottom:22px}.service-description>p{font-size:13px;color:#5f6b71;line-height:2}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:24px 0}.tags li{font-size:10px;border:1px solid #c6cdcc;padding:3px 8px}.small-link{font-size:11px;display:inline-flex;gap:35px;padding:8px 0;border-bottom:1px solid #bda879}.small-link span{color:#8a7246}.service-art{position:relative;min-height:260px;overflow:hidden;background:#142b3a}.service-art>span{position:absolute;right:23px;top:23px;font-family:"Yu Mincho",serif;font-size:26px;writing-mode:vertical-rl;letter-spacing:.2em;color:#ebdfc7;z-index:2}.grid-art{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 36px,#bac8ce45 36px 38px),repeating-linear-gradient(0deg,transparent 0 42px,#bac8ce45 42px 44px);transform:perspective(380px) rotateY(-30deg) scale(1.5);transform-origin:left center;mask-image:linear-gradient(45deg,#000,transparent 95%)}.renovation-art{background:#c5beb1}.renovation-art>span{color:#263c46}.planes{position:absolute;inset:30% 15% 0 10%;transform:skewY(-17deg)}.planes i{position:absolute;display:block;inset:0;background:#e2ded5;box-shadow:8px 10px 20px #51443222}.planes i:nth-child(2){inset:20% -15% -10% 25%;background:#aba695}.planes i:nth-child(3){inset:45% -35% -30% 50%;background:#e6e1d5}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.principles article{border-top:1px solid #b9c1c2;padding-top:25px}.principles span{font:10px Arial,sans-serif;letter-spacing:.13em;color:#8a7246}.principles h3{font-size:23px;font-weight:500;margin:25px 0 20px;letter-spacing:.04em}.principles p{font-size:13px;color:#647077}.company{background:var(--navy);color:#eff2f3}.company-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:85px}.company .section-label{color:#d1b783}.company-brand img{width:245px;margin-top:35px;mix-blend-mode:lighten}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:125px 1fr;padding:22px 0;border-bottom:1px solid #ffffff20;font-size:13px}.company-table>div:first-child{border-top:1px solid #ffffff20}.company-table dt{color:#aab5bd}.company-table dd{margin:0}.muted{color:#abb8c1;font-size:12px}.company-table a{overflow-wrap:anywhere}.company-table a:hover{color:#d1b783}.contact{background:#f6f5f1}.contact-top{display:flex;align-items:end;justify-content:space-between;gap:40px}.contact-top>p{font-size:13px;color:#657078;padding-bottom:8px;line-height:2.1}.contact-actions{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-top:48px}.email-link{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid #78858c;padding-bottom:22px}.mail-caption{grid-column:1;font-size:11px;color:#6e797d;margin-bottom:8px;letter-spacing:.1em}.email-address{font-family:Arial,sans-serif;font-size:clamp(20px,3.4vw,45px);letter-spacing:.02em;line-height:1.4;overflow-wrap:anywhere}.email-arrow{grid-column:2;grid-row:1/3;font-family:Arial,sans-serif;font-size:38px;color:#9e8350;padding-left:20px}#copy-email{font-size:11px;background:transparent;border-bottom:1px solid #b6bdbe;padding:16px 0;color:#58656c}#copy-email span{margin-left:20px}.contact-note{font-size:11px;color:#718087;margin-top:14px}.status{font-size:12px;min-height:28px;color:#60713d}.flow{display:grid;grid-template-columns:160px 1fr;margin-top:50px;border-top:1px solid #d1d5d5;padding-top:30px;gap:25px}.flow h3{font-size:12px;font-weight:500}.flow ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;gap:20px;font-size:11px}.flow li span{display:block;color:#9e8350;font:12px Georgia,serif;margin-bottom:10px}.footer{padding:28px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d0d5d5}.footer-brand{font-family:"Yu Mincho",serif;font-size:22px;letter-spacing:.12em}.footer-brand span{font:10px Arial,sans-serif;letter-spacing:.2em;margin-left:12px}.footer p{font:10px Arial,sans-serif;color:#7c8589}.to-top{width:40px;height:40px;border:1px solid #c2c8c9;display:grid;place-items:center}
@media(min-width:1600px){.hero-content{left:calc((100vw - 1360px)/2)}}
@media(max-width:1100px){.intro{grid-template-columns:1fr;gap:10px}.intro-content{grid-template-columns:1fr 1fr}.service-row{gap:30px;grid-template-columns:1fr 1.4fr .9fr}.service-title h3{font-size:22px}.company-layout{gap:50px}.contact-actions{grid-template-columns:1fr}.contact-actions button{justify-self:start;margin-top:-25px}.header nav{gap:22px}.principles{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:70px}.header{height:70px;padding:0 6%}.wordmark>b{font-size:26px}.wordmark>span{font-size:15px}.wordmark-sub{font-size:7px}.menu-toggle{display:flex;align-items:center;gap:14px;font:10px Arial,sans-serif;letter-spacing:.1em;background:transparent;color:white;padding:10px 0}.menu-toggle span{font-size:22px;color:#d1b783}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--navy);padding:22px 7% 32px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #bfa16a55}.header nav.open{display:flex}.header nav a{padding:14px 0;border-bottom:1px solid #ffffff20}.header nav a.nav-contact{padding:12px 16px;margin-top:18px}.hero{height:calc(90svh - 70px);min-height:575px;max-height:740px}.hero-image{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#071421de,#07142160),linear-gradient(0deg,#07142177,transparent)}.hero-content{top:21%;left:7%;right:5%}.hero h1{font-size:clamp(31px,8.2vw,52px);letter-spacing:.04em}.eyebrow.light{font-size:9px;margin-bottom:25px;letter-spacing:.14em}.hero-lead{font-size:12px;letter-spacing:.06em;margin-top:22px}.line-link{margin-top:30px;width:195px}.hero-bottom{bottom:36px;font-size:10px}.section{padding:70px 0}.wrap{width:86%}.intro-content{grid-template-columns:1fr;gap:24px}.intro h2{font-size:29px}.intro-copy{font-size:13px}.intro-copy p+p{margin-top:18px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:16px}.section-label{font-size:10px;margin-bottom:18px}.service-row{grid-template-columns:1fr;gap:22px;padding:34px 0}.service-title{position:relative}.service-number{float:right}.service-title h3{font-size:25px;margin:0 0 8px}.service-title h3 br{display:none}.service-description h4{font-size:20px;margin-bottom:15px}.service-art{min-height:140px;grid-row:2}.service-art>span{writing-mode:horizontal-tb;font-size:23px;right:20px;top:18px}.service-description{grid-row:3}.tags{margin:18px 0}.principles{grid-template-columns:1fr;gap:30px}.principles h3{margin:14px 0;font-size:22px}.principles article{padding-top:20px}.company-layout{grid-template-columns:1fr;gap:30px}.company-brand{position:relative;min-height:100px}.company-brand img{position:absolute;right:-8px;top:-8px;width:120px;margin:0}.company-table>div{grid-template-columns:90px 1fr;font-size:12px;padding:18px 0;gap:8px}.contact-top{display:block}.contact-top>p{margin-top:24px;font-size:12px}.contact-actions{margin-top:30px;gap:40px}.email-address{font-size:clamp(17px,5.2vw,30px);letter-spacing:0}.email-arrow{font-size:28px;padding-left:8px}.email-link{padding-bottom:18px}.contact-note{font-size:10px}.flow{grid-template-columns:1fr;margin-top:25px;gap:20px}.flow ol{grid-template-columns:repeat(2,1fr);gap:24px}.footer{gap:15px;flex-wrap:wrap}.footer-brand{font-size:21px}.footer p{font-size:9px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Recruitment */
.recruit-banner{background:#e9e5db}.recruit-banner p:not(.section-label){margin-top:18px;font-size:14px}.recruit-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--navy);color:#fff;padding:17px 25px;margin-top:28px;font-size:13px;border:1px solid var(--gold)}.recruit-button:hover{background:#263e4e}.recruit-button span{color:#ddc48f}.recruit-hero{position:relative;background:var(--navy);color:#fff;padding:95px 0 85px;overflow:hidden;isolation:isolate}.recruit-hero h1{font-family:"Yu Mincho",serif;font-size:clamp(34px,4.6vw,65px);line-height:1.6;font-weight:500;letter-spacing:.07em}.recruit-lead{font-size:15px;line-height:2.1;margin-top:28px;color:#dce2e5}.recruit-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:28px 0 0}.recruit-chips li{font-size:12px;border:1px solid #bfa16a77;padding:5px 15px;color:#e8d6b0}.recruit-lines{position:absolute;inset:0 0 0 65%;z-index:-1;opacity:.3;background:repeating-linear-gradient(90deg,transparent 0 75px,#bfa16a 75px 76px),repeating-linear-gradient(0deg,transparent 0 85px,#bfa16a 85px 86px);transform:skewY(-20deg) scale(1.3);mask-image:linear-gradient(90deg,transparent,#000)}.recruit-copy{font-size:14px;line-height:2.2;color:#5f6b71;margin-top:25px;max-width:850px}.recruit-principles{margin-top:55px}.recruit-conditions{background:#eaece9}.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:38px 0 45px}.pay-grid article{padding:30px;background:var(--navy);color:white;border-top:3px solid var(--gold)}.pay-grid h3{font:48px Georgia,serif;margin:15px 0;white-space:nowrap}.pay-grid h3 small{font:12px sans-serif;margin-right:14px}.pay-grid h3 span{font:20px sans-serif;margin-left:6px}.pay-grid p{font-size:13px}.pay-grid p:last-child{color:#c2cdd3;font-size:12px}.recruit-table{margin:0}.recruit-table>div{display:grid;grid-template-columns:180px 1fr;padding:22px 0;border-bottom:1px solid #bec7c8;font-size:14px;gap:20px}.recruit-table>div:first-child{border-top:1px solid #bec7c8}.recruit-table dt{color:#67747b}.recruit-table dd{margin:0}.recruit-table dd span{font-size:12px;color:#67747b}.recruit-email{margin-top:25px;overflow-wrap:anywhere}.header nav a[aria-current=page]{color:#e2c790}
@media(max-width:900px) and (min-width:761px){.header nav{gap:13px;font-size:11px}.nav-contact{padding:10px 12px}.nav-contact span{margin-left:10px}}
@media(max-width:760px){.recruit-hero{padding:60px 0}.recruit-hero h1{font-size:clamp(28px,7.8vw,48px);letter-spacing:.02em}.recruit-lead{font-size:13px}.recruit-lines{left:75%;opacity:.2}.recruit-copy{font-size:13px}.pay-grid{grid-template-columns:1fr;gap:16px;margin:28px 0 35px}.pay-grid article{padding:25px}.pay-grid h3{font-size:43px}.recruit-table>div{grid-template-columns:85px 1fr;gap:15px;font-size:12px;padding:19px 0}.recruit-button{gap:20px;padding:16px 20px;font-size:12px}.recruit-principles{margin-top:35px}}

/* LINE recruitment contact */
.recruit-line-button{display:flex;width:max-content;max-width:100%;min-height:56px;background:#067d35;border-color:#067d35;gap:20px;overflow-wrap:anywhere}.recruit-line-button:hover{background:#05652b}.recruit-line-button span{color:#fff;flex-shrink:0}

/* Recruitment salary options */
.recruit-pay{margin:36px 0 45px}.recruit-pay>h3{font-size:23px;font-weight:600;letter-spacing:.04em}.pay-intro{margin-top:12px;font-size:14px}.pay-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.pay-option{min-width:0;padding:28px;background:var(--navy);color:#fff;border-top:3px solid var(--gold)}.pay-option h4{font-size:22px;font-weight:500;letter-spacing:.06em}.pay-caption{font-size:12px;color:#c2cdd3;margin-top:10px;min-height:46px}.pay-amounts{margin:22px 0 0}.pay-amounts>div+div{border-top:1px solid #ffffff26;margin-top:20px;padding-top:20px}.pay-amounts dt{font-size:13px;color:#e8d6b0}.pay-amounts dd{margin:8px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.pay-amounts strong{font:38px Georgia,serif;line-height:1.3}.pay-amounts dd span{font-size:13px}.pay-conditions{margin-top:24px;padding:24px;background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere}.pay-conditions h4{font-size:16px;font-weight:600}.pay-conditions ul{margin:14px 0 0;padding-left:1.35em;font-size:14px}.pay-conditions li+li{margin-top:10px}.pay-allowances{margin-top:18px;font-size:14px;overflow-wrap:anywhere}
@media(max-width:760px){.recruit-pay{margin:28px 0 35px}.pay-intro,.pay-conditions ul,.pay-allowances{font-size:13px}.pay-options{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px}.pay-option{padding:22px}.pay-caption{min-height:0}.pay-amounts strong{font-size:34px}.pay-conditions{padding:20px}}

/* Construction consultation LINE contact */
.contact-line-button+.contact-actions{margin-top:24px}
