.subpage{background:#f7f8f9;line-height:1.9}.sub-header{height:120px;padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce1e5;background:#ffffffed;position:relative;z-index:30}.sub-logo{width:43px;height:61px;object-fit:contain}.sub-desktop{display:flex;gap:36px;font-size:12px;font-weight:700;letter-spacing:.08em}.sub-desktop a{padding:12px 0}.sub-desktop a[aria-current]{border-bottom:1px solid #202c34}.sub-desktop a:last-child{border:1px solid #a6b1b8;padding:12px 22px}.sub-menu-toggle{display:none}.sub-mobile{position:absolute;left:0;right:0;top:100%;background:#f6f8fa;padding:25px var(--gutter);box-shadow:0 18px 25px #10233115}.sub-mobile a{display:block;padding:12px;border-bottom:1px solid #ccd6dd}.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:35px var(--gutter) 70px;background:linear-gradient(115deg,#f5f7f8 12%,#fff 55%,#d9e1e6)}.breadcrumb{display:flex;gap:18px;font-size:10px;letter-spacing:.08em;margin:0 0 65px;color:#63727c}.section-index{font-size:11px;font-weight:600;letter-spacing:.13em;margin:0 0 25px}.page-hero h1{font-size:clamp(66px,9vw,130px);line-height:1.03;letter-spacing:-.055em;font-weight:500;margin:0;position:relative;z-index:1}.page-hero h1 span{color:#8095a3}.page-subtitle{font-size:17px;margin:23px 0 0}.page-hero-glass{position:absolute;z-index:-1;width:50%;height:145%;right:-2%;top:-25%;transform:rotate(24deg);border:1px solid #b6c5d080;background:linear-gradient(95deg,transparent 0,#fff4 48%,#91a8b333 49%,#fff8 50%,transparent 51%);box-shadow:inset 1px 0 2px white,0 15px 55px #687e901a;clip-path:polygon(18% 0,100% 15%,78% 100%,0 78%)}.page-section{padding:100px var(--gutter)}.page-section h2{font-size:clamp(38px,5vw,68px);line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:0 0 45px}.page-section .large-ja{font-size:clamp(26px,3.3vw,48px);line-height:1.6;font-weight:600;letter-spacing:.02em}.prose{font-size:15px;line-height:2.3}.prose p:first-child{margin-top:0}.prose p+p{margin-top:30px}.company-mission{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:linear-gradient(155deg,#fff,#eef2f5)}.values-section{background:#10171c;color:#eef4f7}.value-list article{display:grid;grid-template-columns:50px 1fr 1fr;gap:35px;padding:38px 0;border-top:1px solid #76858c55;align-items:start}.value-list h3{font-size:20px;font-weight:500;margin:6px 0}.value-list p{font-size:14px;margin:0;color:#d0d9df}.value-list .value-en{font-size:25px;color:white;letter-spacing:-.03em;line-height:1.3}.row-number{font-size:12px;color:#99adba}.company-profile{display:grid;grid-template-columns:1fr 1.4fr;gap:0 8%}.company-profile dl{margin:0}.company-profile dl div{padding:23px 0;border-top:1px solid #c8d1d8;display:grid;grid-template-columns:110px 1fr;gap:20px;font-size:14px}.company-profile dd{margin:0}.review-note{font-size:12px;line-height:1.9;color:#657782;overflow-wrap:anywhere}.company-profile>.review-note{grid-column:2}.sub-cta{padding:75px var(--gutter);border-top:1px solid #c5d0d8;background:linear-gradient(120deg,#eff3f5,#fff 55%,#d5dfe6);position:relative}.sub-cta>p{font-size:10px;letter-spacing:.16em}.sub-cta .page-link{font-size:clamp(55px,8vw,110px);letter-spacing:-.05em;padding:0;border:0;line-height:1.3;max-width:none}.sub-cta>span{font-size:14px}.page-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #899ba7;font-size:14px;max-width:380px;min-height:48px}.page-link span{font-size:24px}.page-link:hover{color:#526b7b}.sub-footer{padding:55px var(--gutter) 30px;background:#fff}.sub-footer>div{display:flex;align-items:center;gap:28px}.sub-footer img{width:40px;height:auto}.sub-footer>div p{font-size:14px;line-height:1.8}.sub-footer nav{display:flex;flex-wrap:wrap;gap:22px;margin:35px 0;font-size:11px;font-weight:600;letter-spacing:.05em}.sub-footer>small{font-size:10px}.service-intro{padding-bottom:60px}.service-jump{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c8d1d8}.service-jump a{padding:23px 18px 23px 0;display:flex;gap:12px;align-items:center;border-bottom:1px solid #c8d1d8;font-size:13px}.service-jump span{margin-left:auto}.service-jump small{color:#6b8290}.service-details{background:#11191f;color:#f3f6f8;padding:20px var(--gutter) 60px}.service-detail{scroll-margin-top:24px;display:grid;grid-template-columns:1.2fr 1fr;gap:7%;padding:65px 0;border-bottom:1px solid #75838e55}.editorial-photo{margin:0}.editorial-photo img{width:100%;height:100%;object-fit:cover}.editorial-photo figcaption{font-size:10px;color:#8497a4;padding:12px 0;line-height:1.8}.service-detail-image img{aspect-ratio:1.15;height:auto;object-position:50% 40%}.service-detail-image .agent img{object-position:48% 35%}.service-detail-image .security img{object-position:50% 30%}.service-detail-copy h2{font-size:clamp(25px,2.6vw,37px);line-height:1.5;font-weight:500;margin:12px 0 30px}.service-detail-copy h3{font-size:17px;font-weight:500}.service-detail-copy p:not(.section-index){font-size:14px;line-height:2.1;color:#d4dfe6}.service-detail .page-link{color:#eaf4fa}.other-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.other-grid article{border-top:1px solid #b7c5cf;padding:20px 0}.other-grid h3{font-size:22px}.other-grid p{font-size:14px}.review-detail{border-top:1px solid #c5d0d8;margin-top:35px;padding:20px 0;font-size:13px;color:#647785}.review-detail summary{cursor:pointer}.news-placeholder{padding:65px 25px;text-align:center;border-top:1px solid #bdcbd5;border-bottom:1px solid #bdcbd5;background:linear-gradient(135deg,#fff,#eef2f5)}.news-placeholder>span{font-size:11px;letter-spacing:.25em;color:#7a929f}.news-placeholder h3{font-size:23px;font-weight:500}.news-placeholder p{font-size:14px;color:#697b86}.recruit-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:6%;align-items:center}.recruit-page .prose{max-width:420px}.recruit-photo img{aspect-ratio:1.2;object-position:42% 50%;height:auto}.hiring{padding-top:0}.hiring>p{font-size:14px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.contact-layout>div>p{font-size:14px}.contact-layout .review-note{font-size:12px;margin-top:40px}.contact-form-area{min-width:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:14px;margin-bottom:30px}label{display:flex;gap:15px;font-size:14px;margin:25px 0 10px}label span{font-size:10px;align-self:center;border:1px solid #98aab5;padding:0 7px;color:#586f7e}input,textarea,select{display:block;width:100%;font:inherit;font-size:16px;color:inherit;background:#fff;border:1px solid #b4c3cd;border-radius:0;padding:15px;min-height:52px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #607f93;outline-offset:3px}.form-policy{font-size:12px;margin:30px 0;color:#687f8e}.form-policy a{text-decoration:underline;text-underline-offset:4px}.form-primary{display:flex;justify-content:space-between;width:100%;padding:22px 24px;background:#19232b;color:white;font-size:15px;min-height:60px}.form-primary:disabled{background:#e1e6e9;color:#61727d;cursor:not-allowed}.form-status{font-size:13px}.contact-form-area h2{font-size:28px;letter-spacing:0}.confirm-list>div{padding:20px 0;border-bottom:1px solid #bbc8d1}.confirm-list dt{font-size:12px;color:#697f8d}.confirm-list dd{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.confirm-list+.review-note{margin:30px 0}.contact-form-area .page-link{margin:20px 0}.privacy-page{max-width:1100px}.privacy-page h2{font-size:32px;letter-spacing:0}.privacy-page ul{padding-left:20px}
@media(max-width:900px){.sub-desktop{gap:20px}.company-mission{gap:5%}.service-detail{gap:5%}.contact-layout{gap:6%}.value-list article{grid-template-columns:30px 1fr;gap:20px}.value-list article>p{grid-column:2}.service-jump{grid-template-columns:1fr 1fr}.recruit-page{grid-template-columns:1fr}.recruit-photo{margin-top:20px}.recruit-page .prose{max-width:650px}}
@media(max-width:700px){.sub-header{height:92px;padding:16px 24px}.sub-logo{height:55px;width:39px}.sub-desktop{display:none}.sub-menu-toggle{display:flex;gap:20px;align-items:center;font-size:11px;letter-spacing:.08em;min-height:44px}.sub-menu-toggle span{font-size:25px}.page-hero{padding:25px 24px 50px}.breadcrumb{margin-bottom:45px}.page-hero h1{font-size:clamp(58px,15vw,90px)}.page-subtitle{font-size:14px}.page-hero-glass{width:70%;right:-20%}.page-section{padding:60px 24px}.company-mission,.company-profile,.contact-layout{grid-template-columns:1fr;gap:25px}.page-section h2{margin-bottom:30px}.page-section .large-ja{font-size:28px}.prose{font-size:14px}.company-profile>.review-note{grid-column:1}.company-profile dl div{grid-template-columns:80px 1fr;font-size:13px;gap:15px}.value-list article{padding:28px 0;gap:15px}.value-list .value-en{font-size:23px}.value-list h3{font-size:18px}.value-list article>p{font-size:13px}.service-jump{grid-template-columns:1fr}.service-jump a{font-size:14px}.service-details{padding:0 24px 25px}.service-detail{grid-template-columns:1fr;padding:40px 0;gap:25px}.service-detail-image img{aspect-ratio:1.35}.service-detail-copy h2{margin:10px 0 22px}.service-detail-copy .section-index{font-size:10px}.other-grid{grid-template-columns:1fr}.other-services h2{font-size:28px}.news-placeholder{padding:40px 15px}.news-placeholder h3{font-size:20px}.news-placeholder br{display:none}.recruit-page{gap:10px}.recruit-photo img{aspect-ratio:1.12}.hiring{padding-top:0}.hiring h2{font-size:28px}.sub-cta{padding:45px 24px}.sub-footer{padding:40px 24px 25px}.sub-footer nav{gap:20px}.sub-footer>div{gap:20px}.sub-footer>div p{font-size:12px}.contact-layout .review-note{margin-top:25px}.privacy-page h2{font-size:26px}.section-index{font-size:10px}.review-note{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.page-hero-glass{animation:glass-arrive .8s ease-out both}@keyframes glass-arrive{from{opacity:0;transform:translateX(20px) rotate(24deg)}to{opacity:1;transform:translateX(0) rotate(24deg)}}}
/* Contact form: consent and non-disruptive bot field. */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent-label{align-items:flex-start;margin:25px 0}.consent-label input{width:20px;min-height:20px;height:20px;margin:4px 0 0;flex-shrink:0}.consent-label span{border:0;padding:0;font-size:13px}
#send-status{font-size:14px;line-height:1.8;overflow-wrap:anywhere;min-height:26px}#contact-challenge{margin:25px 0;max-width:100%}#local-test-controls{padding:15px;background:#eaf0f3;margin:20px 0}#local-test-controls label{margin-top:0}#success-message{font-size:16px;line-height:2}
/* Existing-site artwork is shown whole: preserve embedded text, people and logos. */
.service-detail-image .current-site-photo img{aspect-ratio:auto;height:auto;max-height:560px;object-fit:contain;background:#fff;object-position:center}
.service-detail-image .current-site-photo a{display:block}.current-site-photo figcaption{max-width:600px}
.company-source-photo{margin:0;padding:0 var(--gutter) 90px;background:#eef2f5}.company-source-photo img{width:min(100%,1000px);height:auto;margin:0 auto}.company-source-photo figcaption{max-width:1000px;margin:12px auto 0;font-size:11px;color:#657782}
@media(max-width:700px){.service-detail-image .current-site-photo img{max-height:470px}.company-source-photo{padding:0 24px 55px}}
.news-row{display:grid;grid-template-columns:110px 90px 1fr 25px;gap:25px;align-items:center;padding:35px 0;border-top:1px solid #bfcbd4;border-bottom:1px solid #bfcbd4}.news-row time{font-size:13px;color:#647b8b}.news-category{font-size:11px;border:1px solid #c0cdd5;padding:3px 10px;text-align:center}.news-row h3{font-size:21px;font-weight:500;margin:0}.news-row:hover h3{text-decoration:underline;text-underline-offset:5px}.news-article{max-width:1100px;margin:auto}.news-article h2{font-size:clamp(26px,3.5vw,45px);line-height:1.6;letter-spacing:.01em}.article-body{font-size:15px;line-height:2.3;margin:45px 0 55px}.article-body p+p{margin-top:28px}.article-break{display:none}@media(max-width:700px){.news-row{grid-template-columns:100px 90px 1fr;gap:18px;padding:25px 0}.news-row h3{grid-column:1/3;font-size:18px}.news-row>span:last-child{grid-column:3;grid-row:2;text-align:right}.news-article h2{font-size:26px}.article-break{display:block}.article-body{font-size:14px}}
