:root{--red:#c21f1f;--ink:#1a1a1a;--text:#3a3a3a;--sub:#767676;--line:#dedad4;--line-soft:#e8e5e0;--paper:#faf9f7;--paper-deep:#f3f1ec;--serif:"Zen Old Mincho",serif;--sans:"Zen Kaku Gothic New",sans-serif;--num:"Instrument Sans","Zen Kaku Gothic New",sans-serif}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{background:var(--paper);color:var(--text);font-family:var(--sans);font-feature-settings:"palt";letter-spacing:.03em;font-size:16px;line-height:2}img{max-width:100%;display:block}:focus-visible{outline-offset:3px;outline:2px solid #c21f1f99}.inner{max-width:1040px;margin:0 auto;padding:0 32px}.inner.narrow{max-width:840px}.inner.read{max-width:760px}.n{font-family:var(--num)}.header{z-index:10;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);background:#faf9f7e6;transition:box-shadow .3s;position:sticky;top:0}.header.is-scrolled{box-shadow:0 1px 12px #1a1a1a0f}.header-inner{align-items:center;gap:32px;max-width:1200px;margin:0 auto;padding:14px 32px;display:flex}.logo img{width:auto;height:32px}.nav{gap:26px;margin-left:auto;display:flex}.nav a{color:var(--ink);letter-spacing:.06em;font-size:14px;font-weight:500;text-decoration:none}.nav a:hover,.nav a.on{color:var(--red)}.head-phone{text-align:right}.head-phone .num{font-family:var(--num);color:var(--ink);font-size:16px;font-weight:600;line-height:1.3}.head-phone .cap{color:var(--sub);letter-spacing:.04em;font-size:11px}.head-btn{background:var(--red);color:#fff;letter-spacing:.06em;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .25s,transform .15s}.head-btn:hover{opacity:.85}.head-btn:active{transform:scale(.98)}.menu-btn{cursor:pointer;background:0 0;border:0;width:44px;height:44px;margin-left:auto;display:none;position:relative}.menu-btn span{background:var(--ink);width:22px;height:1.5px;transition:transform .25s,opacity .2s;position:absolute;left:11px}.menu-btn span:first-child{top:15px}.menu-btn span:nth-child(2){top:21.5px}.menu-btn span:nth-child(3){top:28px}.header.menu-open .menu-btn span:first-child{transform:translateY(6.5px)rotate(45deg)}.header.menu-open .menu-btn span:nth-child(2){opacity:0}.header.menu-open .menu-btn span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-nav{display:none}.crumb{color:var(--sub);padding:20px 0 0;font-size:12.5px}.crumb a{color:var(--sub);text-decoration:none}.crumb a:hover{color:var(--red)}.crumb span{color:var(--line);margin:0 8px}.page-head{padding:56px 0 0}.page-head .cat{color:var(--red);letter-spacing:.12em;font-size:12.5px;font-weight:700}.page-head h1{font-family:var(--serif);color:var(--ink);letter-spacing:.05em;border-bottom:1px solid var(--ink);margin-top:12px;padding-bottom:24px;font-size:clamp(26px,3.8vw,38px);font-weight:600;line-height:1.7}.ph{text-align:center;color:#8a857c;letter-spacing:.08em;background:#e9e5df;justify-content:center;align-items:center;font-size:11px;line-height:1.7;display:flex}.btn{letter-spacing:.08em;border-radius:999px;padding:15px 48px;font-size:14.5px;font-weight:700;text-decoration:none;transition:opacity .25s,background .25s,color .25s,transform .15s;display:inline-block}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{opacity:.85}.btn:active{transform:scale(.98)}.sec-h{font-family:var(--serif);color:var(--ink);letter-spacing:.05em;border-bottom:1px solid var(--ink);margin-top:80px;padding-bottom:12px;font-size:24px;font-weight:600}.link-rows{border-top:1px solid var(--ink);margin-top:80px}.link-rows a{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:1fr 30px;align-items:center;gap:16px;padding:22px 0;font-size:16px;font-weight:500;text-decoration:none;display:grid}.link-rows a:hover{color:var(--red)}.arw{width:30px;height:10px;color:var(--sub);flex:none;justify-self:end;transition:transform .25s,color .25s}a:hover .arw{color:var(--red);transform:translate(4px)}.cta-band{border-top:1px solid var(--line);text-align:center;margin-top:96px;padding:64px 0 88px}.cta-band h2{font-family:var(--serif);color:var(--ink);letter-spacing:.06em;font-size:24px;font-weight:600}.cta-band p{color:var(--sub);margin-top:8px;font-size:14.5px}.cta-band .btn{margin-top:28px}.footer{background:var(--ink);color:#fff;padding:80px 0 0}.footer-inner{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:48px;max-width:1120px;margin:0 auto;padding:0 32px 64px;display:grid}.f-name{font-family:var(--serif);letter-spacing:.12em;font-size:20px;font-weight:600}.f-addr{word-break:keep-all;color:#ffffffb3;margin-top:20px;font-size:13px;line-height:2.1}.f-col .t{letter-spacing:.14em;color:#ffffff73;border-bottom:1px solid #ffffff29;margin-bottom:14px;padding-bottom:14px;font-size:12px;font-weight:700}.f-col a{word-break:keep-all;color:#ffffffd9;padding:6px 0;font-size:14px;text-decoration:none;display:block}.f-col a:hover{color:#fff;text-underline-offset:5px;text-decoration:underline;text-decoration-color:var(--red)}.f-col .ext{color:#ffffff73;margin-left:6px;font-size:11px}.footer-bottom{border-top:1px solid #ffffff29}.fb-inner{color:#ffffff80;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1040px;margin:0 auto;padding:20px 32px;font-size:12px;display:flex}.fb-inner a{color:#ffffffb3;text-decoration:none}.fb-inner a:hover{color:#fff}@media (width<=900px){.nav,.head-phone{display:none}.menu-btn{display:block}.head-btn{padding:9px 18px;font-size:13px}.mobile-nav{background:var(--paper);border-bottom:1px solid var(--line);padding:8px 32px 24px;display:none;position:absolute;top:100%;left:0;right:0}.header.menu-open .mobile-nav{display:block}.mobile-nav a{border-bottom:1px solid var(--line-soft);color:var(--ink);letter-spacing:.04em;padding:14px 0;font-size:15px;font-weight:500;text-decoration:none;display:block}.mobile-nav a.on{color:var(--red)}.footer-inner{grid-template-columns:1fr 1fr;gap:40px 32px}.footer-inner>div:first-child{grid-column:1/-1}}@media (width<=560px){.inner{padding:0 20px}.header-inner{gap:16px;padding:12px 20px}.footer-inner{grid-template-columns:1fr;gap:32px;padding:0 20px 48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
