/* Final visual system for the three secondary pages. */
.subpage{background:#fff}
.subpage .pageHero{min-height:430px;display:flex;align-items:center;background:linear-gradient(118deg,#183B67 0%,#285B91 56%,#287B88 100%)}
.subpage .pageHero:before{content:"";position:absolute;width:540px;height:540px;right:-140px;top:-250px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}
.subpage .pageHero:after{background:linear-gradient(90deg,rgba(23,50,87,.35),rgba(40,123,136,.08))}
.subpage .pageHero .wrap{padding:82px 0 68px}
.subpage .pageHero .ey{border-color:rgba(255,255,255,.42);font-size:10px}
.subpage .pageHero .en{color:#B8DDE2;margin-top:20px}
.subpage .pageHero h1{font-size:clamp(36px,4.4vw,56px);margin-top:12px}
.subpage .pageHero p{max-width:690px;line-height:2.05;color:rgba(255,255,255,.84)}
.subpage .breadcrumb{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.64)}
.subpage .breadcrumb a:hover{color:#fff}
.pageIndex{height:72px;display:flex;align-items:stretch;background:#fff;box-shadow:0 14px 35px rgba(35,71,117,.1);position:relative;z-index:6;margin-top:-24px}
.pageIndex a{flex:1;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);font-size:12px;font-weight:700;color:var(--deep);transition:color .2s,background .2s}
.pageIndex a:first-child{border-left:0}
.pageIndex a:after{content:"↓";margin-left:14px;color:var(--mid)}
.pageIndex a:hover{color:var(--blue);background:var(--off)}
.pageIndex a:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.contactPage .nav .cta.current{background:var(--deep)}
.contactPage .nav .cta.current:after{display:none}
.subpage .section{scroll-margin-top:24px}
.subpage .heading{position:relative}
.subpage .heading .ja{color:var(--teal);font-size:13px}
.subpage .heading .en{font-size:clamp(46px,6vw,76px);margin-top:6px}
.subpage .split{gap:72px;align-items:center}
.subpage .splitPhoto{box-shadow:24px 24px 0 #E8F1F8}
.subpage .bodyText{line-height:2.2}
.subpage .strengthList{gap:0;margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.subpage .strength{border-top:0;border-left:1px solid var(--line);padding:30px;background:rgba(248,250,253,.82)}
.subpage .strength:first-child{border-left:0}
.subpage .strength .num{font-size:13px;color:var(--teal)}
.subpage .strength h3{margin:13px 0 10px}
.resultSection{background:linear-gradient(135deg,#EEF4FB 0%,#EDF6F7 70%,#F1F0FA 100%)}
.resultSection .lead{margin-bottom:36px}
.beforeAfter{gap:28px}
.beforeAfter figure{position:relative;background:#fff;padding:12px 12px 16px;box-shadow:0 12px 32px rgba(35,71,117,.1)}
.beforeAfter figure:before{content:attr(data-label);position:absolute;top:28px;left:28px;z-index:2;background:rgba(23,40,61,.86);color:#fff;padding:7px 12px;font:700 11px Arial;letter-spacing:.16em}
.beforeAfter figcaption{font-size:13px;margin:12px 4px 0;color:var(--deep);font-weight:700}
.barrelPage #processing .processGrid{counter-reset:processing}
.barrelPage #processing .processItem{counter-increment:processing;position:relative;padding:34px 30px 30px;border:0;border-top:2px solid var(--teal);box-shadow:0 8px 28px rgba(35,71,117,.07)}
.barrelPage #processing .processItem:before{content:counter(processing,decimal-leading-zero);display:block;margin-bottom:18px;font:700 12px Arial;color:var(--mid);letter-spacing:.15em}
.barrelPage #processing .processItem b{font-size:17px;color:var(--deep)}
.barrelPage #equipment{background:#F8FAFD}
.barrelPage #equipment .processGrid{gap:1px;background:var(--line)}
.barrelPage #equipment .processItem{border:0;min-height:180px;padding:30px;background:#fff}
.barrelPage #equipment .equipment{margin-top:42px;gap:20px}
.barrelPage #equipment .equipment article{border-left:3px solid var(--blue);background:#EAF1FA;padding:26px 30px}
.barrelPage .gallery{margin-top:20px}
.barrelPage .gallery figure{flex-basis:min(58vw,560px)}
.barrelPage .gallery img{filter:saturate(.88)}
.companyPage .profileSection{background:linear-gradient(135deg,#EEF4FB,#F7F9FC)}
.companyPage .profile{background:#fff;box-shadow:0 14px 36px rgba(35,71,117,.07)}
.companyPage .profile th,.companyPage .profile td{border-left:0;border-right:0;padding:18px 24px}
.companyPage .profile th{background:#F5F8FC;color:var(--deep);font-size:12px;letter-spacing:.08em}
.companyPage .profile a{color:var(--blue);font-weight:700}
.companyPage .timeline{position:relative;padding-left:42px}
.companyPage .timeline:before{content:"";position:absolute;left:9px;top:16px;bottom:16px;width:1px;background:linear-gradient(var(--teal),var(--mid),var(--accent))}
.companyPage .timeline li{position:relative;grid-template-columns:150px 1fr;padding:26px 0}
.companyPage .timeline li:before{content:"";position:absolute;left:-38px;top:34px;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.companyPage .timeline strong{font-size:17px;color:var(--deep)}
.companyPage .timeline p{margin:8px 0 0}
.companyPage .trustRefined{background:linear-gradient(118deg,#204878 0%,#27657F 58%,#3C5486 100%)}
.companyPage .trustRefined .heading .ja{color:#B8E0E4}
.companyPage .trustRefined p{font-size:14px;line-height:2.15}
.companyPage .accessCard{padding:38px;border:0;border-top:3px solid var(--teal);box-shadow:0 10px 30px rgba(35,71,117,.07)}
.companyPage .mapFrame{filter:saturate(.72) contrast(.96)}
.contactPage #contact-method{padding-bottom:96px}
.contactPage .contactInfo{gap:22px}
.contactPage .infoCard{position:relative;border:0;border-top:3px solid var(--teal);padding:36px;box-shadow:0 12px 34px rgba(35,71,117,.08)}
.contactPage .infoCard:first-child{background:linear-gradient(145deg,#244C79,#287B88);color:#fff}
.contactPage .infoCard:first-child .label,.contactPage .infoCard:first-child p,.contactPage .infoCard:first-child .contactPhoneNumber{color:#fff}
.contactPage .infoCard .label{font-size:11px}
.contactPage .contactPhoneNumber{font-size:34px}
.contactPage .infoLink{display:flex;justify-content:space-between;margin-top:20px;padding-top:13px;border-top:1px solid var(--line);color:var(--blue);font-size:12px;font-weight:700}
.contactGuide{background:linear-gradient(135deg,#EEF4FB,#EDF6F7)}
.contactGuide .lead{margin-bottom:42px}
.guideGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guideGrid article{background:#fff;padding:25px;border-top:2px solid var(--teal);min-height:160px}
.guideGrid span{font:700 11px Arial;color:var(--mid);letter-spacing:.12em}
.guideGrid h3{font-size:16px;margin:12px 0 7px}
.guideGrid p{font-size:12px;color:var(--gray);margin:0}
.phoneCta{margin-top:28px;background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:30px 36px}
.phoneCta div{display:flex;flex-direction:column;gap:4px}
.phoneCta small{font-size:11px;color:#B7CCE4}
.phoneCta strong{font:700 30px Arial}
.phoneCta a{display:flex;align-items:center;gap:24px;background:var(--blue);padding:16px 25px;font-size:13px;font-weight:700}
.phoneCta a:hover{background:var(--teal)}
@media(max-width:767px){
 .subpage .pageHero{min-height:370px}
 .subpage .pageHero .wrap{padding:56px 0 52px}
 .subpage .pageHero h1{font-size:34px}
 .barrelPage .pageHero h1{font-size:31px}
 .privacyPage .pageHero h1{font-size:28px}
 .subpage .pageHero p{font-size:12px}
 .pageIndex{height:auto;margin-top:-14px;display:grid;grid-template-columns:1fr 1fr}
 .pageIndex a{min-height:52px;border-bottom:1px solid var(--line);font-size:11px}
 .pageIndex a:nth-child(odd){border-left:0}
 .subpage .split{gap:32px}
 .subpage .splitPhoto{box-shadow:12px 12px 0 #E8F1F8}
 .subpage .strengthList{margin-top:42px}
 .subpage .strength{border-left:0;border-top:1px solid var(--line);padding:24px 20px}
 .subpage .strength:first-child{border-top:0}
 .beforeAfter{gap:18px}
 .barrelPage #equipment .processItem{min-height:0}
 .companyPage .timeline{padding-left:30px}
 .companyPage .timeline li{grid-template-columns:1fr;gap:7px}
 .companyPage .timeline li:before{left:-26px}
 .companyPage .profile th,.companyPage .profile td{padding:14px 12px}
 .contactPage .contactInfo{grid-template-columns:minmax(0,1fr)}
 .contactPage .infoCard{padding:28px 24px}
 .contactPage .contactPhoneNumber[href^="mailto:"]{font-size:clamp(17px,4.8vw,22px);overflow-wrap:anywhere}
 .guideGrid{grid-template-columns:1fr 1fr;gap:10px}
 .guideGrid article{padding:20px 16px;min-height:150px}
 .phoneCta{padding:25px 20px;display:block;text-align:center}
 .phoneCta a{justify-content:center;margin-top:20px}
}
