/* Approved about-page system extended to the company's complete preview. */
:root{--ms-paper:#f7f5f2;--ms-muted:#56504a;--ms-space:clamp(70px,8vw,130px);--ms-page-width:1100px;--ms-focus:#155fb7;--ms-footer-layer:40}
[hidden]{display:none!important}
.ms-site-content{overflow:clip}
.ms-section{padding:var(--ms-space) 30px;max-width:1160px;margin:auto}
.ms-section-title{text-align:center;margin-bottom:56px}
.ms-section-title h2{font:500 clamp(30px,3.2vw,46px)/1.6 var(--ms-serif)}
.ms-section-title p{color:var(--ms-deep);font:18px/1.6 var(--ms-serif);margin-top:6px}
.ms-intro-copy{max-width:850px;margin:40px auto 0;text-align:left;font-size:18px;line-height:2.1}
.ms-intro-copy p+p{margin-top:18px}
.ms-feature + .ms-feature{margin-top:140px}
.ms-feature--reverse .wp-block-image{order:2}
.ms-feature--reverse .ms-feature-copy{order:1;padding:0 6.8vw 0 7.6vw}
.ms-feature .ms-extra-title{font:600 23px/1.7 var(--ms-serif);margin:26px 0 8px}
.ms-feature-copy p+p{margin-top:20px}
.ms-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:44px;border-bottom:1px solid var(--ms-red);color:var(--ms-deep);font-size:17px;margin-top:20px;padding:8px 0}
.ms-button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:54px;border:1px solid var(--ms-red);padding:12px 28px;color:var(--ms-deep);font-size:18px;background:#fff;transition:background .2s,color .2s;text-align:left}
.ms-button:hover{background:var(--ms-red);color:#fff}
.ms-button--fill{background:var(--ms-red);color:#fff}
.ms-button--fill:hover{background:var(--ms-deep)}
.ms-button:disabled{background:#eee;color:#686868;border-color:#ccc;cursor:not-allowed}
.ms-lineup{margin-top:var(--ms-space);padding:var(--ms-space) 30px;background:var(--ms-paper)}
.ms-lineup-inner{max-width:1100px;margin:auto}
.ms-lead{text-align:center;max-width:760px;margin:0 auto 48px;font-size:18px;line-height:2}
.ms-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.ms-equipment figure{margin:0 0 22px;height:250px}
.ms-equipment img{width:100%;height:100%;object-fit:cover}
.ms-equipment h3{font:500 26px/1.6 var(--ms-serif);margin:12px 0}
.ms-tag{display:inline-block;font-size:13px;color:var(--ms-deep);border:1px solid currentColor;padding:2px 9px}
.ms-placeholder{background:#ece7e0;color:#5c5247;display:flex;min-height:250px;align-items:center;justify-content:center;text-align:center;padding:25px;line-height:2}
.ms-review-note{margin:28px auto 0;padding:17px 22px;background:#f2ebe0;border:1px solid #d7c7b0;color:#534431;font-size:15px;line-height:1.9}
.ms-review-note strong{display:block;font-size:16px}
.ms-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}
.ms-link-list a{padding:22px 0;min-height:72px;border-bottom:1px solid var(--ms-line);display:flex;justify-content:space-between;align-items:center;gap:20px;font:500 23px/1.6 var(--ms-serif)}
.ms-link-list a:hover{color:var(--ms-deep)}
.ms-contact-band{text-align:center;padding:85px 25px 100px;border-top:1px solid var(--ms-line);margin-top:60px}
.ms-contact-band h2{font:500 clamp(27px,3.2vw,43px)/1.8 var(--ms-serif);margin-bottom:20px}
.ms-phone{display:block;font-size:clamp(32px,4.3vw,58px);line-height:1.5;color:var(--ms-deep);margin:26px 0 5px;font-weight:500;letter-spacing:.015em}
.ms-phone span{font-size:.5em;margin-right:14px}
.ms-contact-band .ms-button{margin-top:30px;min-width:340px}
.ms-footer{background:var(--ms-deep);color:#fff;padding:65px 40px 0;font-size:15px;line-height:1.85}
.ms-footer-inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;gap:80px}
.ms-footer-logo{display:flex;width:300px;height:96px;background:#fff;padding:8px 15px;align-items:center;margin-bottom:26px}
.ms-footer-logo img{width:100%;height:100%;object-fit:contain}
.ms-footer address{font-style:normal;margin-top:14px}
.ms-footer-permits{margin-top:24px;font-size:14px}
.ms-footer nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:0 34px;padding-top:16px}
.ms-footer nav a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:65px;border-bottom:1px solid #ffffff66}
.ms-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.ms-footer a:focus-visible,.ms-header a:focus-visible,.ms-header button:focus-visible,.ms-mobile-nav a:focus-visible{outline-color:#fff}
.ms-footer-bottom{max-width:1160px;margin:50px auto 0;border-top:1px solid #ffffff66;padding:25px 0;display:flex;justify-content:space-between;gap:20px}
.ms-footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.ms-preview-notice{max-width:1160px;margin:auto;padding:15px 0 25px;font-size:12px;color:#fff4f4;line-height:1.8}
.ms-preview-notice a{margin-left:16px;text-decoration:underline}
.ms-mobile-contact,.ms-only-mobile{display:none}
.ms-page-intro{padding:25.5vw 30px 0;max-width:960px;margin:auto;text-align:center}
.ms-page-intro h2{font:500 clamp(28px,3.1vw,42px)/1.7 var(--ms-serif);margin-bottom:28px}
.ms-page-intro p{font-size:18px;line-height:2}
.ms-anchor-nav{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin:40px 0 0}
.ms-anchor-nav a{border-bottom:1px solid var(--ms-red);min-height:44px;padding:8px 0;color:var(--ms-deep)}
.ms-service{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:65px 0;border-bottom:1px solid var(--ms-line);scroll-margin-top:100px}
.ms-service:first-child{padding-top:0}
.ms-service h2{font:500 clamp(27px,2.8vw,38px)/1.6 var(--ms-serif);margin:12px 0 28px}
.ms-service img{width:100%;height:360px;object-fit:cover}
.ms-service dl{margin:24px 0 0}
.ms-service dt{font-weight:600;margin-top:16px;font-size:15px}
.ms-service dd{margin:5px 0 0;line-height:1.9}
.ms-service--text{grid-template-columns:1fr;background:var(--ms-paper);padding:45px;margin-top:35px}
.ms-service--text p{max-width:800px}
.ms-company-table{width:100%;border-collapse:collapse;line-height:2}
.ms-company-table th,.ms-company-table td{border-bottom:1px solid var(--ms-line);padding:23px 26px;text-align:left;vertical-align:top;font-weight:400}
.ms-company-table th{width:24%;font-weight:600;white-space:nowrap;background:var(--ms-paper)}
.ms-license-list{border-top:1px solid var(--ms-red)}
.ms-license{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-bottom:1px solid var(--ms-line);padding:28px 0}
.ms-license h3{font:500 25px/1.7 var(--ms-serif)}
.ms-license p{font-size:16px}
.ms-access{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.ms-access img{height:450px;width:100%;object-fit:cover}
.ms-access h3{font:500 30px/1.6 var(--ms-serif);margin-bottom:24px}
.ms-case-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 32px}
.ms-case-index a{display:block;min-width:0}
.ms-case-index img{width:100%;height:255px;object-fit:cover;transition:filter .2s}
.ms-case-index a:hover img{filter:brightness(.9)}
.ms-case-index h3{font:500 23px/1.7 var(--ms-serif);margin:17px 0 8px}
.ms-case-index p{color:var(--ms-muted);font-size:14px}
.ms-case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}
.ms-case-gallery figure{margin:0}
.ms-case-gallery img{width:100%;height:310px;object-fit:contain;background:var(--ms-paper)}
.ms-case-gallery figcaption{padding:13px 0;color:var(--ms-deep);font-size:18px}
.ms-case-gallery--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ms-flow-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px;counter-reset:photos}
.ms-flow-photos img{width:100%;height:250px;object-fit:cover}
.ms-flow-photos figcaption{font:500 22px/1.7 var(--ms-serif);padding-top:15px}
.ms-flow-photos figcaption::before{counter-increment:photos;content:counter(photos,decimal-leading-zero);color:var(--ms-deep);font:18px/1.5 var(--ms-serif);margin-right:16px}
.ms-flow-list{list-style:none;padding:0;margin:0;counter-reset:flow}
.ms-flow-list li{display:grid;grid-template-columns:64px 1fr;gap:26px;padding:28px 0;border-top:1px solid var(--ms-line)}
.ms-flow-list li::before{counter-increment:flow;content:counter(flow,decimal-leading-zero);color:var(--ms-deep);font:500 32px/1.4 var(--ms-serif)}
.ms-flow-list h3{font:500 24px/1.6 var(--ms-serif);margin-bottom:10px}
.ms-faq details{border-top:1px solid var(--ms-line)}
.ms-faq details:last-child{border-bottom:1px solid var(--ms-line)}
.ms-faq summary{cursor:pointer;list-style:none;min-height:72px;padding:22px 42px 22px 0;position:relative;font-size:18px;font-weight:600}
.ms-faq summary::-webkit-details-marker{display:none}
.ms-faq summary::after{content:"＋";position:absolute;right:6px;top:20px;font-weight:400;color:var(--ms-deep)}
.ms-faq details[open] summary::after{content:"−"}
.ms-faq details p{padding:0 35px 24px 0;line-height:2;color:var(--ms-muted)}
.ms-form{max-width:780px;margin:auto}
.ms-field{padding:25px 0;border-bottom:1px solid var(--ms-line)}
.ms-field label,.ms-field legend{display:block;font-size:17px;font-weight:600;margin-bottom:12px}
.ms-field fieldset{border:0;padding:0;margin:0;min-width:0}
.ms-field input,.ms-field select,.ms-field textarea{width:100%;border:1px solid #9d9690;border-radius:0;background:#fff;color:var(--ms-ink);font:16px/1.5 var(--ms-serif);padding:13px;min-height:48px}
.ms-field textarea{min-height:150px;resize:vertical}
.ms-field input:focus-visible,.ms-field select:focus-visible,.ms-field textarea:focus-visible{outline:3px solid var(--ms-focus);outline-offset:3px}
.ms-required{font-size:12px;color:var(--ms-deep);border:1px solid currentColor;margin-left:12px;padding:2px 6px;white-space:nowrap}
.ms-field .ms-help{color:var(--ms-muted);font-size:14px;margin:8px 0 0}
.ms-form-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.ms-form-error{padding:18px 22px;border:2px solid var(--ms-red);color:var(--ms-deep);margin-top:25px}
.ms-form-error:empty{display:none}
.ms-confirm{border:1px solid var(--ms-line);padding:30px;margin-top:30px;overflow-wrap:anywhere;scroll-margin-top:95px}
.ms-confirm h3{font:500 28px/1.6 var(--ms-serif);margin-bottom:15px}
.ms-confirm dl{margin:20px 0}
.ms-confirm dt{font-weight:600;margin-top:15px}
.ms-confirm dd{margin:4px 0 0;white-space:pre-wrap}
.ms-backlink{margin-top:35px;text-align:center}
@media(min-width:1800px){.ms-page-intro{padding-top:459px}}
@media(max-width:1040px){.ms-page-intro{padding-top:225px}.ms-equipment-grid,.ms-case-index{gap:30px 22px}.ms-equipment figure{height:210px}.ms-footer-inner{gap:45px}.ms-service{gap:35px}.ms-case-index img{height:210px}}
@media(min-width:768px) and (max-width:900px){.ms-nav{display:none}.ms-menu-button{display:block}.ms-mobile-nav:not([hidden]){display:block}}
@media(max-width:767px){
body{padding-bottom:58px}.ms-only-mobile{display:block}.ms-intro-copy{font-size:16px;line-height:2;margin-top:28px}.ms-feature+.ms-feature{margin-top:65px}.ms-feature--reverse .wp-block-image{order:0}.ms-feature--reverse .ms-feature-copy{order:0;padding:0 8px}
.ms-section{padding:60px 20px}.ms-section-title{margin-bottom:30px}.ms-section-title h2{font-size:29px}.ms-section-title p{font-size:16px}.ms-lead{font-size:16px;margin-bottom:28px}.ms-lineup{padding:60px 20px;margin-top:65px}.ms-equipment-grid{grid-template-columns:1fr;gap:38px}.ms-equipment figure{height:260px}.ms-equipment h3{font-size:25px}.ms-placeholder{min-height:180px}.ms-link-list{grid-template-columns:1fr;gap:0}.ms-link-list a{font-size:21px;padding:18px 0}
.ms-contact-band{padding:55px 20px 60px;margin-top:25px}.ms-contact-band p{font-size:14px}.ms-contact-band .ms-button{min-width:0;width:100%;max-width:370px}.ms-phone{font-size:36px;margin-top:24px}.ms-phone span{margin-right:8px}.ms-button{font-size:16px;padding:12px 22px;gap:20px}
.ms-footer{padding:40px 22px 0}.ms-footer-inner{grid-template-columns:1fr;gap:32px}.ms-footer-logo{width:260px;height:84px}.ms-footer nav{gap:0 22px;padding:0;font-size:14px}.ms-footer-permits{font-size:12px}.ms-footer-bottom{margin-top:28px;align-items:center;flex-wrap:wrap;padding:20px 0 0}.ms-footer-bottom small{font-size:12px}.ms-preview-notice{font-size:11px}.ms-preview-notice a{display:block;margin:10px 0 0;min-height:44px}
.ms-mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:var(--ms-footer-layer);background:var(--ms-red);color:#fff;height:58px;border-top:1px solid #fff}.ms-mobile-contact a{display:flex;justify-content:center;align-items:center;font-size:16px}.ms-mobile-contact a:first-child{background:var(--ms-deep);border-right:1px solid #ffffff80}.ms-menu-open .ms-mobile-contact{display:none}
.ms-page-intro{padding:44.5vw 20px 0}.ms-page-intro h2{font-size:26px;margin-bottom:20px}.ms-page-intro p{font-size:16px}.ms-anchor-nav{gap:6px 18px;margin-top:25px;font-size:14px}
.ms-service{grid-template-columns:1fr;gap:26px;padding:40px 0}.ms-service h2{font-size:28px;margin-bottom:20px}.ms-service img{height:270px}.ms-service--text{padding:28px 20px}.ms-company-table th,.ms-company-table td{padding:18px 12px;font-size:14px}.ms-company-table th{width:28%;white-space:normal}.ms-license{grid-template-columns:1fr;gap:12px}.ms-license h3{font-size:23px}.ms-license p{font-size:15px;overflow-wrap:anywhere}.ms-access{grid-template-columns:1fr;gap:30px}.ms-access img{height:330px}
.ms-case-index{grid-template-columns:1fr;gap:36px}.ms-case-index img{height:260px}.ms-case-index h3{font-size:24px}.ms-case-gallery,.ms-case-gallery--two{grid-template-columns:1fr;gap:22px}.ms-case-gallery img{height:280px}.ms-case-gallery figcaption{padding-top:10px}.ms-flow-photos{grid-template-columns:1fr;gap:30px}.ms-flow-photos img{height:260px}.ms-flow-list li{grid-template-columns:40px 1fr;gap:15px;padding:24px 0}.ms-flow-list h3{font-size:22px}.ms-flow-list li::before{font-size:28px}.ms-faq summary{font-size:16px}.ms-faq details p{font-size:15px}.ms-confirm{padding:22px}.ms-field label{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.ms-button,.ms-case-index img{transition:none}}
@media print{body{padding:0}.ms-mobile-contact,.ms-preview-notice{display:none}.ms-footer{color:#000;background:#fff}.ms-contact-band{break-inside:avoid}.ms-case-gallery figure{break-inside:avoid}}

/* Approved site layout; inquiry form styles are appended below. */
.home .ms-title{container-type:inline-size;padding-block:clamp(.75rem,calc(.25rem + 1.8vw),3rem);padding-inline:clamp(.75rem,calc(.25rem + 2vw),2.5rem)}
.home .ms-title h1{display:flex;flex-direction:column;align-items:flex-start;gap:.2em;font-size:clamp(1rem,calc(.375rem + 14.5cqw),2.25rem);line-height:1.1;letter-spacing:.04em}
.home .ms-title .ms-title-en{font-size:clamp(.875rem,calc(.25rem + 11cqw),1.75rem)}
.ms-nav{column-gap:clamp(1rem,calc(-1.5rem + 4vw),3rem)}
.ms-nav a[aria-current="page"],.ms-mobile-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.ms-contact-band .ms-button{background:var(--ms-red);color:#fff;min-height:76px;min-width:420px;padding:20px 36px;font-size:21px}
.ms-contact-band .ms-button:hover{background:var(--ms-deep)}
.ms-footer{padding:0;background:var(--ms-red);margin-top:70px}
.ms-footer-inner{max-width:none;min-height:414px;padding:50px max(30px,calc((100vw - 1140px)/2));grid-template-columns:1fr 1fr;gap:70px;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.72)),url('assets/hero.jpg') center 55%/cover}
.ms-footer-company{text-align:center;align-self:center}.ms-footer-logo{margin:0 auto 25px;width:290px;height:auto;aspect-ratio:996/323}.ms-footer address{font-size:19px;line-height:1.9}
.ms-footer-business{align-self:center}.ms-footer-business h2{font:500 28px/1.5 var(--ms-serif);margin-bottom:15px}.ms-footer-business>p{font-size:17px;line-height:1.9}.ms-footer-business .ms-footer-permits{font-size:16px;line-height:1.9;border-top:1px solid #fff;border-bottom:1px solid #fff;padding:24px 0;margin-top:24px}
.ms-footer-navigation{padding:20px 30px 0}.ms-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;padding:0;font-size:16px}.ms-footer nav a{border:0;min-height:44px}.ms-footer nav a span{display:none}.ms-footer-bottom{border:0;max-width:none;padding:8px 0 16px;margin:0;align-items:center}.ms-footer-bottom small{font-size:14px}
.ms-phone-consultation{max-width:760px;margin:0 auto;text-align:center}
.ms-phone-consultation h2{font-family:var(--ms-serif);font-weight:500;font-size:clamp(26px,3vw,38px);text-wrap:balance;margin-bottom:24px}
.ms-consultation-number{display:inline-block;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.5;color:var(--ms-deep);padding:12px 4px;white-space:nowrap}
.ms-call-preparation{margin:48px auto 0;text-align:left;padding:32px 0;border-top:1px solid var(--ms-line)}
.ms-call-preparation h3{font-size:22px;font-weight:500;margin-bottom:20px}
.ms-call-preparation ul{padding-left:1.5em;margin:0 0 24px}.ms-call-preparation li{margin:8px 0}
@media(max-width:900px){.ms-footer-inner{gap:35px;padding:44px 25px}.ms-footer-logo{width:min(260px,100%)}.ms-footer address{font-size:16px}.ms-footer-business>p,.ms-footer-business .ms-footer-permits{font-size:15px}.ms-footer-navigation{padding:20px 22px 0}}
@media(max-width:767px){.ms-call-preparation{margin-top:32px}.ms-contact-band .ms-button{min-width:0;min-height:64px;font-size:18px;padding:16px 22px}.ms-footer{margin-top:40px}.ms-footer-inner{grid-template-columns:1fr;padding:42px 24px;gap:40px}.ms-footer-business{max-width:430px;width:100%;margin:auto}.ms-footer-business h2{font-size:25px}.ms-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;font-size:14px}.ms-footer-bottom{padding:16px 0;justify-content:space-between}.ms-footer-bottom small{font-size:12px}}

/* User chose readability: keep the existing white logo panels unchanged. */
.ms-inquiry{max-width:780px;margin:0 auto 80px}
.ms-inquiry>h2{font:500 clamp(26px,3vw,38px)/1.6 var(--ms-serif);margin-bottom:22px}
.ms-inquiry>p{margin-bottom:22px}
.ms-inquiry .ms-field:first-child{border-top:1px solid var(--ms-line)}
.ms-inquiry .ms-field input,.ms-inquiry .ms-field select,.ms-inquiry .ms-field textarea{border-color:#8d8781}
.ms-inquiry .ms-optional{font-size:13px;font-weight:400;color:var(--ms-muted);margin-left:10px}
.ms-inquiry textarea{resize:vertical;min-height:170px}
.ms-contact-privacy{margin-top:32px;line-height:1.9;font-size:15px}
.ms-contact-privacy p+p{margin-top:12px}
.ms-privacy-details{margin-top:16px;border-block:1px solid var(--ms-line)}
.ms-privacy-details>summary{cursor:pointer;font-weight:600;min-height:48px;padding:12px 0}
.ms-privacy-details>summary:hover{color:var(--ms-red)}
.ms-privacy-details>summary:focus-visible{outline:3px solid var(--ms-focus);outline-offset:4px}
.ms-privacy-body{padding-bottom:16px}
.ms-contact-privacy a,.ms-contact-feedback a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.ms-consent{display:flex;align-items:flex-start;gap:12px;padding:16px 0;min-height:48px;margin-top:12px;cursor:pointer}
.ms-consent input{width:22px;height:22px;flex:none;accent-color:var(--ms-red);margin:4px 0 0}
.ms-consent input:focus-visible{outline:3px solid var(--ms-focus);outline-offset:4px}
.ms-inquiry .ms-field [aria-invalid="true"]{border-color:var(--ms-red)}
.ms-inquiry .ms-confirm{scroll-margin-top:120px}
.ms-contact-hint{font-size:14px;color:var(--ms-muted);margin-top:24px}
.ms-contact-feedback{padding:24px;border:1px solid var(--ms-line);margin:32px 0;scroll-margin-top:100px}
.ms-contact-feedback h3{font:500 25px/1.6 var(--ms-serif);margin-bottom:12px}
.ms-contact-feedback p+p{margin-top:12px}
.ms-honeypot{display:none}
.ms-inquiry .ms-form-actions .ms-button{gap:18px}
@media(max-width:767px){.ms-inquiry{margin-bottom:60px}.ms-inquiry .ms-form-actions{flex-direction:column;gap:14px}.ms-inquiry .ms-form-actions .ms-button{width:100%}.ms-contact-feedback{padding:20px}}

/* Approved recruitment photograph: full composition, reserved loading space. */
.ms-recruit-photo{margin-block:0 clamp(32px,5vw,64px);margin-inline:auto}
.ms-recruit-photo img{display:block;inline-size:100%;block-size:auto;aspect-ratio:1600/1067;object-fit:contain}

/* Keep the approved type size; balance only narrow headings. */
@media(max-width:767px){.ms-page-intro h2,.ms-service h2{text-wrap:balance}}
