:root{--ink:#1f4f59;--body:#344e54;--line:#c5d4d6;--paper:#fbfcfb;--pale:#edf4f3;--button:#256874;scroll-behavior:smooth;scroll-padding-top:20px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}body.dialog-open{overflow:hidden}h1,h2,h3,p,figure,dl,dd{margin:0}a{color:inherit;text-underline-offset:5px}button,select,input{font:inherit}button{cursor:pointer}button,a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #9b641d;outline-offset:4px}.wrap{width:calc(100% - 96px);max-width:1248px;margin-inline:auto}.notice{text-align:center;font-size:12px;background:#e4edef;padding:6px 12px;color:#3c5860}.header{display:flex;align-items:center;gap:34px;padding-block:22px}.brand{text-decoration:none;font-weight:750;font-size:26px;letter-spacing:.08em;line-height:1.3;white-space:nowrap}.brand span{display:block;font-size:12px;font-weight:500;letter-spacing:.12em;margin-top:6px}.header nav{display:flex;gap:27px;font-size:13px;margin-left:auto}.header nav a{text-decoration:none}.button{border:1px solid var(--button);background:var(--button);color:white;padding:16px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;font-weight:700;text-decoration:none;border-radius:2px;line-height:1.6;min-height:54px}.button:hover{background:#184d58}.button span{font-size:23px;font-weight:400;line-height:1}.header-button{font-size:13px;padding:12px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:22px 50px;align-items:center;padding-top:26px;padding-bottom:35px}.target{font-weight:700;font-size:18px;margin-bottom:18px}.hero h1{font-size:49px;line-height:1.5;font-weight:750;letter-spacing:.01em;max-width:11em;text-wrap:pretty}.hero h1 span{display:inline-block}.lead{font-size:17px;line-height:1.9;font-weight:600;margin-top:22px}.actions{margin-top:30px;display:flex;align-items:flex-start;flex-direction:column;gap:15px}.actions>a{font-size:13px}.note{font-size:12px;line-height:1.9;color:#53696d;margin-top:16px}.hero-photo{position:relative;align-self:stretch;min-height:460px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}.hero-photo figcaption{position:absolute;bottom:0;right:0;background:#f9fbf5f2;padding:5px 10px;font-size:12px;line-height:1.6;color:#43565c}.quick-menu{grid-column:1/-1;display:grid;grid-template-columns:.8fr .75fr 1.4fr 1.2fr;align-items:center;gap:20px;border-block:1px solid var(--line);padding-block:17px;margin-top:14px}.quick-menu>span{font-size:14px;font-weight:700}.quick-menu button{background:transparent;border:0;border-bottom:1px solid var(--line);padding:9px 0;color:var(--ink);text-align:left;display:flex;justify-content:space-between;gap:10px;font-size:14px}.quick-menu button:hover{border-color:var(--ink)}.section{padding-block:74px}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:45px;margin-bottom:33px}h2{font-size:29px;line-height:1.6;letter-spacing:.02em;text-wrap:pretty}.section-top>p{font-size:14px;color:var(--body);max-width:30em}.menus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.menus article{display:flex;flex-direction:column}.menu-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--pale);margin-bottom:20px}.menus h3{font-size:23px;line-height:1.7}.menus p{font-size:14px;color:var(--body);margin-top:15px}.menus dl{margin:22px 0;font-size:13px;border-top:1px solid var(--line)}.menus dl>div{border-bottom:1px solid var(--line);padding:13px 0}.menus dt{font-weight:700}.menus dd{color:var(--body);margin-top:4px}.text-button{margin-top:auto;background:none;border:0;color:var(--ink);font-size:14px;font-weight:700;text-align:left;padding:10px 0;display:flex;justify-content:space-between;gap:10px;text-decoration:underline;text-underline-offset:5px}.estimate-section{background:var(--pale)}.conditions>div{display:grid;grid-template-columns:250px 1fr;gap:40px;padding:24px 0;border-bottom:1px solid var(--line);font-size:14px}.conditions>div:first-child{border-top:1px solid var(--line)}.conditions dt{font-size:17px;font-weight:700}.conditions dd{color:var(--body)}.flow{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.flow li{padding-top:15px;border-top:1px solid var(--line)}.flow li>span{font-size:20px;color:#57777e}.flow h3{font-size:19px;margin-top:11px}.flow p{font-size:14px;margin-top:10px;color:var(--body)}.consult-block{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:40px;padding:30px;background:var(--pale)}.consult-block h3{font-size:19px;line-height:1.7}.consult-block p{font-size:13px;margin-top:10px}.consult-block .button{flex-shrink:0}.faq{padding-top:0}.faq h2{margin-bottom:25px}details{border-top:1px solid var(--line);padding-block:18px}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700;font-size:15px}details p{font-size:14px;color:var(--body);margin-top:15px;max-width:65em}.about{padding-block:38px;background:#e4edef}.about h2{font-size:23px}.about p{font-size:13px;margin-top:15px;max-width:75em}.about a{display:inline-block;margin-top:18px;font-size:14px;font-weight:700}.footer{padding-block:34px;display:flex;align-items:baseline;justify-content:space-between;gap:35px;font-size:12px}.footer strong{font-size:19px}.footer p{margin-top:8px;color:var(--body)}.mobile-action{display:none}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:100}.skip:focus{top:12px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:40px;overflow-y:auto}dialog::backdrop{background:#112c36a6}dialog h2{font-size:25px;margin-right:20px}dialog>p{font-size:13px;color:var(--body);margin-block:15px 23px}.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:29px;color:var(--ink);width:36px;height:36px}form>label{display:block;font-weight:700;font-size:14px;margin:22px 0 8px}form>label span,legend span{font-size:12px;font-weight:400;margin-left:10px;color:#53696d}select{width:100%;min-height:48px;border:1px solid #8ca9ac;border-radius:2px;padding:10px 12px;background:white;color:var(--body);font-size:14px}fieldset{border:0;padding:0;margin:24px 0}legend{padding:0;font-size:14px;font-weight:700}fieldset label{font-size:13px;display:flex;align-items:flex-start;gap:9px;margin:12px 0;color:var(--body)}fieldset input{margin:6px 0 0;accent-color:var(--button);flex-shrink:0}button.submit{width:100%}.preview-status{background:var(--pale);padding:18px;font-size:14px;line-height:1.9}.preview-values{margin-top:15px}.preview-values>div{padding:17px 0;border-bottom:1px solid var(--line)}.preview-values dt{font-size:12px;color:#53696d}.preview-values dd{font-size:15px;margin-top:5px}.preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.preview-actions .button{justify-content:center}.outline{background:transparent;color:var(--ink)}.outline:hover{background:var(--pale)}[hidden]{display:none!important}
@media(max-width:1050px){.header nav{display:none}.header-button{margin-left:auto}.hero{gap:30px}.hero h1{font-size:42px}.target{font-size:16px}.quick-menu{grid-template-columns:1fr 1fr;gap:12px 30px}.quick-menu>span{grid-column:1/-1}.section-top{display:block}.section-top>p{margin-top:15px;max-width:none}.menus{gap:24px}.menus h3{font-size:21px}.conditions>div{grid-template-columns:200px 1fr;gap:25px}}
@media(max-width:750px){.wrap{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;padding-top:18px;gap:24px}.hero h1{font-size:40px;max-width:12em}.hero-photo{min-height:0;height:280px}.hero-photo img{object-position:50% 52%}.quick-menu{margin-top:0}.menus{grid-template-columns:1fr}.menu-photo{margin-bottom:18px}.menus dl{margin-block:16px}.section{padding-block:50px}.section-top{margin-bottom:26px}.section-top h2,h2{font-size:26px}.flow{grid-template-columns:1fr;gap:25px}.flow li{display:grid;grid-template-columns:40px 1fr;column-gap:14px}.flow li>span{grid-row:1/3}.flow h3{margin:0;font-size:18px}.flow p{margin-top:7px}.consult-block{display:block;padding:24px}.consult-block .button{margin-top:20px}.conditions>div{display:block}.conditions dd{margin-top:11px}.footer{display:block}.footer>p{margin-top:21px}}
@media(max-width:480px){body{padding-bottom:93px}.notice{padding-inline:8px;font-size:12px}.header{gap:16px;padding-block:18px}.brand{font-size:22px}.brand span{letter-spacing:.05em}.header-button{font-size:12px;min-height:43px;padding:10px 12px;gap:8px}.header-button span{font-size:17px}.hero{padding-top:11px}.target{font-size:15px;margin-bottom:15px}.hero h1{font-size:34px;line-height:1.5;max-width:10em}.lead{font-size:15px;margin-top:17px}.actions{margin-top:24px;gap:12px}.actions .button{width:100%;font-size:14px}.note{font-size:12px}.hero-photo{height:240px}.hero-photo figcaption{font-size:12px;max-width:100%;padding:5px 8px}.quick-menu{grid-template-columns:1fr;gap:5px;padding-block:14px}.quick-menu>span{grid-column:auto}.quick-menu button:last-child{grid-column:auto;grid-row:auto}.quick-menu button{font-size:14px;padding-block:11px}.section-top h2,h2{font-size:24px}.menus h3{font-size:23px}.section-top>p,.menus p,.conditions dd,.flow p{font-size:13px}.conditions dt{font-size:16px}.consult-block h3{font-size:18px}.consult-block .button{width:100%}.faq{padding-top:0}summary{font-size:14px}details p{font-size:13px}.about h2{font-size:22px}.mobile-action{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fbfcfb;border-top:1px solid var(--line);padding:8px 16px calc(5px + env(safe-area-inset-bottom))}.mobile-action .button{width:100%;min-height:47px;padding:10px 16px;font-size:14px}.mobile-action p{font-size:12px;text-align:center;line-height:1.7;margin-top:3px}.dialog-open .mobile-action{visibility:hidden}dialog{padding:31px 22px 25px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}dialog h2{font-size:22px}dialog>p{font-size:12px}form>label{font-size:13px}.preview-actions{gap:10px}.preview-actions .button{padding:12px 10px;font-size:13px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.header{gap:8px}.brand{font-size:20px}.brand span{font-size:12px}.header-button{padding:9px 8px;gap:5px;font-size:12px}.hero h1{font-size:29px}.target{font-size:14px}.button{padding-inline:17px}.preview-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
