/* The navigation is a roof over the page; the balloon belongs to its destination. */
:root{--rail:0px;--header-height:78px}
html{scroll-padding-top:96px}body{font-family:'Noto Sans JP',sans-serif;font-weight:400}main{margin-right:0!important}main>section{scroll-margin-top:0}
main h1,main h2,main h3{font-family:'Noto Sans JP',sans-serif;font-weight:500;word-break:normal;line-break:strict;overflow-wrap:normal}main p{word-break:normal;line-break:strict;overflow-wrap:break-word}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #587554;outline-offset:5px}
.rail{position:fixed;inset:0 0 auto;z-index:30;width:100%;height:var(--header-height);padding:0 40px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border:0;background:transparent;color:#283b31;transition:background .24s,color .24s,box-shadow .24s}
.rail.is-scrolled{background:var(--rail-surface,#fff);color:var(--rail-ink,#263c33);box-shadow:0 1px 0 #263c3310}
.rail-brand{font:28px/1 Georgia,serif;letter-spacing:.09em;display:flex;gap:.26em;align-items:center;margin:0}.rail-brand span{display:inline;font-size:inherit;line-height:inherit}
.rail-navigation{display:flex;align-items:center;gap:38px;margin-left:auto;margin-right:34px}.rail-navigation a{font-size:12px;position:relative;padding:12px 0}.rail-navigation a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.rail-navigation a:hover:after,.rail-navigation a[aria-current]:after{transform:scaleX(1)}
.rail #menu-open{width:52px;height:52px;padding:0;margin:0;gap:6px;border:1px solid #68816a50;flex-shrink:0;transform:none}.rail #menu-open>span{width:21px;height:1px;margin:0}.rail #menu-open small{font-size:9px;letter-spacing:.02em}.rail #menu-open:hover{background:#68816a13;transform:none}
.hero{height:100svh;min-height:640px}.hero-identity{font-family:Georgia,serif}.hero-identity small{font-family:'Noto Sans JP',sans-serif;font-weight:400}
.floating-consult{z-index:25;width:110px;right:22px;bottom:20px;transition:opacity .2s,visibility .2s}.floating-consult>svg{width:76px;height:102px;animation:none;transition:transform .35s}.floating-consult .inquiry-label{font-size:12px;padding:10px 8px;gap:4px;box-shadow:0 3px 12px #263c3314}.floating-consult .mail-icon{width:15px!important;height:15px!important}.floating-consult:hover>svg{transform:translateY(-5px) rotate(2deg)}
#menu-dialog{border-radius:0}.menu-directory h2{font-family:inherit;font-weight:400}.menu-directory nav a>span{font-family:inherit;font-weight:500;line-height:1.6}.menu-directory nav small{font-family:inherit;font-weight:400}.menu-landscape p{font-family:inherit;font-weight:400}.menu-header .close-dialog{font-size:12px}.menu-inquiry{transition:background .2s,transform .2s}.menu-inquiry:hover{transform:translateY(-2px)}
#choice-dialog,#memo-dialog{border-radius:3px 28px 3px 3px;box-shadow:0 22px 80px #21392e24}#choice-dialog h2,#memo-dialog h2{font-family:inherit;font-weight:500;font-size:23px;line-height:1.6}.choice-option{transition:background .18s,border-color .18s}.choice-option:hover{background:#f1f3ec}.choice-option:has(input:focus-visible){outline:2px solid #587554;outline-offset:3px}.primary-button{transition:background .2s,transform .2s}.primary-button:hover{transform:translateY(-2px)}
main>footer{padding:60px max(7%,24px) 36px;display:flex;flex-wrap:wrap;align-items:center;gap:22px;background:#f6f4ec}main>footer>span{font:30px Georgia,serif;letter-spacing:.08em}main>footer>p{font-size:12px;margin:0}main>footer>small{margin-left:auto;font-size:10px}
@media(min-width:1600px){.rail{padding-inline:5%}}
@media(max-width:800px){:root{--header-height:68px}.rail{padding:0 22px}.rail-brand{font-size:23px}.rail-navigation{gap:22px;margin-right:24px}.rail-navigation a{font-size:11px}.rail #menu-open{height:46px;width:46px}.hero{min-height:580px}.floating-consult{right:14px;width:101px;bottom:14px}.floating-consult>svg{width:64px;height:86px}}
@media(max-width:600px){html{scroll-padding-top:84px}main>section{scroll-margin-top:0}.rail-navigation{display:none}.rail{padding:0 18px}.hero{min-height:560px}.hero-identity{font-size:clamp(34px,9vw,52px)}.hero-identity small{font-size:13px;letter-spacing:.07em;white-space:nowrap}.floating-consult{width:99px;right:10px;bottom:12px}.floating-consult .inquiry-label{font-size:11px;padding:9px 6px}main>footer{gap:16px}main>footer>small{margin-left:0;width:100%}#choice-dialog h2,#memo-dialog h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.floating-consult:hover>svg,.primary-button:hover,.menu-inquiry:hover{transform:none}.rail,.rail-navigation a:after,.floating-consult>svg,.choice-option{transition:none}}

.desk-v3{padding-bottom:130px}.desk-v3-edge{position:absolute;bottom:-1px;left:0;width:100%;height:75px}.journey-v3:before{display:none}

.dv-paper footer{display:flex;padding:15px 0 0;margin:22px 0 0;gap:10px;background:transparent;border-top:1px solid #d5dccf;text-align:left}.dv-paper footer>span{font:11px/1.9 "Noto Sans JP",sans-serif;letter-spacing:0}.dv-paper footer>svg{width:18px;height:18px;flex-shrink:0}

.floating-consult{top:auto;left:auto;height:auto;display:block;gap:0}.floating-consult>svg{display:block;margin:auto}.hero{margin-top:0}@media(max-width:600px){.hero-identity small{color:#263c33;text-shadow:0 1px 5px #fff9}.floating-consult .mail-icon{display:block}}

.dv-panel{scroll-margin-top:0}.dv-panel:focus{outline:none}.dv-panel:focus-visible{outline:2px solid #587554;outline-offset:8px}

.business-info{width:min(1120px,88%);margin:68px auto 0;padding-top:34px;border-top:1px solid #d0d9c9;display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.business-info h3{font-size:21px;line-height:1.7}.business-info>div>p{font-size:12px;line-height:1.9;margin-top:16px}.business-info dl{margin:0}.business-info dl>div{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #e5e9df;font-size:14px}.business-info dt{color:#64715e;font-size:12px}.business-info dd{margin:0;min-width:0;line-height:1.9}.business-info dd>span{display:block;font-size:11px;color:#64715e}.business-info dd>small{display:block;font-size:11px;margin-top:6px;max-width:390px}.business-info dd>a{border-bottom:1px solid #acb8a4;padding-bottom:2px}.business-info dd>a:hover{color:#567343}#email-draft{margin-top:22px;display:flex;justify-content:space-between;font-size:14px;padding:16px 20px}.email-preparation{font-size:11px;line-height:1.9;margin:12px 0 20px}#memo-dialog #copy{font-size:13px;background:transparent;color:#365b46;border:1px solid #b6c5ae;padding:12px 18px}@media(max-width:700px){.business-info{width:auto;margin:45px 24px 0;display:block;padding-top:25px}.business-info h3{font-size:19px}.business-info dl{margin-top:20px}.business-info dl>div{gap:12px;font-size:13px;grid-template-columns:48px 1fr}.business-info dd>small{font-size:10px}}
/* Correspondence: the address and the next action stay visible. */
.contact-direct{padding:0 0 28px;margin-bottom:32px;border-bottom:1px solid #89978355}.contact-direct-label{display:block;font-size:12px;color:#627260}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:clamp(20px,2.1vw,29px);letter-spacing:.015em;padding:12px 0;text-decoration:none}.contact-email .arrow{width:24px;flex:none}.contact-direct-tools{display:flex;gap:24px;align-items:center;font-size:12px}.contact-direct-tools button,.letter-back,.letter-fallback button{border:0;background:none;padding:10px 0;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.contact-direct-tools a{padding:10px 0;min-height:44px}.contact-direct #address-status{margin:0;font-size:12px;color:#496443}.contact-direct #address-status:empty{display:none}
#memo-dialog.correspondence{width:min(720px,calc(100% - 40px));max-height:calc(100svh - 40px);padding:28px 40px 30px;border:1px solid #cbd1c5;border-radius:3px;background:#fcfcf8;color:#283d31;box-shadow:0 24px 100px #14221930;overflow:auto;animation:letter-arrive .25s ease-out}.letter-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid #cbd1c5;font-size:11px;color:#657460}#memo-dialog .letter-header .close-dialog{position:static;display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;font-size:12px}#memo-dialog h2{font-size:26px;font-weight:500;line-height:1.65;margin:26px 0 12px}#memo-dialog .letter-intro{font-size:13px;line-height:1.9;margin:0 0 22px}.letter-address{margin:0 0 24px;border-top:1px solid #d8ddd1}.letter-address>div{display:grid;grid-template-columns:50px 1fr;padding:13px 0;border-bottom:1px solid #d8ddd1;gap:10px;font-size:13px}.letter-address dt{color:#6e7a67}.letter-address dd{margin:0;overflow-wrap:anywhere}#memo-dialog label{font-size:13px;font-weight:500}#memo-dialog label small{font-size:11px;color:#6e7a67;margin-left:12px;font-weight:400}#memo-dialog #memo-output{width:100%;box-sizing:border-box;display:block;margin:10px 0 20px;border:1px solid #bdc8b4;background:#fff;padding:16px;resize:vertical;min-height:190px;font:13px/1.9 'Noto Sans JP',sans-serif;border-radius:2px}.letter-actions{display:flex;align-items:center;gap:24px}#memo-dialog .letter-actions .primary-button{display:flex;align-items:center;gap:12px;min-height:56px;margin:0;padding:14px 20px;font-size:13px;white-space:normal}.letter-actions .mail-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.letter-back{font-size:12px;flex:none}#memo-dialog .email-preparation{font-size:11px;line-height:1.8;margin:13px 0 23px;color:#66725e}.letter-fallback{border-top:1px solid #d8ddd1;padding-top:12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:11px}.letter-fallback button{font-size:12px}#memo-dialog #copy-status{margin:0;width:100%;font-size:12px}#memo-dialog #copy-status:empty{display:none}@keyframes letter-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:650px){#memo-dialog.correspondence{padding:16px 22px 24px;width:calc(100% - 24px);max-height:calc(100svh - 24px)}.letter-header{padding-bottom:10px}#memo-dialog h2{font-size:22px;margin-top:20px}.letter-actions{align-items:stretch;flex-direction:column;gap:2px}.letter-actions .letter-back{align-self:center}#memo-dialog .letter-actions .primary-button{justify-content:space-between}.contact-direct-tools{gap:20px}.contact-email{font-size:22px}}@media(prefers-reduced-motion:reduce){#memo-dialog.correspondence{animation:none}}
#memo-dialog .letter-actions .letter-back{position:static;inset:auto;transform:none;margin:0;background:none;border:0;color:inherit;padding:10px 0;min-height:44px}
