@charset "UTF-8";
/* 法人案内の本文だけを整える。共通ヘッダーはsite-header.cssで管理。 */
.business-page { --business-ink:#294b3b; --business-text:#303c37; --business-soft:#f2f5ef; --business-rule:#d5ded4; color:var(--business-text); }
.business-page .business-wrap { width:min(1160px,calc(100% - 80px)); margin-inline:auto; }
.business-page main { font-size:1.125rem; line-height:1.8; letter-spacing:0; text-align:left; }
.business-page main :is(h1,h2,h3) { color:var(--business-ink); font-weight:700; text-wrap:pretty; }
.business-page main h1 { font-size:2.5rem; line-height:1.45; letter-spacing:.01em; margin:26px 0 24px; }
.business-page :is(.business-heading-phrase,.business-text-phrase) { display:inline-block; max-width:100%; }
.business-page :is(.business-hero-copy,.business-expertise) .business-keep-term { white-space:nowrap; }
.business-page main h2 { font-size:2rem; line-height:1.5; letter-spacing:.01em; margin:0 0 24px; }
.business-page main h3 { font-size:1.375rem; line-height:1.5; letter-spacing:0; margin:0 0 12px; }
.business-page main p { margin:0 0 14px; text-wrap:pretty; }
.business-page main a { color:var(--business-ink); text-underline-offset:5px; }
.business-page .business-review-notice { background:#eef2eb; padding:8px 20px; color:#506255; font-size:.875rem; text-align:center; }
.business-page .business-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding-top:24px; font-size:.9375rem; }
.business-page .business-hero { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:64px; padding:48px 0 72px; }
.business-page .business-eyebrow { display:flex; align-items:center; gap:12px; font-size:1rem; color:#506255; }
.business-page .business-eyebrow::before { content:''; width:28px; height:2px; background:#7b9770; flex-shrink:0; }
.business-page .business-logo { width:400px; height:auto; max-width:100%; margin:18px 0 0; }
.business-page .business-hero-copy p:last-child { margin-bottom:0; }
.business-page .business-hero-copy .business-intro-closing { margin-top:24px; color:var(--business-ink); font-weight:600; }
.business-page .business-entry { padding:32px; background:var(--business-soft); border-radius:3px; }
.business-page .business-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:16px; margin:0 0 16px; }
.business-page .business-entry .business-actions { flex-direction:column; }
.business-page main .business-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:54px; padding:15px 24px; border:1px solid var(--business-ink); border-radius:3px; background:var(--business-ink); color:#fff; text-align:center; text-decoration:none; font-size:1.125rem; line-height:1.6; font-weight:700; }
.business-page main .business-button-secondary { color:var(--business-ink); background:#fff; }
.business-page main .business-button:hover { text-decoration:underline; }
.business-page .business-button span { flex-shrink:0; }
.business-page :is(.business-note,.business-external-note,.business-feature-condition,.business-feature-supplement,.business-member-links,.business-consultation-entry,.business-closing-label) { font-size:1rem; line-height:1.7; letter-spacing:0; }
.business-page .business-external-note { color:#506255; }
.business-page .business-member-links { border-top:1px solid var(--business-rule); padding-top:20px; margin-top:22px; }
.business-page .business-member-links p:last-child { margin-bottom:0; }
.business-page .business-member-links .business-member-label { font-size:1rem; font-weight:600; margin-bottom:8px; }
.business-page .business-member-links p>span { display:block; font-size:1rem; margin-bottom:4px; }
.business-page .business-entry .business-consultation-entry { border-top:1px solid var(--business-rule); margin:22px 0 0; padding-top:18px; font-size:1rem; }
.business-page .business-text-link { display:inline-block; font-weight:600; padding:4px 0; }
.business-page .business-section { padding-block:72px; }
.business-page .business-section-heading { max-width:760px; margin-bottom:36px; }
.business-page .business-section-heading p:last-child { margin-bottom:0; }
.business-page .business-features-band { background:var(--business-soft); }
.business-page main .business-feature-condition { border-left:2px solid #93ab89; padding-left:18px; margin:0 0 32px; }
.business-page .business-feature-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.business-page .business-feature { background:#fff; border:1px solid var(--business-rule); border-radius:3px; padding:28px; min-width:0; display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
.business-page .business-feature-content p:last-child { margin-bottom:0; }
.business-page .business-feature .business-feature-label { color:var(--business-ink); font-size:1rem; line-height:1.7; font-weight:600; margin-bottom:8px; }
.business-page .business-feature .business-note { border-top:1px solid var(--business-rule); padding-top:14px; }
.business-page .business-industries { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; }
.business-page #industries .business-section-heading { max-width:none; }
.business-page #industries-heading { text-wrap:balance; }
.business-page .business-industry-card { background:#fff; border:1px solid var(--business-rule); border-radius:3px; min-width:0; display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
.business-page .business-industry-image { display:block; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; border-radius:2px 2px 0 0; }
.business-page .business-industry-copy { padding:24px 20px; display:grid; grid-row:span 2; grid-template-rows:subgrid; row-gap:0; min-width:0; }
.business-page .business-industries h3 { font-size:1.25rem; line-height:1.5; margin:0 0 12px; }
.business-page .business-industry-phrase { display:inline-block; max-width:100%; }
.business-page .business-industries p { margin:0; text-wrap:pretty; }
.business-page .business-ruled { border-top:1px solid var(--business-rule); }
.business-page .business-reasons-heading { max-width:1060px; }
.business-page .business-expertise { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:48px; }
.business-page .business-expertise-image { display:block; width:100%; height:auto; border-radius:3px; }
.business-page .business-expertise p:last-child { margin-bottom:0; }
.business-page .business-strengths { list-style:none; padding:0; margin:48px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.business-page .business-strengths li { border-top:2px solid #93ab89; padding-top:22px; min-width:0; display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
.business-page .business-strengths p { margin:0; }
.business-page .business-strengths .business-reason-label { margin-bottom:8px; font-size:1rem; line-height:1.7; color:var(--business-ink); font-weight:600; }
.business-page :is(.business-strengths,.business-feature-grid) h3 .business-heading-phrase { display:block; }
.business-page .business-quality-note { padding-top:28px; border-top:1px solid var(--business-rule); }
.business-page .business-related { display:flex; flex-wrap:wrap; gap:16px 32px; }
.business-page .business-related a { font-weight:600; }
.business-page .business-iso { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 32px; padding:24px 28px; margin-top:32px; background:var(--business-soft); }
.business-page .business-iso p { margin:0; }
.business-page .business-iso strong { color:var(--business-ink); }
.business-page .business-iso span { display:block; font-size:1rem; margin-top:4px; }
.business-page .business-iso a { font-size:1rem; }
.business-page #start { container:business-start / inline-size; }
.business-page .business-steps { list-style:none; padding:0; margin:32px 0; display:grid; grid-template-columns:minmax(0,1fr); gap:56px; }
.business-page .business-steps li { position:relative; min-width:0; border-top:2px solid #93ab89; padding-top:22px; }
.business-page .business-flow-arrow { position:absolute; left:12px; bottom:-40px; width:24px; height:24px; color:#7b9770; transform:rotate(90deg); }
.business-page .business-flow-arrow svg { display:block; }
.business-page .business-steps p { margin:0; }
.business-page .business-steps-note { margin-top:32px; }
.business-page main .business-setup-notice { padding:24px 28px; margin:32px 0; background:var(--business-soft); color:var(--business-ink); font-weight:600; }
.business-page .business-existing-customers { padding:28px; border-left:2px solid #93ab89; margin:32px 0; }
.business-page .business-existing-customers p:last-child { margin-bottom:0; }
.business-page .business-existing-customers:focus-visible { outline:3px solid #345d48; outline-offset:4px; }
.business-page .business-final { background:var(--business-soft); padding:32px; margin-bottom:72px; }
.business-page .business-final .business-actions { margin-top:20px; }
.business-page .business-closing { display:grid; gap:32px; padding-bottom:72px; }
.business-page .business-closing .business-final { margin-bottom:0; min-width:0; }
.business-page .business-closing-label { font-size:1rem; font-weight:600; color:#506255; }
.business-page .business-consultation { background:#fff; border:1px solid var(--business-rule); border-left:3px solid #93ab89; }
.business-page .business-consultation p:last-child { margin-bottom:0; }
.business-page .business-final-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-bottom:14px; }
.business-page .business-secondary-routes { display:flex; flex-direction:column; align-items:flex-start; gap:14px; border-top:1px solid var(--business-rule); padding-top:24px; margin-top:24px; font-size:1rem; }
.business-page :is(a,main,.business-consultation):focus-visible { outline:3px solid #345d48; outline-offset:4px; }
.business-page section[id] { scroll-margin-top:24px; }
/* 本文の実幅が1024px以上あるときだけ、一列の横フローにする。 */
@container business-start (min-width:64rem) {
 .business-page .business-steps { grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:48px; row-gap:0; }
 .business-page .business-steps li { display:grid; grid-row:span 2; grid-template-rows:subgrid; row-gap:0; }
 .business-page .business-steps h3 .business-heading-phrase { display:block; }
 .business-page .business-flow-arrow { left:calc(100% + 12px); top:32px; bottom:auto; transform:none; }
}
@media(max-width:1100px) {
 .business-page .business-hero { gap:32px; }
 .business-page .business-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .business-page .business-industries { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .business-page .business-strengths { grid-template-columns:1fr; }
 .business-page .business-strengths li { display:block; grid-row:auto; }
 .business-page .business-strengths h3 .business-heading-phrase { display:inline-block; }
}
@media(max-width:900px) {
 .business-page .business-hero { grid-template-columns:1fr; }
 .business-page .business-expertise { grid-template-columns:1fr; gap:28px; }
 .business-page .business-entry .business-actions { flex-direction:row; }
 .business-page .business-entry .business-button { flex:1; }
}
@media(max-width:700px) {
 /* 狭い画面では文末調整や長い文節の一体化を行わず、本文の実幅で折り返す。 */
 .business-page main p, .business-page .business-industries p { text-wrap:wrap; }
 .business-page main .business-text-phrase,
 .business-page main :is(h1,h2,h3) .business-heading-phrase,
 .business-page :is(.business-strengths,.business-feature-grid) h3 .business-heading-phrase { display:inline; }
 .business-page .business-wrap { width:calc(100% - 40px); }
 .business-page main h1 { font-size:1.875rem; }
 .business-page main h2 { font-size:1.625rem; }
 .business-page main h3 { font-size:1.25rem; }
 .business-page .business-hero { padding:32px 0 48px; }
 .business-page .business-entry { padding:24px; }
 .business-page .business-entry .business-actions,.business-page .business-final .business-actions { flex-direction:column; }
 .business-page main .business-button { font-size:1rem; padding:14px 16px; }
 .business-page .business-section { padding-block:48px; }
 .business-page .business-section-heading { margin-bottom:28px; }
 .business-page .business-feature-grid,.business-page .business-industries { grid-template-columns:1fr; gap:20px; }
 .business-page .business-feature { padding:24px; display:block; grid-row:auto; }
 .business-page .business-feature h3 .business-heading-phrase { display:inline; }
 .business-page .business-industry-card,.business-page .business-industry-copy { display:block; grid-row:auto; }
 .business-page .business-industry-copy { padding:24px; }
 .business-page .business-final { padding:24px; margin-bottom:48px; }
 .business-page .business-closing { gap:24px; padding-bottom:48px; }
 .business-page .business-iso { padding:24px; }
 .business-page main .business-setup-notice,.business-page .business-existing-customers { padding:24px; }
}
