/* Figma「床清掃サービス」95:366。共通部分は style.css を使用。 */
.floor-page-body { color:#3d3d3d; background:#fff; }
.floor-page-body .site-header,.floor-page-body .site-header.is-sticky { height:137px; padding:0 58px 0 81px; background:#fff; box-shadow:none; animation:none; }
.floor-page-body .brand { width:299px; }
.floor-page { padding-top:137px; }
.floor-wide { width:min(1200px,calc(100% - 48px)); margin:0 auto; }
.floor-inner { width:min(992px,100%); margin:0 auto; }
.floor-banner { height:300px; background:linear-gradient(rgb(255 255 255 / 30%),rgb(255 255 255 / 30%)),url('../img/page-bg.jpg') center 55% / cover; }
.floor-banner__heading { height:100%; display:flex; align-items:center; gap:30px; color:#fff; }
.floor-banner h1 { font-size:36px; line-height:1.5; margin:0 10px 0 0; }
.floor-banner__heading p { margin:0; font-size:16px; font-weight:500; }
.floor-breadcrumb { display:flex; gap:14px; padding:16px 0; font-size:14px; line-height:28px; }
.floor-breadcrumb a { color:#606f7b; text-decoration:none; }
.floor-breadcrumb [aria-current] { color:#000; font-weight:700; }
.floor-section-title { margin:0; padding:12px 50px; background:#e1f1ff; font-size:24px; font-weight:500; line-height:36px; color:#000; }
.floor-introduction { margin:54px 0 60px; font-size:16px; line-height:35px; font-weight:500; }
.floor-service { margin-top:60px; }
.floor-service h3 { font-size:16px; font-weight:500; line-height:24px; color:#000; margin:0 0 24px; }
.floor-service__row { display:grid; grid-template-columns:minmax(0,450px) minmax(0,1fr); gap:50px; align-items:start; }
.floor-copy { font-size:16px; line-height:40px; font-weight:500; min-width:0; }
.floor-copy p { margin:0; }
.floor-photo { width:100%; aspect-ratio:3/2; overflow:hidden; position:relative; }
.floor-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.floor-photo--carpet img { position:absolute; width:117.778%; height:195.667%; left:-13.778%; top:0; object-fit:fill; }
.floor-photo--scrubber-work img { position:absolute; height:200%; top:-59.333%; object-fit:fill; }
.floor-photo--marble-before img { position:absolute; width:100.222%; height:189.333%; top:-89.333%; object-fit:fill; }
.floor-photo--marble-after img { position:absolute; width:101.556%; height:165.333%; left:-.222%; top:-33.667%; object-fit:fill; }
.floor-vinyl-labels { position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:space-evenly; }
.floor-vinyl-labels span,.floor-glass-comparison figcaption { width:88px; text-align:center; background:white; color:#1565a8; font-size:16px; line-height:31px; }
.floor-vinyl-labels span:last-child,.floor-glass-comparison figure:last-child figcaption { background:#1565a8; color:#fff; }
.floor-service__row--equipment { margin-top:50px; }
.floor-equipment { display:block; width:min(250px,100%); height:auto; margin-top:30px; }
.floor-marble-comparison { display:grid; grid-template-columns:minmax(0,450px) minmax(0,450px); justify-content:space-between; gap:50px; }
.floor-marble-comparison figure { margin:0; min-width:0; }
.floor-marble-comparison figcaption { text-align:center; font-size:16px; line-height:40px; margin-top:16px; }
.floor-marble-comparison figure:last-child figcaption { color:#1565a8; font-weight:700; }
.floor-marble-description { margin-top:34px; }
.floor-service--marble { padding-bottom:80px; }
.floor-glass { background:#e1f1ff; padding:80px 0; }
.floor-glass .floor-section-title { background:#fff; margin-bottom:60px; }
.floor-glass-comparison { display:grid; grid-template-columns:minmax(0,240px) 67px minmax(0,90px); gap:26.5px; align-items:start; }
.floor-glass-comparison figure { margin:0; min-width:0; }
.floor-glass-before { width:100%; aspect-ratio:4/5; position:relative; overflow:hidden; }
.floor-glass-before img { position:absolute; width:100.13%; height:111.52%; top:-11.52%; left:-.06%; object-fit:fill; }
.floor-glass-after { display:block; width:100%; height:auto; aspect-ratio:3/10; }
.floor-glass-comparison figcaption { margin:20px auto 0; max-width:100%; }
.floor-comparison-arrow { margin-top:140px; }
@media (max-width:1100px) {
 .floor-banner { height:clamp(140px,20vw,220px); }
 .floor-service__row,.floor-marble-comparison { gap:32px; }
 .floor-glass-comparison { grid-template-columns:minmax(0,8fr) 67px minmax(0,3fr); gap:16px; }
 .floor-comparison-arrow { margin-top:110px; }
}
@media (max-width:768px) {
 .floor-page-body .site-header,.floor-page-body .site-header.is-sticky { height:82px; padding:0 22px; }
 .floor-page-body .brand { width:205px; }
 .floor-page { padding-top:82px; }
 .floor-banner__heading { gap:20px; flex-wrap:wrap; align-content:center; }
 .floor-banner h1 { font-size:30px; }
 .floor-section-title { padding:12px 20px; font-size:21px; line-height:1.5; }
 .floor-introduction { margin:32px 0; line-height:2; }
 .floor-service { margin-top:40px; }
 .floor-service__row { grid-template-columns:minmax(0,1fr); gap:24px; }
 .floor-copy { line-height:2; }
 .floor-service__row--equipment { margin-top:32px; }
 .floor-service--marble { padding-bottom:48px; }
 .floor-marble-comparison { gap:20px; }
 .floor-marble-description { margin-top:24px; }
 .floor-glass { padding:48px 0; }
 .floor-glass .floor-section-title { margin-bottom:32px; }
 .floor-glass-comparison { width:min(450px,100%); margin-inline:auto; }
}
@media (max-width:425px) {
 .floor-wide { width:calc(100% - 36px); }
 .floor-banner { height:120px; }
 .floor-banner__heading { column-gap:14px; row-gap:8px; }
 .floor-banner h1 { font-size:26px; }
 .floor-banner__heading p { font-size:14px; }
 .floor-section-title { padding:12px 16px; font-size:19px; }
 .floor-marble-comparison { grid-template-columns:minmax(0,1fr); gap:24px; }
 .floor-vinyl-labels span,.floor-glass-comparison figcaption { font-size:14px; }
 .floor-glass-comparison { gap:12px; }
 .floor-comparison-arrow { margin-top:80px; }
}
