.contact-lead{max-width:var(--max);padding:clamp(40px, 7vh, 80px) var(--gutter) clamp(40px, 7vh, 80px);border-top:var(--rule);grid-template-columns:auto 1fr;align-items:center;gap:clamp(32px,6vw,80px);margin:0 auto;display:grid}.contact-lead__vert{writing-mode:vertical-rl;font-family:var(--serif-ja);letter-spacing:.5em;color:var(--ink);border-right:1px solid var(--moss);max-height:280px;padding-right:22px;font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:400;line-height:2.4}.contact-lead__words{max-width:540px}.contact-lead__eye{font-family:var(--serif-en);color:var(--moss-deep);letter-spacing:.24em;margin-bottom:18px;font-size:1rem;font-style:italic}.contact-lead__body{font-family:var(--serif-ja);letter-spacing:.1em;color:var(--ink);font-size:1rem;line-height:2.1}@media (width<=760px){.contact-lead{grid-template-columns:1fr;gap:32px}.contact-lead__vert{writing-mode:horizontal-tb;border-right:0;border-left:2px solid var(--gold);letter-spacing:.18em;max-height:none;padding-left:18px;padding-right:0}}.contact-grid{max-width:var(--max);padding:clamp(40px, 8vh, 96px) var(--gutter) clamp(80px, 12vh, 140px);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,64px);margin:0 auto;display:grid}@media (width<=980px){.contact-grid{grid-template-columns:1fr}}.contact-form{position:relative}.contact-form__head{border-bottom:1px solid color-mix(in srgb, var(--ink) 18%, transparent);margin-bottom:32px;padding-bottom:22px;position:relative}.contact-form__num,.contact-side__num{font-family:var(--serif-en);color:var(--gold);letter-spacing:.2em;margin-bottom:8px;font-size:1.1rem;font-style:italic;display:inline-block}.contact-form__h2{font-family:var(--serif-ja);letter-spacing:.22em;color:var(--ink);margin-bottom:12px;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:400}.contact-form__note{font-family:var(--serif-ja);color:var(--ink-soft);letter-spacing:.1em;font-size:.92rem;line-height:1.95}.contact-form__frame{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:var(--paper);box-shadow:0 1px 0 color-mix(in srgb, var(--gold) 40%, transparent);padding:clamp(8px,1vw,16px)}.contact-form__frame iframe{background:var(--paper);width:100%;display:block}.contact-side{position:sticky;top:100px}@media (width<=980px){.contact-side{position:static}}.contact-side__inner{background:var(--paper-deep);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);padding:clamp(28px,3vw,44px);position:relative}.contact-side__inner:before{content:"";background:var(--gold);width:56px;height:2px;position:absolute;top:0;left:0}.contact-side__head{margin-bottom:28px}.contact-side__h2{font-family:var(--serif-ja);letter-spacing:.2em;color:var(--ink);margin-bottom:8px;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400}.contact-side__sub{font-family:var(--serif-en);color:var(--moss-deep);letter-spacing:.22em;font-size:.9rem;font-style:italic}.contact-channels{flex-direction:column;gap:0;margin-bottom:28px;list-style:none;display:flex}.contact-channel{border-top:1px solid color-mix(in srgb, var(--ink) 14%, transparent);grid-template-columns:60px 1fr;align-items:baseline;gap:4px 16px;padding:18px 0;display:grid}.contact-channel:last-child{border-bottom:1px solid color-mix(in srgb, var(--ink) 14%, transparent)}.contact-channel__label{font-family:var(--serif-ja);letter-spacing:.28em;color:var(--moss-deep);grid-area:1/1/span 2;align-self:start;padding-top:4px;font-size:.78rem;font-weight:600}.contact-channel__main{font-family:var(--serif-ja);letter-spacing:.12em;color:var(--ink);border-bottom:1px solid #0000;grid-column:2;font-size:1.18rem;font-weight:400;transition:color .25s,border-color .25s}.contact-channel__main--addr{font-size:1rem;line-height:1.85}a.contact-channel__main:hover{color:var(--rouge);border-bottom-color:var(--rouge)}.contact-channel__note{font-family:var(--serif-en);color:var(--ink-soft);letter-spacing:.16em;grid-column:2;font-size:.85rem;font-style:italic}.contact-hours{border-top:1px solid color-mix(in srgb, var(--ink) 14%, transparent);grid-template-columns:60px 1fr;gap:4px 16px;margin-bottom:28px;padding-top:18px;display:grid}.contact-hours dt{font-family:var(--serif-ja);letter-spacing:.28em;color:var(--moss-deep);padding-top:4px;font-size:.78rem;font-weight:600}.contact-hours dd{font-family:var(--serif-ja);letter-spacing:.12em;color:var(--ink);font-size:1.05rem}.contact-hours dd small{color:var(--ink-soft);letter-spacing:.16em;margin-top:4px;font-size:.82rem;display:block}.contact-side__quiet{font-family:var(--serif-ja);letter-spacing:.18em;color:var(--ink-soft);text-align:center;border-top:1px solid color-mix(in srgb, var(--gold) 50%, transparent);padding-top:18px;font-size:.92rem;line-height:2}
