:root{--ink:#17352b;--green:#154c3b;--green-dark:#0c3025;--paper:#fff;--soft:#f2f6f4;--line:#cbd9d2;--muted:#4c6359;--accent:#b45442;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.9}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}img{max-width:100%;display:block}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b45442;outline-offset:5px}.wrap{max-width:var(--max);margin:auto;padding-inline:32px}.skip{position:fixed;left:20px;top:-90px;z-index:30;background:#fff;padding:10px}.skip:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:118px}.brand{text-decoration:none;display:block;flex-shrink:0;padding-block:10px 12px}.brand strong{display:block;font-family:"Yu Mincho",serif;font-size:28px;letter-spacing:.13em;line-height:1.35}.brand small{display:block;font-size:13px;letter-spacing:.1em;color:var(--muted);margin-bottom:2px}.brand-phone{display:block;font-size:16px;font-weight:700;letter-spacing:.08em;line-height:1.35;color:var(--green);margin-top:4px}.nav{display:flex;align-items:stretch;align-self:stretch}.primary-menu{display:flex;gap:25px;align-items:stretch;list-style:none;margin:0;padding:0}.primary-menu li{margin:0;padding:0;list-style:none}.nav a{text-decoration:none;font-size:15px;white-space:nowrap;display:flex;align-items:center;min-height:100%;padding-block:8px}.nav a[aria-current=page]{text-decoration:underline;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 25px;background:var(--green);color:#fff;text-decoration:none;border:1px solid var(--green);border-radius:3px;font-size:16px;font-weight:700;line-height:1.6;text-align:center}.btn:hover{background:var(--green-dark);color:#fff}.btn.secondary{background:#fff;color:var(--green);border-color:var(--green)}.btn.secondary:hover{background:var(--soft)}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:3px;padding:8px 14px;color:var(--ink);min-height:44px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin:0 0 18px}.hero{padding-block:62px 42px}.hero-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:52px;align-items:center}h1,h2,h3{line-height:1.5;margin:0 0 24px;overflow-wrap:anywhere}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(32px,3.5vw,48px);letter-spacing:.045em}h2{font-size:clamp(27px,3vw,36px)}h3{font-size:21px}p{margin:0 0 20px}.hero .lead{color:var(--muted);max-width:33em}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:27px 15px}.hero-visual{position:relative}.hero-visual img{width:100%;height:400px;object-fit:cover;border-radius:3px}.caption{font-size:14px;color:var(--muted);margin:10px 0 0}.quick-info{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:42px;padding-block:20px}.quick-info>div{padding:0 28px;border-right:1px solid var(--line)}.quick-info>div:first-child{padding-left:0}.quick-info>div:last-child{border:0}.quick-info small{display:block;font-size:14px;color:var(--muted)}.quick-info strong{font-weight:600;font-size:19px}.section{padding-block:76px}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:35px}.section-head h2{margin:0}.section-head p{margin:0;max-width:33em;color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);padding:30px;background:#fff;border-radius:3px}.card .number{font-size:14px;letter-spacing:.15em;color:var(--accent);margin-bottom:22px}.card p{color:var(--muted)}.text-link{font-weight:700;font-size:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.treatment{padding:27px 0;border-top:1px solid var(--line)}.treatment:first-child{padding-top:0;border-top:0}.treatment h3{margin-bottom:12px}.treatment p{color:var(--muted)}.page-title{padding-block:46px 38px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:22px}.page-title h1{margin-bottom:18px}.page-title p{max-width:44em;color:var(--muted);margin:0}.content{max-width:860px}.content p{max-width:48em}.content h2{margin-top:54px}.content h2:first-child{margin-top:0}.photo{width:100%;border-radius:3px}.portrait{height:480px;object-fit:cover;object-position:50% 20%}.price-box{border-block:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.price-box strong{font-size:32px;white-space:nowrap}.price-box span{color:var(--muted);font-size:15px}.note{font-size:15px;color:var(--muted);margin-top:17px}.info-table{width:100%;border-collapse:collapse;text-align:left}.info-table th,.info-table td{padding:18px 12px;border-bottom:1px solid var(--line);vertical-align:top}.info-table th{width:25%;font-weight:600;padding-left:0}.info-table td{padding-right:0}.schedule{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;text-align:center}.schedule th,.schedule td{padding:12px 5px;border-bottom:1px solid var(--line)}.schedule th:first-child{width:36%;text-align:left}.schedule caption{text-align:left;font-weight:700;margin-bottom:12px}.closed{color:var(--accent)}.booking-panel{background:var(--green);color:#fff;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-radius:3px}.booking-panel h2{margin-bottom:16px}.booking-panel .eyebrow{color:#ccded5}.booking-panel .btn{background:#fff;color:var(--green);border-color:#fff}.booking-panel .btn.secondary{background:transparent;color:#fff}.booking-panel p{color:#e0ebe4}.booking-panel .phone{display:block;font-size:28px;letter-spacing:.05em;text-decoration:none;font-weight:700;margin-bottom:10px}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600;list-style:none;position:relative;padding-right:38px;min-height:28px}summary::-webkit-details-marker{display:none}summary::after{content:"＋";position:absolute;right:5px;top:0;color:var(--green)}details[open] summary::after{content:"−"}details p{color:var(--muted);margin:18px 0 0;padding-right:35px}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;padding:20px 0 20px 55px;position:relative;border-bottom:1px solid var(--line)}.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;color:var(--accent);font-size:19px}.steps strong{display:block}.steps p{margin:6px 0 0;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:46px 0 100px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 25px;align-content:start;font-size:15px}.copyright{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:35px}.mobile-cta{display:none}.parking-image{background:var(--soft);padding:12px}.contact-block{margin-top:30px;border-left:3px solid var(--green);padding-left:22px}.small-heading{font-family:inherit;font-size:22px}.checklist{padding-left:1.3em}.checklist li{margin-bottom:8px}.map-image{max-height:580px;object-fit:contain}.article-link{display:block;padding:17px 0;border-bottom:1px solid var(--line)}@media(max-width:1050px){.header-inner{min-height:112px}.primary-menu{gap:15px}.nav a{font-size:14px}.nav .btn{padding:9px 15px}.hero-grid{gap:30px}.brand strong{font-size:24px}.brand-phone{font-size:15px}}@media(max-width:850px){.wrap{padding-inline:24px}.header-inner{min-height:104px;flex-wrap:wrap;gap:0}.brand{padding-block:8px 10px}.brand strong{font-size:25px}.brand-phone{font-size:15px;margin-top:2px}.menu-toggle{display:block}.nav{display:none;width:100%;padding:20px 0;flex-wrap:wrap;gap:0;align-items:stretch;align-self:auto}.nav.is-open{display:flex}.primary-menu{width:100%;flex-wrap:wrap;gap:0}.primary-menu li{width:50%}.nav a{width:100%;padding:13px 8px;font-size:16px;min-height:auto}.nav .btn{width:100%;margin-top:12px}.hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:26px}.hero h1{font-size:36px}.hero-visual img{height:320px}.hero .lead{max-width:none}.quick-info{margin-top:25px}.quick-info>div{padding-inline:16px}.quick-info strong{font-size:16px}.section{padding-block:52px}.section-head{display:block}.section-head p{margin-top:17px}.split{grid-template-columns:1fr;gap:30px}.grid-3{grid-template-columns:1fr}.card{padding:26px}.card .number{margin-bottom:10px}.booking-panel{grid-template-columns:1fr;padding:30px;gap:20px}.footer-grid{grid-template-columns:1fr;gap:25px}.portrait{height:440px;max-width:460px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line)}.mobile-cta .btn{flex:1;min-height:48px;padding:9px;font-size:15px}.site-footer{padding-bottom:125px}html{scroll-padding-top:90px}}@media(max-width:480px){.wrap{padding-inline:20px}body{font-size:16px}.header-inner{min-height:96px}.brand small{font-size:12px}.brand strong{font-size:22px}.brand-phone{font-size:14px}.hero h1{font-size:31px;line-height:1.55}.hero-visual img{height:270px}.quick-info{grid-template-columns:1fr;gap:12px;padding-block:16px}.quick-info>div{border:0;padding:0;display:flex;gap:15px;align-items:baseline}.quick-info small{width:5em;flex-shrink:0}.quick-info strong{font-size:16px}.actions .btn{width:100%}.info-table th{width:28%}.info-table th,.info-table td{padding-block:15px;font-size:15px}.price-box strong{font-size:28px}.page-title{padding-block:28px}.schedule{font-size:14px}.booking-panel{padding:25px}.booking-panel .phone{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.mobile-cta,.menu-toggle,.actions{display:none}.section{padding-block:24px}.wrap{max-width:none;padding:0}body{font-size:11pt}.hero-visual img{height:220px}a{color:#000}.booking-panel{background:#fff;color:#000;border:1px solid #ccc}.booking-panel p,.booking-panel .eyebrow{color:#000}}

figure{margin:0}.phone{overflow-wrap:anywhere}.menu-open .mobile-cta{display:none}.price-box>div{min-width:0}.booking-panel .note{color:#e0ebe4}.hero-visual img{height:400px}a[href^="mailto:"]{overflow-wrap:anywhere}@media(max-width:850px){body{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.site-footer{padding-bottom:40px}.hero-visual img{height:320px}}@media(max-width:480px){.hero-visual img{height:270px}.price-box{gap:12px}.price-box strong{font-size:26px}}@media print{body{padding-bottom:0}}

.hero-fees{font-size:16px;margin-bottom:10px}.hero-fees span{color:var(--muted)}.hero .note{margin-block:10px 14px}

.brand-domain{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:.52em;font-weight:600;letter-spacing:.035em;color:var(--muted);white-space:nowrap}


/* 2026-09-18 additions */
.business-btn{background:#c82424;border-color:#c82424;color:#fff}.business-btn:hover{background:#a91d1d;border-color:#a91d1d}.share-cycle-btn{background:#e7a900;border-color:#e7a900;color:#fff}.share-cycle-btn:hover{background:#c69100;border-color:#c69100;color:#fff}.symptom-preview{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}.symptom-preview span{border:1px solid var(--line);padding:10px 14px;background:#fff;border-radius:999px}.symptom-search-label{display:block;font-weight:700;margin:28px 0 8px}.symptom-search{width:min(520px,100%);min-height:48px;border:1px solid var(--line);border-radius:3px;padding:10px 14px;font:inherit}.symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.symptom-item{border:1px solid var(--line);background:#fff;border-radius:3px;padding:18px;display:flex;gap:12px;align-items:baseline}.symptom-no{font-size:13px;color:var(--accent);letter-spacing:.08em}.symptom-detail-cta{margin-top:50px;padding:30px;background:var(--soft);border-radius:3px}.calendar-toolbar{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:24px}.calendar-toolbar button{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:28px;color:var(--green);cursor:pointer}.calendar-toolbar strong{min-width:180px;text-align:center;font-size:20px}.calendar-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.cal-month{border:1px solid var(--line);background:#fff;border-radius:3px;padding:18px}.cal-month h2{font-family:inherit;font-size:20px;text-align:center;margin-bottom:14px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-cell{min-height:48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;text-align:center;display:flex;align-items:center;justify-content:center}.cal-head{min-height:34px;font-weight:700;font-size:13px}.cal-head.sun{color:#c33}.cal-head.sat{color:#2462c8}.cal-empty{background:#fafafa}.cal-day.closed-day{background:#e86a6a;color:#4a1212}.cal-day.special-open{background:#fff5c4;box-shadow:inset 0 0 0 2px #d6a300}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;font-size:14px}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.legend-box{width:18px;height:18px;border:1px solid var(--line);display:inline-block}.legend-box.closed-day{background:#e86a6a}.legend-box.open-day{background:#fff}.legend-box.special-open{background:#fff5c4;border:2px solid #d6a300}.legend-box.override-closed{background:#b62f2f}.steps.compact li{padding-top:12px;padding-bottom:12px}
@media(max-width:850px){.symptom-grid{grid-template-columns:repeat(2,1fr)}.calendar-wrap{grid-template-columns:1fr}}@media(max-width:480px){.symptom-grid{grid-template-columns:1fr}.cal-month{padding:10px}.cal-cell{min-height:42px;padding:4px;font-size:14px}.calendar-toolbar{gap:10px}.calendar-toolbar strong{min-width:150px;font-size:18px}}

.cal-day.linked-holiday{box-shadow:inset 0 0 0 2px rgba(116,20,20,.18)}

/* 2026-09-18 interim reservation / footer update */
.booking-online-note{margin:18px 0 16px;font-weight:600;color:#fff;line-height:1.8}
.site-footer .copyright{text-align:center;font-size:18px;line-height:1.7}
.site-footer .copyright a{text-decoration:none;font-weight:600;color:inherit}
.site-footer .copyright a:hover{text-decoration:none}
@media(max-width:700px){.site-footer .copyright{font-size:17px}}

/* Parking photo guide */
.parking-layout{align-items:start}.parking-steps{margin-top:28px}.parking-steps li{display:grid;grid-template-columns:1fr 150px;gap:22px;align-items:center;padding-right:0}.parking-step-copy p{margin-bottom:0}.parking-thumb{display:block;border:1px solid var(--line);background:#fff;padding:4px;text-decoration:none}.parking-thumb img{width:100%;height:96px;object-fit:cover}.parking-thumb:hover{border-color:var(--green)}.parking-slideshow-link a{position:relative;display:block;text-decoration:none}.parking-slideshow-link img{transition:opacity .2s ease}.parking-slideshow-link a:hover img{opacity:.88}.parking-play{position:absolute;left:18px;bottom:18px;background:rgba(21,76,59,.94);color:#fff;padding:10px 16px;font-weight:700;border-radius:3px}.parking-lightbox{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.84);padding:24px}.parking-lightbox.is-open{display:flex;align-items:center;justify-content:center}.parking-lightbox-inner{position:relative;width:min(1100px,96vw);height:min(86vh,900px);display:flex;align-items:center;justify-content:center}.parking-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:calc(100% - 110px);max-height:100%}.parking-lightbox figure img{max-width:100%;max-height:76vh;object-fit:contain;background:#111}.parking-lightbox figcaption{color:#fff;font-size:18px;margin-top:12px;text-align:center}.parking-close,.parking-prev,.parking-next{position:absolute;border:0;background:rgba(255,255,255,.92);color:var(--green-dark);cursor:pointer;z-index:2}.parking-close{right:0;top:0;width:46px;height:46px;border-radius:50%;font-size:28px;line-height:1}.parking-prev,.parking-next{top:50%;transform:translateY(-50%);width:46px;height:64px;font-size:38px}.parking-prev{left:0}.parking-next{right:0}.parking-counter{position:absolute;bottom:0;color:#fff;font-size:15px}.parking-modal-open{overflow:hidden}
@media(max-width:850px){.parking-steps li{grid-template-columns:1fr 120px;gap:16px}.parking-thumb img{height:80px}.parking-lightbox{padding:12px}.parking-lightbox figure{max-width:calc(100% - 78px)}.parking-prev,.parking-next{width:38px;height:58px}.parking-close{width:42px;height:42px}}
@media(max-width:520px){.parking-steps li{grid-template-columns:1fr}.parking-thumb{width:100%}.parking-thumb img{height:auto;max-height:220px;object-fit:cover}.parking-play{left:10px;bottom:10px;font-size:14px;padding:8px 12px}.parking-lightbox figure{max-width:100%}.parking-prev,.parking-next{top:auto;bottom:40px}.parking-prev{left:12px}.parking-next{right:12px}.parking-close{right:4px;top:4px}.parking-lightbox figcaption{font-size:16px;padding:0 50px}.parking-counter{bottom:8px}}

.parking-media-panel{background:var(--soft);padding:12px}.parking-media-panel .parking-image{padding:0;background:transparent;margin:0}.parking-slideshow-link a{position:relative;display:block;text-decoration:none}.parking-slideshow-link .parking-play{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(21,76,59,.92);color:#fff;padding:9px 18px;border-radius:3px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.18)}.parking-slideshow-link a:hover .parking-play{background:var(--green-dark)}.parking-video-wrap video{display:block;width:100%;height:auto;max-height:520px;background:#000}.parking-media-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.parking-media-actions .btn{min-height:44px;padding:8px 16px}.parking-media-panel .note{margin:14px 0 0}.parking-media-panel [hidden]{display:none!important}@media(max-width:480px){.parking-slideshow-link .parking-play{bottom:12px;padding:7px 12px;font-size:14px}.parking-media-actions .btn{width:100%}}

/* v1.0.8 駐車場案内：右側サムネイルをクリックすると同じ位置でMP4を再生 */
.parking-lightbox,.parking-media-actions{display:none!important}
.parking-video-thumb{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;text-align:inherit}
.parking-video-thumb img{display:block;width:100%;height:auto}
.parking-video-thumb:hover img{opacity:.9}
.parking-video-thumb .parking-play{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(21,76,59,.94);color:#fff;padding:10px 18px;border-radius:3px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.parking-inline-video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.parking-media-panel [hidden]{display:none!important}
@media(max-width:480px){.parking-video-thumb .parking-play{bottom:12px;font-size:14px;padding:8px 12px}}


/* v1.0.9 駐車場：DB本文ではなく専用テンプレートで描画。右サムネイルを同位置のMP4へ直接置換 */
.parking-map-wrap{width:100%;max-width:none;margin:24px 0 32px;padding:0}
.parking-media-panel{background:var(--soft);padding:12px;align-self:start}
.parking-media-viewport{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}
.parking-video-thumb,.parking-inline-video{width:100%;height:100%;margin:0;border:0}
.parking-video-thumb{position:relative;display:block;padding:0;background:#000;cursor:pointer}
.parking-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.parking-video-thumb .parking-play{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(21,76,59,.95);color:#fff;padding:10px 18px;border-radius:3px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.parking-video-thumb:hover .parking-play{background:var(--green-dark)}
.parking-inline-video{display:block;object-fit:contain;background:#000}
.parking-media-panel [hidden]{display:none!important}
.parking-lightbox,.parking-media-actions,.parking-slideshow-link{display:none!important}
@media(max-width:480px){.parking-video-thumb .parking-play{bottom:12px;font-size:14px;padding:8px 12px}}

/* v1.0.10 駐車場の埋め込み動画 */
.parking-media-panel{min-width:0}
.parking-video-thumb:focus-visible,.parking-inline-video:focus-visible{outline-offset:-4px}
.parking-video-error{margin:12px 0 0;font-size:14px}

/* v1.0.11 parking guide: inline photo route + MP4 slideshow button */
.parking-guide-wrap{max-width:1080px}
.parking-guide-head{align-items:center;margin-bottom:28px}
.parking-guide-head>div{min-width:0}
.parking-movie-button{flex:0 0 auto;border:0;cursor:pointer}
.parking-guide-movie{width:min(900px,100%);margin:0 auto 38px;background:#000}
.parking-guide-movie[hidden]{display:none!important}
.parking-guide-video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.parking-route-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.parking-route-item{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:34px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.parking-route-copy{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;align-items:start}
.parking-route-number{font-size:18px;line-height:1.5;color:var(--accent);font-variant-numeric:tabular-nums}
.parking-route-copy h3{margin:0 0 10px;font-size:20px}
.parking-route-copy p{margin:0;color:var(--muted)}
.parking-route-photo{margin:0;width:100%;display:flex;justify-content:center;align-items:center;background:var(--soft);padding:8px}
.parking-route-photo img{display:block;width:100%;height:auto;max-height:230px;object-fit:contain}
.parking-contact-area{margin-top:34px}
.parking-map-wrap{width:100%;max-width:none;padding:0}
@media(max-width:850px){.parking-guide-head{display:flex;align-items:flex-start;flex-direction:column}.parking-route-item{grid-template-columns:minmax(0,1fr) 210px;gap:22px}.parking-route-photo img{max-height:200px}}
@media(max-width:620px){.parking-route-item{grid-template-columns:1fr;gap:18px;padding:26px 0}.parking-route-photo{width:min(100%,420px);justify-self:center}.parking-route-photo img{max-height:none}.parking-movie-button{width:100%}}


/* v1.0.14 トップページ症状名バッジの表示復元 */
.symptom-preview{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-content:flex-start!important;align-items:flex-start!important;}
.symptom-preview>span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;min-width:82px!important;padding:9px 18px!important;border:1.5px solid var(--green)!important;border-radius:999px!important;background:#fff!important;color:var(--ink)!important;font-weight:600!important;line-height:1.4!important;white-space:nowrap!important;}
@media(max-width:850px){.symptom-preview{gap:10px!important}.symptom-preview>span{min-height:48px!important;min-width:76px!important;padding:8px 15px!important}}

/* v1.0.16: parking page text is managed in WordPress; theme adds photos/video only */
.parking-managed-content{max-width:1080px}
.parking-managed-content .parking-editor-toolbar{margin-top:34px}
.parking-managed-content .parking-route-list{margin-top:0}
.parking-route-text>strong:first-child,
.parking-route-text>p:first-child>strong:first-child{display:block;margin:0 0 10px;font-size:20px;color:var(--green)}
.parking-route-text p{margin:8px 0 0;color:var(--muted)}
.parking-route-photo-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
.parking-route-photo-group .parking-route-photo{height:100%}
.parking-route-photo-group .parking-route-photo img{max-height:220px}
.parking-extra-section{padding-top:0}
@media(max-width:620px){.parking-route-photo-group{grid-template-columns:1fr}.parking-route-photo-group .parking-route-photo img{max-height:none}}


/* v1.0.17: parking route layout hotfix — prevent route copy from collapsing into a one-character column */
.parking-page .parking-managed-content{
  width:100%!important;
  max-width:1160px!important;
  min-width:0!important;
}
.parking-page .parking-managed-content > ol,
.parking-page .parking-managed-content ol.parking-route-list{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:30px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.parking-page .parking-route-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,280px)!important;
  gap:34px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:30px 0!important;
  margin:0!important;
}
.parking-page .parking-route-copy{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.parking-page .parking-route-number{
  display:block!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  white-space:nowrap!important;
}
.parking-page .parking-route-text{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
}
.parking-page .parking-route-text strong,
.parking-page .parking-route-text p,
.parking-page .parking-route-text h3{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  white-space:normal!important;
}
.parking-page .parking-route-text>strong:first-child,
.parking-page .parking-route-text>p:first-child>strong:first-child{
  display:block!important;
  margin:0 0 10px!important;
  font-size:20px!important;
  line-height:1.6!important;
}
.parking-page .parking-route-text p{
  margin:8px 0 0!important;
  line-height:1.9!important;
}
.parking-page .parking-route-photo,
.parking-page .parking-route-photo-group{
  width:100%!important;
  min-width:0!important;
  max-width:280px!important;
  justify-self:end!important;
}
.parking-page .parking-route-photo-group{
  grid-template-columns:1fr 1fr!important;
}
@media (max-width:1000px){
  .parking-page .parking-route-item{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .parking-page .parking-route-photo,
  .parking-page .parking-route-photo-group{
    width:min(100%,520px)!important;
    max-width:520px!important;
    justify-self:start!important;
    margin-left:60px!important;
  }
}
@media (max-width:620px){
  .parking-page .parking-route-copy{gap:12px!important;}
  .parking-page .parking-route-number{flex-basis:34px!important;width:34px!important;min-width:34px!important;}
  .parking-page .parking-route-photo,
  .parking-page .parking-route-photo-group{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
  }
  .parking-page .parking-route-photo-group{grid-template-columns:1fr!important;}
}

/* v1.0.18 駐車場：JSで本文を組み替えず，安定した4段階レイアウトを直接表示 */
.parking-page .parking-guide-wrap{max-width:1080px!important;width:100%!important}
.parking-page .parking-guide-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;margin:34px 0 28px!important}
.parking-page .parking-guide-head>div{min-width:0!important}
.parking-page .parking-guide-head h2{margin-bottom:8px!important}
.parking-page .parking-guide-head p{margin:0!important}
.parking-page .parking-route-list{display:block!important;width:100%!important;margin:0!important;padding:0!important;border-top:1px solid var(--line)!important}
.parking-page .parking-route-item{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(240px,300px)!important;gap:36px!important;align-items:center!important;width:100%!important;padding:30px 0!important;margin:0!important;border-bottom:1px solid var(--line)!important}
.parking-page .parking-route-copy{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;width:100%!important;min-width:0!important}
.parking-page .parking-route-number{display:block!important;width:48px!important;color:var(--accent)!important;font-size:18px!important;line-height:1.6!important;white-space:nowrap!important}
.parking-page .parking-route-text{display:block!important;width:100%!important;min-width:0!important;writing-mode:horizontal-tb!important}
.parking-page .parking-route-text h3{margin:0 0 10px!important;font-size:20px!important;line-height:1.6!important;writing-mode:horizontal-tb!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
.parking-page .parking-route-text p{margin:0!important;color:var(--muted)!important;line-height:1.9!important;writing-mode:horizontal-tb!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
.parking-page .parking-route-photo{margin:0!important;width:100%!important;max-width:300px!important;justify-self:end!important;background:var(--soft)!important;padding:8px!important}
.parking-page .parking-route-photo img{display:block!important;width:100%!important;height:auto!important;max-height:260px!important;object-fit:contain!important}
.parking-page .parking-route-photo-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;max-width:300px!important;justify-self:end!important}
.parking-page .parking-route-photo-group .parking-route-photo{max-width:none!important;height:100%!important}
.parking-page .parking-route-photo-group .parking-route-photo img{max-height:220px!important}
.parking-page .parking-guide-movie{width:min(900px,100%)!important;margin:0 auto 38px!important;background:#000!important}
.parking-page .parking-guide-movie[hidden]{display:none!important}
.parking-page .parking-guide-video{display:block!important;width:100%!important;aspect-ratio:16/9!important;background:#000!important}
.parking-page .parking-map-wrap{width:100%!important;max-width:none!important;padding:0!important}
@media(max-width:850px){
  .parking-page .parking-guide-head{align-items:flex-start!important;flex-direction:column!important}
  .parking-page .parking-route-item{grid-template-columns:minmax(0,1fr) minmax(210px,260px)!important;gap:22px!important}
}
@media(max-width:700px){
  .parking-page .parking-route-item{grid-template-columns:1fr!important;gap:18px!important}
  .parking-page .parking-route-photo,.parking-page .parking-route-photo-group{width:min(100%,520px)!important;max-width:520px!important;justify-self:center!important}
  .parking-page .parking-route-photo img{max-height:none!important}
  .parking-page .parking-movie-button{width:100%!important}
}
@media(max-width:480px){
  .parking-page .parking-route-copy{grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important}
  .parking-page .parking-route-number{width:38px!important;font-size:16px!important}
  .parking-page .parking-route-photo-group{grid-template-columns:1fr!important}
}

/* PARKING_V2_STABLE_START */
/* 駐車場ページ安定版：既存の旧駐車場CSSから独立した専用クラス */
.parking-v2{width:100%;overflow-x:hidden}
.parking-v2 .parking-v2-wrap{width:min(100% - 48px,1080px);margin-inline:auto}
.parking-v2 .parking-v2-title{padding:46px 0 38px;border-bottom:1px solid var(--line)}
.parking-v2 .parking-v2-title .breadcrumb{margin-bottom:22px}
.parking-v2 .parking-v2-title h1{margin-bottom:18px}
.parking-v2 .parking-v2-title p{max-width:48em;margin:0;color:var(--muted)}
.parking-v2 .parking-v2-body{padding:64px 0}
.parking-v2 .parking-v2-intro{margin-bottom:34px}
.parking-v2 .parking-v2-intro h2{margin:0 0 18px}
.parking-v2 .parking-v2-intro p{max-width:54em;margin:0}
.parking-v2 .parking-v2-tools{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:34px 0 28px;padding-top:28px;border-top:1px solid var(--line)}
.parking-v2 .parking-v2-tools-copy{min-width:0}
.parking-v2 .parking-v2-tools h2{margin:0 0 8px;font-size:clamp(25px,2.6vw,32px)}
.parking-v2 .parking-v2-tools p{margin:0;color:var(--muted)}
.parking-v2 .parking-v2-movie-button{flex:0 0 auto;cursor:pointer}
.parking-v2 .parking-v2-movie{width:min(900px,100%);margin:0 auto 38px;background:#000;border-radius:3px;overflow:hidden}
.parking-v2 .parking-v2-movie[hidden]{display:none!important}
.parking-v2 .parking-v2-video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.parking-v2 .parking-v2-steps{border-top:1px solid var(--line)}
.parking-v2 .parking-v2-step{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:center;width:100%;padding:34px 0;border-bottom:1px solid var(--line)}
.parking-v2 .parking-v2-copy{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-items:start;min-width:0;width:100%}
.parking-v2 .parking-v2-number{display:block;width:48px;color:var(--accent);font-size:18px;line-height:1.65;white-space:nowrap}
.parking-v2 .parking-v2-text{min-width:0;width:100%;writing-mode:horizontal-tb!important;text-orientation:mixed!important}
.parking-v2 .parking-v2-text h3{margin:0 0 10px;font-size:20px;line-height:1.6;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}
.parking-v2 .parking-v2-text p{margin:0;color:var(--muted);line-height:1.9;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}
.parking-v2 .parking-v2-photo{position:relative;margin:0;width:100%;max-width:320px;justify-self:end;background:var(--soft);padding:10px;border-radius:3px}
.parking-v2 .parking-v2-photo img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;margin:0 auto}
.parking-v2 .parking-v2-zoom-button{position:absolute;right:16px;bottom:16px;z-index:3;display:grid;place-items:center;width:46px;height:46px;padding:0;border:2px solid #fff;border-radius:50%;background:rgba(21,76,59,.94);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.28);cursor:pointer;transition:transform .16s ease,background .16s ease}
.parking-v2 .parking-v2-zoom-button:hover,.parking-v2 .parking-v2-zoom-button:focus-visible{background:#0f3c2f;transform:scale(1.06);outline:3px solid rgba(21,76,59,.22);outline-offset:2px}
.parking-v2 .parking-v2-zoom-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
@media(max-width:520px){.parking-v2 .parking-v2-zoom-button{right:14px;bottom:14px;width:44px;height:44px}}
.parking-v2 .parking-v2-photo-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:320px;justify-self:end}
.parking-v2 .parking-v2-photo-group .parking-v2-photo{max-width:none;height:100%;padding:7px}
.parking-v2 .parking-v2-photo-group .parking-v2-photo img{max-height:230px}
.parking-v2 .parking-v2-contact{margin-top:36px;padding-top:4px}
.parking-v2 .parking-v2-contact p{max-width:54em}
.parking-v2 .parking-v2-map{margin:24px 0 32px}
.parking-v2 .parking-v2-map iframe{display:block;width:100%;height:420px;border:0}
.parking-v2 .parking-v2-booking{padding:0 0 76px}
.parking-v2 .parking-v2-booking .booking-panel{margin-top:0}
@media(max-width:900px){
  .parking-v2 .parking-v2-step{grid-template-columns:minmax(0,1fr) 260px;gap:28px}
  .parking-v2 .parking-v2-photo,.parking-v2 .parking-v2-photo-group{max-width:260px}
}
@media(max-width:720px){
  .parking-v2 .parking-v2-wrap{width:min(100% - 40px,1080px)}
  .parking-v2 .parking-v2-tools{align-items:flex-start;flex-direction:column}
  .parking-v2 .parking-v2-movie-button{width:100%}
  .parking-v2 .parking-v2-step{grid-template-columns:1fr;gap:20px;padding:28px 0}
  .parking-v2 .parking-v2-photo,.parking-v2 .parking-v2-photo-group{width:min(100%,520px);max-width:520px;justify-self:center}
  .parking-v2 .parking-v2-photo img{max-height:none}
}
@media(max-width:480px){
  .parking-v2 .parking-v2-wrap{width:min(100% - 32px,1080px)}
  .parking-v2 .parking-v2-copy{grid-template-columns:36px minmax(0,1fr);gap:10px}
  .parking-v2 .parking-v2-number{width:36px;font-size:16px}
  .parking-v2 .parking-v2-text h3{font-size:18px}
  .parking-v2 .parking-v2-photo-group{grid-template-columns:1fr}
  .parking-v2 .parking-v2-map iframe{height:360px}
}
/* PARKING_V2_STABLE_END */

/* Static HTML navigation compatibility */
@media (min-width:851px){.site-header .nav{gap:25px;justify-content:flex-end}}
@media (min-width:851px) and (max-width:1050px){.site-header .nav{gap:15px}}
@media (max-width:850px){.site-header .nav{gap:0}}
