/* Shared layouts for the remaining static subpages. */
.page-content { padding-block:60px 130px; font-size:16px; font-weight:700; line-height:1.8; }
.page-content p + p { margin-top:1.5em; }
.page-heading--detail { padding:86px 0 0; min-height:400px; background:linear-gradient(var(--surface) 300px,#fff 300px); }
.page-heading--detail .section-heading__en { padding-bottom:0; }

.page-heading--service { --heading-art-width:230px; }
.page-heading--company { --heading-art-width:194px; }
.page-heading--activities { --heading-art-width:200px; }
.page-heading--recruit { --heading-art-width:230px; }
.page-heading--recruit .page-heading__art { top:-30px; }
.page-heading--contact { --heading-art-width:193px; }
.page-banner { display:grid; place-items:center; position:relative; margin-top:33px; min-height:200px; padding:28px; color:#fff; font-size:32px; line-height:1.5; text-align:center; background:#333 center/cover no-repeat; }
.page-banner--service { background-image:url('../img/service/img02.png'); }
.page-banner--recruit { background-image:url('../img/recruit/img07.png'); }
.simple-heading { background:var(--surface); padding:28px 0; }
.simple-heading h1 { font-size:26px; color:var(--red); }
.content-section + .content-section { margin-top:75px; }
.content-section > .bar-heading { margin-bottom:36px; }
.content-section h3 { font-size:20px; }
.content-section .lead { font-size:24px; font-weight:700; margin-bottom:22px; }
.content-section p + .grid-two,.content-section p + .product-grid { margin-top:35px; }
.bullet-list { list-style:disc; padding-left:1.4em; }
.number-list { padding-left:1.6em; margin:0; }
.number-list > li + li { margin-top:28px; }
.grid-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.grid-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.grid-two > img,.grid-two > div > img { width:100%; }
.panel { padding:35px; background:var(--surface); border-radius:8px; }
.panel + .panel { margin-top:40px; }
.panel--white { background:white; padding:25px; }
.panel h3 { margin-bottom:16px; color:var(--red); }
.panel p + h3 { margin-top:28px; }
.text-red { color:var(--red); }
.text-right { text-align:right; }
.text-link { text-decoration:underline; text-underline-offset:5px; }
.text-link:hover { color:var(--red); }
.note { color:#666; font-size:14px; }
.center-image { margin-inline:auto; }
.wide-image { width:100%; margin-block:40px; }
.data-table { width:100%; border-collapse:collapse; line-height:1.65; }
.data-table th,.data-table td { border:1px solid #ccc; padding:18px 30px; text-align:left; vertical-align:top; }
.data-table th { width:190px; background:var(--surface); font-weight:700; text-align:center; }
.data-table caption { text-align:left; font-size:20px; font-weight:700; margin-bottom:12px; }
.comparison-table { width:100%; border-collapse:collapse; }
.comparison-table th,.comparison-table td { border:1px solid #ccc; padding:16px 30px; }
.comparison-table thead { background:var(--surface); }
.comparison-table tbody th { width:190px; }
.table-scroll { overflow-x:auto; }
.inquiry-box { background:var(--surface); margin-top:90px; text-align:center; }
.inquiry-box > h2 { padding:16px 24px; background:#333; color:white; font-size:18px; }
.inquiry-box__body { padding:28px 25px 35px; }
.inquiry-box__numbers { display:flex; justify-content:center; align-items:center; gap:26px; margin-bottom:5px; font-size:20px; font-weight:700; }
.inquiry-box__numbers a,.inquiry-box__numbers span { display:flex; align-items:center; gap:12px; }
.inquiry-box__numbers a { font-size:24px; }
.inquiry-box__numbers img { width:24px; filter:brightness(.2); }
.inquiry-box .button { max-width:320px; margin:28px auto 0; }
.section-back { width:320px; margin-top:70px; }
.external-icon { position:absolute; top:50%; right:16px; width:15px; height:15px; transform:translateY(-50%); background:url('../img/common/icon06.png') center / contain no-repeat; }
.button--dark { background:#333; max-width:320px; margin:35px auto 0; }
.button--dark:hover { background:#111; }
.service-menu { display:grid; gap:50px; }
.service-menu__item { display:grid; grid-template-columns:210px 1fr 80px; min-height:210px; overflow:hidden; border-radius:8px; background:#333; color:white; }
.service-menu__item > img { width:210px; height:210px; object-fit:cover; }
.service-menu__copy { padding:35px; align-self:center; }
.service-menu__copy h3 { font-size:26px; margin-bottom:14px; }
.service-menu__copy h3::after { content:''; display:block; width:45px; height:2px; background:var(--red); margin-top:10px; }
.service-menu__end { display:grid; place-items:center; background:var(--red); font-size:34px; transition:background .2s; }
.service-menu__item:hover .service-menu__end { background:#b51f29; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.product-card { border:1px solid var(--red); border-radius:8px; overflow:hidden; }
.product-card__link { display:block; height:100%; color:inherit; text-decoration:none; }
.product-card h3 { position:relative; padding:14px 38px 14px 20px; background:var(--red); color:white; transition:background .2s; }
.product-card__link:hover h3, .product-card__link:focus-visible h3 { background:#b51f29; }
.product-card__link:focus-visible { outline:3px solid #333; outline-offset:-3px; }
.product-card__body { display:grid; grid-template-columns:200px 1fr; gap:25px; padding:20px; align-items:start; font-size:14px; }
.product-card__body img { width:200px; }
.safety-panel { margin-top:35px; background:var(--surface); }
.safety-panel > h3 { color:white; text-align:center; background:#193e52; padding:15px; }
.safety-panel__body { padding:35px 30px 60px; }
.safety-row { display:grid; grid-template-columns:180px 1fr; gap:30px; align-items:center; margin-bottom:28px; }
.safety-row h4 { margin:0 0 6px; color:var(--red); font-size:20px; }
.benefits { display:grid; gap:24px; margin-top:35px; }
.benefits li { display:grid; grid-template-columns:54px 1fr; gap:18px; }
.benefits h3 { color:var(--red); font-size:16px; margin:0; }
.benefits p { margin:0; }
.lease-panel { margin-top:50px; padding:40px; border-radius:8px; background:#f0efd4; }
.lease-panel--maintenance { background:#f9e2ad; }
.lease-panel h3 { font-size:32px; text-align:center; margin-bottom:35px; }
.lease-panel img { width:100%; margin-top:35px; }
.system-concept { margin-top:35px; }
.system-concept .panel--white > h3 { min-height:80px; border-bottom:1px solid #ddd; padding-bottom:18px; }
.system-concept .bullet-list { font-size:14px; margin-top:18px; }
.down-arrow { width:0; height:0; border-left:85px solid transparent; border-right:85px solid transparent; border-top:32px solid #999; margin:26px auto; }
.concept-summary { background:#ffffd0; border-radius:8px; max-width:550px; padding:25px 35px; margin:auto; }
.concept-summary h3 { color:var(--red); font-size:20px; margin-bottom:20px; }
.concept-summary ol { margin:0; padding-left:1.5em; }
.flow-list { margin:0; padding:0; list-style:none; }
.flow-list li { display:grid; grid-template-columns:245px 1fr; padding:15px 0; align-items:center; background:#fff; border-radius:8px; min-height:100px; position:relative; margin:0 0 42px; }
.flow-list li:not(:last-child)::after { content:''; position:absolute; top:calc(100% + 15px); left:calc(50% - 40px); border-left:40px solid transparent; border-right:40px solid transparent; border-top:14px solid #999; }
.flow-list h3 { text-align:center; padding:18px; color:#1a6587; border-right:1px solid #ddd; }
.flow-list p { padding:20px 32px; }
.flow-panel { padding:50px 110px; }
.flow-panel .concept-summary { max-width:none; }
.used-cards { margin-top:50px; }
.used-cards h3 { text-align:center; border-bottom:1px solid #ddd; padding-bottom:20px; color:#333; }
.used-cards h4 { color:var(--red); margin:28px 0 0; }
.support-card { border:1px solid #aaa; border-radius:8px; padding:30px; }
.support-card img { width:100%; }
.support-card h3 { text-align:center; color:var(--red); font-size:24px; margin:25px 0 15px; }
.support-grid { margin-top:50px; }
.training-description-heading { margin-top:32px; }
.training-description { display:grid; grid-template-columns:1fr 200px; gap:30px; }
.training-description h3 { font-size:18px; margin:35px 0 8px; }
.training-description h3:first-child { margin-top:0; }
.training-description figure { margin:10px 0 25px; }
.training-description figcaption { font-size:14px; text-align:center; }
.company-features { display:grid; grid-template-columns:1fr 546px; gap:35px; }
.company-philosophy { width:min(750px,100%); max-width:100%; margin:55px auto 0; }
.access-map { display:block; width:100%; height:450px; border:0; }
.activities-policy { margin-top:30px; }
.activities-policy .bullet-list { margin:18px 0 30px; }
.activity-grid { gap:50px 20px; }
.activity-card__image { position:relative; width:100%; aspect-ratio:1.5; border:1px solid #ddd; display:grid; place-items:center; overflow:hidden; }
.activity-card__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.activity-card__image--photo img { object-fit:cover; }
.activity-card a { text-decoration:underline; text-underline-offset:6px; }
.activity-card a:hover { color:var(--red); }
.activity-card p { margin-top:10px; }

.recruit-hero { width:100%; margin:20px 0 50px; }
.recruit-links { margin-top:50px; }
.recruit-link { display:flex; align-items:center; position:relative; min-height:160px; padding:30px 40px; background:var(--red); border-radius:8px; color:white; overflow:hidden; }
.recruit-link h3 { position:relative; z-index:1; font-size:24px; }
.recruit-link img { position:absolute; right:0; top:0; width:35%; height:100%; object-fit:cover; clip-path:polygon(38% 0,100% 0,100% 100%,0 100%); }
.recruit-link:hover { background:#b51f29; }
.recruit-intro { display:grid; grid-template-columns:1fr 400px; gap:40px; }
.recruit-intro .bar-heading { margin-bottom:25px; }
.work-panel { margin-top:35px; }
.icon-heading { display:flex; align-items:center; gap:18px; margin-bottom:28px; }
.icon-heading img { width:60px; }
.icon-heading h3 { color:#333; margin:0; }
.work-panel .grid-two { margin-top:25px; }
.work-panel .panel--white img { margin-bottom:20px; }
.training-intro { grid-template-columns:1fr 260px; }
.training-intro > img { width:237px; justify-self:center; }
.training-steps { display:grid; gap:45px; margin-top:45px; list-style:none; padding:0; }
.training-step { display:grid; grid-template-columns:180px 1fr 400px; gap:35px; background:#f5f6fa; border-radius:8px; padding:35px; }
.training-step__number { border-right:1px solid #ccc; padding-right:30px; }
.training-step__number span { width:125px; height:125px; border-radius:50%; background:#3265a0; display:flex; flex-direction:column; justify-content:center; align-items:center; color:white; font-weight:700; font-size:20px; line-height:1.2; }
.training-step__number b { font-size:50px; }
.training-step h2 { font-size:20px; color:#1b688e; margin:0 0 15px; }
.interviews { display:grid; gap:36px; }
.interview { display:grid; grid-template-columns:220px 1fr; gap:40px; padding:28px; background:var(--surface); border-radius:8px; }
.interview:nth-child(even) { grid-template-columns:1fr 220px; }
.interview:nth-child(even) .interview__profile { order:2; }
.interview__profile img { width:200px; margin:0 auto 22px; }
.interview__profile h3 { font-size:24px; margin:0 0 8px; }
.interview__profile p { font-size:14px; margin:0; }
.interview__profile { padding:0 14px; }
.interview__questions { background:white; border-radius:8px; padding:25px; }
.interview__questions section + section { margin-top:26px; border-top:1px solid #ccc; padding-top:26px; }
.interview__questions h3 { position:relative; font-size:20px; padding-left:48px; margin-bottom:16px; }
.interview__questions h3::before { content:'Q'; position:absolute; left:0; top:-2px; background:var(--red); color:#fff; width:36px; height:36px; border-radius:50%; text-align:center; }
.interview__questions p { padding-left:48px; }
.recruit-strength { margin-top:45px; }
.recruit-strength > div { padding:15px 18px; }
.recruit-strength > div + div { border-left:1px solid #ccc; }
.recruit-strength h3 { display:flex; align-items:flex-start; gap:16px; color:#1a6587; font-size:20px; margin-bottom:30px; }
.recruit-strength h3 img { width:50px; }
.points { margin-top:70px; }
.point { display:flex; gap:20px; padding:25px; border-radius:8px; background:#fbf0f2; }
.point > span { flex-shrink:0; white-space:nowrap; font-size:20px; color:var(--red); font-weight:700; border-right:1px solid #d9c7c7; padding-right:20px; text-align:center; }
.point b { display:block; font-size:40px; line-height:1.2; }
.entry-lead { text-align:center; font-weight:700; color:var(--red); font-size:20px; margin-bottom:45px; }
.entry-traits { padding-inline:35px; margin-bottom:65px; }
.entry-traits li { display:flex; align-items:center; gap:35px; min-height:100px; padding:10px 25px; background:var(--surface); border-radius:8px; font-size:20px; font-weight:700; }
.entry-traits img { width:81px; flex-shrink:0; }
.entry-links { display:grid; gap:35px; }
.entry-links .button { min-height:100px; font-size:20px; }
.job-title { padding:12px 25px; border-left:5px solid var(--red); font-size:26px; margin-bottom:35px; }
.job-description { margin-bottom:40px; }
.job-description.news-detail__body { margin-top:0; }
.job-table { margin-top:12px; }
.job-table + .article-attachment { margin-top:50px; }
.contact-intro .inquiry-box__numbers { justify-content:flex-start; margin-top:18px; }
.contact-departments { margin-top:35px; }
.contact-departments .panel { padding:25px; margin:0; }
.contact-departments h3 { font-size:16px; }
/* Contact table markup supplied for the CMS form. */
.table_type01 { margin-top:30px; }
.table_type01 table { width:100%; border-collapse:collapse; table-layout:fixed; }
.table_type01 th,.table_type01 td { border:1px solid #ccc; }
.table_type01 th { width:270px; padding:18px 25px; background:var(--surface); font-weight:700; text-align:left; vertical-align:middle; }
.table_type01 th.align-start { vertical-align:top; }
.table_type01 td { padding:14px 24px; }
.table_type01 .required { display:inline-block; margin-left:8px; padding:0 4px; border-radius:3px; background:var(--red); color:#fff; font-size:11px; font-style:normal; line-height:1.8; vertical-align:middle; white-space:nowrap; }
.table_type01 input:not([type='submit']):not([type='button']):not([type='radio']):not([type='checkbox']):not([type='hidden']),.table_type01 textarea,.table_type01 select { font:inherit; max-width:100%; border:1px solid #ccc; border-radius:0; background:#fff; color:#333; padding:4px 8px; }
.table_type01 :where(input:not([type='submit']):not([type='button']):not([type='radio']):not([type='checkbox']):not([type='hidden'])),.table_type01 textarea { width:100%; }
/* Address auto-fill markup: preserve the two postal-code fields on one line. */
.table_type01 .h-adr input.p-postal-code { display:inline-block; width:5em; margin:0 4px 0 8px; vertical-align:middle; }
.table_type01 .h-adr select.p-region { display:inline-block; width:128px; margin:12px 12px 0 0; vertical-align:middle; }
.table_type01 .h-adr input.p-locality { display:inline-block; width:calc(100% - 148px); margin-top:12px; vertical-align:middle; }
.table_type01 textarea { display:block; height:320px; min-height:320px; padding:8px; resize:vertical; }
.table_type01 select { font-size:14px; }
.table_type01 input:focus-visible,.table_type01 textarea:focus-visible,.table_type01 select:focus-visible { outline:2px solid #327da8; outline-offset:2px; }
.table_type01 td > label:has(> input[type='radio']) { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-right:24px; vertical-align:middle; white-space:nowrap; cursor:pointer; }
.table_type01 td > label:has(> input[type='radio']):last-child { margin-right:0; }
.table_type01 input[type='radio'] { flex:0 0 18px; width:18px; height:18px; margin:0; padding:0; accent-color:var(--red); cursor:pointer; }
.table_type01 .contact_button { margin-top:75px; text-align:center; }
.table_type01 .submit-button { display:block; width:320px; max-width:100%; min-height:60px; margin-inline:auto; padding:12px 38px; border:0; border-radius:8px; background:var(--red) url('../img/common/icon05.png') right 18px center / 14px auto no-repeat; color:#fff; font:inherit; font-size:16px; font-weight:700; line-height:1.5; text-align:center; cursor:pointer; transition:background-color .2s,box-shadow .2s; }
.table_type01 .submit-button:hover,.table_type01 .submit-button:focus-visible { background-color:#b51f29; box-shadow:0 5px 15px #00000016; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.legal-content .content-section + .content-section { margin-top:60px; }
.legal-content .bar-heading { font-size:20px; line-height:1.8; margin-bottom:32px; }
.legal-content ol { padding-left:1.7em; }
.legal-content li + li { margin-top:6px; }
.legal-content .alpha-list { list-style-type:lower-alpha; }
.legal-content .legal-sublist > li { margin-top:28px; }
.legal-content .legal-sublist p { margin-top:8px; }
.legal-content .data-table { font-size:14px; }
.legal-content .data-table th { width:auto; background:#fff; }
.legal-content .data-table th,.legal-content .data-table td { padding:18px; }
.legal-content .signature { margin-top:55px; text-align:right; }
@media (max-width:1100px) and (min-width:768px) {
 .product-card__body { grid-template-columns:140px 1fr; gap:16px; }
 .company-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .training-step { grid-template-columns:125px 1fr 32%; gap:22px; padding:25px; }
 .training-step__number span { width:95px; height:95px; }
 .flow-panel { padding:40px; }
 .recruit-intro { grid-template-columns:1fr 35%; }
 .entry-traits { padding-inline:0; }
 .entry-traits li { gap:18px; padding:15px; font-size:17px; }
 .recruit-link { padding:25px; }
 .recruit-link h3 { font-size:20px; }
}
@media (max-width:767px) {
 .page-content { padding-block:45px 80px; font-size:16px; }
 .page-heading .section-heading__en { font-size:clamp(33px,8.8vw,66px); letter-spacing:-1px; padding-right:145px; }
 .page-heading--detail { padding:60px 0 0; min-height:280px; background:linear-gradient(var(--surface) 180px,#fff 180px); }
 .page-banner { min-height:140px; margin-top:30px; font-size:24px; padding:24px 20px; }
 .page-heading--service,.page-heading--recruit { --heading-art-width:130px; }
 .page-heading--company,.page-heading--activities,.page-heading--contact { --heading-art-width:115px; }
 .page-heading--recruit .page-heading__art { top:-15px; }
 .simple-heading { padding:28px 0; }
 .simple-heading h1 { font-size:22px; }
 .content-section + .content-section { margin-top:55px; }
 .content-section > .bar-heading { margin-bottom:28px; font-size:20px; }
 .content-section .lead { font-size:20px; }
 .grid-two,.grid-three,.product-grid { grid-template-columns:1fr; gap:25px; }
 .panel,.lease-panel { padding:24px 20px; }
 .panel--white { padding:20px; }
 .data-table th,.data-table td { padding:14px; }
 .data-table th { width:115px; }
 .comparison-table th,.comparison-table td { padding:12px; }
 .comparison-table tbody th { width:100px; }
 .inquiry-box { margin-top:55px; }
 .inquiry-box > h2 { font-size:17px; }
 .inquiry-box__numbers { flex-direction:column; gap:8px; font-size:17px; }
 .inquiry-box__numbers a { font-size:23px; }
 .inquiry-box__body { padding:25px 15px; }
 .section-back { margin-top:50px; max-width:100%; }
 .service-menu { gap:25px; }
 .service-menu__item { grid-template-columns:115px 1fr 35px; min-height:150px; }
 .service-menu__item > img { width:115px; height:100%; object-fit:cover; background:#eee; }
 .service-menu__copy { padding:18px 15px; }
 .service-menu__copy h3 { font-size:20px; }
 .service-menu__copy p { font-size:13px; }
 .service-menu__end { font-size:13px; }
 .product-card__body { grid-template-columns:38% 1fr; gap:18px; padding:18px; }
 .product-card__body img { width:100%; }
 .safety-row { grid-template-columns:110px 1fr; gap:18px; }
 .safety-row h4 { font-size:18px; }
 .safety-panel__body { padding:25px 20px 35px; }
 .lease-panel h3 { font-size:24px; }
 .system-concept .panel--white > h3 { min-height:0; }
 .flow-panel { padding:25px 20px; }
 .flow-list li { grid-template-columns:1fr; }
 .flow-list h3 { border-right:0; border-bottom:1px solid #ddd; padding:10px; margin-inline:20px; }
 .flow-list p { padding:15px 20px; }
 .concept-summary { padding:22px; }
 .support-card { padding:20px; }
 .support-card h3 { font-size:21px; }
 .training-description { grid-template-columns:1fr; }
 .training-description__photos { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
 .company-features,.recruit-intro { grid-template-columns:1fr; }
 .company-features img { width:100%; }
 .company-philosophy { margin-top:30px; }
 .access-map { height:330px; }
 .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
 .activity-card p { font-size:14px; }
 .recruit-hero { margin-top:0; }
 .recruit-link { min-height:130px; padding:25px; }
 .recruit-link h3 { font-size:21px; }
 .recruit-intro > img { justify-self:center; }
 .training-intro > img { width:200px; }
 .training-step { grid-template-columns:100px 1fr; padding:25px 20px; gap:22px; }
 .training-step__number { padding:0; border:0; }
 .training-step__number span { width:90px; height:90px; font-size:16px; }
 .training-step__number b { font-size:36px; }
 .training-step > img { grid-column:1/-1; width:100%; }
 .training-step h2 { font-size:19px; }
 .interview,.interview:nth-child(even) { grid-template-columns:1fr; padding:24px 20px; gap:25px; }
 .interview:nth-child(even) .interview__profile { order:0; }
 .interview__profile { text-align:center; }
 .interview__questions { padding:20px 15px; }
 .interview__questions h3 { font-size:18px; padding-left:42px; }
 .interview__questions p { padding-left:0; }
 .recruit-strength > div + div { border-left:0; border-top:1px solid #ccc; padding-top:25px; }
 .recruit-strength h3 { margin-bottom:20px; }
 .points { margin-top:40px; }
 .entry-traits { padding:0; }
 .entry-traits li { gap:25px; font-size:18px; }
 .entry-links .button { padding-right:38px; font-size:18px; }
 .job-title { font-size:22px; padding:10px 18px; }
 .contact-intro .inquiry-box__numbers { align-items:flex-start; }
 .table_type01 table,.table_type01 tbody,.table_type01 tr { display:block; width:100%; }
 .table_type01 th,.table_type01 td { display:block; width:100%; }
 .table_type01 th { padding:12px 16px; }
 .table_type01 td { padding:16px; border-top:0; }
 .table_type01 tr + tr th { border-top:0; }
 .table_type01 input:not([type='submit']):not([type='button']):not([type='radio']):not([type='checkbox']):not([type='hidden']),.table_type01 select { padding-block:8px; }
 .table_type01 .h-adr input.p-postal-code { width:4em; margin-inline:4px; }
 .table_type01 .h-adr select.p-region { display:block; width:128px; margin:12px 0 0; }
 .table_type01 .h-adr input.p-locality { display:block; width:100%; margin-top:12px; }
 .table_type01 textarea { height:240px; min-height:240px; }
 .table_type01 td > label:has(> input[type='radio']) { display:flex; margin-right:0; }
 .table_type01 .contact_button { margin-top:45px; }
 .legal-content .bar-heading { font-size:18px; }
 .legal-content .table-scroll .data-table { min-width:650px; }
 .legal-content .signature { font-size:14px; }
}
@media (max-width:480px) {
 .page-heading .section-heading__en { font-size:clamp(28px,8.1vw,39px); padding-right:100px; }
 .page-heading--service,.page-heading--recruit { --heading-art-width:98px; }
 .page-heading--company,.page-heading--activities,.page-heading--contact { --heading-art-width:86px; }
 .page-heading--detail { min-height:255px; padding-top:50px; }
 .page-banner { font-size:22px; }
 .service-menu__item { grid-template-columns:85px 1fr 25px; }
 .service-menu__item > img { width:85px; }
 .service-menu__copy { padding:16px 12px; }
 .service-menu__copy h3 { font-size:17px; }
 .product-card__body { grid-template-columns:110px 1fr; gap:12px; padding:15px; font-size:13px; }
 .product-card h3 { font-size:18px; }
 .safety-row { grid-template-columns:1fr; }
 .safety-row img { width:150px; }
 .benefits li { grid-template-columns:44px 1fr; gap:12px; }
 .data-table th { width:88px; }
 .data-table th,.data-table td { padding:12px 10px; font-size:14px; }
 .comparison-table { font-size:13px; }
 .comparison-table th,.comparison-table td { padding:10px 7px; }
 .activity-grid { grid-template-columns:1fr; }
 .training-step { grid-template-columns:1fr; }
 .training-step__number span { margin:auto; }
 .training-step > img { grid-column:auto; }
 .entry-traits li { font-size:16px; gap:16px; padding:12px 15px; }
 .entry-traits img { width:64px; }
}

.grid-two > .panel + .panel { margin-top:0; }
.recruit-intro + .content-section { margin-top:65px; }
.legal-content > p:first-child + .content-section { margin-top:45px; }
.comparison-table caption { text-align:left; margin-bottom:12px; font-weight:700; }
.page-content--service_support .article-attachment { margin-top:30px; }
.page-content--activities_detail .article-attachment { margin-top:50px; }
.page-content--recruit_entry_detail .inquiry-box { margin-top:65px; }
.desktop-nav a.desktop-nav__contact[aria-current],.desktop-nav a.desktop-nav__recruit[aria-current] { color:white; }
.desktop-nav a.desktop-nav__contact[aria-current]::after,.desktop-nav a.desktop-nav__recruit[aria-current]::after,.desktop-nav__submenu a[aria-current]::after { display:none; }


.interview__profile img { border-radius:50%; }
.diagram-link { display:block; }
.diagram-link:focus-visible { outline:3px solid #327da8; outline-offset:5px; }
.page-content--service_products .note { margin-top:4px; }
@media (min-width:768px) {
 .page-content--service_products .product-card__body { padding-block:5px; }
 .page-content--service .service-menu { margin-top:50px; }
 .page-content--service { padding-bottom:160px; }
 .page-content--recruit { padding-bottom:175px; }
 .interview__questions { position:relative; }
 .interview__questions::before { content:''; position:absolute; left:-30px; top:65px; border-bottom:25px solid #fff; border-left:30px solid transparent; }
 .interview:nth-child(even) .interview__questions::before { left:auto; right:-30px; border-left:0; border-right:30px solid transparent; }
}
@media (max-width:767px) { .diagram-link::after { content:'図を拡大して見る ?'; display:block; font-size:13px; text-align:right; text-decoration:underline; margin-top:8px; } }

/* CMS confirmation buttons: keep the supplied p/span/input markup. */
.page-content .bot:is(.bg01,.bg02) { width:320px; max-width:100%; margin:50px auto 0; }
.page-content .bot:is(.bg01,.bg02) + .bot:is(.bg01,.bg02) { margin-top:18px; }
.page-content .bot:is(.bg01,.bg02) > span { display:block; position:relative; }
.page-content .bot:is(.bg01,.bg02) > span > input { display:block; width:100%; min-height:60px; padding:12px 38px; border:0; border-radius:8px; background:var(--red); color:#fff; font:inherit; font-size:16px; font-weight:700; line-height:1.5; text-align:center; cursor:pointer; appearance:none; transition:background-color .2s,box-shadow .2s; }
.page-content .bot:is(.bg01,.bg02) > span > input:hover,.page-content .bot:is(.bg01,.bg02) > span > input:focus-visible { background-color:#b51f29; box-shadow:0 5px 15px #00000016; }
.page-content .bot:is(.bg01,.bg02) > span > input:focus-visible { outline:2px solid #327da8; outline-offset:3px; }
.page-content .bot:is(.bg01,.bg02) > span::after { content:""; position:absolute; right:18px; top:50%; width:14px; aspect-ratio:33/19; background:url('../img/common/icon05.png') center / contain no-repeat; transform:translateY(-50%); pointer-events:none; }
.page-content .bot.bg02 > span::after { right:auto; left:18px; transform:translateY(-50%) rotate(180deg); }
