:root{
  --navy:#0c2f50;
  --navy2:#153f63;
  --blue:#0a5d9b;
  --light:#edf3f7;
  --paper:#fff;
  --ink:#122a3c;
  --muted:#546773;
  --line:#cfd9e0;
  --accent:#e7762b;
  --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.78;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}.skip-link{position:fixed;top:-60px;left:10px;background:#fff;border:2px solid var(--blue);padding:10px;z-index:999}.skip-link:focus{top:10px}.demo-bar{background:#242f39;color:#fff;text-align:center;font-size:11px;padding:5px 12px;letter-spacing:.04em}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.site-header__inner{min-height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:10px}.brand__mark{width:40px;height:40px}.brand__text{font-size:17px;font-weight:900;line-height:1.25;color:#102e48}.brand__sub{display:block;font-size:8px;letter-spacing:.1em;color:#5a7486}.nav{justify-self:end}.nav ul{display:flex;gap:23px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:800}.nav a{padding:27px 0 23px;display:block;border-bottom:3px solid transparent}.nav a:hover{color:var(--blue);border-color:var(--blue)}.header-phone{display:flex;align-items:center;gap:12px;border-left:1px solid var(--line);padding-left:20px}.header-phone strong{color:var(--navy);font-size:18px;white-space:nowrap}.header-phone small{display:block;color:#6a7b87;font-size:9px;text-align:right}.menu-toggle{display:none;width:42px;height:42px;background:#fff;border:1px solid var(--line);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:21px;height:2px;background:var(--navy)}
.hero{position:relative;background:#0d2d48;color:#fff;overflow:hidden}.hero__media{position:absolute;inset:0}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,40,.94) 0%,rgba(4,24,40,.78) 45%,rgba(4,24,40,.28) 75%,rgba(4,24,40,.15) 100%)}.hero__inner{position:relative;z-index:1;min-height:590px;display:flex;align-items:center}.hero__copy{max-width:650px;padding:70px 0}.hero__label{font-size:12px;letter-spacing:.16em;font-weight:800;color:#b8d3e6;margin:0 0 16px}.hero h1{font-size:clamp(38px,4.6vw,62px);line-height:1.32;margin:0 0 20px;letter-spacing:.02em}.hero p{font-size:17px;max-width:560px;color:#eef6fb;margin:0 0 28px}.hero__facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;border:1px solid rgba(255,255,255,.45)}.hero__fact{padding:17px 20px;background:rgba(8,42,69,.74);border-right:1px solid rgba(255,255,255,.35)}.hero__fact:last-child{border-right:0}.hero__fact strong{display:block;font-size:15px;margin-bottom:4px}.hero__fact span{font-size:11px;color:#cbdce8}
.section{padding:72px 0}.section--light{background:var(--light)}.section--navy{background:var(--navy);color:#fff}.section-head{display:flex;align-items:baseline;gap:12px;border-left:4px solid var(--blue);padding-left:14px;margin-bottom:30px}.section-head h2{font-size:29px;margin:0;color:#0e4774}.section-head small{font-size:10px;color:#6a8598;font-weight:800;letter-spacing:.12em}.section--navy .section-head{border-left-color:#7bb0d2}.section--navy .section-head h2{color:#fff}.section--navy .section-head small{color:#a7c1d3}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.service{border:1px solid var(--line);background:#fff}.service img{width:100%;aspect-ratio:4/3;object-fit:cover}.service__body{padding:14px 13px}.service h3{margin:0 0 6px;font-size:16px;color:#104d7b}.service p{font-size:12px;color:#5a6d7a;margin:0}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reason{background:#fff;color:var(--ink);border-top:4px solid #7fb4d5;padding:24px}.reason__num{font-size:31px;font-weight:900;color:#9fbfd4}.reason h3{font-size:19px;margin:4px 0 10px;color:#123f63}.reason p{margin:0 0 16px;font-size:14px;color:#566a77}.reason img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-top:8px}
.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.facility{border:1px solid var(--line);background:#fff}.facility img{width:100%;aspect-ratio:16/10;object-fit:cover}.facility span{display:block;padding:10px 12px;font-size:13px;font-weight:800;color:#314e62}
.area-company{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{border:1px solid var(--line);background:#fff;padding:26px}.panel h3{font-size:22px;margin:0 0 12px;color:#0f4e7d}.panel p{font-size:14px;color:#566a77}.area-visual{height:210px;background:linear-gradient(135deg,#d8e9f3,#f8fbfd);position:relative;overflow:hidden;border:1px solid #c9dce8}.area-visual::before,.area-visual::after{content:"";position:absolute;border-radius:50%;border:1px solid #90bad2;left:50%;top:50%;transform:translate(-50%,-50%)}.area-visual::before{width:150px;height:150px}.area-visual::after{width:260px;height:260px}.area-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:3px solid var(--blue);width:92px;height:92px;border-radius:50%;display:grid;place-items:center;text-align:center;color:#125987;font-weight:900}.company-list{display:grid;grid-template-columns:130px 1fr;margin-top:10px;border-top:1px solid var(--line)}.company-list dt,.company-list dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.company-list dt{font-weight:800;color:#415c6d}.company-list dd{color:#5a6b77}
.contact{background:#0c365b;color:#fff}.contact__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px 0}.contact h2{font-size:25px;margin:0 0 7px}.contact p{margin:0;color:#d7e6f0}.contact__phone{font-size:32px;font-weight:900;white-space:nowrap}.contact__phone small{display:block;font-size:11px;font-weight:600;text-align:center;color:#c8dbe8}.contact-note{font-size:11px;color:#aac1d0;margin-top:8px}
.footer{background:#10283b;color:#bcd0dc;padding:32px 0 16px}.footer__inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.footer strong{color:#fff}.footer p{font-size:11px;margin:7px 0 0}.footer nav{display:flex;gap:18px;font-size:11px}.copyright{margin-top:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:13px;display:flex;justify-content:space-between;font-size:10px}.demo-note{color:#efcb8c}

.business-contact{background:#f4f7f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.business-contact__inner{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:38px;padding:28px 0}
.business-contact__label{margin:0 0 3px!important;font-size:10px!important;font-weight:900;letter-spacing:.14em;color:#688397!important}
.business-contact h2{margin:0 0 6px;font-size:23px;color:#123f63}
.business-contact p{margin:0;color:#5c6e7a;font-size:14px}
.business-contact__phone{border-left:4px solid var(--blue);padding:8px 0 8px 20px;color:var(--navy);font-size:28px;font-weight:900;white-space:nowrap}
.business-contact__phone small{display:block;font-size:10px;font-weight:700;color:#647987}
@media (max-width:980px){.site-header__inner{grid-template-columns:auto 1fr auto;min-height:68px}.nav{position:fixed;left:0;right:0;top:calc(68px + 25px);background:#fff;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:.2s}.nav.is-open{transform:translateY(0)}.nav ul{display:grid;gap:0}.nav a{padding:14px 20px;border-bottom:1px solid var(--line)}.header-phone strong,.header-phone small{display:none}.header-phone{padding-left:0;border:0}.menu-toggle{display:flex}.hero__inner{min-height:520px}.service-grid{grid-template-columns:repeat(3,1fr)}.reason-grid{grid-template-columns:1fr}.facility-grid{grid-template-columns:repeat(2,1fr)}.area-company{grid-template-columns:1fr}.contact__inner{display:grid;text-align:center}}
@media (max-width:640px){.container{width:min(var(--max),calc(100% - 28px))}.demo-bar{font-size:9px}.site-header__inner{min-height:62px}.nav{top:calc(62px + 22px)}.brand__mark{width:34px;height:34px}.brand__text{font-size:14px}.brand__sub{font-size:7px}.hero__media{position:relative;height:250px}.hero__shade{background:linear-gradient(180deg,rgba(6,30,49,.1) 0%,rgba(6,30,49,.9) 78%,#0d2d48 100%)}.hero__inner{display:block;min-height:auto}.hero__copy{padding:30px 0 46px}.hero h1{font-size:33px}.hero p{font-size:15px}.hero__facts{grid-template-columns:1fr}.hero__fact{border-right:0;border-bottom:1px solid rgba(255,255,255,.3)}.hero__fact:last-child{border-bottom:0}.section{padding:52px 0}.section-head h2{font-size:24px}.service-grid{grid-template-columns:1fr 1fr}.service:last-child{grid-column:1/-1}.reason{padding:18px}.facility-grid{grid-template-columns:1fr 1fr}.company-list{grid-template-columns:1fr}.company-list dt{padding-bottom:3px;border-bottom:0}.company-list dd{padding-top:2px}.contact__phone{font-size:27px}.footer__inner{display:grid}.footer nav{flex-wrap:wrap}.copyright{display:grid;gap:5px}}

@media (max-width:760px){.business-contact__inner{display:grid;gap:18px;padding:25px 0}.business-contact h2{font-size:20px}.business-contact__phone{font-size:25px;padding-left:16px}}
