/* v0.30.0 /piano-transport/ only. Shared header, footer and other pages are unchanged. */
.sp-page-transport { --t-navy:#10344e; --t-gold:#ad8954; --t-paper:#f7f5ef; --t-rule:#e6dece; --t-serif:"Yu Mincho","Hiragino Mincho ProN",serif; }
.sp-page-transport #sp-main.sp-main { background:#fff; color:var(--t-navy); font-size:14px; }
.sp-page-transport #sp-main.sp-main .sp-wrap { width:100%; max-width:1380px; padding-inline:42px; margin-inline:auto; }
.sp-page-transport #sp-main.sp-main h1,.sp-page-transport #sp-main.sp-main h2,.sp-page-transport #sp-main.sp-main h3 { background:none; border:0; padding:0; color:inherit; font-family:var(--t-serif); font-weight:600; }
.sp-page-transport #sp-main.sp-main h2 { font-size:clamp(23px,2vw,29px); line-height:1.55; margin:0; letter-spacing:.035em; text-wrap:balance; }
.sp-page-transport #sp-main.sp-main h3 { font-size:17px; line-height:1.6; margin:12px 0; }
.sp-page-transport #sp-main.sp-main p { line-height:1.9; margin:12px 0; }
.sp-page-transport #sp-main.sp-main figure { margin:0; }
.sp-page-transport #sp-main.sp-main figure img { display:block; width:100%; height:100%; object-fit:cover; }
.sp-page-transport #sp-main.sp-main .t30-section { padding-block:30px; border-bottom:1px solid var(--t-rule); }
.sp-page-transport #sp-main.sp-main .t30-heading { border-left:2px solid var(--t-gold); padding-left:22px; margin-bottom:20px; }
.sp-page-transport #sp-main.sp-main .t30-eye { color:#896536; font:11px/1.7 Georgia,serif; letter-spacing:.19em; margin:0 0 10px; }
.sp-page-transport #sp-main.sp-main .t30-note { font-size:12px; line-height:1.8; }
.sp-page-transport #sp-main.sp-main .sp-btn { border-radius:2px; font-size:14px; display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:20px; padding:17px 25px; min-height:52px; max-width:100%; line-height:1.6; }
.sp-page-transport #sp-main.sp-main .sp-btn--cta { color:#fff; background:linear-gradient(#d7822d,#b65318); border:1px solid #d89c58; box-shadow:0 2px 4px #79502512; }
.sp-page-transport #sp-main.sp-main .sp-btn--cta:hover { background:#a84a16; }
.sp-page-transport #sp-main.sp-main .sp-more { font-size:12px; line-height:1.8; color:inherit; border:1px solid #bda47f; padding:8px 18px; margin-top:12px; text-decoration:none; border-radius:2px; }
.sp-page-transport #sp-main.sp-main .t30-text-link { color:inherit; text-underline-offset:5px; font-size:13px; }
.sp-page-transport #sp-main.sp-main a:focus-visible,.sp-page-transport #sp-main.sp-main summary:focus-visible { outline:3px solid #bd802d; outline-offset:4px; }
.sp-page-transport #sp-main.sp-main [id] { scroll-margin-top:120px; }
/* Ivory type panel fades into one large, genuine work photograph. */
.sp-page-transport #sp-main.sp-main .t30-hero { position:relative; isolation:isolate; background:var(--t-paper); }
.sp-page-transport #sp-main.sp-main .t30-hero__photo { position:absolute; inset:0 0 0 42%; z-index:-1; }
.sp-page-transport #sp-main.sp-main .t30-hero__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--t-paper),#f7f5efb0 13%,transparent 40%); }
.sp-page-transport #sp-main.sp-main .t30-hero__body { width:56%; padding:45px 0 36px 22px; }
.sp-page-transport #sp-main.sp-main .t30-hero h1 { font-size:clamp(31px,3vw,43px); letter-spacing:.05em; margin:8px 0 16px; }
.sp-page-transport #sp-main.sp-main .t30-hero__lead { font:600 clamp(34px,3.8vw,54px)/1.45 var(--t-serif); letter-spacing:.045em; margin:0 0 20px; }
.sp-page-transport #sp-main.sp-main .t30-hero__body > p:not(.t30-eye):not(.t30-hero__lead) { max-width:470px; }
.sp-page-transport #sp-main.sp-main .t30-hero .sp-btn { margin-top:12px; }
.sp-page-transport #sp-main.sp-main .sp-breadcrumb { padding-block:10px; }
.sp-page-transport #sp-main.sp-main .t30-concerns { background:linear-gradient(120deg,#f8f6f0,#fffdf9,#f4f1ea); }
.sp-page-transport #sp-main.sp-main .t30-concerns h2,.sp-page-transport #sp-main.sp-main .t30-center { text-align:center; }
.sp-page-transport #sp-main.sp-main .t30-center { font-size:12px; }
.sp-page-transport #sp-main.sp-main .t30-cards { list-style:none; padding:0; margin:22px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.sp-page-transport #sp-main.sp-main .t30-cards > li { border:1px solid var(--t-rule); background:linear-gradient(135deg,#fff,#fcfbf8); padding:23px 17px; text-align:center; box-shadow:0 2px 6px #64543705; }
.sp-page-transport #sp-main.sp-main .t30-icon { width:47px; height:47px; display:block; margin:0 auto 12px; }
.sp-page-transport #sp-main.sp-main .t30-cards p { font-size:12px; margin-bottom:0; line-height:1.8; }
.sp-page-transport #sp-main.sp-main .t30-cards--concerns > li { padding:0; }
.sp-page-transport #sp-main.sp-main .t30-cards--concerns a { display:block; height:100%; padding:19px 8px; color:inherit; text-decoration:none; font:600 16px/1.7 var(--t-serif); }
.sp-page-transport #sp-main.sp-main .t30-cards--concerns a:hover { background:#f3eee4; }
.sp-page-transport #sp-main.sp-main .t30-service__intro { position:relative; min-height:160px; display:flex; align-items:center; }
.sp-page-transport #sp-main.sp-main .t30-service__intro .t30-heading { width:57%; z-index:1; }
.sp-page-transport #sp-main.sp-main .t30-service__intro figure { position:absolute; inset:-30px -42px -20px 43%; }
.sp-page-transport #sp-main.sp-main .t30-service__intro figure::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff,transparent 55%); }
.sp-page-transport #sp-main.sp-main .t30-service .t30-cards { position:relative; }
.sp-page-transport #sp-main.sp-main .t30-service__action { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:24px; }
.sp-page-transport #sp-main.sp-main .t30-service__action p { font-size:12px; }
.sp-page-transport #sp-main.sp-main .t30-work { background:linear-gradient(115deg,#173d57,#082c45); color:#fff; padding-block:34px; }
.sp-page-transport #sp-main.sp-main .t30-work__layout { display:grid; grid-template-columns:1.1fr 1.8fr; gap:36px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t30-work .t30-eye { color:#dac095; }
.sp-page-transport #sp-main.sp-main .t30-work__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:0; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li { background:#fbfaf7; color:var(--t-navy); text-align:center; padding:28px 8px 20px; border:1px solid #d9cdb7; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t30-icon { width:65px; height:65px; margin-bottom:22px; color:#244b63; }
.sp-page-transport #sp-main.sp-main .t30-work__cards h3 { font-size:15px; }
.sp-page-transport #sp-main.sp-main .t30-work__cards span { font-size:10px; }
.sp-page-transport #sp-main.sp-main .t30-area { background:linear-gradient(120deg,#f7f4ec,#fffdfa,#f4f0e6); }
.sp-page-transport #sp-main.sp-main .t30-area__layout { display:grid; grid-template-columns:1.1fr 1fr .8fr; gap:26px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t30-area h2 small { font-size:21px; }
.sp-page-transport #sp-main.sp-main .t30-map img { height:360px; object-fit:contain; }
.sp-page-transport #sp-main.sp-main .t30-map figcaption { text-align:center; font-size:12px; color:#74644a; }
.sp-page-transport #sp-main.sp-main .t30-area__photo { height:280px; position:relative; }
.sp-page-transport #sp-main.sp-main .t30-area__photo figcaption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,#092c45e8); color:#fff; font:20px/1.8 var(--t-serif); padding:45px 24px 20px; }
.sp-page-transport #sp-main.sp-main .t30-two { display:grid; grid-template-columns:1fr 1.1fr; gap:32px; }
.sp-page-transport #sp-main.sp-main .t30-two > section+section { border-left:1px solid var(--t-rule); padding-left:32px; }
.sp-page-transport #sp-main.sp-main .t30-two h2 { font-size:24px; }
.sp-page-transport #sp-main.sp-main .t30-rates { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.sp-page-transport #sp-main.sp-main .t30-rates > div { border:1px solid var(--t-rule); padding:20px 8px; text-align:center; background:#fffdfa; }
.sp-page-transport #sp-main.sp-main .t30-rates dt { font-size:12px; }
.sp-page-transport #sp-main.sp-main .t30-rates dd { display:flex; justify-content:center; flex-wrap:wrap; align-items:baseline; margin:8px 0 0; color:#b14d22; }
.sp-page-transport #sp-main.sp-main .t30-rates strong { font:34px/1.3 Georgia,serif; }
.sp-page-transport #sp-main.sp-main .t30-rates span { font-size:12px; }
.sp-page-transport #sp-main.sp-main .t30-rates small { color:var(--t-navy); font-size:10px; }
.sp-page-transport #sp-main.sp-main .t30-instruments { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t30-instruments figure { height:190px; }
.sp-page-transport #sp-main.sp-main .t30-instruments p { font-size:12px; margin:0 0 10px; }
.sp-page-transport #sp-main.sp-main .t30-care { background:var(--t-paper); }
.sp-page-transport #sp-main.sp-main .t30-care__layout { display:grid; grid-template-columns:.7fr 2fr; gap:34px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t30-care__layout > figure { height:230px; }
.sp-page-transport #sp-main.sp-main .t30-care__text { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.sp-page-transport #sp-main.sp-main .t30-care__text p { font-size:12px; }
.sp-page-transport #sp-main.sp-main .t30-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding:0; margin:22px 0 10px; list-style:none; }
.sp-page-transport #sp-main.sp-main .t30-flow li { display:flex; gap:12px; position:relative; }
.sp-page-transport #sp-main.sp-main .t30-flow li:not(:last-child)::after { content:'›'; position:absolute; right:-20px; top:10px; color:var(--t-gold); font:28px Georgia,serif; }
.sp-page-transport #sp-main.sp-main .t30-flow li > span { flex:0 0 42px; height:42px; border-radius:50%; color:#fff; background:#ad8b60; display:grid; place-items:center; font:20px Georgia,serif; }
.sp-page-transport #sp-main.sp-main .t30-flow h3 { margin:0 0 8px; font-size:15px; }
.sp-page-transport #sp-main.sp-main .t30-flow p { font-size:12px; margin:0; }
.sp-page-transport #sp-main.sp-main .t30-faq { background:#fcfbf8; }
.sp-page-transport #sp-main.sp-main .t30-faq__layout { display:grid; grid-template-columns:1fr 2.4fr; gap:35px; }
.sp-page-transport #sp-main.sp-main .t30-faq details { border:1px solid var(--t-rule); margin-bottom:6px; background:#fff; }
.sp-page-transport #sp-main.sp-main .t30-faq summary { cursor:pointer; list-style:none; padding:13px 42px 13px 18px; position:relative; font-size:13px; font-weight:600; }
.sp-page-transport #sp-main.sp-main .t30-faq summary::-webkit-details-marker { display:none; }
.sp-page-transport #sp-main.sp-main .t30-faq summary::after { content:'＋'; position:absolute; right:15px; top:13px; }
.sp-page-transport #sp-main.sp-main .t30-faq details[open] summary::after { content:'−'; }
.sp-page-transport #sp-main.sp-main .t30-faq details p { margin:0; padding:0 18px 16px; font-size:13px; }
.sp-page-transport #sp-main.sp-main .t30-prepare ul { display:flex; flex-wrap:wrap; list-style:none; padding:0; gap:12px 25px; margin:22px 0; }
.sp-page-transport #sp-main.sp-main .t30-prepare li::before { content:'✓'; color:#987540; margin-right:8px; }
.sp-page-transport #sp-main.sp-main .t30-final { background:linear-gradient(110deg,#123b55,#052840); color:#fff; padding-block:38px; }
.sp-page-transport #sp-main.sp-main .t30-final .sp-wrap { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
.sp-page-transport #sp-main.sp-main .t30-final h2 { font-size:22px; }
.sp-page-transport #sp-main.sp-main .t30-tel { color:#fff; display:inline-flex; flex-direction:column; text-decoration:none; margin-top:12px; font:36px/1.4 Georgia,serif; }
.sp-page-transport #sp-main.sp-main .t30-tel span { font:12px/1.8 sans-serif; }
.sp-page-transport #sp-main.sp-main .t30-final .sp-btn { width:100%; font-size:16px; padding-block:20px; }
.sp-page-transport #sp-main.sp-main .t30-final .t30-note { color:#e0e5e8; }
@media(max-width:1100px) {
 .sp-page-transport #sp-main.sp-main .sp-wrap { padding-inline:28px; }
 .sp-page-transport #sp-main.sp-main .t30-hero__body { width:60%; padding-left:0; }
 .sp-page-transport #sp-main.sp-main .t30-service__intro figure { right:-28px; }
 .sp-page-transport #sp-main.sp-main .t30-work__layout { grid-template-columns:1fr; gap:22px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards li { padding:20px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t30-icon { margin-bottom:8px; }
 .sp-page-transport #sp-main.sp-main .t30-cards { gap:10px; }
 .sp-page-transport #sp-main.sp-main .t30-cards > li { padding:18px 10px; }
 .sp-page-transport #sp-main.sp-main .t30-cards--concerns > li { padding:0; }
 .sp-page-transport #sp-main.sp-main .t30-cards--concerns a { font-size:14px; }
 .sp-page-transport #sp-main.sp-main .t30-area__layout { grid-template-columns:1fr 1fr; }
 .sp-page-transport #sp-main.sp-main .t30-area__photo { display:none; }
 .sp-page-transport #sp-main.sp-main .t30-two { grid-template-columns:1fr 1fr; gap:24px; }
 .sp-page-transport #sp-main.sp-main .t30-two > section+section { padding-left:24px; }
 .sp-page-transport #sp-main.sp-main .t30-instruments { grid-template-columns:1fr; gap:12px; }
 .sp-page-transport #sp-main.sp-main .t30-instruments figure { height:180px; }
 .sp-page-transport #sp-main.sp-main .t30-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sp-page-transport #sp-main.sp-main .t30-flow li:nth-child(2)::after { content:none; }
}
@media(max-width:767px) {
 .sp-page-transport #sp-main.sp-main { font-size:14px; }
 .sp-page-transport #sp-main.sp-main .sp-wrap { padding-inline:20px; }
 .sp-page-transport #sp-main.sp-main .t30-section { padding-block:32px; }
 .sp-page-transport #sp-main.sp-main .t30-hero { display:flex; flex-direction:column; }
 .sp-page-transport #sp-main.sp-main .t30-hero__photo { position:relative; inset:auto; order:2; height:270px; z-index:0; }
 .sp-page-transport #sp-main.sp-main .t30-hero__photo::after { background:linear-gradient(var(--t-paper),transparent 24%); }
 .sp-page-transport #sp-main.sp-main .t30-hero__body { width:100%; padding:30px 0 12px; }
 .sp-page-transport #sp-main.sp-main .t30-hero h1 { font-size:29px; }
 .sp-page-transport #sp-main.sp-main .t30-hero__lead { font-size:39px; }
 .sp-page-transport #sp-main.sp-main .t30-hero .sp-btn { width:100%; font-size:13px; gap:10px; padding-inline:12px; }
 .sp-page-transport #sp-main.sp-main .t30-pc { display:none; }
 .sp-page-transport #sp-main.sp-main .t30-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sp-page-transport #sp-main.sp-main .t30-cards li:last-child { grid-column:1/-1; }
 .sp-page-transport #sp-main.sp-main .t30-cards h3 { font-size:15px; }
 .sp-page-transport #sp-main.sp-main .t30-cards--concerns a { font-size:15px; }
 .sp-page-transport #sp-main.sp-main .t30-service__intro { display:block; }
 .sp-page-transport #sp-main.sp-main .t30-service__intro .t30-heading { width:100%; }
 .sp-page-transport #sp-main.sp-main .t30-service__intro figure { position:relative; inset:auto; height:150px; margin-top:18px; }
 .sp-page-transport #sp-main.sp-main .t30-service__intro figure::after { background:none; }
 .sp-page-transport #sp-main.sp-main .t30-service__action { display:block; }
 .sp-page-transport #sp-main.sp-main .t30-service__action .sp-btn { width:100%; padding-inline:12px; font-size:13px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards { grid-template-columns:1fr 1fr; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards li { padding:24px 10px; }
 .sp-page-transport #sp-main.sp-main .t30-area__layout { grid-template-columns:1fr; gap:20px; }
 .sp-page-transport #sp-main.sp-main .t30-map img { height:400px; }
 .sp-page-transport #sp-main.sp-main .t30-two { grid-template-columns:1fr; gap:35px; }
 .sp-page-transport #sp-main.sp-main .t30-two > section+section { border-left:0; border-top:1px solid var(--t-rule); padding:30px 0 0; }
 .sp-page-transport #sp-main.sp-main .t30-instruments figure { height:230px; }
 .sp-page-transport #sp-main.sp-main .t30-instruments p { font-size:14px; }
 .sp-page-transport #sp-main.sp-main .t30-two .sp-btn { width:100%; font-size:13px; padding-inline:12px; }
 .sp-page-transport #sp-main.sp-main .t30-care__layout { grid-template-columns:1fr; gap:24px; }
 .sp-page-transport #sp-main.sp-main .t30-care__layout > figure { height:190px; }
 .sp-page-transport #sp-main.sp-main .t30-care__text { grid-template-columns:1fr; gap:10px; }
 .sp-page-transport #sp-main.sp-main .t30-care__text p { font-size:14px; }
 .sp-page-transport #sp-main.sp-main .t30-flow { grid-template-columns:1fr; gap:24px; }
 .sp-page-transport #sp-main.sp-main .t30-flow li:not(:last-child)::after { content:none; }
 .sp-page-transport #sp-main.sp-main .t30-flow h3 { font-size:17px; }
 .sp-page-transport #sp-main.sp-main .t30-flow p { font-size:14px; }
 .sp-page-transport #sp-main.sp-main .t30-faq__layout { grid-template-columns:1fr; gap:24px; }
 .sp-page-transport #sp-main.sp-main .t30-prepare ul { flex-direction:column; }
 .sp-page-transport #sp-main.sp-main .t30-final .sp-wrap { grid-template-columns:1fr; gap:22px; }
 .sp-page-transport #sp-main.sp-main .t30-final .sp-btn { font-size:13px; padding-inline:10px; }
}

.sp-page-transport #sp-main.sp-main .t30-service__intro figure { overflow:hidden; }
.sp-page-transport #sp-main.sp-main .t30-service__intro figure img { position:absolute; inset:0; }
/* v0.31.0: three prominent transport CTAs and photo-led service sections. */
.sp-page-transport #sp-main.sp-main .t31-mobile { display:none; }
.sp-page-transport #sp-main.sp-main .t31-main-cta { width:min(100%,760px); min-height:100px; padding:25px 36px; gap:30px; justify-content:space-between; font-size:25px; font-weight:700; letter-spacing:.035em; border:2px solid #efb56b; border-radius:5px; background:linear-gradient(110deg,#c85b0a,#ae4705); box-shadow:0 5px 0 #78380e,0 10px 25px #61350820; text-decoration:none; }
.sp-page-transport #sp-main.sp-main .t31-main-cta > span:first-child { flex:1; text-align:center; }
.sp-page-transport #sp-main.sp-main .t31-main-cta > span:last-child { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border:1px solid #ffffff88; border-radius:50%; font-size:23px; }
.sp-page-transport #sp-main.sp-main .t31-main-cta:hover { background:#a64206; box-shadow:0 5px 0 #78380e,0 10px 25px #61350830; }
.sp-page-transport #sp-main.sp-main .t30-hero .t31-main-cta { width:520px; max-width:100%; min-height:88px; padding:20px 22px; font-size:20px; gap:12px; }
.sp-page-transport #sp-main.sp-main .t30-hero .t30-note { margin-top:20px; }
.sp-page-transport #sp-main.sp-main .t30-service { padding-block:42px; }
.sp-page-transport #sp-main.sp-main .t30-service__intro .t30-heading { width:62%; }
.sp-page-transport #sp-main.sp-main .t30-service .t30-cards li { border-top:3px solid #b99b70; }
.sp-page-transport #sp-main.sp-main .t31-service-note { font-size:13px; text-align:center; margin:24px 0 0; }
.sp-page-transport #sp-main.sp-main .t30-work { padding-block:48px; }
.sp-page-transport #sp-main.sp-main .t31-work-intro { display:grid; grid-template-columns:1fr 1.15fr; gap:46px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t31-work-photo { height:300px; position:relative; }
.sp-page-transport #sp-main.sp-main .t31-work-photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:24px 20px 12px; background:linear-gradient(transparent,#05283fe8); color:#fff; font-size:12px; }
.sp-page-transport #sp-main.sp-main .t31-work-examples { margin-top:28px; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li { display:flex; align-items:center; justify-content:center; gap:15px; padding:18px 10px; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t30-icon { width:42px; height:42px; margin:0; flex:0 0 42px; }
.sp-page-transport #sp-main.sp-main .t30-work__cards h3 { margin:0; font-size:16px; }
.sp-page-transport #sp-main.sp-main .t31-work-detail { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; padding-top:18px; border-top:1px solid #ffffff35; }
.sp-page-transport #sp-main.sp-main .t31-work-detail p { margin:0; }
.sp-page-transport #sp-main.sp-main .t31-work-detail .sp-more { color:#fff; border-color:#c4ad87; margin:0; padding:13px 24px; font-size:14px; }
.sp-page-transport #sp-main.sp-main .t30-area { padding-block:44px; }
.sp-page-transport #sp-main.sp-main .t30-area__layout { grid-template-columns:1fr .9fr .95fr; }
.sp-page-transport #sp-main.sp-main .t30-area__photo { display:block; height:320px; }
.sp-page-transport #sp-main.sp-main .t30-map img { height:360px; }
.sp-page-transport #sp-main.sp-main .t31-price { padding-block:42px; }
.sp-page-transport #sp-main.sp-main .t31-price-layout { display:grid; grid-template-columns:.8fr 1.5fr; gap:60px; max-width:1100px; margin:auto; align-items:center; }
.sp-page-transport #sp-main.sp-main .t31-price .t30-rates { margin-top:0; }
.sp-page-transport #sp-main.sp-main .t31-price .t30-text-link { display:inline-block; margin:14px 0 0 20px; }
.sp-page-transport #sp-main.sp-main .t31-school { padding-block:48px; background:#f3f5f4; }
.sp-page-transport #sp-main.sp-main .t31-school-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:46px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t31-school-layout > figure { height:360px; }
.sp-page-transport #sp-main.sp-main .t31-school-cta { width:100%; min-height:66px; color:#fff; background:#153e58; border:1px solid #153e58; font-size:17px; gap:12px; border-radius:3px; padding:18px 16px; }
.sp-page-transport #sp-main.sp-main .t31-school-cta:hover { background:#08283c; }
.sp-page-transport #sp-main.sp-main .t30-care { padding-block:40px; }
.sp-page-transport #sp-main.sp-main .t31-consult { padding:54px 0; background:linear-gradient(125deg,#f3e8d7,#fff9ee 50%,#f5e9d5); text-align:center; border-block:1px solid #d9c09d; }
.sp-page-transport #sp-main.sp-main .t31-consult h2 { font-size:clamp(26px,2.5vw,36px); }
.sp-page-transport #sp-main.sp-main .t31-consult .t31-main-cta { margin:18px auto 8px; }
.sp-page-transport #sp-main.sp-main .t31-consult .t30-note { margin-top:20px; color:#58626a; }
.sp-page-transport #sp-main.sp-main .t30-final { text-align:center; padding:58px 0 42px; }
.sp-page-transport #sp-main.sp-main .t30-final .sp-wrap { display:block; }
.sp-page-transport #sp-main.sp-main .t30-final .t30-eye { color:#dec49d; }
.sp-page-transport #sp-main.sp-main .t30-final h2 { font-size:clamp(27px,2.5vw,36px); }
.sp-page-transport #sp-main.sp-main .t30-final .t31-main-cta { width:min(100%,760px); padding:25px 36px; font-size:25px; margin:20px auto 8px; }
.sp-page-transport #sp-main.sp-main .t30-final .t30-note { margin-top:22px; }
.sp-page-transport #sp-main.sp-main .t31-phone { margin:26px auto 0; padding-top:22px; max-width:760px; border-top:1px solid #ffffff40; }
.sp-page-transport #sp-main.sp-main .t31-phone .t30-tel { margin-top:0; font-size:31px; }
@media (min-width:768px) and (max-width:1100px) {
 .sp-page-transport #sp-main.sp-main .t30-hero .t31-main-cta { font-size:17px; padding-inline:16px; }
 .sp-page-transport #sp-main.sp-main .t30-service .t30-cards { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .sp-page-transport #sp-main.sp-main .t30-service .t30-cards li { grid-column:span 2; }
 .sp-page-transport #sp-main.sp-main .t30-service .t30-cards li:nth-last-child(-n+2) { grid-column:span 3; }
 .sp-page-transport #sp-main.sp-main .t31-work-intro,.sp-page-transport #sp-main.sp-main .t31-school-layout { gap:28px; }
 .sp-page-transport #sp-main.sp-main .t31-work-photo { height:280px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards li { gap:8px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards h3 { font-size:14px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t30-icon { width:34px; height:34px; flex-basis:34px; }
 .sp-page-transport #sp-main.sp-main .t30-area__layout { grid-template-columns:1fr 1fr; }
 .sp-page-transport #sp-main.sp-main .t30-area__photo { grid-column:1/-1; height:230px; }
 .sp-page-transport #sp-main.sp-main .t30-area__photo img { object-position:center 58%; }
 .sp-page-transport #sp-main.sp-main .t31-price-layout { gap:30px; grid-template-columns:.8fr 1.3fr; }
 .sp-page-transport #sp-main.sp-main .t31-school-cta { font-size:15px; }
}
@media(max-width:767px) {
 .sp-page-transport #sp-main.sp-main .t31-mobile { display:block; }
 .sp-page-transport #sp-main.sp-main .t30-hero .t31-main-cta,
 .sp-page-transport #sp-main.sp-main .t31-main-cta,
 .sp-page-transport #sp-main.sp-main .t30-final .t31-main-cta { width:100%; min-height:100px; padding:18px 14px; font-size:21px; gap:8px; letter-spacing:0; }
 .sp-page-transport #sp-main.sp-main .t31-main-cta > span:last-child { width:33px; height:33px; flex-basis:33px; font-size:20px; }
 .sp-page-transport #sp-main.sp-main .t30-service__intro .t30-heading { width:100%; }
 .sp-page-transport #sp-main.sp-main .t31-work-intro,.sp-page-transport #sp-main.sp-main .t31-school-layout,.sp-page-transport #sp-main.sp-main .t31-price-layout { grid-template-columns:1fr; gap:24px; }
 .sp-page-transport #sp-main.sp-main .t31-work-photo { height:240px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards li { flex-direction:column; gap:12px; padding:20px 8px; }
 .sp-page-transport #sp-main.sp-main .t31-work-detail { display:block; }
 .sp-page-transport #sp-main.sp-main .t31-work-detail .sp-more { display:block; text-align:center; margin-top:16px; }
 .sp-page-transport #sp-main.sp-main .t30-area__layout { grid-template-columns:1fr; }
 .sp-page-transport #sp-main.sp-main .t30-map img { height:380px; }
 .sp-page-transport #sp-main.sp-main .t30-area__photo { height:230px; }
 .sp-page-transport #sp-main.sp-main .t31-school-layout > figure { height:250px; }
 .sp-page-transport #sp-main.sp-main .t31-school-cta { font-size:16px; display:block; line-height:1.8; }
 .sp-page-transport #sp-main.sp-main .t31-school-cta > span { margin-left:8px; }
 .sp-page-transport #sp-main.sp-main .t31-price .t30-text-link { margin-left:0; display:block; }
 .sp-page-transport #sp-main.sp-main .t31-consult { padding-block:42px; }
 .sp-page-transport #sp-main.sp-main .t31-consult h2,.sp-page-transport #sp-main.sp-main .t30-final h2 { font-size:25px; }
 .sp-page-transport #sp-main.sp-main .t30-final { padding-block:44px; }
}

/* v0.31.1: compact, direct request action in the price section only. */
.sp-page-transport #sp-main.sp-main .t311-price-actions { display:flex; align-items:stretch; gap:12px; margin-top:16px; }
.sp-page-transport #sp-main.sp-main .t311-price-actions .sp-more,
.sp-page-transport #sp-main.sp-main .t311-price-actions .sp-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin:0; padding:11px 16px; min-height:46px; font-size:13px; line-height:1.7; white-space:nowrap; }
.sp-page-transport #sp-main.sp-main .t311-price-actions .sp-btn { background:linear-gradient(110deg,#c85b0a,#ae4705); border-color:#c5793b; }
.sp-page-transport #sp-main.sp-main .t311-price-actions .sp-btn:hover { background:#a64206; }
@media(max-width:767px) {
 .sp-page-transport #sp-main.sp-main .t311-price-actions { flex-direction:column; }
 .sp-page-transport #sp-main.sp-main .t311-price-actions .sp-more,
 .sp-page-transport #sp-main.sp-main .t311-price-actions .sp-btn { width:100%; min-height:48px; white-space:normal; }
}

/* v0.39.4 配送ページ：特殊作業 4 項目の画像対応／対応エリアの情報整理／文字色の見直し（このページだけ） */
.sp-page-transport #sp-main.sp-main .t30-eye { color:#7b5a2b; }
.sp-page-transport #sp-main.sp-main .t30-work .t30-eye { color:#ecd6a8; }
.sp-page-transport #sp-main.sp-main .t30-work p { color:#f1f4f6; }
.sp-page-transport #sp-main.sp-main .t30-work .t31-work-examples .t30-eye { color:#ecd6a8; }
.sp-page-transport #sp-main.sp-main .t30-cards p,.sp-page-transport #sp-main.sp-main .t30-care__text p,.sp-page-transport #sp-main.sp-main .t30-flow p { color:#2e4454; }
.sp-page-transport #sp-main.sp-main .t30-note { color:#46586a; }
.sp-page-transport #sp-main.sp-main .t30-final .t30-note { color:#e6ecf0; }
.sp-page-transport #sp-main.sp-main .t30-rates small { color:#2e4454; }
.sp-page-transport #sp-main.sp-main .sp-crumb,.sp-page-transport #sp-main.sp-main .sp-crumb a,.sp-page-transport #sp-main.sp-main .sp-crumb span { color:#4a5a67; }
/* 特殊作業 4 項目 */
.sp-page-transport #sp-main.sp-main .t30-work__cards { gap:16px; align-items:stretch; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:0; text-align:left; background:#fbfaf7; border:1px solid #d9cdb7; overflow:hidden; }
.sp-page-transport #sp-main.sp-main .t32-work-media { aspect-ratio:4/3; background:#e9eef1; display:grid; place-items:center; overflow:hidden; flex:0 0 auto; }
.sp-page-transport #sp-main.sp-main .t32-work-media img { width:100%; height:100%; object-fit:cover; display:block; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-media .t30-icon { width:64px; height:64px; flex:none; margin:0; color:#244b63; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li.no-photo .t32-work-media { aspect-ratio:16/7; }
.sp-page-transport #sp-main.sp-main .t32-work-body { padding:16px 18px 20px; border-top:2px solid #c4a466; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li.has-photo .t32-work-body { border-top-color:#c4a466; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body h3 { margin:0 0 6px; font-size:17px; color:#10344e; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body p { margin:0; font-size:13px; line-height:1.85; color:#2e4454; }
/* 対応エリア */
.sp-page-transport #sp-main.sp-main .t32-area { display:grid; grid-template-columns:1.35fr .65fr; gap:44px; align-items:center; }
.sp-page-transport #sp-main.sp-main .t32-area__lead { font-size:15px; color:#10344e; margin:0 0 18px; }
.sp-page-transport #sp-main.sp-main .t32-area__facts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 20px; }
.sp-page-transport #sp-main.sp-main .t32-area__facts > div { background:#fff; border:1px solid #e1d6bf; border-top:2px solid #c4a466; padding:15px 18px 17px; }
.sp-page-transport #sp-main.sp-main .t32-area__facts dt { font-size:12px; letter-spacing:.08em; color:#7b5a2b; font-weight:600; margin:0 0 4px; }
.sp-page-transport #sp-main.sp-main .t32-area__facts dd { margin:0; }
.sp-page-transport #sp-main.sp-main .t32-area__facts strong { display:block; font:600 16px/1.6 var(--t-serif); color:#10344e; }
.sp-page-transport #sp-main.sp-main .t32-area__facts span { display:block; font-size:13px; line-height:1.8; color:#2e4454; margin-top:2px; }
.sp-page-transport #sp-main.sp-main .t32-area__links { display:flex; flex-wrap:wrap; gap:10px 14px; }
.sp-page-transport #sp-main.sp-main .t32-area__links .sp-more { margin-top:0; }
.sp-page-transport #sp-main.sp-main .t30-area .t30-map { margin:0; }
.sp-page-transport #sp-main.sp-main .t30-area .t30-map figcaption { color:#5b4c33; }
@media (min-width:768px) and (max-width:1100px) {
 .sp-page-transport #sp-main.sp-main .t30-work__cards { grid-template-columns:1fr 1fr; }
 .sp-page-transport #sp-main.sp-main .t32-area { grid-template-columns:1.3fr .7fr; gap:28px; }
 .sp-page-transport #sp-main.sp-main .t32-area__facts { grid-template-columns:1fr; gap:10px; }
 .sp-page-transport #sp-main.sp-main .t30-area .t30-map img { height:320px; }
}
@media (max-width:767px) {
 .sp-page-transport #sp-main.sp-main .t30-work__cards { grid-template-columns:1fr; gap:12px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards li { flex-direction:row; }
 .sp-page-transport #sp-main.sp-main .t32-work-media,.sp-page-transport #sp-main.sp-main .t30-work__cards li.no-photo .t32-work-media { flex:0 0 38%; aspect-ratio:auto; min-height:132px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-media .t30-icon { width:48px; height:48px; }
 .sp-page-transport #sp-main.sp-main .t32-work-body { flex:1 1 0; min-width:0; padding:14px 16px; border-top:0; border-left:2px solid #c4a466; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body h3 { font-size:16px; }
 .sp-page-transport #sp-main.sp-main .t32-area { grid-template-columns:1fr; gap:22px; }
 .sp-page-transport #sp-main.sp-main .t32-area__facts { grid-template-columns:1fr; gap:10px; }
 .sp-page-transport #sp-main.sp-main .t30-area .t30-map img { height:320px; }
}

/* v0.40.0 配送ページ：特殊作業カードの見せ方／対応エリアを市町村単位に（このページだけ） */
.sp-page-transport #sp-main.sp-main .t30-work__cards { gap:20px; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li { box-shadow:0 10px 24px -14px #00162a99; }
.sp-page-transport #sp-main.sp-main .t32-work-media { aspect-ratio:3/2; position:relative; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li.has-photo .t32-work-media::after { content:""; position:absolute; inset:0; box-shadow:inset 0 -36px 28px -28px #08283f55; pointer-events:none; }
.sp-page-transport #sp-main.sp-main .t30-work__cards li.no-photo .t32-work-media { aspect-ratio:3/2; background:linear-gradient(160deg,#eef2f4,#e3e9ec); }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-media .t30-icon { width:72px; height:72px; }
.sp-page-transport #sp-main.sp-main .t32-work-body { padding:18px 20px 22px; border-top:3px solid #c4a466; flex:1 1 auto; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body h3 { margin:0 0 8px; font:600 19px/1.5 var(--t-serif); letter-spacing:.04em; }
.sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body p { font-size:13.5px; line-height:1.9; }
/* 対応エリア：左＝エリア別の市町村、右＝大きな地図 */
.sp-page-transport #sp-main.sp-main .t40-area { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); gap:28px 56px; align-items:start; }
.sp-page-transport #sp-main.sp-main .t40-area__main { grid-column:1; grid-row:1; }
.sp-page-transport #sp-main.sp-main .t40-map { grid-column:2; grid-row:1; margin:0; }
.sp-page-transport #sp-main.sp-main .t30-area .t40-map img { width:100%; height:auto; aspect-ratio:440/640; max-width:480px; margin-inline:auto; display:block; object-fit:contain; }
.sp-page-transport #sp-main.sp-main .t40-area__notes { grid-column:1 / -1; grid-row:2; padding-top:26px; border-top:1px solid #e1d6bf; }
.sp-page-transport #sp-main.sp-main .t40-area__notes .t32-area__facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sp-page-transport #sp-main.sp-main .t40-zones { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.sp-page-transport #sp-main.sp-main .t40-zone { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid #e1d6bf; border-left:6px solid var(--zone,#c4a466); padding:17px 20px 18px; margin:0; }
.sp-page-transport #sp-main.sp-main .t40-zone--city { --zone:#e1c283; }
.sp-page-transport #sp-main.sp-main .t40-zone--kyushu { --zone:#a9cad6; }
.sp-page-transport #sp-main.sp-main .t40-zone--north { --zone:#7ba4ba; }
.sp-page-transport #sp-main.sp-main .t40-zone--west { --zone:#c9d6cf; }
.sp-page-transport #sp-main.sp-main .t40-zone--south { --zone:#bdb094; }
.sp-page-transport #sp-main.sp-main .t40-zone__no { flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:#183b50; color:#fff; font:700 15px/32px var(--t-serif); text-align:center; margin-top:1px; }
.sp-page-transport #sp-main.sp-main .t40-zone h3 { margin:0 0 5px; font:600 18px/1.5 var(--t-serif); color:#10344e; letter-spacing:.04em; }
.sp-page-transport #sp-main.sp-main .t40-zone p { margin:0; font-size:15px; line-height:1.9; color:#2e4454; }
.sp-page-transport #sp-main.sp-main .t40-area .t32-area__lead { line-height:1.9; }
@media (min-width:768px) and (max-width:1100px) {
 .sp-page-transport #sp-main.sp-main .t40-area { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:24px 24px; }
 .sp-page-transport #sp-main.sp-main .t40-area__notes .t32-area__facts { grid-template-columns:1fr 1fr 1fr; gap:10px; }
 .sp-page-transport #sp-main.sp-main .t30-area .t40-map img { height:auto; }
}
@media (max-width:767px) {
 .sp-page-transport #sp-main.sp-main .t40-area { grid-template-columns:1fr; gap:22px; }
 .sp-page-transport #sp-main.sp-main .t40-area__main,.sp-page-transport #sp-main.sp-main .t40-map,.sp-page-transport #sp-main.sp-main .t40-area__notes { grid-column:1; grid-row:auto; }
 .sp-page-transport #sp-main.sp-main .t40-map { order:2; }
 .sp-page-transport #sp-main.sp-main .t40-area__notes { order:3; }
 .sp-page-transport #sp-main.sp-main .t30-area .t40-map img { height:auto; max-width:380px; }
 .sp-page-transport #sp-main.sp-main .t40-area__notes .t32-area__facts { grid-template-columns:1fr; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-media .t30-icon { width:48px; height:48px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body h3 { font-size:17px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards .t32-work-body p { font-size:13px; }
 .sp-page-transport #sp-main.sp-main .t30-work__cards li { flex-direction:column; }
 .sp-page-transport #sp-main.sp-main .t32-work-media,.sp-page-transport #sp-main.sp-main .t30-work__cards li.no-photo .t32-work-media { flex:none; width:100%; aspect-ratio:16/9; min-height:0; }
 .sp-page-transport #sp-main.sp-main .t32-work-body { padding:16px 18px 20px; border-left:0; border-top:3px solid #c4a466; }
}
/* 縦長の写真でもカードの高さが伸びないよう、写真は枠いっぱいに重ねる */
.sp-page-transport #sp-main.sp-main .t30-work__cards li.has-photo .t32-work-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (max-width:767px) {
 .sp-page-transport #sp-main.sp-main .t30-work__cards li.no-photo .t32-work-media { aspect-ratio:16/6; }
}

