:root{--navy:#0b2a5c;--navy-dark:#071b3d;--teal:#0f8a8c;--accent:#21fce2;--gray-bg:#f4f6fa;--text:#222831;--footer:#1c1c1c}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text);background:#fff;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}.en{display:none}body.show-en .en{display:inline}body.show-en .jp{display:none}header{z-index:100;background:#fff;justify-content:space-between;align-items:center;gap:4px;padding:8px 8px 8px 10px;display:flex;position:sticky;top:0;box-shadow:0 2px 6px #00000014}.logo{align-items:center;gap:8px;min-width:0;display:flex}.logo .badge{background:var(--navy);color:#fff;letter-spacing:.5px;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:flex}.logo-text{min-width:0;line-height:1.15}.logo-text .top{color:var(--navy);letter-spacing:.3px;white-space:nowrap;font-size:12px;font-weight:800}.logo-text .bottom{color:#777;letter-spacing:.5px;white-space:nowrap;font-size:8.5px;font-weight:600}.header-actions{flex-shrink:0;align-items:center;display:flex}.lang-toggle{background:var(--gray-bg);color:var(--navy);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:3px;padding:9px;font-size:11px;font-weight:800;display:flex}.lang-toggle span{opacity:.45}.lang-toggle span.active{opacity:1;text-decoration:underline}.contact-btn{background:var(--navy);color:#fff;white-space:nowrap;align-items:center;gap:4px;padding:9px 10px;font-size:10.5px;font-weight:700;display:flex}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:28px;height:28px;margin-left:4px;display:flex}.hamburger span{background:var(--navy);width:19px;height:2px;transition:all .25s;display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}nav.desktop-nav{display:none}.drawer{background:var(--navy);z-index:200;width:78%;max-width:320px;height:100%;padding-top:70px;transition:right .3s;position:fixed;top:0;right:-100%;overflow-y:auto}.drawer.open{right:0}.drawer-close{cursor:pointer;color:#fff;background:0 0;border:none;width:32px;height:32px;position:absolute;top:16px;right:16px}.drawer-close svg{stroke:#fff;width:20px;height:20px}.drawer ul li a{color:#fff;border-bottom:1px solid #ffffff1f;padding:15px 22px;font-size:14.5px;font-weight:600;display:block}.drawer ul li a:active{background:#ffffff14}.drawer ul li a.active{border-left:3px solid var(--accent);background:#ffffff1a;padding-left:19px}.drawer .drawer-lang{margin:18px 22px 0;display:none}.drawer .drawer-lang button{cursor:pointer;opacity:.5;border:none;flex:1;padding:14px 0;font-size:15px;font-weight:800}.drawer .drawer-lang button.active{opacity:1}.drawer .drawer-lang #drawerLangJp{background:var(--navy-dark);color:#fff}.drawer .drawer-lang #drawerLangEn{background:var(--accent);color:#fff}.drawer .drawer-contact{background:var(--accent);color:#1c1c1c;text-align:center;margin:0 22px 20px;padding:13px;font-size:14px;font-weight:800;display:none}.scrim{z-index:150;opacity:0;pointer-events:none;background:#00000073;transition:opacity .3s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.hero{background:radial-gradient(at 75% 20%,#0f8a8c8c,#0000 55%),linear-gradient(160deg,#08213f 0%,#0b2a5c 45%,#123a72 100%);align-items:flex-end;min-height:440px;display:flex;position:relative;overflow:hidden}.hero .wake{opacity:.5;position:absolute;inset:0}.hero .wake svg{width:100%;height:100%}.hero-content{z-index:2;width:100%;padding:30px 20px 34px;position:relative}.hero-title-bar{align-items:stretch;display:flex}.hero-title-bar .accent{background:var(--accent);flex-shrink:0;width:14px}.hero-title-bar .titles{padding:8px 16px}.hero-title-bar h1{color:#fff;text-shadow:0 2px 10px #0000004d;font-size:30px;font-weight:800;line-height:1.35}.hero-title-bar p{color:#dce6f5;margin-top:8px;font-size:13px;font-weight:600}.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);padding:36px 20px 30px}.page-hero .hero-title-bar h1{font-size:24px}.page-hero .hero-title-bar p{font-size:12.5px}.breadcrumb{color:#cfcfcf;background:#2b2b2b;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;font-size:12px;display:flex}.breadcrumb .home-ico{fill:#cfcfcf;flex-shrink:0;width:14px;height:14px}.breadcrumb a:hover,.breadcrumb span.current{color:#fff}.back-btn{color:var(--navy);cursor:pointer;background:0 0;border:1px solid #d5d9e0;border-radius:4px;align-items:center;gap:6px;width:fit-content;margin:14px 16px 0;padding:9px 16px;font-size:13px;font-weight:700;display:flex}.back-btn:hover{background:var(--gray-bg)}.back-btn svg{width:14px;height:14px;stroke:var(--navy);flex-shrink:0}section{padding:44px 18px}.section-head{text-align:center;margin-bottom:26px}.section-head .kicker{color:var(--teal);letter-spacing:2px;font-size:12px;font-weight:800}.section-head h2{color:var(--navy);margin-top:6px;font-size:22px;font-weight:800}.section-head .bar{background:var(--accent);width:44px;height:3px;margin:12px auto 0}.intro{background:var(--gray-bg)}.intro p{color:#333;font-size:14.5px;line-height:2}.cards{grid-template-columns:1fr;gap:16px;display:grid}.card{border:1px solid #e4e7ec;overflow:hidden;box-shadow:0 4px 14px #0f28640f}.card .thumb{background:linear-gradient(135deg,var(--navy),var(--teal));justify-content:center;align-items:center;height:110px;display:flex}.card .thumb svg{stroke:#fff;fill:none;width:42px;height:42px}.card .body{padding:16px 16px 18px}.card .body h3{color:var(--navy);margin-bottom:6px;font-size:16px;font-weight:800}.card .body p{color:#555;margin-bottom:10px;font-size:13px;line-height:1.7}.card .more{color:var(--teal);font-size:12px;font-weight:700}.card .meta{color:var(--navy);margin-bottom:8px;font-size:11.5px;font-weight:700}.stats{background:var(--navy);color:#fff;text-align:center;grid-template-columns:1fr 1fr;gap:20px;display:grid}.stats .stat .num{color:var(--accent);font-size:28px;font-weight:800}.stats .stat .num sup{font-size:15px}.stats .stat .label{opacity:.9;margin-top:4px;font-size:11.5px}.news-list li{border-bottom:1px solid #e6e6e6;gap:12px;padding:14px 0;font-size:13px;display:flex}.news-list .date{color:#888;flex-shrink:0;font-weight:600}.news-list .tag{background:var(--teal);color:#fff;flex-shrink:0;height:fit-content;padding:2px 7px;font-size:10.5px;font-weight:800}.news-list a{color:#222;line-height:1.5}.cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);text-align:center;padding:46px 20px}.cta h2{color:#fff;margin-bottom:18px;font-size:19px;font-weight:800;line-height:1.5}.cta-btn{background:var(--accent);color:#1c1c1c;cursor:pointer;border:none;align-items:center;gap:8px;padding:15px 28px;font-size:14px;font-weight:800;display:inline-flex}.contact-form{max-width:520px;margin:0 auto;padding:0 18px}.form-row{margin-bottom:18px}.form-row label{color:var(--navy);margin-bottom:6px;font-size:13.5px;font-weight:700;display:block}.form-row label em{color:#e0453c;font-style:normal}.form-row input,.form-row textarea{color:#1c1c1c;background:#fff;border:1px solid #d5d9e0;border-radius:4px;width:100%;padding:11px 12px;font-family:inherit;font-size:14px}.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--teal);outline-offset:1px}.form-row textarea{resize:vertical}.contact-form .cta-btn{justify-content:center;width:100%}.form-success{background:var(--gray-bg);border-left:3px solid var(--teal);max-width:520px;color:var(--navy);margin:0 auto;padding:20px;font-size:14px;line-height:1.7}footer{background:var(--footer);color:#bbb;padding:36px 18px 20px}.footer-logo{align-items:center;gap:8px;margin-bottom:20px;display:flex}.footer-logo .badge{background:var(--navy);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:flex}.footer-logo .top{color:#fff;font-size:13px;font-weight:800}.footer-logo .bottom{color:#999;font-size:10px;font-weight:600}.footer-cols{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;display:grid}.footer-cols h4{color:#fff;margin-bottom:10px;font-size:13px}.footer-cols li{color:#aaa;margin-bottom:8px;font-size:12.5px}.footer-bottom{text-align:center;color:#777;border-top:1px solid #333;padding-top:16px;font-size:11px}.flow{flex-direction:column;gap:22px;max-width:900px;margin:0 auto;display:flex}.flow-step{align-items:flex-start;gap:14px;display:flex}.flow-step .num{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex}.flow-step h4{color:var(--navy);margin-bottom:4px;font-size:15px}.flow-step p{color:#555;font-size:13px;line-height:1.6}.president-msg{gap:28px;max-width:1100px;margin:0 auto;display:grid}.president-msg .photo{aspect-ratio:4/3;background:var(--gray-bg);color:#999;letter-spacing:1px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;overflow:hidden}.president-msg .photo img{object-fit:cover;width:100%;height:100%;display:block}.president-msg .msg-body p{color:#333;margin-bottom:16px;font-size:14px;line-height:1.9}.president-msg .signature{text-align:right;margin-top:24px}.president-msg .signature .name{color:var(--navy);font-size:16px;font-weight:800}.president-msg .signature .role{color:#777;margin-top:2px;font-size:12.5px}.company-grid{grid-template-columns:1fr;align-items:start;gap:32px;max-width:1100px;margin:0 auto;display:grid}.profile-table{border-collapse:collapse;width:100%;font-size:13.5px}.profile-table tr{border-bottom:1px solid #e4e7ec}.profile-table th{text-align:left;color:var(--navy);vertical-align:top;width:96px;padding:14px 12px 14px 0;font-weight:800}.profile-table td{color:#333;padding:14px 0;line-height:1.7}.map-card{border:1px solid #e4e7ec;overflow:hidden;box-shadow:0 4px 14px #0f28640f}.map-card img{object-fit:cover;width:100%;height:auto;display:block}.map-caption{background:var(--gray-bg);align-items:center;gap:8px;padding:14px 16px;display:flex}.map-caption svg{flex-shrink:0;width:18px;height:18px}.map-caption .title{color:var(--navy);font-size:14px;font-weight:800}.map-caption .sub{color:#777;margin-top:1px;font-size:11.5px}.history-hero{background:#faf7f0;padding:36px 20px 22px}.history-hero .hh-title{color:#2b2f38;letter-spacing:1px;font-size:26px;font-weight:800;display:inline-block}.history-hero .hh-underline{background:#2b2f38;height:2px;margin-top:6px}.history-hero .hh-sub{color:#888;letter-spacing:2px;margin-top:8px;font-size:12px}.history-wrap{background:#faf7f0}.history-zigzag{max-width:820px;margin:0 auto;padding:10px 0 0;position:relative}.history-zigzag:before{content:"";background:var(--navy);width:2px;position:absolute;top:0;bottom:0;left:20px}.hz-item{box-sizing:border-box;text-align:left;width:100%;padding:0 0 46px 46px;position:relative}.hz-dot{background:var(--navy);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:14px}.hz-year{color:var(--navy);font-size:24px;font-weight:800}.hz-year span{margin-left:2px;font-size:14px;font-weight:600}.hz-desc{color:#555;margin:8px 0 14px;font-size:12.5px;line-height:1.7}.hz-photo{color:#a89f88;letter-spacing:1px;background:#ece7db;border:1px dashed #cfc7ae;justify-content:center;align-items:center;width:100%;max-width:280px;height:150px;font-size:11px;font-weight:600;display:flex}.equip-table{border-collapse:collapse;width:100%;max-width:900px;margin:0 auto;font-size:12.5px}.equip-table th,.equip-table td{text-align:left;border-bottom:1px solid #e4e7ec;padding:12px 10px}.equip-table th{background:var(--gray-bg);color:var(--navy);font-weight:800}.benefits{grid-template-columns:1fr 1fr;gap:14px;max-width:900px;margin:0 auto;display:grid}.benefits li{background:var(--gray-bg);color:var(--navy);border-left:3px solid var(--accent);padding:14px 16px;font-size:13px;font-weight:600}@media (width>=900px){header{padding:12px 32px}.hamburger{display:none}nav.desktop-nav{color:#333;gap:22px;font-size:13.5px;font-weight:600;display:flex}nav.desktop-nav a.active{color:var(--navy);border-bottom:2px solid var(--accent);padding-bottom:4px}.header-flex{align-items:center;gap:36px;display:flex}.header-actions{gap:16px}.logo .badge{width:42px;height:42px;font-size:14px}.logo-text .top{font-size:16px}.logo-text .bottom{font-size:10px}.lang-toggle{padding:12px 14px;font-size:13px}.contact-btn{gap:8px;padding:15px 20px;font-size:13px}.hero{min-height:540px}.hero-title-bar h1{font-size:46px}.hero-title-bar p{font-size:15px}.hero-title-bar .titles{padding:10px 26px}.page-hero{padding:56px 40px 46px}.page-hero .hero-title-bar h1{font-size:36px}.page-hero .hero-title-bar p{font-size:15px}.breadcrumb{padding:12px 40px}.history-hero{padding:56px 40px 30px}.history-hero .hh-title{font-size:36px}.history-zigzag{padding:20px 0 0}.history-zigzag:before{left:50%;transform:translate(-50%)}.hz-item{width:50%;padding:0 40px 60px}.hz-item.hz-left{text-align:right}.hz-item.hz-right{text-align:left;left:50%}.hz-dot{left:auto}.hz-item.hz-left .hz-dot{right:-7px}.hz-item.hz-right .hz-dot{left:-7px}.hz-item.hz-left .hz-photo{margin-left:auto}.hz-item.hz-right .hz-photo{margin-right:auto}section{padding:70px 40px}.intro p{text-align:center;max-width:820px;margin:0 auto;font-size:16px}.cards{grid-template-columns:repeat(4,1fr);max-width:1200px;margin:0 auto}.stats{grid-template-columns:repeat(4,1fr);padding:50px 40px}.footer-cols{grid-template-columns:repeat(4,1fr);max-width:1200px;margin:0 auto 24px}.footer-logo{max-width:1200px;margin:0 auto 24px}.news-list{max-width:820px;margin:0 auto}.flow{flex-direction:row}.flow-step{text-align:center;flex-direction:column;flex:1}.flow-step .num{margin:0 auto}.company-grid{grid-template-columns:1.15fr 1fr}.profile-table th{width:150px;font-size:15px}.president-msg{grid-template-columns:320px 1fr}.profile-table td{font-size:15px}.benefits{grid-template-columns:repeat(3,1fr)}}
