/* くらしミエル v39 — premium finance clarity
 * UI-only stylesheet. Inspired by the information hierarchy of modern brokerage apps,
 * without imitating trademarks or trading terminals. The math / SEO / ad settings are untouched.
 */
:root{
 --km39-ink:#242724;
 --km39-charcoal:#20221f;
 --km39-charcoal-2:#2c312b;
 --km39-matcha:#344735;
 --km39-matcha-hover:#263c2b;
 --km39-matcha-pale:#eef1eb;
 --km39-brass:#a89170;
 --km39-walnut:#5c4a3e;
 --km39-cream:#f6f5f0;
 --km39-paper:#ffffff;
 --km39-border:#d6d8d1;
 --km39-muted:#585f58;
 --km39-focus:#7f9c84;
}
.km-v39{background:var(--km39-cream)!important;color:var(--km39-ink);font-family:Inter,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;line-height:1.78;font-size:16px;-webkit-font-smoothing:antialiased;}
.km-v39 *{box-sizing:border-box;}
.km-v39 :is(input,select,button,textarea){font:inherit;}
.km-v39 :is(a,button,input,select,summary,textarea):focus-visible{outline:3px solid var(--km39-focus)!important;outline-offset:3px!important;}
.km-v39 a{ text-underline-offset:3px; }
.km-v39 :is(h1,h2,h3){letter-spacing:-.035em;}
.km-v39 :is(.topbar,.site-header,.sg-header,.guide-header){background:var(--km39-charcoal)!important;border-bottom:1px solid #4c5449!important;color:#f9f8f3!important;}
.km-v39 :is(.topbar,.site-header,.sg-header,.guide-header) :is(a,.identity b,.identity small){color:#f5f5ef!important;}
.km-v39 :is(.topbar,.site-header,.sg-header,.guide-header) a:hover{color:#cdd8cb!important;}
.km-v39 :is(.topnav,.nav-links,.sg-links,.guide-nav) a{font-size:clamp(13px,1.12vw,15px);font-weight:650;line-height:1.5;}
.km-v39 :is(.topbar-inner,.sg-nav){min-height:72px;}
.km-v39 .sg-brand,.km-v39 .identity b{font-size:20px;font-weight:850;letter-spacing:-.04em;}
/* One editorial identity: dark at the entrance, light where decisions are made. */
.km-v39:has(.hero-layout) .hero{background:linear-gradient(110deg,#191e1b 0%,#222721 60%,#353529 100%)!important;}
.km-v39:has(.hero-layout) .hero-layout{min-height:375px;gap:clamp(18px,3.6vw,50px);}
.km-v39:has(.hero-layout) .hero-copy{padding:55px 0 54px;}
.km-v39:has(.hero-layout) .hero h1{font-size:clamp(34px,4vw,54px);font-weight:850;line-height:1.34;margin:14px 0 18px;}
.km-v39:has(.hero-layout) .hero-lead{font-size:clamp(15px,1.22vw,17px);line-height:1.83;color:#e1e2d9;max-width:600px;}
.km-v39:has(.hero-layout) .eyebrow{font-size:12px;color:#cab893;}
.km-v39:has(.hero-layout) .hero-visual{height:306px;box-shadow:none;border-color:#5d655b;}
.km-v39:has(.hero-layout) .main-cta{background:var(--km39-matcha)!important;color:#fff!important;border:1px solid #8d9a84!important;border-radius:5px;box-shadow:none!important;min-height:52px;font-size:15px;}
.km-v39:has(.hero-layout) .main-cta:hover{background:#47604a!important;}
.km-v39:has(.hero-layout) .quiet-cta{color:#e9e8df!important;font-size:14px;min-height:46px;}
.km-v39 .section-top{align-items:center;}
.km-v39 .section-top h2{font-size:clamp(29px,3vw,38px);font-weight:850;line-height:1.38;}
.km-v39 .section-top p,.km-v39 .availability-note{font-size:15px;color:var(--km39-muted);}
.km-v39 .tool-count{font-size:13px;border-radius:4px;background:#e6eae2;color:#344735;}
/* Compact, distinguishable directory tiles. A category, a title, a sentence, an action. */
.km-v39.v38-directory-page .modules{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.km-v39.v38-directory-page .module-card.v35-feature-card,
.km-v39.v38-directory-page .module-card.is-live.v35-feature-card{position:relative;min-height:0!important;display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid var(--km39-border)!important;border-radius:6px!important;box-shadow:0 1px 0 #242c2010!important;overflow:hidden;padding:0!important;transform:none;transition:border-color .15s ease,box-shadow .15s ease!important;}
.km-v39.v38-directory-page .module-card.v35-feature-card:hover,
.km-v39.v38-directory-page .module-card.v35-feature-card:focus-visible{border-color:#7d9880!important;box-shadow:0 8px 22px #23302316!important;transform:none!important;}
.km-v39 .module-card.v35-feature-card .v35-card-media{height:137px!important;min-height:0!important;width:100%;overflow:hidden;border-bottom:1px solid #d3d6cc!important;}
.km-v39 .module-card.v35-feature-card .v35-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.km-v39 .module-card.v35-feature-card>.module-icon{position:absolute;top:111px;right:16px;left:auto;z-index:1;display:grid!important;place-items:center;width:43px!important;height:43px!important;margin:0!important;background:#f5f4ee!important;border:1px solid #bcc8ba!important;border-radius:5px!important;box-shadow:0 2px 7px #1019101a!important;color:#324d37!important;}
.km-v39 .module-card.v35-feature-card>.module-icon .ic{width:25px!important;height:25px!important;stroke-width:2.2!important;}
.km-v39 .module-card.v35-feature-card>.v39-category{display:block;margin:22px 18px 6px;font-size:12px;font-weight:800;color:#4f6553;letter-spacing:.02em;}
.km-v39 .module-card.v35-feature-card>h3{font-size:clamp(19px,1.5vw,23px)!important;font-weight:850;line-height:1.4;margin:0 18px 9px!important;color:#20261f!important;}
.km-v39 .module-card.v35-feature-card>p{font-size:14px!important;line-height:1.7;color:#555d55!important;margin:0 18px 20px!important;flex:1;}
.km-v39 .module-card.v35-feature-card>.module-bottom{display:flex;align-items:center;justify-content:space-between;margin:0 18px 16px!important;border-top:1px solid #e0e2db;padding-top:12px;font-size:14px!important;font-weight:850;color:#344735!important;}
.km-v39 .module-card.v35-feature-card>.module-bottom .ic{height:19px;width:19px;}
.km-v39 .module-card.v35-feature-card>.module-label{display:none!important;}
/* Search/filter above tools: not an advanced terminal. */
.km-v39 .v26-home-controls{background:#fff;border:1px solid var(--km39-border);border-radius:6px;padding:15px!important;}
.km-v39 .v26-home-controls :is(input,select){min-height:46px;font-size:16px!important;border:1px solid #abb5a9!important;background:#fff!important;color:#242724!important;border-radius:5px!important;}
.km-v39 :is(.tool-section,.dictionary-section) label{font-size:14px;}
.km-v39 :is(.tool-section,.dictionary-section) input::placeholder{color:#666e65;}
/* Function landing and input: the user's task stays above everything else. */
.km-v39 .v35-tool-intro{background:#f0eee7!important;border:1px solid #cdd3c8!important;border-left:4px solid var(--km39-matcha)!important;border-radius:5px!important;padding:clamp(17px,2.5vw,27px)!important;grid-template-columns:minmax(0,1fr) 248px;gap:26px;margin-top:8px;margin-bottom:17px;}
.km-v39 .v35-tool-intro h1{font-size:clamp(28px,3vw,39px)!important;line-height:1.36;color:#242925;}
.km-v39 .v35-tool-intro .sg-kicker{font-size:11px;letter-spacing:.1em;color:#4e614f!important;}
.km-v39 .v35-tool-intro .sg-lead{font-size:clamp(15px,1.15vw,17px)!important;line-height:1.8;color:#444b44;}
.km-v39 .v35-tool-intro .sg-meta{font-size:12px;line-height:1.65;color:#5e655d;}
.km-v39 .v35-tool-image{height:155px;border:1px solid #afb7aa;border-radius:3px;}
.km-v39.v38-tool-page .hero h1{line-height:1.4;}
.km-v39 :is(.v27-panel,.v27-result,.v27-explain,.v27-faq,.panel,.section):not(.hero){background:#fff;border-color:var(--km39-border);}
.km-v39 .v38-workflow{background:#fff!important;border:1px solid var(--km39-border)!important;border-top:3px solid #405840!important;border-radius:5px!important;box-shadow:none!important;padding:17px 20px 17px;margin:18px 0 22px;}
.km-v39 .v38-workflow-caption{font-size:16px!important;color:#222924!important;margin:0 0 13px!important;}
.km-v39 .v38-workflow-caption span{font-size:11px;color:#636e61;}
.km-v39 .v38-workflow-caption .v38-start-link{padding:10px 15px;font-size:14px;min-height:44px;background:var(--km39-matcha)!important;color:#fff!important;border:1px solid var(--km39-matcha)!important;border-radius:5px!important;}
.km-v39 .v38-workflow li>b,.km-v39 .v38-workflow li>a>b{height:39px;min-width:39px;font-size:15px;border-radius:5px;}
.km-v39 .v38-workflow li strong{font-size:15px;line-height:1.5;}
.km-v39 .v38-workflow li small{font-size:12px;color:#666f65;}
.km-v39 .v38-tool-page :is(.v27-panel,.v27-result){padding:clamp(18px,2.4vw,28px)!important;}
.km-v39 .v38-tool-page :is(.v27-panel,.panel) h2{font-size:clamp(22px,2.4vw,29px)!important;color:#272c27!important;}
.km-v39 .v38-tool-page :is(.v27-field,.field)>span,.km-v39 .v38-tool-page :is(.v27-field,.field)>label{font-size:15px!important;font-weight:800;line-height:1.5;}
.km-v39 .v38-tool-page :is(.v27-field,.field) small{font-size:13px!important;color:#616a60!important;}
.km-v39 .v38-tool-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){accent-color:var(--km39-matcha);}
.km-v39 .v38-tool-page :is(.v27-field,.field) :is(input:not([type=checkbox]):not([type=radio]),select),
.km-v39 .v38-tool-page :is(.v26-control,.v26-input-grid,.period-label,.property-body,.ov-advanced) :is(input:not([type=checkbox]):not([type=radio]),select){min-height:51px!important;font-size:18px!important;font-weight:650!important;border:1.5px solid #a1ada0!important;background:#fff!important;color:#222922!important;border-radius:5px!important;}
.km-v39 .v38-tool-page :is(.v27-button,button.primary,.btn-primary,.v26-btn-primary,.v26-primary,.btn.btn-primary){min-height:54px;border-radius:5px!important;font-size:16px!important;font-weight:850;background:var(--km39-matcha)!important;color:#fff!important;}
.km-v39 .v38-tool-page :is(.v27-button,button.primary,.btn-primary,.v26-btn-primary,.v26-primary,.btn.btn-primary):hover{background:var(--km39-matcha-hover)!important;}
.km-v39 .v38-tool-page :is(.v27-button-secondary,.v27-button-plain,.secondary){min-height:45px;font-size:14px!important;}
.km-v39 .v38-tool-page [data-v38-result]{border-top:4px solid var(--km39-matcha)!important;scroll-margin-top:22px;}
.km-v39 .v38-tool-page [data-v38-result] h2{font-size:clamp(24px,2.6vw,30px)!important;}
.km-v39 .v38-tool-page [data-v38-result] :is(.v27-stat strong,.v27-stat-primary strong,.v27-flow-net strong,.money,.stat .money,.v26-number,.ov-value,.hm-summary strong){font-size:clamp(28px,3.25vw,43px)!important;color:#263c2a;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;}
.km-v39 .v38-tool-page :is(.v27-stat-primary,.stat.winner,.ov-verdict){background:#eaf0e7!important;border-color:#c1cebf!important;}
.km-v39 .v38-tool-page table{font-size:14px;}
.km-v39 .v38-tool-page :is(.v27-head,.v27-result-title){gap:14px;}
.km-v39 .v38-tool-page :is(.v27-explain,.v27-faq,.iv-reference,.sg-related){font-size:15px;line-height:1.85;}
.km-v39 .v38-tool-page summary{font-size:16px;line-height:1.6;}
.km-v39 .v38-tool-page [data-v38-input]{scroll-margin-top:18px;}
/* Guides and definitions: large, readable editorial text, not tiny securities tables. */
.km-v39 .sg-main :is(p,li){font-size:16px;line-height:1.95;}
.km-v39 .sg-main article h2{font-size:clamp(24px,2.4vw,31px);color:#283829!important;}
.km-v39 .sg-main article h3{font-size:clamp(19px,1.9vw,23px);}
.km-v39 .sg-main :is(.sg-meta,.sg-guide-item span,.sg-pill,.sg-sources li,.sg-case-tag){font-size:13px;}
.km-v39 .sg-guide-item{background:#fff!important;border:1px solid var(--km39-border)!important;border-top:3px solid #425743!important;border-radius:5px!important;box-shadow:none!important;padding:25px;}
.km-v39 .sg-guide-item strong{font-size:19px;line-height:1.5;color:#293d2c;}
.km-v39 .sg-guide-item:hover{border-color:#879b84!important;background:#fcfdfa!important;}
.km-v39 :is(.sg-toc,.sg-example,.sg-action,.sg-sources,.sg-related,.sg-note,.seo-guides-section,.seo-tool-guide,.glossary-promo){background:#fff!important;border:1px solid var(--km39-border)!important;border-radius:5px!important;}
.km-v39 .sg-life-case{border-left:4px solid #546e57;background:#f0f3ec!important;border-radius:0 5px 5px 0;}
.km-v39 .guide-hero{background:linear-gradient(105deg,#efefe8,#e4e9df)!important;border-left:4px solid #344735;border-radius:5px!important;padding:clamp(18px,3vw,36px)!important;}
.km-v39 .guide-hero h1{font-size:clamp(28px,3vw,40px);color:#252c25;line-height:1.4;}
.km-v39 .guide-lead{font-size:16px;color:#50594f;}
.km-v39 .guide-grid{gap:16px;}
.km-v39 .guide-card{background:#fff!important;border:1px solid var(--km39-border)!important;border-top:3px solid #405b43!important;border-radius:5px!important;padding:clamp(19px,2vw,29px)!important;box-shadow:none!important;}
.km-v39 .guide-card h2{font-size:clamp(22px,2vw,27px)!important;color:#242c25!important;}
.km-v39 .guide-card h3{font-size:17px;}
.km-v39 .guide-card p{font-size:15px;line-height:1.8;color:#555f55;}
.km-v39 .guide-card .badge{font-size:12px!important;font-weight:800;background:#e7ede4!important;color:#354c38!important;border-radius:3px!important;}
.km-v39 .guide-btn:not(.alt){background:#344735!important;border-radius:5px!important;min-height:44px;font-size:15px;}
.km-v39 .guide-btn.alt{background:#fff!important;border:1px solid #bcc9b9!important;color:#344735!important;border-radius:5px!important;font-size:14px;}
.km-v39 .seo-guide-grid a{border:1px solid #d5dad0!important;border-left:3px solid #728872!important;min-height:105px;border-radius:5px!important;padding:20px!important;font-size:16px;color:#2d3b2e!important;}
.km-v39 .seo-guide-grid a span,.km-v39 .seo-guide-grid a small{font-size:14px;color:#5a655a;}
.km-v39 .seo-guides-section h2{font-size:clamp(25px,2.8vw,34px);}
.km-v39 :is(.bottom-cta,.footer,.sg-footer){background:#232823!important;}
/* Preserve unambiguous tap targets, and ensure mobile always starts with controls, not a tall photo. */
@media(max-width:1050px){
 .km-v39.v38-directory-page .modules{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:750px){
 .km-v39:has(.hero-layout) .hero-layout{grid-template-columns:1fr;gap:0;min-height:0;}
 .km-v39:has(.hero-layout) .hero-copy{padding:35px 0 15px;}
 .km-v39:has(.hero-layout) .hero h1{font-size:clamp(33px,7vw,42px);}
 .km-v39:has(.hero-layout) .hero-visual{height:190px;max-width:440px;margin:12px auto 22px;}
 .km-v39 .v35-tool-intro{grid-template-columns:1fr;gap:13px;padding:18px!important;}
 .km-v39 .v35-tool-image{height:100px;object-fit:cover;}
 .km-v39 .v38-workflow{padding:15px 12px;margin:14px 0 17px;}
 .km-v39 .v38-workflow-caption{font-size:15px!important;}
 .km-v39 .v38-workflow-caption .v38-start-link{width:100%;justify-content:center;min-height:44px;font-size:15px;}
 .km-v39 .v38-workflow ol{gap:2px;}
 .km-v39 .v38-workflow li{padding:0 3px;}
 .km-v39 .v38-workflow li strong{font-size:13px;white-space:normal;text-align:center;}
 .km-v39 .v38-workflow li>b,.km-v39 .v38-workflow li>a>b{height:34px;min-width:34px;font-size:13px;}
 .km-v39 .v38-tool-page :is(.v27-panel,.v27-result){padding:17px!important;}
 .km-v39 .v38-tool-page [data-v38-result] :is(.v27-stat strong,.money,.stat .money,.ov-value){font-size:clamp(26px,6vw,34px)!important;}
 .km-v39 .sg-main :is(p,li){font-size:15px;}
 .km-v39 .sg-main .sg-meta{font-size:12px;}
}
@media(max-width:650px){
 .km-v39.v38-directory-page .modules{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;}
 .km-v39.v38-directory-page .module-card.v35-feature-card,.km-v39.v38-directory-page .module-card.is-live.v35-feature-card{
   display:grid!important;grid-template-columns:minmax(112px,34%) minmax(0,1fr)!important;
   grid-template-rows:auto auto 1fr auto!important;min-height:166px!important;padding:0!important;gap:0!important;
 }
 .km-v39 .module-card.v35-feature-card .v35-card-media{grid-column:1!important;grid-row:1 / 5!important;height:100%!important;min-height:166px!important;border:0!important;border-right:1px solid var(--km39-border)!important;}
 .km-v39 .module-card.v35-feature-card .v35-card-media img{height:100%;object-fit:cover;}
 .km-v39 .module-card.v35-feature-card>.module-icon{display:grid!important;top:auto;bottom:10px;right:auto;left:10px;width:36px!important;height:36px!important;background:#f8f8f4ee!important;}
 .km-v39 .module-card.v35-feature-card>.module-icon .ic{width:22px!important;height:22px!important;stroke-width:2.1!important;}
 .km-v39 .module-card.v35-feature-card>.v39-category{grid-column:2!important;grid-row:1!important;margin:12px 14px 4px!important;font-size:12px;}
 .km-v39 .module-card.v35-feature-card>h3{grid-column:2!important;grid-row:2!important;margin:0 14px 6px!important;font-size:17px!important;line-height:1.38!important;}
 .km-v39 .module-card.v35-feature-card>p{grid-column:2!important;grid-row:3!important;margin:0 14px 9px!important;font-size:13px!important;line-height:1.55!important;}
 .km-v39 .module-card.v35-feature-card>.module-bottom{grid-column:2!important;grid-row:4!important;margin:0 14px 11px!important;padding-top:8px!important;font-size:13px!important;}
 .km-v39 .section-top h2{font-size:28px;}
 .km-v39 .guide-card p{font-size:15px;}
 .km-v39 .v38-tool-page :is(.v27-field,.field) :is(input,select){font-size:17px!important;}
}
@media(max-width:360px){
 .km-v39 .module-card.v35-feature-card>h3{font-size:16px!important;}
 .km-v39 .module-card.v35-feature-card>p{font-size:12px!important;}
 .km-v39 .v38-workflow li strong{font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.km-v39 *, .km-v39 *::before, .km-v39 *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