/* v0.40.3 特殊作業：4 枚のカードを「人の手」「吊り上げ」の 2 グループに整理（見出し＋説明の下に写真カード 2 枚） */
.sp-page-transport #sp-main.sp-main .t40-work-head { max-width:820px; }
.sp-page-transport #sp-main.sp-main .t40-work-head p { margin:0 0 12px; line-height:2; }
.sp-page-transport #sp-main.sp-main .t40-work2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; list-style:none; margin:34px 0 0; padding:0; }
.sp-page-transport #sp-main.sp-main .t40-work2 > li { display:flex; flex-direction:column; background:#fbfaf7; color:#10344e; border:1px solid #d9cdb7; overflow:hidden; box-shadow:0 12px 28px -16px #00162acc; margin:0; }
.sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-media { position:relative; aspect-ratio:16/10; background:linear-gradient(160deg,#eef2f4,#e3e9ec); display:grid; place-items:center; overflow:hidden; }
.sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.sp-page-transport #sp-main.sp-main .t40-work2 li.no-photo .t32-work-media { aspect-ratio:16/7; }
.sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-media .t30-icon { width:76px; height:76px; margin:0; color:#244b63; }
.sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-body { padding:22px 26px 26px; border-top:3px solid #c4a466; }
.sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-body h3 { margin:0 0 10px; font:600 22px/1.5 var(--t-serif); letter-spacing:.04em; color:#10344e; }
.sp-page-transport #sp-main.sp-main .t40-work2__tags { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0 0 12px; padding:0; }
.sp-page-transport #sp-main.sp-main .t40-work2__tags li { margin:0; padding:3px 12px; font-size:13px; line-height:1.7; color:#6d4f24; background:#fff; border:1px solid #c4a466; border-radius:999px; }
.sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-body p { margin:0; font-size:14.5px; line-height:1.95; color:#2e4454; }
@media (max-width:767px) {
 .sp-page-transport #sp-main.sp-main .t40-work2 { grid-template-columns:1fr; gap:20px; margin-top:26px; }
 .sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-media { aspect-ratio:3/2; }
 .sp-page-transport #sp-main.sp-main .t40-work2 li.no-photo .t32-work-media { aspect-ratio:16/6; }
 .sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-media .t30-icon { width:56px; height:56px; }
 .sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-body { padding:18px 18px 22px; }
 .sp-page-transport #sp-main.sp-main .t40-work2 .t32-work-body h3 { font-size:19px; }
}

/* v0.41.5 地図出典は図下ではなくページ末尾に控えめに表示。 */
.sp-page-transport #sp-main.sp-main .t30-source{margin:28px 0;font-size:11px;line-height:1.7;color:#6e7b83;text-align:center}
.sp-page-transport #sp-main.sp-main .t30-source a{color:inherit;text-underline-offset:2px}
