@charset "UTF-8";
:root{--ink:#193047;--body:#445467;--muted:#6d7b8b;--sea:#1a3854;--soft:#f3f5f6;--line:#d9e0e6;--rose:#a55f69;--white:#fff;--w:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--body);font:16px/1.85 "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}img{display:block;max-width:100%;height:auto}a{color:var(--sea)}button,input,select,textarea{font:inherit}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cf8c65;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);line-height:1.45}h1{font-size:clamp(2.05rem,4.6vw,3.85rem);letter-spacing:.035em}h2{font-size:clamp(1.7rem,3vw,2.45rem);letter-spacing:.04em}h3{font-size:1.15rem}.wrap{width:min(calc(100% - 48px),var(--w));margin-inline:auto}.skip{position:absolute;top:-80px;left:12px;padding:8px 18px;background:white;z-index:999}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;border-bottom:1px solid #e6eded;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.header-in{min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:305px}.nav{display:flex;align-items:center;gap:28px}.nav a{text-decoration:none;color:var(--ink);font-size:.86rem;font-weight:700}.nav a:hover{color:var(--sea)}.nav .nav-cta{background:var(--sea);color:#fff;padding:11px 18px;border-radius:5px}.nav-toggle{display:none}.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sea);font-weight:800}.hero{background:linear-gradient(115deg,#f0f7f6 10%,#faf6f0 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:5%;min-height:585px;padding-block:70px}.hero h1 span{color:var(--sea)}.hero p{max-width:610px}.hero-image{background:#fff;border-radius:44% 44% 14% 14%;box-shadow:0 20px 70px #37666e18;padding:40px 20px}.hero-image img{width:100%;mix-blend-mode:multiply}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--sea);color:#fff;text-decoration:none;font-weight:700;padding:13px 27px;border-radius:5px;border:1px solid var(--sea);cursor:pointer;min-height:52px}.button:hover{background:#164d5b}.button.ghost{color:var(--sea);background:transparent}.button.ghost:hover{background:#eaf3f2}.button:disabled{opacity:.5;cursor:not-allowed}.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.section{padding-block:92px}.section.soft{background:var(--soft)}.head{max-width:780px;margin-bottom:40px}.head h2{margin-bottom:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.panel{border:1px solid var(--line);border-radius:11px;background:#fff;padding:28px;height:100%}.panel p:last-child{margin-bottom:0}.number{color:var(--sea);font-family:Georgia,serif;font-size:2.5rem}.product-card{padding:35px;background:#fff;border:1px solid var(--line);border-radius:16px}.product-card img{margin-inline:auto;max-height:360px;object-fit:contain}.price{font-size:2.05rem;font-weight:800;line-height:1.35;color:var(--ink)}.price small{font-size:.78rem}.subtle{color:var(--muted);font-size:.9rem}.company-table,.detail-table{border-collapse:collapse;width:100%}.company-table th,.company-table td,.detail-table th,.detail-table td{padding:16px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.company-table th,.detail-table th{width:31%;font-weight:700;color:var(--ink)}.crumb{font-size:.82rem;padding-block:16px}.pagehead{background:#f1f3f5;padding-block:67px}.pagehead h1{font-size:clamp(2rem,4vw,3rem);margin:5px 0}.prose{max-width:900px}.prose h2{margin-top:48px;font-size:1.5rem}.prose h3{margin-top:27px}.prose li{margin-bottom:5px}.product-feature{background:#f7f9f8;border-radius:12px;padding:23px}.note{font-size:.85rem;background:#fbf6f1;border-left:3px solid #ba9379;padding:15px 18px}.footer{background:#193047;color:#dee9ee;padding-block:58px 20px}.footer .brand img{background:white;border-radius:4px;padding:8px;width:280px}.footer a{color:#e4edf1}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:45px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 25px}.copyright{border-top:1px solid #40586b;margin-top:35px;padding-top:18px;font-size:.75rem}.form-box{max-width:870px}.field{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:230px 1fr;gap:15px;align-items:start}.field label,.field .field-title{font-weight:700;color:var(--ink)}.req{font-size:.73rem;font-weight:700;color:#a23f46;margin-left:8px}.control{width:100%;max-width:580px;border:1px solid #b9c9cb;border-radius:5px;padding:11px 13px;background:#fff;color:var(--ink)}textarea.control{min-height:130px;resize:vertical}.control.narrow{max-width:185px}.radios{display:flex;gap:22px;flex-wrap:wrap}.radios label{font-weight:400;color:var(--body)}.error{color:#a3222e;font-weight:700;font-size:.91rem}.alert{border:1px solid #e5bac0;background:#fff4f4;padding:14px 20px;margin-bottom:20px}.success{padding:30px;border:1px solid #a5c4b6;background:#eff9f4;border-radius:8px}.form-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}.confirm-table{width:100%;border-collapse:collapse}.confirm-table th,.confirm-table td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.confirm-table th{width:30%;color:var(--ink)}.fine{font-size:.86rem;color:var(--muted)}@media(max-width:900px){.nav{gap:12px}.nav a{font-size:.76rem}.brand img{width:245px}.two{gap:26px}}@media(max-width:720px){.wrap{width:min(calc(100% - 32px),var(--w))}.header-in{min-height:72px}.brand img{width:230px}.nav-toggle{display:block;padding:9px 12px;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--ink);cursor:pointer}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:22px 16px 28px;background:white;border-bottom:1px solid var(--line);box-shadow:0 10px 18px #20304020;flex-direction:column;align-items:stretch;gap:7px}.nav.open{display:flex}.nav a{padding:8px 4px;font-size:.94rem}.nav .nav-cta{text-align:center}.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:64px 45px;gap:30px}.hero-image{max-width:440px;margin-inline:auto;padding:20px}.section{padding-block:62px}.two,.three,.footer-grid{grid-template-columns:1fr}.head{margin-bottom:28px}.two{gap:22px}.field{grid-template-columns:1fr;gap:7px}.footer-links{flex-direction:column}.company-table th,.detail-table th{width:35%}.confirm-table th{width:37%}.pagehead{padding-block:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Corporate homepage redesign — scoped to newly introduced classes */
:root{--ink:#172c46;--body:#3f4b59;--sea:#274562;--soft:#f4f5f6;--line:#d9dfe5;--w:1160px}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.012em}
.header{border-bottom:1px solid #e1e5e9}.nav .nav-cta{background:#193650}.footer{background:#172b43}.eyebrow{color:#a78c5e;font-size:.78rem;letter-spacing:.17em}.section{padding-block:95px}
.corporate-hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#071d33 0%,rgba(7,29,51,.97) 30%,rgba(7,29,51,.78) 52%,rgba(7,29,51,.15) 100%),url("img/technology-hero-20261029.jpg") center 48% / cover no-repeat;color:#fff}
.corporate-hero-inner{position:relative;z-index:2;padding-block:120px 130px;max-width:1160px}
.corporate-hero .hero-label{font-size:12px;letter-spacing:.27em;color:#d6c6a5;margin-bottom:28px}.corporate-hero h1{color:#fff;font-size:clamp(2.35rem,4.3vw,4.05rem);line-height:1.5;letter-spacing:.095em;margin-bottom:27px;font-weight:700}.corporate-hero p{color:#e7edf3;max-width:570px;line-height:2.2;font-size:1.02rem;margin-bottom:32px}.corp-text-link{display:inline-flex;align-items:center;gap:22px;color:#234663;font-weight:700;text-decoration:none;border-bottom:1px solid #c2aa79;padding-bottom:9px}.corporate-hero .corp-text-link{color:#f3e4c4}
.corporate-lead-grid,.philosophy-grid,.message-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:10%;align-items:start}.corporate-lead h2{font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.7}.corporate-lead p,.philosophy-grid p,.message-grid p{line-height:2.15}.corp-business{background:#f5f6f7}.section-heading{margin-bottom:42px}.section-heading h2{margin-bottom:8px}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.business-item{background:#fff;box-shadow:0 9px 26px #1a30440c}.business-image{height:220px;overflow:hidden;background:#dfe6e9}.business-image img{width:100%;height:100%;object-fit:cover}.business-image-tech{background:linear-gradient(130deg,#1c3152,#426686)}.business-image-tech img{object-fit:cover}.business-image-health{background:linear-gradient(120deg,#f1eee7,#fcfaf6)}.business-image-health img{object-fit:contain}.business-image-housing{background:#dad7cd}.business-copy{padding:27px 26px 32px}.business-num{color:#ab8d59;font-weight:700;font-size:.83rem;letter-spacing:.15em}.business-copy h3{font-size:1.33rem;margin:11px 0 15px}.business-copy p{font-size:.95rem;line-height:1.95}.business-copy .corp-text-link{font-size:.87rem;gap:8px}.corp-philosophy{background:#f0f1f1}.philosophy-quote{font-size:clamp(1.7rem,3vw,2.65rem);font-weight:700;color:#203c57;line-height:1.65!important}.message-sign{text-align:right;font-weight:700;margin-top:30px}.corp-profile{background:#f5f6f7}.corp-profile .company-table{max-width:940px;margin:auto}.corp-contact{text-align:center;padding:80px 0 90px;background:#edf0f2}.corp-contact p{margin-bottom:32px}.corp-contact .button{background:#1e3b56;border-color:#1e3b56;min-width:260px;border-radius:2px}
@media(max-width:850px){.corporate-lead-grid,.philosophy-grid,.message-grid{gap:5%}}
@media(max-width:720px){.corporate-hero-inner{padding-block:78px 86px}.corporate-hero h1{font-size:clamp(2rem,8vw,3rem)}.corporate-lead-grid,.philosophy-grid,.message-grid,.business-grid{grid-template-columns:1fr}.business-image{height:210px}.section{padding-block:64px}.section-heading{margin-bottom:28px}.corporate-hero p{font-size:.97rem}.business-copy{padding:25px}.corp-contact{padding-block:66px}}

/* Final corporate visual updates: restrained contrast and responsive technology hero */
.corporate-hero .wrap{width:min(calc(100% - 48px),1160px)}
.business-image img{display:block;width:100%;height:100%;object-fit:cover}
.pagehead,.corp-business,.corp-profile{color:var(--body)}
@media(max-width:720px){.corporate-hero{background:linear-gradient(90deg,rgba(7,29,51,.94),rgba(7,29,51,.72)),url("img/technology-hero-20261029.jpg") 62% center/cover no-repeat}.corporate-hero .wrap{width:min(calc(100% - 32px),1160px)}.header .brand img{width:225px;max-width:calc(100vw - 126px)}}

/* Form purpose switching: keep order-only controls hidden until selected. */
.order-fields[hidden], #remarks-required[hidden]{display:none!important}
/* Corporate logo: preserve full final glyph and visual breathing room. */

/* Four business cards and QM1 feature image */
.qm1-banner-section{padding-top:10px;padding-bottom:46px}
.qm1-banner{display:block;width:100%;height:auto;border-radius:6px}
@media(max-width:720px){.business-grid{grid-template-columns:1fr}.qm1-banner-section{padding-block:0 28px}}

/* Prevent menu label wrapping on narrow screens. */
@media(max-width:720px){.nav-toggle{white-space:nowrap;flex-shrink:0}}

/* Prevent intrinsic image widths from expanding product columns. */
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.two>*{min-width:0}
.product-card{min-width:0;overflow:hidden}
.product-card img{width:100%;max-width:100%;height:auto;object-fit:contain}
@media(max-width:720px){.two{grid-template-columns:minmax(0,1fr)}}
