/* 採用したC案の配色と写真の構成を、全ページへ展開する。 */
.theme-c{--muted:#70675e}.environment{--muted:#5b707b}.section-title em,.residents .section-title em{color:var(--muted)}
.brand{width:230px}.brand span{display:block;font-size:11px;line-height:1.6;letter-spacing:.06em;margin-top:8px}.desktop-nav{gap:24px}.desktop-nav a{min-height:44px;display:flex;align-items:center}.desktop-nav a[aria-current=page]{border-bottom-color:currentColor}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
figcaption span{color:#5b707b}.dialog-close{min-height:44px}.text-link{display:inline-block;padding:10px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.page-masthead{margin:0 24px;padding:30px max(4vw,calc((100vw - 1168px)/2 - 24px)) 62px;background:#efded0}.breadcrumb{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;line-height:1.8;margin-bottom:54px}.breadcrumb a{padding:10px 0;text-decoration:underline;text-underline-offset:4px}.breadcrumb span{padding:10px 0}.page-en{font-family:Georgia,serif;font-size:15px;letter-spacing:.12em;margin:0 0 12px;color:#706052}.page-masthead h1{font-size:clamp(30px,4.2vw,60px);letter-spacing:.04em;overflow-wrap:anywhere}.subpage-content{max-width:1312px;margin:0 auto;padding:76px clamp(24px,6vw,72px) 100px}.page-lead{font-size:16px;line-height:2.1;margin:0 0 50px}
.document-list{border-top:1px solid var(--line);margin-bottom:34px}.document-card{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:28px;padding:34px 0;border-bottom:1px solid var(--line)}.document-number{color:#ded3c7;font-size:66px;font-weight:300;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.document-card p{font-size:12px;margin:0 0 5px;color:var(--muted)}.document-card h2{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.7;margin:0 0 7px}.document-meta{font-size:12px;color:var(--muted)}.document-actions{display:flex;gap:12px}.document-actions a{display:flex;align-items:center;gap:28px;padding:13px 18px;min-height:48px;border:1px solid var(--accent);font-size:13px;color:var(--accent)}.document-actions a:first-child{background:var(--accent);color:var(--paper)}.document-actions a:hover{background:#456570;color:#fff}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:36px}.contact-option{background:#eef4f6;padding:38px;min-width:0}.contact-phone{background:#faedcf}.contact-label{font-size:13px;margin:0 0 28px;color:#70675e}.contact-option h2{font-family:var(--serif);font-size:28px;line-height:1.8;font-weight:500;margin:0 0 20px}.contact-option p:not(.contact-label){font-size:14px;line-height:2.1;margin:18px 0}.telephone{display:inline-block;font-family:var(--sans);font-size:clamp(26px,3vw,38px);line-height:1.6;letter-spacing:.015em;font-variant-numeric:tabular-nums;padding:6px 0;border-bottom:1px solid #c8bfae}.contact-option .link{margin-top:14px}.contact-option .text-link{display:block;width:fit-content;margin-top:14px}.related-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:44px}.related-links a{min-height:44px;display:flex;align-items:center;font-size:14px;text-decoration:underline;text-underline-offset:6px}
.policy-content{max-width:1040px;padding-top:58px}.policy-content h2{font-size:25px;font-family:var(--serif);font-weight:500;line-height:1.8;margin:44px 0 20px}.policy-content p,.policy-content li{font-size:15px;line-height:2.2;overflow-wrap:anywhere}.policy-content p{margin:0 0 22px}.policy-content a{display:inline-block;padding:8px 0;color:var(--accent);text-decoration:underline;text-underline-offset:5px}.policy-content ol,.policy-content ul{padding-left:1.6em}
.access{padding-block:100px 110px}.access .section-heading{margin-bottom:50px}.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.access-layout>img{margin-top:12px;aspect-ratio:940/627;object-fit:cover;box-shadow:20px 20px 0 #efded0}.address{font-size:17px;line-height:1.9;margin:0 0 14px}.route{border-top:1px solid var(--line);margin-top:27px;padding-top:20px}.route h3{font-size:17px;line-height:1.9;font-weight:500;margin:0 0 9px}.route p{font-size:14px;line-height:2.2;margin:0}.access .link{margin-top:30px}.inquiry-banner{margin:0 24px 24px;padding:42px max(4vw,calc((100vw - 1168px)/2 - 24px));background:#f4e9e6;display:flex;align-items:center;justify-content:space-between;gap:30px}.inquiry-banner p{font-family:Georgia,serif;font-size:13px;letter-spacing:.12em;margin:0 0 6px;color:var(--muted)}.inquiry-banner h2{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.7;margin:0}.footer-identity p{font-size:14px}.footer-identity .footer-name{font-size:16px}.footer-identity .footer-phone{display:inline-block;font-size:22px;letter-spacing:.04em;min-height:44px}.footer-nav{font-size:13px;gap:4px 28px}.footer-nav a{min-height:44px;display:flex;align-items:center}.footer-corporation{max-width:1168px;margin:40px auto 0;border-top:1px solid #dbcec6;padding-top:24px;font-size:12px;line-height:2}.footer-corporation p{margin:4px 0}.footer-corporation a{text-decoration:underline;text-underline-offset:4px}.copyright{margin-top:24px;font-size:11px}.back-to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;display:grid;place-items:center;background:#fffaf2;border:1px solid #c5b4a6;color:#514941;border-radius:50%;z-index:4;font-size:22px;line-height:1;box-shadow:0 3px 14px #51494115}
@media(max-width:1120px){.desktop-nav{display:none}.mobile-menu{display:block;font-size:13px}.mobile-menu summary{cursor:pointer;list-style:none;padding:10px 0;border-bottom:1px solid var(--ink);min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] nav{position:absolute;top:103px;left:0;right:0;padding:18px 4vw;background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:6px 24px;box-shadow:0 12px 20px #5149410a}.mobile-menu nav a{padding:10px 0;min-height:44px}.mobile-menu nav .contact-link{padding:10px 16px}.document-card{grid-template-columns:68px 1fr;gap:24px}.document-actions{grid-column:2}.access-layout{gap:36px}.contact-option{padding:28px}}
@media(max-width:800px){.site-header{height:100px}.mobile-menu[open] nav{top:99px}.brand{width:205px}.contact-options{grid-template-columns:1fr}.access{padding-block:74px 86px}.access-layout{grid-template-columns:1fr;gap:38px}.access-layout>img{max-width:700px;box-shadow:14px 14px 0 #efded0}.access .section-heading{margin-bottom:32px}.page-masthead{margin-inline:16px;padding:24px 32px 42px}.breadcrumb{margin-bottom:36px}.subpage-content{padding-block:52px 68px}.inquiry-banner{margin-inline:16px}.footer-top{gap:36px}.document-card h2{font-size:22px}}
@media(max-width:680px){.site-header{height:98px;padding-inline:24px;gap:18px}.brand{width:180px}.brand span{font-size:10px;margin-top:6px;letter-spacing:0}.mobile-menu[open] nav{top:97px;grid-template-columns:1fr;padding:16px 24px;gap:2px}.mobile-menu{font-size:12px}.hero-address{font-size:11px}.page-masthead{margin-inline:12px;padding:16px 24px 36px}.breadcrumb{font-size:11px;gap:10px;margin-bottom:28px}.page-en{font-size:12px}.page-lead{font-size:14px;line-height:2.1;margin-bottom:32px}.document-card{grid-template-columns:49px 1fr;gap:16px;padding-block:27px}.document-number{font-size:52px;align-self:start}.document-card h2{font-size:20px}.document-card p{font-size:11px}.document-actions{gap:8px;flex-wrap:wrap}.document-actions a{gap:18px;padding:11px 12px;font-size:12px}.contact-option{padding:27px 24px}.contact-option h2{font-size:24px}.contact-label{margin-bottom:22px}.telephone{font-size:30px}.contact-option .link{font-size:13px;gap:24px;padding-inline:20px}.policy-content p,.policy-content li{font-size:14px}.policy-content h2{font-size:22px}.access{padding-block:58px 68px}.address{font-size:16px}.route h3{font-size:16px}.inquiry-banner{margin:0 12px 12px;padding:28px 24px 32px;display:block}.inquiry-banner h2{font-size:28px}.inquiry-banner .link{margin-top:24px;font-size:13px;gap:30px}.footer-nav{font-size:12px}.footer-identity p{font-size:12px}.footer-identity .footer-name{font-size:14px}.footer-corporation{padding-right:30px}.back-to-top{width:44px;height:44px;bottom:14px;right:14px}.related-links{display:grid;gap:4px;margin-top:28px}}
.page-masthead h1{text-wrap:balance}
@media(min-width:801px){.intro .section-title{font-size:clamp(23px,2.1vw,30px);text-wrap:balance}}
