/* Shared, compact clinic identity and the specialist site's contact palette. */
:root{--riam-header-height:72px;--riam-contact-height:70px}
body{padding-top:var(--riam-header-height);padding-bottom:var(--riam-contact-height)}
.l-header{position:fixed;top:0;left:0;width:100%;height:72px;padding:0 88px 0 28px;background:#fff;border-bottom:1px solid #e1e9ed}
.l-header-left{gap:28px;min-width:0}
.l-header-left__logo{width:auto;align-items:flex-start;flex-shrink:0;gap:2px}
.riam-brand-row{display:flex;align-items:center;gap:10px}
.riam-brand-row>a:first-child{display:block;line-height:0}
.l-header-left__logo .riam-brand-row>a:first-child img{display:block;width:180px;height:auto}
.l-header-left__logo .tagline{font-size:10px;line-height:1.5;margin:2px 0 0;padding:0 6px;align-self:flex-start}
.riam-instagram{display:flex;align-items:center;justify-content:center;width:36px;height:40px;border-radius:6px;flex-shrink:0}
.l-header-left__logo .riam-instagram img{width:22px;height:22px;display:block}
.riam-instagram:hover{background:#edf4f6}
.l-header-left__meta{font-size:10px;line-height:1.5}
.l-hero,.l-pageheader{margin-top:0}
.l-hero{height:calc(100vh - 72px)}
.guide-cover{padding-top:60px!important}
.hamburger{appearance:none;border:0;position:fixed;top:12px;right:20px;width:46px;height:48px;background:#fff;border-radius:6px;filter:none;padding:0}
.hamburger__line{width:28px;background:#17384d}
.hamburger__line--1{top:9px}.hamburger__line--2{top:16px}.hamburger__line--3{top:23px}
.hamburger__menu{font-size:10px;line-height:1;bottom:5px;color:#17384d}
.open .hamburger__line{background:#17384d}.open .hamburger__menu{color:#17384d}
.open .hamburger__line--1,.open .hamburger__line--3{top:16px}
.riam-contact-bar{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:var(--riam-contact-height);height:var(--riam-contact-height);padding:0;margin:0;z-index:9000;background:#17384d;isolation:isolate;box-sizing:border-box}
.riam-contact{appearance:none;border:0;border-radius:0;margin:0;padding:10px 8px;height:var(--riam-contact-height);min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;font:700 19px/1.2 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;letter-spacing:.02em;text-decoration:none;cursor:pointer;box-sizing:border-box;white-space:nowrap}
.riam-contact+.riam-contact{border-left:1px solid rgba(255,255,255,.6)}
.riam-contact img{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.riam-contact-line{background:#06c755;color:white;cursor:default}
.riam-contact-line>span:last-child{display:flex;flex-direction:column;gap:3px;text-align:center}
.riam-contact-line small{font-size:10px;line-height:1;font-weight:500}
.riam-line-icon{display:flex;align-items:center;justify-content:center;font:700 9px/1 Arial,sans-serif;width:28px;height:23px;background:#fff;color:#06a946;border-radius:8px;position:relative}
.riam-line-icon:after{content:"";position:absolute;bottom:-3px;left:8px;border-top:5px solid #fff;border-right:5px solid transparent}
.riam-contact-phone{background:#17384d;color:#fff}
.riam-contact-consult{background:#e5c78d;color:#122b3e}
.riam-contact-consult img{filter:brightness(0) saturate(100%);opacity:.8}
.riam-contact-phone:hover{background:#224d65}.riam-contact-consult:hover{background:#daba7d}
.riam-contact-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:0;border-radius:12px;padding:48px 24px 26px;color:#17384d;background:#fff;box-shadow:0 15px 70px #102d3e40;font:16px/1.7 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
.riam-contact-dialog:not([open]){display:none}
.riam-contact-dialog::backdrop{background:#102b3e99}
.riam-contact-dialog h2{font-size:20px;line-height:1.6;margin:0 0 18px;text-align:center;font-weight:700}
.riam-contact-dialog p{font-size:14px;margin:0 0 16px;text-align:center}
.riam-contact-dialog>a{display:flex;flex-direction:column;gap:6px;border:1px solid #c4d5dd;padding:18px 14px;margin-top:14px;text-align:center;color:#17384d;text-decoration:none;background:#f1f7f9;border-radius:6px}
.riam-contact-dialog>a:hover{background:#e2eff3}
.riam-contact-dialog>a span{font-size:14px}.riam-contact-dialog>a strong{font-size:20px}
.riam-dialog-close{position:absolute;right:10px;top:8px;width:36px;height:36px;border:0;background:transparent;color:#17384d;font:30px/1 Arial,sans-serif;cursor:pointer}
.riam-contact:focus-visible,.riam-instagram:focus-visible,.hamburger:focus-visible,.riam-contact-dialog a:focus-visible,.riam-dialog-close:focus-visible{outline:3px solid #0093b6;outline-offset:-4px}
.loan-preview{bottom:var(--riam-contact-height);font-size:11px;padding:3px 8px;pointer-events:none}
.riam-single-column{grid-template-columns:1fr!important}
.riam-centered{text-align:center}
.l-recommend-box02>.guide-overview{padding:44px 0;border-top:1px solid #cedde3;margin-top:36px;background:transparent}
.l-recommend-box02>.guide-overview>.enh-inner{width:100%;padding:0}
.l-recommend-box02>.guide-overview .enh-split{gap:30px}
:where(section,div)[id]{scroll-margin-top:90px}
@media(max-width:1100px){.l-header-left__meta{display:none}}
@media(max-width:768px){
 :root{--riam-contact-height:66px}
 body{padding-top:72px}
 .l-header{height:72px;padding:0 66px 0 14px}
 .l-header-left__logo .riam-brand-row>a:first-child img{width:160px}
 .riam-brand-row{gap:7px}.riam-instagram{width:32px}
 .hamburger{right:12px;top:12px}
 .l-hero{height:auto}
 .guide-cover{padding-top:38px!important}
 .riam-contact{font-size:16px;gap:6px;padding:10px 8px}
 .riam-contact img{width:17px;height:17px}
 .loan-preview{font-size:10px}
 .l-recommend-box02>.guide-overview{padding:32px 0;margin-top:28px}
 .l-recommend-box02>.guide-overview .enh-heading h2{font-size:26px;line-height:1.6}
 .riam-contact-dialog>a strong{font-size:18px}
}

/* The menu scrolls independently between the shared header and contact bar. */
.nav-wrapper .sp-nav{inset:var(--riam-header-height) 0 var(--riam-contact-height) auto;width:min(440px,100%);height:auto;max-height:none;box-sizing:border-box;transform:translateX(100%);transition:transform .2s ease,opacity .2s ease,visibility .2s;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;scroll-padding:20px;background-position:bottom right}
.nav-wrapper.open .sp-nav{right:0;transform:translateX(0);opacity:1;visibility:visible}
.nav-wrapper .sp-nav-header{display:none}
.nav-wrapper .l-sitemap{padding:24px 24px 32px}
.nav-wrapper .l-sitemap__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.nav-wrapper .l-sitemap__inner>div{width:100%;min-width:0;margin:0}
.nav-wrapper .l-sitemap__cat{font:700 17px/1.5 Arial,sans-serif;letter-spacing:.08em;padding-bottom:12px;margin:0 0 8px}
.nav-wrapper .l-sitemap__nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0}
.nav-wrapper .l-sitemap__nav li,.nav-wrapper .l-sitemap__nav li.half{width:100%;min-width:0;margin:0;padding:0;border-bottom:1px solid #ffffff24}
.nav-wrapper .l-sitemap__nav a{display:block;box-sizing:border-box;width:100%;min-height:46px;padding:10px 0 10px 20px;font:500 16px/1.65 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;letter-spacing:0;overflow-wrap:anywhere;line-break:strict;background-size:8px auto;background-position:left 18px}
.nav-wrapper .l-sitemap__nav a:focus-visible{outline:2px solid #fff;outline-offset:2px;background-color:#ffffff15}
.nav-wrapper .l-sitemap__insta{margin:0 0 20px}
.nav-wrapper .l-sitemap__bnrs{margin:0 0 20px}
.nav-wrapper .l-sitemap__copy small{display:block;white-space:normal;font-size:12px;line-height:1.8}
.nav-wrapper.open .black-bg{display:block;inset:var(--riam-header-height) 0 var(--riam-contact-height);height:auto;width:100%}
html.riam-menu-open{overflow:hidden}
body.riam-menu-open{position:fixed;top:var(--riam-scroll-lock-top);left:0;right:0;width:100%;overflow:hidden}
@media(prefers-reduced-motion:reduce){.nav-wrapper .sp-nav{transition:none}}
@media(prefers-reduced-motion:reduce){.hamburger,.hamburger__line{transition:none}}

/* Desktop contact actions share the top navigation; mobile keeps its bottom bar. */
@media(min-width:1024px){
 :root{--riam-contact-height:0px}
 .l-header{padding-right:532px}
 .riam-contact-bar{top:12px;bottom:auto;left:auto;right:88px;width:420px;height:48px;grid-template-rows:48px;border-radius:4px;overflow:hidden}
 .riam-contact{height:48px;padding:6px 10px;font-size:16px;gap:8px}
 .riam-contact-line>span:last-child{gap:2px}
 .riam-contact img{width:18px;height:18px}
}
@media(min-width:1024px) and (max-width:1280px){
 .l-header-left__meta{display:none}
}
