*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#253c35;background:#fffefb;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b35a23;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;line-height:1.55;letter-spacing:.055em}h1{font-size:clamp(36px,4.4vw,65px);margin-bottom:22px}h2{font-size:clamp(28px,3vw,42px);margin-bottom:25px}h3{font-size:21px;line-height:1.6}p{margin-bottom:20px}small,.micro,.note{font-size:13px}.wrap{width:min(1160px,88%);margin-inline:auto}.narrow{max-width:880px}.draft{background:#e9eee5;color:#354c3e;text-align:center;font-size:12px;padding:7px 15px;letter-spacing:.05em}.draft span{margin-left:22px}header{padding:21px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fffefbf5;position:sticky;top:0;z-index:10;border-bottom:1px solid #e6e8df}.brand{display:flex;gap:13px;align-items:center;line-height:1.4;flex-shrink:0}.brand small{font-size:10px;letter-spacing:.08em;display:block}.brand strong{font-family:"Yu Mincho",serif;font-size:32px;letter-spacing:.15em}.brand em{font-style:normal;font-family:sans-serif;font-size:11px;letter-spacing:.05em}.mark{background:#315b49;color:#fff;border-radius:50% 50% 45% 45%;width:47px;height:47px;text-align:center;line-height:47px;font-family:serif;font-size:25px}nav{display:flex;gap:27px;align-items:center;font-size:13px}nav>a:not(.button):hover{color:#9a4f25;text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;background:#315b49;color:#fff;padding:16px 25px;border-radius:5px;font-weight:600;font-size:15px;min-height:48px}.button:hover{background:#214333}.button.small{padding:10px 19px;font-size:13px;gap:12px}.hero{display:grid;grid-template-columns:.95fr 1.15fr;align-items:center;gap:35px;padding-top:55px;padding-bottom:55px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:#62705b;margin-bottom:24px}.hero-copy{padding:15px 0}.lead{font-size:17px;line-height:2.1;margin-bottom:28px}.micro{margin-top:12px;color:#5a685f}.hero-photo{position:relative;align-self:stretch;min-height:510px}.hero-photo img{width:100%;height:100%;position:absolute;border-radius:130px 12px 12px 12px}.hero-photo figcaption{position:absolute;bottom:22px;left:20px;right:20px;background:#fffefaed;padding:16px 20px;font-family:serif;font-size:20px;border-radius:4px}.hero-photo small{display:block;font-family:sans-serif;font-size:10px;margin-top:5px}.area{border-block:1px solid #d8dfd3;display:grid;grid-template-columns:110px 1fr;gap:5px 20px;padding:24px 0}.area>span{font-size:13px;color:#60705c;grid-row:span 2;align-self:center}.area strong{font-size:20px;letter-spacing:.04em}.area p{font-size:13px;margin:0}.section{padding-top:95px;padding-bottom:95px}.intro{color:#59675f}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.services article{border-top:1px solid #a9b8a0;padding-top:22px}.num{color:#7b8c6b;font-family:serif;font-size:28px}.services h3{margin-top:12px}.services p{font-size:15px}.note{color:#5c675e;margin:20px 0 0;line-height:1.8}.tinted{background:#f0f2e9}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-head p{font-size:14px}.section-head .eyebrow{font-size:11px}.vehicles{display:grid;grid-template-columns:1fr 1fr;gap:30px}.vehicles article{background:#fffefb;border-radius:8px;overflow:hidden}.vehicles img{width:100%;aspect-ratio:1.5}.vehicles article>div{padding:26px 30px}.vehicles small{font-size:11px;letter-spacing:.14em;color:#64745a}.vehicles h3{font-family:serif;font-size:27px;margin:6px 0 14px}.vehicles p{font-size:15px;margin:0}.equipment{margin-top:35px;border-top:1px solid #c7d0be;padding-top:24px;display:grid;grid-template-columns:220px 1fr;gap:30px}.equipment p{font-size:14px;margin:0}.staff{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.staff img{aspect-ratio:1/1.08;border-radius:8px 90px 8px 8px;width:100%}.staff figcaption{font-size:11px;color:#65715f;margin-top:10px}.staff p:not(.eyebrow){font-size:15px}.signature{border-top:1px solid #cfd6c8;padding-top:22px;font-family:serif;font-size:22px!important}.signature span{display:block;font:12px sans-serif;color:#68745e;margin-top:8px}.warning{background:#fff9e9;border-left:4px solid #a06529;padding:18px 22px;margin:30px 0 25px}.warning strong{font-size:16px;color:#72451b}.warning p{font-size:14px;margin:7px 0 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;background:#fffefb;min-width:570px}caption{text-align:left;font-size:15px;font-weight:700;margin-bottom:12px}th,td{padding:18px;border-bottom:1px solid #d9dfd1;vertical-align:top}thead{background:#dfe6d7}td:nth-child(2){white-space:nowrap;font-weight:bold}tbody th{width:25%}details{border-bottom:1px solid #cbd4c2;padding:20px 0}summary{cursor:pointer;font-weight:600;min-height:32px;padding-right:15px}details p{margin:18px 0 0;font-size:15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:0;list-style:none;margin:45px 0 0}.steps span{display:inline-block;color:#fff;background:#657956;border-radius:50%;width:38px;height:38px;text-align:center;line-height:38px;margin-bottom:20px}.steps p{font-size:14px}.contact{background:#294a3c;color:#fffdf4;padding:75px 0}.contact .eyebrow{color:#d3debe}.contact h2{font-size:clamp(28px,3.3vw,45px)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;margin-top:35px}.phone-panel{background:#fffefb;color:#293e33;padding:30px;border-radius:6px}.phone-panel small{color:#76501f;font-weight:600}.phone{display:block;font-size:clamp(26px,3.5vw,40px);line-height:1.7;letter-spacing:.03em}.phone-panel p{font-size:13px;margin:15px 0 0}.social-panel{padding:10px 0}.social-panel h3{font-size:18px;margin-bottom:10px}.social-panel p{font-size:14px;color:#e0e8db}.social-panel hr{border:0;border-top:1px solid #6f8676;margin:25px 0}.contact-note{font-size:12px;margin:28px 0 0;color:#e0e8db}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:42px}footer p,footer>a:last-child{font-size:12px;margin:0}.mobile-contact{display:none}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}@media(max-width:1000px){nav{gap:15px}nav>a:nth-child(4){display:none}.hero{gap:22px}.hero-photo{min-height:470px}.staff{gap:35px}}@media(max-width:700px){body{font-size:15px}.draft span{display:block;margin:0;font-size:10px}header{padding:12px 6%;position:relative}.brand strong{font-size:27px}.brand small{font-size:9px}.mark{width:39px;height:39px;line-height:39px;font-size:22px}nav{gap:0}nav>a:not(.button){display:none}.button.small{font-size:11px;padding:10px;min-height:44px}.hero{grid-template-columns:1fr;padding-top:35px;gap:18px;padding-bottom:35px}.hero-copy{padding:0}.hero .eyebrow{font-size:9px;margin-bottom:16px}h1{font-size:39px}.lead{font-size:15px}.hero-photo{min-height:350px}.hero-photo img{border-radius:80px 8px 8px 8px}.hero-photo figcaption{font-size:17px;bottom:15px;left:15px;right:15px;padding:12px}.hero-photo small{font-size:9px}.area{grid-template-columns:1fr;gap:6px;padding:20px 0}.area>span{grid-row:auto}.area strong{font-size:18px}.section{padding-block:60px}.services,.vehicles,.staff,.steps,.contact-grid{grid-template-columns:1fr;gap:28px}.services{margin-top:30px}.services article{padding-top:15px}.services h3{display:inline-block;margin-left:15px;font-size:19px}.section-head{display:block;margin-bottom:25px}.section-head>p{margin-bottom:0}.vehicles article>div{padding:22px}.equipment{grid-template-columns:1fr;gap:0}.staff figure{max-width:430px}.staff img{aspect-ratio:1.15}.steps{gap:24px}.steps li{padding-left:57px;position:relative}.steps span{position:absolute;left:0;top:0}.steps h3{font-size:19px;margin-bottom:8px}.steps p{margin-bottom:0}.contact{padding-block:55px}.phone-panel{padding:22px}.phone{font-size:31px}footer{flex-wrap:wrap;padding-bottom:95px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#315b49;color:#fff;text-align:center;padding:14px 10px calc(14px + env(safe-area-inset-bottom));font-weight:700;box-shadow:0 -2px 12px #0002}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header{position:static}.mobile-contact{display:none}.section{padding-block:30px}.contact{background:#fff;color:#263c32}.contact .eyebrow,.social-panel p,.contact-note{color:#263c32}details{break-inside:avoid}a{color:inherit}}/* 本人の顔を切らず、元の横長の構図を保つ */
.staff img{aspect-ratio:4/3;object-fit:contain;background:#edf0e5;border-radius:8px 65px 8px 8px}
.hero-photo figcaption{font-size:clamp(15px,1.4vw,20px)}

/* ご提供の正式マーク */
.brand-logo{width:65px;height:65px;object-fit:contain;flex-shrink:0}
@media(max-width:700px){.brand-logo{width:46px;height:46px}.brand{gap:8px}.brand strong{font-size:25px}.brand small{font-size:8px}}

/* ご高齢の方が最初の画面で用途と行き先を判断できる構成 */
body{font-size:18px;line-height:1.9}
.hero-location{font-size:20px;font-weight:700;margin-bottom:8px;color:#315b49}
.hero h1{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:clamp(32px,3.4vw,48px);line-height:1.4;letter-spacing:.02em;margin-bottom:16px}
.hero-name{display:block;font-size:1.2em}.hero-name small{font-size:18px;font-weight:500;margin-left:8px}
.hero .lead{font-size:19px;line-height:1.8;margin-bottom:20px}.hero .lead strong{display:inline-block;margin-bottom:8px}
.hero .micro{font-size:14px;line-height:1.7;margin-bottom:18px}
.hero-call{font-size:20px;padding:18px 22px;width:100%;max-width:400px}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-top:16px}
.quick-links a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border:2px solid #42614a;border-radius:6px;font-size:16px;font-weight:700;background:#fffefb}
.quick-links a:hover{background:#e8eee1}
.services p,.vehicles p,.staff p:not(.eyebrow),.steps p,details p,.section-head>p,.equipment p{font-size:18px}
.note,.area p,.contact-note{font-size:15px}summary{font-size:19px;padding:10px 0}nav{font-size:16px}
.phone-panel p,.social-panel p{font-size:17px}.phone-panel small{font-size:15px}
@media(max-width:700px){
header{padding-block:10px}.brand-logo{width:50px;height:50px}.brand small{font-size:10px}.button.small{font-size:14px;padding:10px 12px}
.hero{padding-top:22px;gap:22px;padding-bottom:26px}.hero-location{font-size:18px;margin-bottom:4px}.hero h1{font-size:32px;margin-bottom:12px}.hero-name{font-size:35px}.hero-name small{font-size:17px}
.hero .lead{font-size:18px;line-height:1.7;margin-bottom:15px}.hero .lead strong{margin-bottom:6px}.hero-call{font-size:20px;min-height:62px;max-width:none}.hero .micro{font-size:13px;margin-top:9px;margin-bottom:10px}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.quick-links>a:not(.button){display:flex;font-size:16px;flex-direction:column;gap:0;padding:8px 2px;line-height:1.5}.quick-links span{font-size:15px}
.hero-photo{min-height:0;height:auto}.hero-photo img{position:static;height:auto;aspect-ratio:4/3;border-radius:20px}.hero-photo figcaption{position:static;background:#edf1e5;padding:12px;margin-top:0;font-size:16px}.hero-photo small{font-size:11px}
.mobile-contact{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:0;padding:0 0 env(safe-area-inset-bottom);background:#fffefb;color:#294a3c}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:62px;font-size:17px;border-right:1px solid #b4c2ac}.mobile-contact a:last-child{background:#315b49;color:white}
.section{padding-block:46px}.area strong{font-size:20px}.services h3,.steps h3{font-size:21px}.table-scroll{font-size:16px}table{font-size:16px}.warning p,.note{font-size:16px}
footer{padding-bottom:110px}footer p{font-size:14px}
}

@media(max-width:700px){.mobile-contact>a:not(.button){display:flex}.quick-links a{min-height:70px}.quick-links>a:not(.button){white-space:nowrap}}

.consult-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 12px;max-width:650px}
.consult-buttons .button{font-size:21px;justify-content:space-between;gap:10px;min-height:68px;padding:15px 20px}
.line-button{background:#087c37}.line-button:hover{background:#05632b}
.phone-link{display:inline-block;text-decoration:underline;text-underline-offset:6px}.phone-link:hover{color:#086a31}.fixed-phone{font-size:28px;font-weight:700}
.line-qr{width:190px;height:190px;object-fit:contain;background:white;border-radius:10px;padding:8px}.qr-link{display:inline-block}
.contact>.wrap>.consult-buttons{max-width:650px;margin-top:30px}
@media(max-width:700px){.consult-buttons{gap:9px;margin-top:16px}.consult-buttons .button{font-size:19px;padding:14px 12px;min-height:64px;white-space:nowrap}.mobile-contact{grid-template-columns:.8fr 1.2fr 1.2fr}.mobile-contact>a:nth-child(2){background:#315b49;color:#fff}.mobile-contact>a:last-child{background:#087c37;color:#fff}.phone-panel .phone{font-size:28px}.fixed-phone{font-size:26px}}

.hero-location{font-size:32px;line-height:1.5;font-weight:800;margin-bottom:12px}
@media(max-width:700px){.hero-location{font-size:30px;margin-bottom:10px}}

.hero-photo{min-height:0;align-self:center}.hero-photo img{position:static;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:20px}.hero-photo figcaption{position:static;margin-top:0;background:#edf1e5;padding:15px;border-radius:0 0 8px 8px}

.phone-panel .fixed-primary{font-size:clamp(32px,4vw,44px);font-weight:800;line-height:1.7}.phone-panel .mobile-secondary{font-size:25px;font-weight:600;line-height:1.8}@media(max-width:700px){.phone-panel .fixed-primary{font-size:32px}.phone-panel .mobile-secondary{font-size:24px}}

/* 料金：携帯でも項目と金額を一組で読める一覧 */
.price-list{margin:24px 0 18px;border-top:2px solid #57734e;background:#fffefb}.price-list>div{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:22px 24px;border-bottom:1px solid #cbd5c2}.price-list dt{font-size:20px;font-weight:700;line-height:1.6}.price-list dt span{display:block;font-size:16px;font-weight:400;color:#4f6252}.price-list dd{margin:0;font-size:31px;font-weight:800;white-space:nowrap;line-height:1.5}.price-list dd span{font-size:18px;margin-left:4px}.price-explanation{font-size:17px;line-height:1.9;margin-bottom:28px}.equipment-price-title{margin-top:40px}.equipment-prices dd{font-size:28px}@media(max-width:700px){.price-list>div{padding:18px 14px;gap:10px}.price-list dt{font-size:18px}.price-list dd{font-size:27px}.price-list dd span{font-size:16px}.price-list dt span{font-size:15px}.equipment-prices dt{font-size:17px}.equipment-prices dd{font-size:25px}.price-explanation{font-size:16px}}

/* 車両は切り取らず全体を表示。顔写真は元画像の比率で余白を抑える。 */
.vehicles img{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:260px;object-fit:contain;margin:0 auto;background:#fffefb}
.staff img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent}.staff figure{align-self:center}
@media(max-width:700px){.vehicles img{width:100%;max-height:195px;object-fit:contain}.vehicles article>div{padding:18px 20px}.vehicles{gap:24px}.staff{padding-top:28px;padding-bottom:34px;gap:20px}.staff figure{width:min(100%,320px);margin:0 auto}.staff img{width:100%;height:auto;aspect-ratio:auto}.staff .eyebrow{margin-bottom:12px}}
