/* Shared presentation layer. Controllers, hidden states and privacy stay with their owners. */
.km-ui {
  --km-green:#004a1c; --km-green-hover:#003b16; --km-green-2:#004a1c;
  --km-bg-outer:#f7f8f7; --km-bg:#f7f8f7; --km-bg-section:#eaf4ed;
  --km-text:#222522; --km-ui-muted:#59665e; --km-ui-border:#e2e5e3;
  --km-radius-lg:8px; --km-gap:24px;
  background:#f7f8f7; color:#222522;
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;
  font-size:16px; line-height:1.75;
}
.km-ui :where(input,select,textarea,button){font:inherit;box-sizing:border-box;max-width:100%}
.km-ui :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,button){min-height:48px}
.km-ui :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b54708;outline-offset:3px}
.km-ui :where(h1,h2,h3,p,a,label,dd){overflow-wrap:anywhere}
.km-ui :where(main,.km-main,.km-layout,.wp-block-column){min-width:0}
.km-ui .km-layout{background:transparent;box-shadow:none;border:0}
.km-ui .km-main{border-radius:8px;box-shadow:none}
.km-ui h1{font-size:clamp(24px,2.5vw,32px);line-height:1.45}
.km-ui h2{font-size:22px;line-height:1.5}
.km-ui h3{font-size:18px;line-height:1.55}
.km-ui :where(.km-er-help,.km-subnote,.km-news-item__date,.km-ui-muted){font-size:14px;color:var(--km-ui-muted)}
.km-ui .km-ui-header{background:white;border-bottom:1px solid var(--km-ui-border);margin:0}
.km-ui .km-ui-header__inner{max-width:1160px;margin:auto;padding:16px 24px;display:flex;align-items:center;gap:40px}
.km-ui .km-ui-wordmark{font-size:26px;font-weight:800;letter-spacing:.03em;color:#004a1c;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.km-ui .km-ui-nav,.km-ui .km-ui-member{display:flex;align-items:center;gap:24px}
.km-ui .km-ui-member{margin-left:auto;gap:16px}
.km-ui .km-ui-header a:not(.km-ui-wordmark){display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:#222522;text-decoration:none}
.km-ui .km-ui-header .km-ui-account{padding:0 16px;border:1px solid #004a1c;border-radius:8px;color:#004a1c}
.km-ui .km-ui-header a:hover{text-decoration:underline;text-underline-offset:5px}
.km-ui .km-ui-footer{background:white;border-top:1px solid var(--km-ui-border);margin-top:48px}
.km-ui .km-ui-footer__inner{max-width:1160px;margin:auto;padding:32px 24px;font-size:14px}
.km-ui .km-ui-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.km-ui .km-ui-footer nav a{display:inline-flex;align-items:center;min-height:44px;color:#004a1c}
.km-ui .km-ui-legal{border-top:1px solid var(--km-ui-border);padding-top:16px;margin-top:16px}
.km-ui.home .km-layout,.km-ui-focused .km-layout{display:block;max-width:1160px;margin:auto;padding:24px}
.km-ui.home .km-main{background:transparent;padding:0;border:0;max-width:none;width:100%}
.km-ui-auth .km-layout{max-width:560px}
.km-ui-auth .km-main{padding:24px;background:white}
.km-ui-auth :where(.tml,.tml-form){max-width:100%;width:100%}
.km-ui-auth .tml-field{width:100%;border:1px solid #aab6ae;border-radius:8px;padding:10px 12px}
.km-ui-auth :where(button[type=submit],input[type=submit]){width:100%;min-height:48px;background:#004a1c;color:white;border:1px solid #004a1c;border-radius:8px;font-weight:700;cursor:pointer}
.km-ui-auth :where(label,.tml-label){color:#222522;font-size:14px}
.km-ui-auth :where(.tml-links a,.tml-rememberme-wrap label){display:inline-flex;align-items:center;min-height:44px}
.km-ui .km-ui-home{max-width:1080px;margin:auto}
.km-ui .km-ui-intro{padding:32px 0 40px;max-width:760px}
.km-ui .km-ui-eyebrow{color:#004a1c;font-size:14px;font-weight:700;margin:0 0 12px}
.km-ui .km-ui-intro h1{font-size:clamp(30px,4vw,48px);line-height:1.4;letter-spacing:.02em;margin:0 0 16px}
.km-ui .km-ui-intro>p{margin:0 0 24px}
.km-ui .km-ui-search{margin:24px 0 8px;max-width:680px}
.km-ui .km-ui-search label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.km-ui .km-ui-search>div{display:flex;gap:8px}
.km-ui .km-ui-search input{flex:1;min-width:0;border:1px solid #aab6ae;border-radius:8px;background:white;padding:12px 16px}
.km-ui .km-ui-search button,.km-ui .km-ui-primary{background:#004a1c;color:white;border:1px solid #004a1c;border-radius:8px;padding:10px 24px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px}
.km-ui .km-ui-search button:hover,.km-ui .km-ui-primary:hover{background:#003b16}
.km-ui .km-ui-intro-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.km-ui .km-ui-intro-links a,.km-ui .km-ui-section-head>a{display:inline-flex;align-items:center;min-height:44px;color:#004a1c;font-size:14px;text-underline-offset:4px}
.km-ui .km-ui-section{padding:32px 0;border-top:1px solid var(--km-ui-border)}
.km-ui .km-ui-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.km-ui .km-ui-section h2{margin:0}
.km-ui .km-ui-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.km-ui .km-ui-experience{min-width:0}
.km-ui .km-ui-experience>a{display:block;color:#222522;text-decoration:none}
.km-ui .km-ui-experience h3{margin:8px 0}
.km-ui .km-ui-experience img,.km-ui .km-ui-photo-empty{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:8px}
.km-ui .km-ui-photo-empty{display:grid;place-items:center;background:#eaf4ed;color:#004a1c}
.km-ui .km-ui-experience time{font-size:13px;color:var(--km-ui-muted)}
.km-ui .km-ui-how ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-left:24px;margin:24px 0}
.km-ui .km-ui-how li::marker{font-weight:700;color:#004a1c}
.km-ui .km-ui-how p{font-size:14px;margin:8px 0}
.km-ui .km-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.km-ui .km-toolbar>button{flex:none;white-space:nowrap;padding:10px 16px}
.km-ui .km-sort{display:flex;align-items:center;gap:8px;min-width:0;margin-left:auto}
.km-ui .km-sort>span{white-space:nowrap;flex:none;font-size:14px}
.km-ui .km-sort select{min-width:0;max-width:100%;border:1px solid #aab6ae;border-radius:8px;padding:8px}
.km-ui .km-keyword-search{background:transparent;box-shadow:none;border:0;padding:0;margin-bottom:24px}
.km-ui .km-ka-card,.km-ui .km-review-card{border:1px solid var(--km-ui-border);border-radius:8px;box-shadow:none;background:#fff;min-width:0}
.km-ui .km-ka-cards{gap:16px}
.km-ui .km-lr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.km-ui .km-review-card .km-lr-media img{aspect-ratio:3/2;object-fit:cover;width:100%}
.km-ui .km-review-card .km-review-invest{background:transparent;border:0;border-radius:0;font-size:14px}
.km-ui .km-review-card .km-btn-read{min-height:44px;display:inline-flex;align-items:center}
.km-ui .km-news-tabs{display:flex;flex-wrap:wrap;gap:8px}
.km-ui .km-news-tab{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px}
.km-ui .km-news-item{background:transparent;box-shadow:none;border:0;border-bottom:1px solid var(--km-ui-border);border-radius:0}
.km-ui .km-news-item__link{padding:20px 0;display:block}
.km-ui .km-news-item__meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px}
.km-ui .km-news-item__title{display:block;font-size:18px;line-height:1.6;margin:8px 0;color:#222522}
.km-ui .km-news-item__excerpt{font-size:14px;color:var(--km-ui-muted)}
.km-ui .km-sidebar>section,.km-ui .km-sidebar .km-sidebar>section{background:transparent;border:0;border-bottom:1px solid var(--km-ui-border);border-radius:0;box-shadow:none;padding:16px 0;color:#222522}
.km-ui .km-sidebar :where(p,a){font-size:14px;color:#59665e}
.km-ui .km-sidebar :where(h2,h3){font-size:18px;color:#222522}
.km-ui .km-sidebar :where(a[class$="__btn"]){background:white;color:#004a1c;border:1px solid #aab6ae;box-shadow:none;border-radius:8px;min-height:44px}
.km-ui .km-post-title{background:transparent;border:0;box-shadow:none;padding:0;margin-bottom:24px}
.km-ui .km-post-title::before,.km-ui .km-post-title::after{display:none}
.km-ui .km-ui-related{margin:32px 0;padding:24px 0;border-top:1px solid var(--km-ui-border)}
.km-ui .km-ui-related nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.km-ui .km-ui-related a{display:inline-flex;align-items:center;min-height:44px;color:#004a1c}
.km-ui .km-ui-related h2{margin:0 0 8px}
.km-ui .km-ui-home .km-popular-kabu-item{padding:12px 0;border-bottom:1px solid var(--km-ui-border);display:flex;gap:16px;align-items:center}
.km-ui .km-ui-home .km-popular-kabu-item a{min-height:44px;display:inline-flex;align-items:center;color:#004a1c}
.km-ui .km-ui-management{border-left:3px solid #004a1c;padding:16px 20px;background:#eaf4ed;margin:24px 0}
.km-ui .km-ui-management p{margin:8px 0 16px}
.km-ui .km-ui-management>a:not(.km-ui-primary){display:inline-flex;min-height:44px;align-items:center;margin:8px 16px 0 0;color:#004a1c;font-size:14px}
.km-ui .km-ui-optional{border-top:1px solid var(--km-ui-border);border-bottom:1px solid var(--km-ui-border);margin:24px 0;padding:8px 0}
.km-ui .km-ui-optional>summary{min-height:48px;cursor:pointer;font-weight:700;color:#004a1c;padding:8px 0}
@media(max-width:768px){
  .km-ui .km-ui-header__inner{padding:12px 16px;gap:8px;flex-wrap:wrap}
  .km-ui .km-ui-wordmark{font-size:24px}
  .km-ui .km-ui-member{gap:12px}
  .km-ui .km-ui-header .km-ui-account{padding:0 10px}
  .km-ui .km-ui-nav{order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--km-ui-border);padding-top:4px}
  .km-ui.home .km-layout,.km-ui-focused .km-layout{padding:16px}
  .km-ui .km-layout{padding-left:16px;padding-right:16px}
  .km-ui .km-main{padding:16px}
  .km-ui .km-ui-intro{padding:16px 0 24px}
  .km-ui .km-ui-desktop{display:none}
  .km-ui .km-ui-search button{padding:10px 16px}
  .km-ui .km-ui-section{padding:24px 0}
  .km-ui .km-ui-section-head{gap:0 12px}
  .km-ui .km-ui-experience-grid,.km-ui .km-ui-how ol,.km-ui .km-lr-grid,.km-ui .km-ka-cards{grid-template-columns:minmax(0,1fr)}
  .km-ui .km-ui-experience-grid{gap:24px}
  .km-ui .km-ui-how ol{gap:16px}
  .km-ui .km-sort{width:100%;margin:0}
  .km-ui .km-sort select{flex:1}
  .km-ui .km-ui-footer__inner{padding:24px 16px}
  .km-ui h2{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.km-ui *{scroll-behavior:auto!important;transition:none!important}}

.km-ui .km-ui-company-candidates{display:grid;gap:8px;margin:8px 0}
.km-ui .km-ui-company-candidates button{min-height:48px;white-space:normal;text-align:left;padding:12px;border:1px solid var(--km-ui-border,#e2e5e3);background:#fff;color:#004a1c;border-radius:8px}

/* Public polish — one reading column, compact discovery, existing form behavior retained. */
.km-ui.km-ui-public .km-layout{display:block!important;width:100%;max-width:1160px;margin:0 auto;padding:32px 24px;box-sizing:border-box}
.km-ui.km-ui-public .km-main{width:100%!important;max-width:none!important;margin:0;padding:24px;box-sizing:border-box}
.km-ui.km-ui-public .km-main>:where(div,section,article,main){max-width:none;margin-left:0;margin-right:0}
.km-ui.km-ui-public .km-container{max-width:none;padding:0}
.km-ui.km-ui-public .km-single{max-width:none;margin:0}
.km-ui.km-ui-public .km-ui-explore{margin-top:32px;padding:24px 0;border-top:1px solid #e2e5e3}
.km-ui .km-ui-explore h2{font-size:18px;margin:0 0 8px}
.km-ui .km-ui-explore nav{display:flex;flex-wrap:wrap;gap:8px 32px}
.km-ui .km-ui-explore a{display:inline-flex;align-items:center;min-height:44px;color:#004a1c}
.km-ui.km-ui-public.home .km-main{padding:0;background:transparent}
.km-ui .km-ui-home-discovery{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.km-ui .km-ui-home-discovery .km-ui-section{padding:24px 0}
.km-ui .km-ui-home .km-ui-section{padding-top:24px;padding-bottom:24px}
.km-ui .km-ui-home .km-ui-experience-grid{gap:20px;margin-top:16px}
.km-ui .km-ui-home .km-ui-experience p{margin:8px 0 0}
.km-ui .km-ui-home .km-ui-experience h3{font-size:17px}
.km-ui .km-ui-home .km-ui-how ol{margin:16px 0}
.km-ui .km-ui-usage-summary{display:flex;align-items:center;gap:32px;padding:24px 0;border-bottom:1px solid #e2e5e3;margin:0 0 24px}
.km-ui .km-ui-usage-photo{flex:1;min-width:0;max-width:52%}
.km-ui .km-ui-usage-photo img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;border-radius:8px;background:#f7f8f7}
.km-ui .km-ui-usage-facts{flex:1;min-width:0}
.km-ui .km-ui-usage-facts h2{margin:8px 0;font-size:26px}
.km-ui .km-ui-usage-facts dl{display:flex;gap:32px;margin:20px 0;flex-wrap:wrap}
.km-ui .km-ui-usage-facts dt{font-size:14px;color:#59665e}
.km-ui .km-ui-usage-facts dd{margin:4px 0;font-size:28px;font-weight:750;color:#004a1c}
.km-ui .km-single-head .km-head-actions{justify-content:flex-start;gap:12px;margin-top:16px}
.km-ui .km-single-head .km-head-actions .km-btn{width:auto;flex:0 1 auto;min-height:44px}
.km-ui .km-single .km-content{max-width:800px;font-size:16px;line-height:1.9}
.km-ui .km-single .km-section.-gallery{margin-top:24px}
.km-ui :is(.km-er-open-form,.km-er-add-btn,.km-er-toggle-form,.km-btn-record,.km-btn.-primary,.km-btn-primary,.km-btn-view,.km-er-tracked-cta){background:#004a1c!important;border-color:#004a1c!important;color:white!important;box-shadow:none!important}
.km-ui-auth .km-main{border:1px solid #e2e5e3;border-radius:8px;padding:32px}
.km-ui-auth :is(#loginform,.tml,.wpuf-form){margin:24px 0 0;max-width:100%}
.km-ui-auth :is(#loginform,.tml,.wpuf-form) label{display:block;font-size:14px;margin-bottom:6px}
.km-ui-auth :is(#loginform,.tml,.wpuf-form) input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]){display:block;width:100%;padding:12px;border:1px solid #aab6ae;border-radius:8px;background:#fff;font-size:16px}
.km-ui-auth #loginform .login-remember label{display:flex;align-items:center;gap:8px;min-height:44px}
.km-ui-auth :is(.km-post-title,.wp-block-post-title){background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
@media(min-width:900px){
 .km-ui.km-ui-public .km-ka-cards{display:grid;grid-template-columns:1fr;gap:0}
 .km-ui.km-ui-public .km-ka-card{display:flex;width:100%;padding:24px 0;border:0;border-bottom:1px solid #e2e5e3;border-radius:0;gap:24px}
 .km-ui.km-ui-public .km-ka-thumb{width:160px;flex:0 0 160px}
 .km-ui.km-ui-public .km-ka-body{flex:1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr) auto;gap:8px 24px;align-items:center;padding:0}
 .km-ui.km-ui-public .km-ka-head{grid-column:1;grid-row:1}.km-ui.km-ui-public .km-benefit-summary{grid-column:1;grid-row:2;margin:0}
 .km-ui.km-ui-public .km-ka-mainmetrics{grid-column:2;grid-row:1/3;margin:0}
 .km-ui.km-ui-public .km-ka-submeta{grid-column:1/3;grid-row:3;margin:0;padding-top:8px}
 .km-ui.km-ui-public .km-ka-cta{grid-column:3;grid-row:1/3;margin:0}
 .km-ui.km-ui-public .km-ka-experience-link{grid-column:2;grid-row:4}
 .km-ui.km-ui-public .km-lr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .km-ui.km-ui-public .km-news-item__link{display:grid;grid-template-columns:170px 1fr;column-gap:24px}
 .km-ui.km-ui-public .km-news-item__meta{grid-row:1/3;align-content:start}.km-ui.km-ui-public .km-news-item__title{margin-top:0}
}
@media(max-width:899px){.km-ui .km-ui-home-discovery{grid-template-columns:1fr;gap:0}.km-ui.km-ui-public .km-lr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .km-ui.km-ui-public .km-layout{padding:20px 16px}.km-ui.km-ui-public .km-main{padding:16px}
 .km-ui.km-ui-public .km-lr-grid{grid-template-columns:1fr}.km-ui .km-ui-usage-summary{display:block;padding:16px 0}.km-ui .km-ui-usage-photo{max-width:none;margin-bottom:20px}
 .km-ui .km-ui-usage-facts h2{font-size:22px}.km-ui .km-ui-usage-facts dd{font-size:24px}.km-ui .km-ui-explore nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
 .km-ui-auth .km-main{padding:24px 20px}.km-ui .km-ui-footer{margin-top:32px}
}

.km-ui :is(.km-member-primary,.km-btn.-accent){background:#004a1c!important;border-color:#004a1c!important;color:#fff!important;box-shadow:none!important}
.km-ui .km-single-head .km-head-actions .km-btn.-google{border-color:#aab6ae;color:#004a1c;background:white}
.km-ui .km-ui-usage-facts>p{margin:8px 0}.km-ui .km-ui-usage-facts dl{padding:0}
@media(min-width:900px){
 .km-ui.km-ui-public .km-ka-mainmetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .km-ui.km-ui-public .km-ka-mainmetrics>li{grid-column:auto;padding:8px 0;border:0;background:transparent;border-radius:0;min-height:0}
 .km-ui.km-ui-public .km-ka-body{row-gap:4px}.km-ui.km-ui-public .km-ka-card{padding:20px 0}
 .km-ui.km-ui-public .km-ka-title{margin:0}.km-ui.km-ui-public .km-ka-submeta{font-size:13px}
 .km-ui .km-ui-usage-summary.-without-photo .km-ui-usage-facts{display:grid;grid-template-columns:1fr auto;gap:4px 48px}
 .km-ui .km-ui-usage-summary.-without-photo .km-ui-usage-facts>:not(dl){grid-column:1;margin:4px 0}
 .km-ui .km-ui-usage-summary.-without-photo dl{grid-column:2;grid-row:1/4;align-self:center;margin:0}
}
@media(min-width:900px){.km-ui.km-ui-public .km-lr-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.km-ui .km-ui-experience-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
