:root{--navy:#1f3a5f;--navy2:#14263f;--ink:#26303b;--sub:#5d6873;--tint:#eef2f6;--tint2:#f6f8fb;--gold:#a98945;--line:#cdd6e0;--warn:#fff8e6;--serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;color:var(--ink);line-height:1.9;font-size:15px;background:#fff;word-break:auto-phrase}
a{color:var(--navy)}img{max-width:100%}
.band{background:var(--navy2);color:#dfe6ef;text-align:center;font-size:12px;padding:6px 12px}.band a{color:#f0dfa9;margin-left:8px;font-weight:700}
.hd{background:#fff}.hd__in{max-width:1100px;margin:0 auto;padding:18px 24px;display:grid;grid-template-columns:1fr 250px 330px;gap:20px;align-items:center}
.hd__lead{margin:0;font-size:12px;color:var(--sub)}.hd__name{display:block;font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:.06em;color:var(--ink);text-decoration:none;line-height:1.4}.hd__addr{margin:2px 0 0;font-size:12px;color:var(--sub)}
.hd__time{border:1px solid var(--line);padding:8px 12px;font-size:12px;line-height:1.6;text-align:center}.hd__time p{margin:0}
.hd__tel{text-align:right}.hd__telno{margin:0 0 6px;font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1.2;letter-spacing:.02em;white-space:nowrap}.hd__telno span,.sbox__tel span,.cta__tel span{font-family:sans-serif;font-size:12px;color:var(--ink);margin-right:8px;letter-spacing:0}
.mbtn{display:none;background:none;border:0;padding:10px;cursor:pointer;justify-self:end}.mbtn span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}
.gnav{background:var(--navy)}.gnav ul{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:flex}.gnav li{flex:1}.gnav a{display:block;text-align:center;padding:12px 6px;color:#fff;text-decoration:none;font-size:13.5px;letter-spacing:.04em;border-left:1px solid rgba(255,255,255,.18)}.gnav li:last-child a{border-right:1px solid rgba(255,255,255,.18)}.gnav a:hover,.gnav a.on{background:#2d4d78}
.layout{max-width:1100px;margin:0 auto;padding:30px 24px 64px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px}.layout .main{order:2}.layout .side{order:1}
.main{min-width:0}
.crumb{font-size:12px;color:var(--sub);margin-bottom:14px}.crumb a{color:var(--sub)}
.h1{margin:0 0 14px;font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:.06em;color:var(--navy);padding-bottom:10px;border-bottom:3px double var(--navy);line-height:1.5}.h1--s{font-size:24px;border-bottom:0;padding-bottom:0}
.lead{font-size:16px;margin:0 0 18px}
.h2{display:flex;align-items:center;gap:16px;margin:0 0 24px;font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:.06em;color:var(--ink);text-align:center}.h2::before,.h2::after{content:"";flex:1;height:1px;background:var(--line)}.h2--l::before{display:none}.h2--l{justify-content:flex-start}
h3{margin:0 0 6px;font-family:var(--serif);font-weight:600;font-size:18px;color:var(--navy);line-height:1.6}
.blk{padding:34px 0}.blk--tint{background:var(--tint);margin:0 -24px;padding:34px 24px}
.hero{position:relative;margin:0 0 8px}.hero figure{margin:0}.hero .photo{aspect-ratio:21/9}.hero__t{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;background:rgba(20,38,63,.78);color:#fff;text-align:center}.hero__h{margin:0;font-family:var(--serif);font-size:30px;letter-spacing:.14em}.hero__s{margin:2px 0 0;font-size:14px;letter-spacing:.08em;color:#dfe6ef}
.photo{display:block;width:100%;height:auto;object-fit:cover}.wide{margin:22px 0 0}.wide .photo{aspect-ratio:21/9}
.intro{display:grid;grid-template-columns:1fr 200px;gap:28px;align-items:start}.intro__p{margin:0;text-align:center}.intro__p svg{width:100%;height:auto;border:1px solid var(--line)}.intro__p figcaption{font-size:12px;color:var(--sub);margin-top:6px}
.tags{list-style:none;margin:16px 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.tags li{border:1px solid var(--navy);font-size:13px;display:flex;align-items:stretch;background:#fff;line-height:1.6;padding-right:12px}.tags b{display:inline-block;background:var(--navy);color:#fff;padding:3px 12px;font-weight:600;margin-right:10px}
.btns{margin:18px 0 0;display:flex;gap:12px;flex-wrap:wrap}.btns.ctr{justify-content:center}
.btn{display:inline-block;padding:12px 28px;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.06em;border:1px solid var(--navy);text-align:center}.btn:hover{background:#2d4d78}.btn--s{padding:8px 16px;font-size:13px}.btn--ghost,.btn--w{background:#fff;color:var(--navy)}
.reason{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:center;padding:18px 0;border-bottom:1px dotted var(--line)}.reason--rev{grid-template-columns:280px 1fr}.reason--rev .reason__t{order:2}.reason figure{margin:0}.reason .photo{aspect-ratio:3/2}.reason__n{display:inline-block;margin:0 0 6px;background:var(--navy2);color:#fff;padding:2px 14px;font-size:13px;letter-spacing:.1em}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cards a{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);height:100%}.cards a:hover{border-color:var(--navy)}.cards .photo{aspect-ratio:3/2}.cards__c{display:block;background:var(--navy);color:#fff;font-family:var(--serif);font-size:17px;padding:8px 14px;letter-spacing:.06em}.cards__p{display:block;padding:12px 14px 16px;font-size:13.5px;color:#3c4752;line-height:1.8}
.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.steps b{display:block;background:var(--navy);color:#fff;text-align:center;font-size:12.5px;letter-spacing:.1em;padding:6px 0;height:max-content}.steps p{margin:0;color:#3c4752}
.qa details{background:#fff;border:1px solid var(--line);margin-bottom:8px}.qa summary{cursor:pointer;padding:14px 16px;font-weight:700;display:flex;gap:12px;color:var(--navy)}.qa summary b{font-family:var(--serif);color:var(--gold);min-width:28px}.qa p{margin:0;padding:0 16px 16px 56px;color:#3c4752}
.tw{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.tbl th,.tbl td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}.tbl thead th{background:var(--navy);color:#fff;font-weight:600}.tbl tbody th{background:var(--tint);width:30%;font-weight:600;color:var(--navy)}
.bul{list-style:none;margin:8px 0;padding:0}.bul li{position:relative;padding:5px 0 5px 20px}.bul li::before{content:"";position:absolute;left:3px;top:1em;width:7px;height:7px;background:var(--gold)}
.note{background:var(--warn);border-left:4px solid #e8c15a;padding:14px 20px}.note b{font-family:var(--serif);display:block;margin-bottom:4px;color:var(--navy)}.note .bul{margin:4px 0 0}
.small{font-size:12.5px;color:var(--sub)}.cap{font-size:12px;color:var(--sub);text-align:center}.q{font-family:var(--serif);font-size:21px;line-height:1.9;color:var(--navy);margin:0 0 14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.two figure{margin:0}.two .photo{aspect-ratio:3/2}.map{max-width:420px}
.grid3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid3 li{background:#fff;border-top:3px solid var(--navy);padding:16px 18px}.grid3 p{margin:0;font-size:14px}
.cta{border:2px solid var(--line);padding:26px;text-align:center;background:#fff}.cta__h{margin:0 0 12px;font-family:var(--serif);font-size:21px;color:var(--navy);padding-bottom:8px;border-bottom:1px solid var(--line)}.cta__tel{margin:0 0 6px;font-family:var(--serif);font-size:34px;color:var(--gold);line-height:1.3}.cta__tel span{display:block;font-size:12.5px;margin:0 0 2px}.cta__tel--l{text-align:left}.cta__tel--l span{display:inline}.cta__s{margin:0 0 14px;font-size:13px;color:#3c4752}
.nl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.nl li{display:flex;gap:20px;padding:12px 4px;border-bottom:1px solid var(--line)}.nl time{color:var(--gold);font-family:var(--serif);white-space:nowrap}
.article{font-size:15.5px}.article p{margin:0 0 1.3em}.more a{font-weight:700}
.form{display:grid;gap:12px}.form label{display:grid;gap:4px;font-weight:600;font-size:13.5px}.form input,.form select,.form textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);background:#fff}.form .btn:disabled{opacity:.55;cursor:not-allowed}
.side{min-width:0}.sbox{border:1px solid var(--line);margin-bottom:18px;background:#fff}.sbox__h{margin:0;padding:9px 12px;text-align:center;font-family:var(--serif);font-size:15px;color:var(--navy);border-bottom:1px solid var(--line);background:var(--tint2)}.sbox--c{padding-bottom:14px;text-align:center}.sbox--c .sbox__h{margin-bottom:10px}.sbox__tel{margin:0;font-family:var(--serif);font-size:25px;color:var(--gold);line-height:1.3}.sbox__tel span{display:block;font-size:11.5px;margin:0}.sbox__s{margin:6px 10px 10px;font-size:12px;color:#3c4752;line-height:1.7}
.sbox__news,.sbox__nav{list-style:none;margin:0;padding:6px 12px}.sbox__news li{font-size:12.5px;padding:6px 0;border-bottom:1px dotted var(--line)}.sbox__news time{display:block;color:var(--gold);font-size:12px}.sbox__nav li{border-bottom:1px dotted var(--line)}.sbox__nav a{display:block;padding:7px 4px;font-size:13px;text-decoration:none}.sbox__nav a::before{content:"› ";color:var(--gold)}
.sbox__dl{margin:0;padding:8px 12px;font-size:12.5px}.sbox__dl dt{margin-top:8px;font-weight:700;color:var(--navy);background:var(--tint);padding:2px 8px}.sbox__dl dd{margin:4px 0 0 4px}
.float{position:fixed;right:0;bottom:90px;z-index:50;display:flex;flex-direction:column;gap:6px}.float a{display:block;background:var(--gold);color:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:10px 14px}.float a+a{background:var(--navy)}
.ft{background:var(--navy2);color:#cfd8e3;padding:30px 0;font-size:13px}.ft .wrap{max-width:1100px;margin:0 auto;padding:0 24px}.ft__name{font-family:var(--serif);font-size:19px;color:#fff;margin:0 0 4px}.ft__note{margin-top:16px;font-size:12px;color:#a9b6c6}.ft a{color:#f0dfa9}
@media(max-width:900px){.hd__in{grid-template-columns:1fr auto;gap:10px;padding:12px 20px}.hd__time,.hd__tel{display:none}.hd__name{font-size:21px}.mbtn{display:block}.gnav{display:none}.gnav.is-open{display:block}.gnav ul{flex-direction:column}.gnav a{border-left:0;border-bottom:1px solid rgba(255,255,255,.18);text-align:left;padding:12px 20px}.layout{grid-template-columns:1fr;padding:20px 20px 60px}.layout .main{order:1}.layout .side{order:2}.blk--tint{margin:0 -20px;padding:30px 20px}.hero .photo{aspect-ratio:3/2}.hero__h{font-size:22px}.intro,.reason,.reason--rev,.two{grid-template-columns:1fr}.reason--rev .reason__t{order:0}.cards,.grid3{grid-template-columns:1fr}.steps li{grid-template-columns:1fr;gap:6px}.steps b{width:90px}.tbl tbody th{width:38%}.float{bottom:20px}.h2{font-size:19px;gap:10px}.h1{font-size:23px}}

.photo--p{aspect-ratio:4/5;border:1px solid var(--line)}
.two .photo.photo--p,.intro__p .photo.photo--p{aspect-ratio:4/5;object-position:center top}.two .intro__p{max-width:300px}
