:root{--gs-ink:#16372f;--gs-navy:#173d5c;--gs-muted:#687875;--gs-green:#15784a;--gs-green-2:#1d8f59;--gs-pale:#edf8f1;--gs-pale-2:#f7fbf8;--gs-line:#cfe4d6;--gs-orange:#f6a10a;--gs-orange-dark:#d98200;--gs-white:#fff;--gs-shadow:0 18px 44px rgba(17,59,47,.10)}
*{box-sizing:border-box}.jinsere-site{color:var(--gs-ink);background:#fff}.jinsere-site a{text-decoration:none}.jinsere-site button,.jinsere-site input,.jinsere-site select{font:inherit}.jinsere-container{width:min(1140px,calc(100% - 40px));margin-inline:auto}
/* Parent Lightning chrome is replaced by the Jinsere header/footer, as in Tochikatsuhojo. */
.jinsere-site .site-header,.jinsere-site #site-header,.jinsere-site .siteHeader,.jinsere-site .site-footer,.jinsere-site .siteFooter{display:none!important}
.jinsere-global-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid #dce9e0}.jinsere-header__inner{width:min(1180px,calc(100% - 36px));min-height:92px;margin:auto;display:flex;align-items:center;gap:28px}.jinsere-brand{display:flex;align-items:center;flex:0 0 230px}.jinsere-brand img{display:block;width:100%;height:auto}.jinsere-header-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.jinsere-header-nav a{color:var(--gs-ink);font-weight:800;font-size:14px}.jinsere-header-actions{display:flex;align-items:center;gap:9px}.jinsere-header-action{border:0;min-height:48px;border-radius:13px;padding:0 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:900;cursor:pointer}.jinsere-header-action .jinsere-icon{width:20px}.jinsere-header-action.is-search{background:#f2f8f4;color:var(--gs-green)}.jinsere-header-action.is-diagnosis{background:var(--gs-orange);color:#fff}.jinsere-header-action small{display:block;font-size:9px;line-height:1}.jinsere-mobile-menu{display:none;margin-left:auto}.jinsere-mobile-menu summary{list-style:none;cursor:pointer}.jinsere-mobile-menu summary::-webkit-details-marker{display:none}.jinsere-mobile-menu .jinsere-icon{width:28px}.jinsere-mobile-menu__panel{position:absolute;right:16px;top:72px;width:min(330px,calc(100vw - 32px));padding:16px;border:1px solid var(--gs-line);border-radius:16px;background:#fff;box-shadow:var(--gs-shadow);display:grid;gap:8px}.jinsere-mobile-menu__panel>a{padding:12px;color:var(--gs-ink);font-weight:800}
body.admin-bar .jinsere-global-header{top:0}@media(min-width:783px){body.admin-bar .jinsere-global-header.is-sticky{top:32px}}@media(max-width:782px){body.admin-bar .jinsere-global-header.is-sticky{top:46px}}
.jinsere-v2-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f1faf4 0%,#f5fbf7 56%,#e4f3e9 100%)}.jinsere-v2-hero__decor{position:absolute;right:-7%;bottom:-40%;width:52vw;height:72%;border-radius:50%;background:rgba(110,190,117,.15);transform:rotate(-12deg)}.jinsere-v2-hero__inner{position:relative;z-index:1;min-height:410px;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding-block:44px}.jinsere-v2-kicker{margin:0 0 18px;color:var(--gs-green);font-weight:900;font-size:15px}.jinsere-v2-hero h1{margin:0;color:var(--gs-navy);font-size:clamp(38px,4.2vw,62px);line-height:1.18;letter-spacing:-.045em}.jinsere-v2-hero h1 span,.jinsere-v2-hero h1 strong{display:block}.jinsere-v2-hero h1 strong{margin-top:5px;color:var(--gs-green);font-weight:900}.jinsere-v2-lead{max-width:690px;margin:20px 0 0;color:#5d716d;font-size:17px;line-height:1.85}.jinsere-v2-hero__actions{display:flex;gap:14px;margin-top:28px}.jinsere-v2-btn{min-height:58px;padding:0 26px;border:0;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 9px 22px rgba(0,0,0,.07)}.jinsere-v2-btn .jinsere-icon{width:22px}.jinsere-v2-btn.is-orange{background:var(--gs-orange)}.jinsere-v2-btn.is-green{background:var(--gs-green)}.jinsere-v2-btn small{font-size:10px;align-self:flex-start;margin-top:10px}.jinsere-v2-hero__visual{position:relative;min-height:330px;display:flex;align-items:flex-end;justify-content:center}.jinsere-v2-hero__visual>img{display:block;width:min(245px,48%);height:auto;position:relative;z-index:2}.jinsere-mascot-bubble{position:absolute;top:15px;left:12%;z-index:3;padding:13px 28px;border:2px solid var(--gs-green);border-radius:16px;background:#fff;color:var(--gs-navy);font-weight:800;text-align:center;line-height:1.35}.jinsere-mascot-bubble:after{content:"";position:absolute;left:68%;bottom:-16px;border:8px solid transparent;border-top-color:var(--gs-green)}.jinsere-v2-stats{position:absolute;right:0;bottom:12px;z-index:3;width:220px;padding:20px;border-radius:18px;background:#fff;box-shadow:var(--gs-shadow)}.jinsere-v2-stats h2{margin:0 0 10px;color:var(--gs-navy);font-size:18px}.jinsere-v2-stats dl{margin:0}.jinsere-v2-stats dl>div{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0}.jinsere-v2-stats dt{font-size:13px;color:var(--gs-muted)}.jinsere-v2-stats dd{margin:0;color:var(--gs-green);font-size:22px;font-weight:900}.jinsere-v2-stats dd small{font-size:11px;margin-left:2px}
.jinsere-v2-trust{background:#fff;border-block:1px solid #e1ece5}.jinsere-v2-trust__grid{display:grid;grid-template-columns:repeat(3,1fr)}.jinsere-v2-trust__grid>div{padding:16px 24px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.jinsere-v2-trust__grid>div>span{grid-row:1/3;width:30px;height:30px;border-radius:50%;background:#e5f5ea;color:var(--gs-green);display:grid;place-items:center}.jinsere-v2-trust .jinsere-icon{width:18px}.jinsere-v2-trust b{font-size:14px;color:var(--gs-navy)}.jinsere-v2-trust small{color:var(--gs-muted)}
.jinsere-v2-section{padding:58px 0}.jinsere-v2-section.is-soft{background:#f7fbf8}.jinsere-v2-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.jinsere-v2-section__head h2{margin:0;color:var(--gs-navy);font-size:30px;letter-spacing:-.025em}.jinsere-v2-section__head p{margin:6px 0 0;color:var(--gs-green);font-size:13px;font-weight:800}.jinsere-v2-section__head>a,.jinsere-v2-section__head>button{border:0;background:none;padding:8px 0;color:var(--gs-green);font-weight:900;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.jinsere-v2-section__head .jinsere-icon{width:16px}.jinsere-v2-section__head.is-left{justify-content:flex-start}
.jinsere-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.jinsere-work-card{min-height:92px;padding:17px;border:1px solid var(--gs-line);border-radius:16px;background:#fff;display:flex;gap:14px;align-items:center;text-align:left;cursor:pointer;color:var(--gs-ink);transition:.18s}.jinsere-work-card:hover{transform:translateY(-2px);border-color:#8bc8a4;box-shadow:0 10px 24px rgba(21,120,74,.08)}.jinsere-work-card>span{width:42px;height:42px;border-radius:50%;background:#eaf7ee;color:var(--gs-green);display:grid;place-items:center;flex:0 0 auto}.jinsere-work-card .jinsere-icon{width:22px}.jinsere-work-card b,.jinsere-work-card small{display:block}.jinsere-work-card b{color:var(--gs-navy);font-size:15px}.jinsere-work-card small{margin-top:5px;color:var(--gs-muted);font-size:11px}
.jinsere-region-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.jinsere-region-grid a{min-height:48px;border:1px solid var(--gs-line);border-radius:11px;background:#fff;display:flex;align-items:center;gap:7px;padding:0 12px;color:var(--gs-ink);font-size:13px;font-weight:800}.jinsere-region-grid a:hover{border-color:#8bc8a4;background:#f2faf5}.jinsere-region-grid span{color:var(--gs-green);display:flex}.jinsere-region-grid .jinsere-icon{width:17px}
.jinsere-v2-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.jinsere-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.jinsere-service-grid article{padding:24px;border:1px solid var(--gs-line);border-radius:18px;background:#fff}.jinsere-service-grid article>span{width:44px;height:44px;border-radius:13px;background:#eaf7ee;color:var(--gs-green);display:grid;place-items:center}.jinsere-service-grid .jinsere-icon{width:23px}.jinsere-service-grid h3{margin:16px 0 9px;color:var(--gs-navy);font-size:18px}.jinsere-service-grid p{margin:0;color:var(--gs-muted);font-size:13px;line-height:1.75}.jinsere-service-grid a{display:inline-block;margin-top:14px;color:var(--gs-green);font-weight:900;font-size:13px}.jinsere-inline-diagnosis{padding:25px;border-radius:22px;background:#eff8f2;border:1px solid #cee6d5;text-align:center}.jinsere-inline-diagnosis img{width:150px;height:auto}.jinsere-inline-diagnosis p{margin:5px 0;color:var(--gs-green);font-size:12px;font-weight:800}.jinsere-inline-diagnosis h2{margin:3px 0;color:var(--gs-navy);font-size:24px}.jinsere-inline-diagnosis>span{display:block;color:var(--gs-muted);font-size:12px}.jinsere-inline-diagnosis .jinsere-v2-btn{width:100%;margin-top:18px;min-height:50px}
.jinsere-v2-compare{padding:44px 0;background:#173d5c;color:#fff}.jinsere-v2-compare>.jinsere-container{display:flex;align-items:center;justify-content:space-between;gap:30px}.jinsere-v2-compare small{color:#bde0c7;font-weight:800}.jinsere-v2-compare h2{margin:6px 0;color:#fff;font-size:28px}.jinsere-v2-compare p{margin:0;color:#dce8ee}
.jinsere-site-footer{background:#f7faf8;border-top:1px solid #dce9e0}.jinsere-footer__grid{padding:42px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.jinsere-footer__brand img{width:210px;height:auto}.jinsere-footer__brand p{max-width:560px;color:var(--gs-muted);line-height:1.75;font-size:13px}.jinsere-footer__nav{display:grid;gap:10px;align-content:start}.jinsere-footer__nav a{color:var(--gs-ink);font-weight:800}.jinsere-footer__bottom{padding:13px 0;border-top:1px solid #dce9e0;color:#78908a;font-size:12px}
/* Core public routes */
.jinsere-core-public{padding:44px 0 70px;background:#fff}.jinsere-core-shell{width:min(1100px,calc(100% - 40px));margin:auto}.jinsere-core-public .jinsere-public-head h1{color:var(--gs-navy);font-size:clamp(32px,4vw,50px);letter-spacing:-.035em}.jinsere-core-public .jinsere-pref-grid{grid-template-columns:repeat(5,1fr);gap:10px}.jinsere-core-public .jinsere-pref-grid a{border:1px solid var(--gs-line);border-radius:12px;padding:14px;background:#fff;color:var(--gs-ink);font-weight:800}.jinsere-core-public .jinsere-pref-grid a:hover{background:#f1f9f4;border-color:#8bc8a4}
.jinsere-search-results{padding-bottom:20px}.jinsere-search-summary{display:flex;align-items:center;gap:18px;padding:18px 20px;margin:20px 0;border:1px solid var(--gs-line);border-radius:16px;background:#f7fbf8}.jinsere-search-summary>strong{color:var(--gs-green);font-size:34px}.jinsere-search-summary>strong small{font-size:13px}.jinsere-search-summary>div{display:flex;flex-wrap:wrap;gap:8px}.jinsere-search-summary>div span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dfeae2;color:var(--gs-ink);font-size:12px;font-weight:700}.jinsere-search-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.jinsere-search-card{padding:22px;border:1px solid var(--gs-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(20,72,53,.05)}.jinsere-search-card__top{display:flex;gap:8px;flex-wrap:wrap}.jinsere-search-card__top span{padding:5px 8px;border-radius:8px;font-size:11px;font-weight:800}.jinsere-search-card__area{background:#eef6f1;color:var(--gs-ink)}.jinsere-search-card__verified{background:#e7f6ec;color:var(--gs-green)}.jinsere-search-card h2{margin:12px 0 8px;font-size:21px}.jinsere-search-card h2 a{color:var(--gs-navy)}.jinsere-search-card__genres{min-height:42px;color:var(--gs-muted);font-size:13px;line-height:1.65}.jinsere-search-card__facts{display:flex;gap:10px;flex-wrap:wrap;color:#70817d;font-size:11px}.jinsere-search-card__actions{display:flex;gap:8px;margin-top:16px}.jinsere-search-card__actions .jinsere-public-btn{flex:1}
/* Modals */
html.jinsere-modal-open{overflow:hidden}.jinsere-modal[hidden]{display:none!important}.jinsere-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center}.jinsere-modal__backdrop{position:absolute;inset:0;background:rgba(10,28,24,.58)}.jinsere-modal__dialog{position:relative;width:min(960px,calc(100% - 36px));max-height:min(86vh,820px);overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 26px 80px rgba(0,0,0,.28);display:flex;flex-direction:column}.jinsere-modal__header{min-height:84px;padding:14px 20px;border-bottom:1px solid #e3ece6;display:grid;grid-template-columns:150px 1fr 44px;gap:18px;align-items:center}.jinsere-modal__header>img{width:145px;height:auto}.jinsere-modal__header div span,.jinsere-modal__header div strong{display:block}.jinsere-modal__header div span{color:var(--gs-green);font-size:11px;font-weight:900}.jinsere-modal__header div strong{margin-top:2px;color:var(--gs-navy);font-size:19px}.jinsere-modal__header>button{width:42px;height:42px;border:0;border-radius:50%;background:#f3f7f4;color:var(--gs-ink);display:grid;place-items:center;cursor:pointer}.jinsere-modal__header .jinsere-icon{width:20px}.jinsere-modal__progress{height:5px;background:#edf2ee}.jinsere-modal__progress span{display:block;height:100%;background:var(--gs-green);transition:width .2s}.jinsere-modal__body{padding:26px;overflow:auto}.jinsere-modal__step h3{margin:2px 0 6px;color:var(--gs-navy);font-size:25px}.jinsere-modal__step>p:not(.jinsere-step-kicker){margin:0 0 18px;color:var(--gs-muted)}.jinsere-step-kicker{margin:0;color:var(--gs-green);font-size:11px;font-weight:900}.jinsere-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.jinsere-choice-card{min-height:98px;padding:14px;border:1px solid var(--gs-line);border-radius:14px;background:#fff;display:flex;align-items:center;gap:11px;text-align:left;color:var(--gs-ink);cursor:pointer}.jinsere-choice-card[aria-pressed="true"]{border-color:var(--gs-green);background:#f0f9f3;box-shadow:inset 0 0 0 1px var(--gs-green)}.jinsere-choice-card__icon{width:38px;height:38px;border-radius:50%;background:#eaf7ee;color:var(--gs-green);display:grid;place-items:center;flex:0 0 auto}.jinsere-choice-card__icon .jinsere-icon{width:20px}.jinsere-choice-card b,.jinsere-choice-card small{display:block}.jinsere-choice-card b{font-size:13px;color:var(--gs-navy)}.jinsere-choice-card small{margin-top:4px;font-size:10px;color:var(--gs-muted)}.jinsere-pref-picker,.jinsere-city-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:16px}.jinsere-pref-picker button,.jinsere-city-picker button,.jinsere-whole-pref,.jinsere-priority-grid button{min-height:44px;padding:9px;border:1px solid var(--gs-line);border-radius:10px;background:#fff;color:var(--gs-ink);font-weight:800;cursor:pointer}.jinsere-pref-picker button[aria-pressed="true"],.jinsere-priority-grid button[aria-pressed="true"]{border-color:var(--gs-green);background:#f0f9f3}.jinsere-whole-pref{width:100%;margin-top:15px;border-color:#9bcdb0;color:var(--gs-green)}.jinsere-city-picker>span{grid-column:1/-1;padding:18px;color:var(--gs-muted);text-align:center}.jinsere-modal__footer{padding:14px 20px;border-top:1px solid #e3ece6;background:#fbfdfb;display:flex;justify-content:space-between;gap:10px}.jinsere-modal__footer button{min-width:130px;min-height:46px;padding:0 18px;border-radius:12px;border:1px solid var(--gs-line);background:#fff;color:var(--gs-ink);font-weight:900;cursor:pointer}.jinsere-modal__footer button.is-next,.jinsere-modal__footer button.is-submit{margin-left:auto;border-color:var(--gs-green);background:var(--gs-green);color:#fff}.jinsere-modal__footer button:disabled{opacity:.42;cursor:not-allowed}.jinsere-diagnosis-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px}.jinsere-modal-mascot{text-align:center;padding:12px;border-radius:18px;background:#f2f9f4}.jinsere-modal-mascot img{width:160px;height:auto}.jinsere-modal-mascot p{margin:4px 0;color:var(--gs-green);font-size:12px;font-weight:800;line-height:1.5}.jinsere-priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.jinsere-priority-grid button{min-height:88px;text-align:left;padding:16px}.jinsere-priority-grid b,.jinsere-priority-grid small{display:block}.jinsere-priority-grid small{margin-top:6px;color:var(--gs-muted);font-weight:500}
@media(max-width:980px){.jinsere-header-nav,.jinsere-header-actions{display:none}.jinsere-mobile-menu{display:block}.jinsere-header__inner{min-height:72px}.jinsere-brand{flex-basis:190px}.jinsere-v2-hero__inner{grid-template-columns:1fr;gap:18px}.jinsere-v2-hero__visual{min-height:280px}.jinsere-work-grid{grid-template-columns:repeat(2,1fr)}.jinsere-region-grid{grid-template-columns:repeat(4,1fr)}.jinsere-v2-main-grid{grid-template-columns:1fr}.jinsere-service-grid{grid-template-columns:repeat(3,1fr)}.jinsere-core-public .jinsere-pref-grid{grid-template-columns:repeat(3,1fr)}.jinsere-choice-grid{grid-template-columns:repeat(2,1fr)}.jinsere-pref-picker,.jinsere-city-picker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.jinsere-container,.jinsere-core-shell{width:min(100% - 24px,1140px)}.jinsere-header__inner{width:calc(100% - 24px)}.jinsere-brand{flex-basis:160px}.jinsere-v2-hero__inner{padding-block:32px}.jinsere-v2-hero h1{font-size:36px}.jinsere-v2-lead{font-size:14px}.jinsere-v2-hero__actions{display:grid}.jinsere-v2-btn{width:100%}.jinsere-v2-hero__visual{min-height:300px}.jinsere-v2-hero__visual>img{width:170px}.jinsere-mascot-bubble{left:0;top:0;padding:10px 16px;font-size:12px}.jinsere-v2-stats{right:0;bottom:0;width:175px;padding:14px}.jinsere-v2-stats h2{font-size:14px}.jinsere-v2-stats dd{font-size:18px}.jinsere-v2-trust__grid{grid-template-columns:1fr}.jinsere-v2-trust__grid>div{border-bottom:1px solid #edf2ef}.jinsere-v2-section{padding:44px 0}.jinsere-v2-section__head{align-items:flex-start;flex-direction:column}.jinsere-v2-section__head h2{font-size:26px}.jinsere-work-grid{grid-template-columns:1fr}.jinsere-region-grid{grid-template-columns:repeat(2,1fr)}.jinsere-service-grid{grid-template-columns:1fr}.jinsere-v2-compare>.jinsere-container{flex-direction:column;align-items:stretch}.jinsere-footer__grid{grid-template-columns:1fr;gap:24px}.jinsere-core-public{padding-top:28px}.jinsere-core-public .jinsere-pref-grid{grid-template-columns:repeat(2,1fr)}.jinsere-search-grid{grid-template-columns:1fr}.jinsere-search-card__actions{flex-direction:column}.jinsere-modal__dialog{width:calc(100% - 16px);max-height:94vh;border-radius:16px}.jinsere-modal__header{grid-template-columns:105px 1fr 38px;padding:10px 12px;gap:10px}.jinsere-modal__header>img{width:100px}.jinsere-modal__header div strong{font-size:14px}.jinsere-modal__body{padding:18px 14px}.jinsere-choice-grid{grid-template-columns:1fr}.jinsere-pref-picker,.jinsere-city-picker{grid-template-columns:repeat(2,1fr)}.jinsere-diagnosis-body{grid-template-columns:1fr}.jinsere-modal-mascot{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 12px}.jinsere-modal-mascot img{width:76px}.jinsere-priority-grid{grid-template-columns:1fr}.jinsere-modal__footer{padding:10px 12px}.jinsere-modal__footer button{min-width:100px}}

/* v0.2.3 — Tochikatsuhojo-parity layout corrections. */
.jinsere-brand{overflow:visible;flex-basis:236px;padding:6px 0}
.jinsere-brand img{width:100%;height:auto!important;max-height:none!important;object-fit:contain;overflow:visible}
.jinsere-modal__header>img{height:auto!important;max-height:none!important;object-fit:contain}

.jinsere-v2-hero__inner{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  grid-template-areas:"copy visual" "actions visual";
  align-items:center;column-gap:44px;row-gap:20px;
  min-height:430px;padding-block:42px;
}
.jinsere-v2-hero__copy{grid-area:copy;align-self:end}
.jinsere-v2-hero__visual{grid-area:visual;align-self:stretch;min-height:350px;display:block;position:relative}
.jinsere-v2-hero__actions{grid-area:actions;margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:start}
.jinsere-v2-hero__actions .jinsere-v2-btn{width:100%;min-height:68px;padding:9px 18px;text-align:left}
.jinsere-v2-hero__actions .jinsere-v2-btn:nth-child(3){grid-column:1/-1;max-width:calc(50% - 6px)}
.jinsere-v2-btn__copy{display:block;line-height:1.15}.jinsere-v2-btn__copy small,.jinsere-v2-btn__copy strong{display:block}.jinsere-v2-btn__copy small{margin:0 0 4px;font-size:10px;opacity:.9}.jinsere-v2-btn__copy strong{font-size:16px}
.jinsere-v2-btn.is-outline{background:#fff;color:var(--gs-green);border:2px solid var(--gs-green);box-shadow:none}
.jinsere-v2-hero__mascot-img{position:absolute!important;z-index:2!important;right:46px;bottom:0;width:260px!important;height:auto!important;object-fit:contain}
.jinsere-v2-hero__bubble-img{position:absolute!important;z-index:3!important;left:18px;top:12px;width:155px!important;height:auto!important;object-fit:contain}
.jinsere-v2-stats{right:0;bottom:18px;width:205px;transform:translateX(36%)}
.jinsere-mascot-bubble{display:none!important}

.jinsere-work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jinsere-work-card{position:relative;min-height:102px;padding:15px 38px 15px 14px}
.jinsere-work-card>i{position:absolute;right:13px;color:var(--gs-green);font-size:22px;font-style:normal}

.jinsere-region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.jinsere-region-card{min-height:58px;display:grid;grid-template-columns:12px 1fr 18px;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--gs-line);border-radius:11px;background:#fff;color:var(--gs-ink);text-align:left;cursor:pointer}
.jinsere-region-card:hover{border-color:#8bc8a4;background:#f2faf5}.jinsere-region-card strong{font-size:13px}.jinsere-region-card>span{display:flex;color:var(--gs-green)}.jinsere-region-card .jinsere-icon{width:17px}.jinsere-region-card>i{width:10px;height:10px;border-radius:50%;background:#6fae98}.jinsere-region-card>i.is-2{background:#4ba4b9}.jinsere-region-card>i.is-3{background:#7398c8}.jinsere-region-card>i.is-4{background:#86a967}.jinsere-region-card>i.is-5{background:#d8906e}.jinsere-region-card>i.is-6{background:#6d75aa}.jinsere-region-card>i.is-7{background:#cb7d9e}
.jinsere-region-seo-link{margin-top:15px;text-align:right}.jinsere-region-seo-link a{color:var(--gs-green);font-weight:900;font-size:13px}

.jinsere-search-summary{flex-wrap:wrap}.jinsere-search-summary__actions{margin-left:auto!important;display:flex!important;gap:8px!important}.jinsere-search-summary__actions button,.jinsere-search-summary__actions a{min-height:40px;padding:0 13px;border:1px solid var(--gs-line);border-radius:9px;background:#fff;color:var(--gs-green);display:inline-flex;align-items:center;font-weight:900;cursor:pointer}
.jinsere-priority-grid button[aria-pressed="true"]{border-color:var(--gs-green);background:#f0f9f3;box-shadow:inset 0 0 0 1px var(--gs-green)}

.jinsere-estimate-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px 28px;align-items:center}.jinsere-estimate-head .akihojo-kotoie-page-head__budget{grid-column:1/-1}.jinsere-estimate-guide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.jinsere-estimate-guide img{display:block;width:180px;height:auto;object-fit:contain}.jinsere-estimate-guide div{padding:10px 14px;border:1px solid var(--aki-sim-border);border-radius:12px;background:#fff}.jinsere-estimate-guide strong,.jinsere-estimate-guide span{display:block}.jinsere-estimate-guide span{margin-top:3px;font-size:12px;color:var(--aki-sim-sub)}.jinsere-estimate-note{margin-top:18px;padding:16px 18px;border:1px solid var(--aki-sim-border);border-radius:14px;background:#fff}.jinsere-estimate-note p{margin:5px 0 0;color:var(--aki-sim-sub);font-size:12px;line-height:1.7}

@media(max-width:980px){
  .jinsere-v2-hero__inner{grid-template-columns:1fr;grid-template-areas:"copy" "visual" "actions";gap:14px;padding-block:28px}
  .jinsere-v2-hero__copy{align-self:auto}.jinsere-v2-hero__visual{min-height:300px;width:min(100%,560px);margin-inline:auto}.jinsere-v2-hero__actions{width:min(100%,680px);margin-inline:auto}
  .jinsere-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jinsere-estimate-head{grid-template-columns:1fr}.jinsere-estimate-head .akihojo-kotoie-page-head__budget{grid-column:1}
}
@media(max-width:680px){
  .jinsere-header__inner{min-height:68px}.jinsere-brand{flex-basis:172px;padding:4px 0}
  .jinsere-v2-hero__inner{grid-template-areas:"copy" "visual" "actions";padding-block:24px;gap:12px}
  .jinsere-v2-hero h1{font-size:34px}.jinsere-v2-lead{font-size:13px;line-height:1.75}
  .jinsere-v2-hero__visual{min-height:245px}.jinsere-v2-hero__mascot-img{right:50%;transform:translateX(50%);bottom:0;width:190px!important}.jinsere-v2-hero__bubble-img{left:8px;top:5px;width:126px!important}.jinsere-v2-stats{right:0;bottom:4px;width:145px;padding:11px;transform:none}.jinsere-v2-stats h2{font-size:12px}.jinsere-v2-stats dt{font-size:10px}.jinsere-v2-stats dd{font-size:16px}
  .jinsere-v2-hero__actions{grid-template-columns:1fr;gap:9px}.jinsere-v2-hero__actions .jinsere-v2-btn,.jinsere-v2-hero__actions .jinsere-v2-btn:nth-child(3){grid-column:auto;max-width:none;min-height:58px}.jinsere-v2-btn__copy strong{font-size:15px}
  .jinsere-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jinsere-work-card{min-height:92px;padding:12px 28px 12px 10px;gap:8px}.jinsere-work-card>span{width:34px;height:34px}.jinsere-work-card b{font-size:12px}.jinsere-work-card small{font-size:9px}
  .jinsere-region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.jinsere-region-card{min-height:54px;padding:8px 9px}.jinsere-region-card strong{font-size:11px}
  .jinsere-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jinsere-choice-card{min-height:92px;padding:10px;gap:8px}.jinsere-choice-card__icon{width:32px;height:32px}.jinsere-pref-picker,.jinsere-city-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.jinsere-priority-grid{grid-template-columns:1fr 1fr}.jinsere-priority-grid button{min-height:92px;padding:12px}
  .jinsere-estimate-guide{flex-direction:row;text-align:left}.jinsere-estimate-guide img{width:105px}
}

/* v0.2.5 — exact approved B-mark horizontal logo + transparent square-face favicon. */
.jinsere-brand{flex-basis:300px}
.jinsere-brand img{display:block;width:100%;height:auto!important;object-fit:contain}
@media(max-width:1180px) and (min-width:981px){.jinsere-brand{flex-basis:255px}.jinsere-header__inner{gap:20px}.jinsere-header-nav{gap:20px}}
@media(max-width:680px){.jinsere-brand{flex-basis:205px}}

/* v0.2.6 — transparent header + Tochikatsuhojo v0.1.90 hero rhythm. */
.jinsere-global-header{
  background:transparent!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home .jinsere-global-header{
  position:absolute!important;
  top:0;left:0;right:0;z-index:1000;
}
.admin-bar.home .jinsere-global-header{top:32px}
.home .jinsere-header__inner{min-height:78px}
.home .jinsere-header-nav{gap:22px}
.home .jinsere-header-nav a{color:#294d47;font-size:12px;font-weight:850;text-shadow:0 1px 0 rgba(255,255,255,.72)}
.home .jinsere-header-action{min-height:43px;padding-inline:15px;border-radius:999px;font-size:12px;box-shadow:0 8px 22px rgba(24,74,69,.14)}
.home .jinsere-header-action.is-search{background:var(--gs-orange);color:#fff}
.home .jinsere-header-action.is-diagnosis{background:var(--gs-green);color:#fff}

.jinsere-v2-hero{
  position:relative;min-height:535px;overflow:hidden;padding-top:78px;
  background:
    radial-gradient(circle at 83% 22%,rgba(246,161,10,.11) 0 88px,transparent 89px),
    radial-gradient(circle at 10% 90%,rgba(21,120,74,.10) 0 110px,transparent 111px),
    linear-gradient(180deg,#edf9f3 0%,#f3fbf7 68%,#fff 100%);
}
.jinsere-v2-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.66) 0%,rgba(255,255,255,.28) 42%,rgba(255,255,255,.04) 100%),radial-gradient(circle at 70% 78%,rgba(93,174,151,.10),transparent 28%)}
.jinsere-v2-hero__decor{left:0;right:0;bottom:0;width:auto;height:126px;border-radius:0;opacity:.36;transform:none;background:linear-gradient(155deg,transparent 0 46%,#d5eee5 47% 57%,transparent 58%) 0 50%/210px 90px repeat-x,linear-gradient(25deg,transparent 0 44%,#e6f5ef 45% 60%,transparent 61%) 75px 30%/250px 100px repeat-x}
.jinsere-v2-hero__inner{
  position:relative;z-index:2;min-height:457px;
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(230px,.50fr) minmax(225px,.46fr);
  grid-template-areas:"copy visual stats";gap:18px;align-items:center;padding-top:36px;padding-bottom:36px;
}
.jinsere-v2-hero__copy{grid-area:copy;align-self:center;padding:16px 0 50px}
.jinsere-v2-kicker{width:fit-content;margin:0;padding:7px 13px;border:1px solid #cde4dc;border-radius:999px;background:rgba(255,255,255,.82);color:var(--gs-green);font-size:10px;line-height:1;font-weight:950;letter-spacing:.04em}
.jinsere-v2-hero h1{max-width:700px;margin:15px 0 0;color:var(--gs-ink);font-size:clamp(43px,3.75vw,55px);line-height:1.18;letter-spacing:-.045em;font-weight:950;text-shadow:0 2px 0 rgba(255,255,255,.8)}
.jinsere-v2-hero h1 span,.jinsere-v2-hero h1 strong{display:block}
.jinsere-v2-hero h1 strong{margin-top:0;color:#26786c;font-weight:950}
.jinsere-v2-lead{max-width:610px;margin:17px 0 0;color:#4a625c;font-size:13.5px;line-height:1.85;font-weight:550}
.jinsere-v2-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}
.jinsere-v2-hero__actions .jinsere-v2-btn{width:auto;min-height:58px;padding:8px 17px;border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-size:13px;line-height:1;font-weight:900;text-align:left;box-shadow:0 9px 23px rgba(31,93,83,.13);transition:transform .16s ease,box-shadow .16s ease}
.jinsere-v2-hero__actions .jinsere-v2-btn:hover{transform:translateY(-1px);box-shadow:0 12px 27px rgba(31,93,83,.17)}
.jinsere-v2-btn--search{min-width:174px;background:var(--gs-orange)!important}
.jinsere-v2-btn--diagnosis{min-width:210px;background:var(--gs-green)!important}
.jinsere-v2-btn__icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.15);flex:0 0 32px}
.jinsere-v2-btn__icon .jinsere-icon{width:18px;height:18px}
.jinsere-v2-btn__copy{display:grid;gap:2px;text-align:left;line-height:1}
.jinsere-v2-btn__copy small{margin:0;font-size:7px;opacity:.84;font-weight:800;align-self:auto}
.jinsere-v2-btn__copy strong{font-size:13px;font-weight:950}
.jinsere-v2-hero__visual{grid-area:visual;position:relative;align-self:end;min-height:355px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px;margin:0}
.jinsere-v2-hero__mascot-img{position:relative!important;z-index:2!important;right:auto!important;bottom:auto!important;transform:none!important;width:min(228px,100%)!important;height:284px!important;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 18px rgba(33,86,75,.12))}
.jinsere-v2-hero__bubble-img{position:absolute!important;z-index:3!important;top:34px!important;left:-12px!important;width:178px!important;height:auto!important;object-fit:contain}
.jinsere-v2-stats{grid-area:stats;position:relative;right:auto;bottom:auto;transform:none;width:auto;align-self:center;overflow:hidden;padding:14px 14px 15px;border:1px solid #d7e8e2;border-radius:14px;background:rgba(255,255,255,.90);box-shadow:0 8px 22px rgba(24,74,69,.07)}
.jinsere-v2-stats__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #e8f0ed}
.jinsere-v2-stats__head span{color:var(--gs-ink);font-size:11px;font-weight:950}
.jinsere-v2-stats__head small{color:#8b9994;font-size:7.5px;font-weight:800}
.jinsere-v2-stats h2{display:none}
.jinsere-v2-stats dl{margin:6px 0 0}
.jinsere-v2-stats dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0}
.jinsere-v2-stats dt{font-size:10px;color:#82928d}
.jinsere-v2-stats dd{margin:0;color:#34544c;font-size:16px;font-weight:950}
.jinsere-v2-stats dd small{font-size:8px}

@media(max-width:1100px){
  .home .jinsere-header-nav{display:none}.home .jinsere-header-actions{margin-left:auto}
  .jinsere-v2-hero__inner{grid-template-columns:minmax(0,1fr) 235px;grid-template-areas:"copy visual" "stats stats"}
  .jinsere-v2-stats{width:min(560px,100%);justify-self:center}
}
@media(max-width:782px){.admin-bar.home .jinsere-global-header{top:46px}}
@media(max-width:767px){
  .home .jinsere-header__inner{width:calc(100% - 22px);min-height:64px;gap:8px}.home .jinsere-brand{flex-basis:170px}.home .jinsere-header-actions{display:none}.home .jinsere-mobile-menu{display:block;margin-left:auto}.home .jinsere-mobile-menu>summary{background:rgba(255,255,255,.72);border:1px solid rgba(40,103,94,.12);border-radius:10px;padding:7px;box-shadow:0 5px 15px rgba(24,74,69,.07);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .jinsere-v2-hero{min-height:0;padding-top:64px}.jinsere-v2-hero__inner{display:block;min-height:0;padding-top:25px;padding-bottom:26px}.jinsere-v2-hero__copy{padding:0}.jinsere-v2-kicker{padding:6px 10px;font-size:9px}.jinsere-v2-hero h1{margin-top:12px;font-size:clamp(31px,9vw,38px);line-height:1.28}.jinsere-v2-lead{margin-top:14px;font-size:12.3px;line-height:1.78}
  .jinsere-v2-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;width:100%}.jinsere-v2-hero__actions .jinsere-v2-btn,.jinsere-v2-btn--search,.jinsere-v2-btn--diagnosis{min-width:0;min-height:60px;padding:7px 8px;border-radius:12px;gap:6px;width:100%}.jinsere-v2-btn__icon{width:32px;height:32px;border-radius:9px}.jinsere-v2-btn__copy small{font-size:6.8px}.jinsere-v2-btn__copy strong{font-size:11px}
  .jinsere-v2-hero__visual{min-height:190px;margin-top:15px;padding:0;justify-content:flex-start;width:100%}.jinsere-v2-hero__mascot-img{width:128px!important;height:166px!important;margin-left:4px}.jinsere-v2-hero__bubble-img{top:12px!important;left:105px!important;width:min(190px,calc(100vw - 145px))!important}
  .jinsere-v2-stats{margin-top:5px;padding:11px 12px;width:100%}
}


/* ======================================================================
 * v0.2.7 — Tochikatsuhojo v0.1.90 first-view balance parity.
 * Approved Jinsere logo / Roll-kun / speech-bubble image assets are kept.
 * Desktop: copy + mascot + data card as a compact 3-column hero.
 * Mobile: copy/actions, then mascot + data card in the same lower 2-column row.
 * ====================================================================== */
.home .jinsere-brand{flex:0 0 250px!important;max-width:250px!important}
.home .jinsere-brand img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
.home .jinsere-v2-hero__inner{
  grid-template-columns:minmax(0,1.18fr) minmax(235px,.50fr) minmax(225px,.46fr)!important;
  grid-template-areas:"copy visual stats"!important;
  gap:18px!important;
  padding-top:36px!important;
  padding-bottom:36px!important;
}
.home .jinsere-v2-hero__copy{grid-area:copy!important;max-width:690px;padding:16px 0 50px!important}
.home .jinsere-v2-hero h1{max-width:680px!important;font-size:clamp(43px,3.65vw,54px)!important;line-height:1.18!important;letter-spacing:-.045em!important}
.home .jinsere-v2-lead{max-width:610px!important;font-size:13.5px!important;line-height:1.85!important}
.home .jinsere-v2-hero__lower{display:contents!important}
.home .jinsere-v2-hero__visual{
  grid-area:visual!important;
  min-height:355px!important;
  align-self:end!important;
  overflow:visible!important;
  padding-bottom:10px!important;
}
.home .jinsere-v2-hero__mascot-img{
  position:relative!important;
  z-index:3!important;
  width:246px!important;
  height:258px!important;
  max-width:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 14px 18px rgba(28,83,72,.13))!important;
}
.home .jinsere-v2-hero__bubble-img{
  position:absolute!important;
  z-index:5!important;
  top:44px!important;
  left:-52px!important;
  width:226px!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 16px rgba(24,74,69,.08))!important;
  pointer-events:none!important;
}
.home .jinsere-v2-stats{grid-area:stats!important;width:auto!important;align-self:center!important;margin:0!important}

@media(max-width:1180px) and (min-width:1101px){
  .home .jinsere-brand{flex-basis:225px!important;max-width:225px!important}
  .home .jinsere-header__inner{gap:20px!important}
  .home .jinsere-header-nav{gap:18px!important}
}
@media(max-width:1100px) and (min-width:768px){
  .home .jinsere-brand{flex-basis:210px!important;max-width:210px!important}
  .home .jinsere-v2-hero__inner{grid-template-columns:minmax(0,1fr) 235px!important;grid-template-areas:"copy visual" "stats stats"!important}
  .home .jinsere-v2-hero__mascot-img{width:210px!important;height:228px!important}
  .home .jinsere-v2-hero__bubble-img{top:42px!important;left:-34px!important;width:195px!important}
  .home .jinsere-v2-stats{width:min(560px,100%)!important;justify-self:center!important}
}
@media(max-width:767px){
  .home .jinsere-header__inner{width:calc(100% - 22px)!important;min-height:64px!important;gap:8px!important}
  .home .jinsere-brand{flex:0 0 148px!important;max-width:148px!important;padding:0!important}
  .home .jinsere-v2-hero{padding-top:64px!important}
  .home .jinsere-v2-hero__inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"copy" "lower"!important;
    grid-template-rows:auto auto!important;
    gap:0!important;
    align-items:start!important;
    padding-top:25px!important;
    padding-bottom:22px!important;
  }
  .home .jinsere-v2-hero__copy{grid-area:copy!important;max-width:none!important;padding:0!important}
  .home .jinsere-v2-hero h1{font-size:clamp(29px,8.2vw,34px)!important;line-height:1.27!important;letter-spacing:-.04em!important}
  .home .jinsere-v2-lead{margin-top:13px!important;font-size:12px!important;line-height:1.76!important}
  .home .jinsere-v2-hero__actions{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:17px!important}
  .home .jinsere-v2-hero__actions .jinsere-v2-btn{min-height:58px!important;padding:7px 7px!important;gap:6px!important;border-radius:12px!important}
  .home .jinsere-v2-btn__copy small{font-size:6.4px!important}
  .home .jinsere-v2-btn__copy strong{font-size:10.5px!important;white-space:nowrap!important}
  .home .jinsere-v2-hero__lower{
    grid-area:lower!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) minmax(130px,.95fr)!important;
    grid-template-areas:"mascot stats"!important;
    column-gap:5px!important;
    align-items:end!important;
    width:100%!important;
    min-width:0!important;
    margin-top:11px!important;
  }
  .home .jinsere-v2-hero__visual{
    grid-area:mascot!important;
    position:relative!important;
    min-height:0!important;
    height:174px!important;
    margin:0!important;
    padding:0!important;
    align-self:end!important;
    overflow:visible!important;
    display:block!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    position:absolute!important;
    left:3px!important;
    bottom:0!important;
    width:154px!important;
    height:158px!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
    object-fit:contain!important;
    object-position:left bottom!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    position:absolute!important;
    top:-3px!important;
    left:18px!important;
    width:152px!important;
    height:auto!important;
    max-width:none!important;
  }
  .home .jinsere-v2-stats{
    grid-area:stats!important;
    width:100%!important;
    min-width:0!important;
    align-self:start!important;
    margin:8px 0 0 auto!important;
    padding:8px 8px 7px!important;
    border-radius:10px!important;
  }
  .home .jinsere-v2-stats__head{padding-bottom:4px!important}
  .home .jinsere-v2-stats__head span{font-size:8.5px!important}
  .home .jinsere-v2-stats__head small{font-size:5.5px!important}
  .home .jinsere-v2-stats dl{margin-top:3px!important}
  .home .jinsere-v2-stats dl>div{padding:4px 0!important}
  .home .jinsere-v2-stats dt{font-size:7.2px!important}
  .home .jinsere-v2-stats dd{font-size:12.5px!important}
  .home .jinsere-v2-stats dd small{font-size:6.5px!important}
}
@media(max-width:390px){
  .home .jinsere-v2-hero__mascot-img{left:0!important;width:148px!important;height:153px!important}
  .home .jinsere-v2-hero__bubble-img{left:13px!important;width:145px!important}
  .home .jinsere-v2-btn__copy strong{font-size:10px!important}
}

/* ======================================================================
 * v0.2.9 — first-view mascot / bubble balance + smaller brand lockup.
 * The approved image assets stay as independent PNGs. The bubble asset has
 * its two upper-left yellow accent marks removed at the image-file level.
 * ====================================================================== */
.home .jinsere-brand{
  flex:0 0 220px!important;
  max-width:220px!important;
}
.home .jinsere-v2-hero__visual{
  min-height:320px!important;
  padding-bottom:18px!important;
}
.home .jinsere-v2-hero__mascot-img{
  position:absolute!important;
  right:8px!important;
  left:auto!important;
  bottom:14px!important;
  width:210px!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
.home .jinsere-v2-hero__bubble-img{
  top:36px!important;
  left:-10px!important;
  width:168px!important;
  height:auto!important;
  max-width:none!important;
}
@media(max-width:1180px) and (min-width:1101px){
  .home .jinsere-brand{flex-basis:200px!important;max-width:200px!important}
  .home .jinsere-v2-hero__mascot-img{right:4px!important;width:195px!important}
  .home .jinsere-v2-hero__bubble-img{top:38px!important;left:-8px!important;width:158px!important}
}
@media(max-width:1100px) and (min-width:768px){
  .home .jinsere-brand{flex-basis:185px!important;max-width:185px!important}
  .home .jinsere-v2-hero__visual{min-height:292px!important}
  .home .jinsere-v2-hero__mascot-img{right:8px!important;width:178px!important;height:auto!important}
  .home .jinsere-v2-hero__bubble-img{top:42px!important;left:-2px!important;width:145px!important}
}
@media(max-width:767px){
  .home .jinsere-brand{flex:0 0 130px!important;max-width:130px!important}
  .home .jinsere-v2-hero__visual{
    height:166px!important;
    min-height:0!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:122px!important;
    height:auto!important;
    object-position:left bottom!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:7px!important;
    left:82px!important;
    width:122px!important;
    height:auto!important;
  }
}
@media(max-width:390px){
  .home .jinsere-brand{flex-basis:124px!important;max-width:124px!important}
  .home .jinsere-v2-hero__visual{height:158px!important}
  .home .jinsere-v2-hero__mascot-img{left:0!important;width:116px!important;height:auto!important}
  .home .jinsere-v2-hero__bubble-img{top:8px!important;left:77px!important;width:114px!important}
}

/* ======================================================================
 * v0.3.0 — Iehojo-touch artificial_turf hero background + SP mascot/bubble balance.
 * The hero background uses a dedicated artificial_turf illustration. Roll-kun and
 * the speech-bubble remain independent image assets.
 * ====================================================================== */
.home .jinsere-v2-hero{
  background-image:
    linear-gradient(90deg,rgba(249,252,255,.96) 0%,rgba(249,252,255,.90) 38%,rgba(249,252,255,.66) 64%,rgba(249,252,255,.40) 100%),
    url('../rich/jinsere-hero-background-desktop.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.home .jinsere-v2-hero::after{
  background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(242,248,255,.24) 72%,rgba(248,252,255,.60) 100%)!important;
}
.home .jinsere-v2-hero__decor{
  opacity:.10!important;
}
.home .jinsere-v2-hero__copy{
  text-shadow:0 1px 0 rgba(255,255,255,.58);
}
.home .jinsere-v2-stats{
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
@media(max-width:767px){
  .home .jinsere-v2-hero{
    background-image:
      linear-gradient(180deg,rgba(249,252,255,.96) 0%,rgba(249,252,255,.91) 48%,rgba(249,252,255,.72) 100%),
      url('../rich/jinsere-hero-background-mobile.png')!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .home .jinsere-v2-hero__decor{display:none!important}
  .home .jinsere-v2-hero__visual{
    height:166px!important;
    overflow:visible!important;
  }
  /* Speech bubble tail is on the right, so place the bubble left of Roll-kun. */
  .home .jinsere-v2-hero__bubble-img{
    top:5px!important;
    left:-8px!important;
    width:126px!important;
    z-index:5!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:46px!important;
    right:auto!important;
    bottom:0!important;
    width:120px!important;
    height:auto!important;
    z-index:4!important;
  }
}
@media(max-width:390px){
  .home .jinsere-v2-hero__visual{height:158px!important}
  .home .jinsere-v2-hero__bubble-img{top:6px!important;left:-7px!important;width:119px!important}
  .home .jinsere-v2-hero__mascot-img{left:43px!important;width:114px!important;height:auto!important}
}

/* ======================================================================
 * v0.3.1 — mobile hero mascot/bubble separation + smaller header logo.
 * Keep the approved image assets unchanged; adjust layout only.
 * ====================================================================== */
.home .jinsere-brand{
  flex-basis:220px!important;
  max-width:220px!important;
}
@media(max-width:1180px) and (min-width:768px){
  .home .jinsere-brand{
    flex-basis:180px!important;
    max-width:180px!important;
  }
}
@media(max-width:767px){
  .home .jinsere-brand{
    flex:0 0 108px!important;
    max-width:108px!important;
  }
  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1.18fr) minmax(126px,.82fr)!important;
    column-gap:7px!important;
  }
  .home .jinsere-v2-hero__visual{
    height:176px!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:5px!important;
    left:0!important;
    width:108px!important;
    z-index:5!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:auto!important;
    right:0!important;
    bottom:0!important;
    width:96px!important;
    height:auto!important;
    z-index:4!important;
  }
}
@media(max-width:390px){
  .home .jinsere-brand{
    flex-basis:102px!important;
    max-width:102px!important;
  }
  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1.2fr) minmax(122px,.8fr)!important;
    column-gap:6px!important;
  }
  .home .jinsere-v2-hero__visual{height:168px!important}
  .home .jinsere-v2-hero__bubble-img{
    top:5px!important;
    left:0!important;
    width:102px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    right:0!important;
    left:auto!important;
    width:90px!important;
    height:auto!important;
  }
}


/* ======================================================================
 * v0.3.2 — smaller desktop header logo only.
 * Approved B-logo artwork itself is unchanged. Mobile sizing is preserved.
 * ====================================================================== */
@media(min-width:1181px){
  .home .jinsere-brand{
    flex-basis:180px!important;
    max-width:180px!important;
  }
}
@media(max-width:1180px) and (min-width:768px){
  .home .jinsere-brand{
    flex-basis:165px!important;
    max-width:165px!important;
  }
}


/* ======================================================================
 * v0.3.3 — SP hero mascot centered + enlarged, bubble separated.
 * Layout-only adjustment. Approved image assets are unchanged.
 * ====================================================================== */
@media(max-width:767px){
  .home .jinsere-v2-hero__visual{
    height:188px!important;
    min-height:188px!important;
    position:relative!important;
    overflow:visible!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:2px!important;
    left:4px!important;
    right:auto!important;
    width:108px!important;
    height:auto!important;
    transform:none!important;
    z-index:5!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    width:128px!important;
    height:auto!important;
    transform:translateX(-50%)!important;
    z-index:4!important;
  }
}
@media(max-width:390px){
  .home .jinsere-v2-hero__visual{
    height:182px!important;
    min-height:182px!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:2px!important;
    left:2px!important;
    width:104px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:50%!important;
    right:auto!important;
    width:124px!important;
    transform:translateX(-50%)!important;
  }
}

/* ======================================================================
 * v0.3.4 — slightly smaller PC header logo only.
 * Approved logo artwork and tablet/mobile sizing are unchanged.
 * ====================================================================== */
@media(min-width:1181px){
  .home .jinsere-brand{
    flex-basis:170px!important;
    max-width:170px!important;
  }
}


/* ======================================================================
 * v0.3.5 — final PC header logo balance.
 * Artwork unchanged; desktop display size only.
 * ====================================================================== */
@media(min-width:1181px){
  .jinsere-brand,
  .home .jinsere-brand{
    flex:0 0 150px!important;
    flex-basis:150px!important;
    max-width:150px!important;
  }
}

/* ======================================================================
 * v0.3.6 — Tochikatsuhojo v0.1.90 trust pages / footer parity.
 * Jinsere-specific copy, brand and contact behavior.
 * ====================================================================== */
.jinsere-v36-footer{background:#163e3a!important;color:#fff!important;border-top:0!important}
.jinsere-v36-footer__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:46px 0 36px}
.jinsere-v36-footer__brand img{display:block;width:210px;height:auto;background:transparent!important;filter:brightness(0) invert(1);opacity:.96}
.jinsere-v36-footer__brand p{max-width:580px;margin:12px 0 0;color:#c9d9d5;font-size:12px;line-height:1.8}
.jinsere-v36-footer__nav{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.jinsere-v36-footer__nav a{color:#fff!important;font-size:12px;font-weight:800;text-decoration:none!important}
.jinsere-v36-footer__nav a:hover{opacity:.78}
.jinsere-v36-footer__bottom{border-top:1px solid rgba(255,255,255,.12)!important;padding:0!important;color:#acc3bd!important;font-size:10.5px!important}
.jinsere-v36-footer__bottom p{margin:0;padding:17px 0;color:#acc3bd;font-size:10.5px}

.jinsere-fixed-page{min-height:65vh;background:#f8fbfa}
.jinsere-fixed-page__hero{position:relative;overflow:hidden;padding:82px 0 58px;border-bottom:1px solid #dceae5;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.52)),url('../rich/jinsere-hero-background-desktop.png') center 53% / cover no-repeat}
.jinsere-fixed-page__hero p{margin:0 0 8px;color:#3b9380;font-size:11px;font-weight:950;letter-spacing:.16em}
.jinsere-fixed-page__hero h1{margin:0;color:var(--gs-ink);font-size:clamp(34px,4vw,48px);line-height:1.22;font-weight:950;letter-spacing:-.035em}
.jinsere-fixed-page__hero span{display:block;max-width:680px;margin-top:12px;color:#5f746d;font-size:14px;line-height:1.8}
.jinsere-fixed-page__content{padding-top:42px;padding-bottom:64px}
.jinsere-fixed-card{max-width:900px;margin-inline:auto;padding:34px 38px;border:1px solid #dbe9e4;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(24,74,69,.06)}
.jinsere-fixed-card>:first-child{margin-top:0}
.jinsere-fixed-card h2{margin:30px 0 10px;color:var(--gs-ink);font-size:22px;line-height:1.45;font-weight:900}
.jinsere-fixed-card p{margin:0 0 15px;color:#5c716a;font-size:14px;line-height:1.9}
.jinsere-fixed-card a{color:#237c6d;font-weight:800;text-underline-offset:3px}
.jinsere-static-note{margin:0 0 28px;padding:18px 20px;border:1px solid #cfe4dd;border-radius:13px;background:#f2faf6}
.jinsere-static-note strong{display:block;color:#246f61;font-size:14px;line-height:1.7}
.jinsere-static-note p{margin:5px 0 0!important;color:#5b746d!important;font-size:12.5px!important;line-height:1.8!important}
.jinsere-static-note--important{border-color:#f0d4a7;background:#fff8eb}
.jinsere-static-note--important strong{color:#8a5b17}

.jinsere-contact-form{display:grid;gap:18px;margin-top:26px}
.jinsere-contact-form>label{display:grid;gap:7px}
.jinsere-contact-form>label>span{color:#34564e;font-size:13px;font-weight:850}
.jinsere-contact-form b{display:inline-grid;place-items:center;min-height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#fff0e6;color:#c86f35;font-size:9px}
.jinsere-contact-form input,.jinsere-contact-form textarea,.jinsere-contact-form select{width:100%;border:1px solid #cfe0da;border-radius:11px;background:#fff;color:#29453f;font:inherit;font-size:14px;padding:12px 13px;box-shadow:inset 0 1px 2px rgba(24,74,69,.025)}
.jinsere-contact-form input,.jinsere-contact-form select{min-height:48px}
.jinsere-contact-form textarea{min-height:190px;resize:vertical}
.jinsere-contact-form input:focus,.jinsere-contact-form textarea:focus,.jinsere-contact-form select:focus{border-color:#65a99a;outline:3px solid rgba(90,179,163,.16)}
.jinsere-contact-form button{width:fit-content;min-width:180px;min-height:50px;border:0;border-radius:11px;background:var(--gs-green);color:#fff;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(30,102,94,.18)}
.jinsere-contact-form button:hover{background:#105f3d}
.jinsere-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.jinsere-contact-consent{display:flex!important;gap:10px!important;align-items:flex-start;color:#4f6962;font-size:13px;line-height:1.75;cursor:pointer}
.jinsere-contact-consent input[type="checkbox"]{width:19px!important;min-height:19px!important;height:19px!important;margin:2px 0 0;padding:0;flex:0 0 19px;accent-color:var(--gs-green)}
.jinsere-contact-consent>span{font-size:13px!important;font-weight:700!important;color:#4f6962!important}
.jinsere-form-notice{display:grid;gap:2px;margin:18px 0 0;padding:13px 15px;border-radius:10px;font-size:13px;line-height:1.7;font-weight:750}
.jinsere-form-notice strong{font-size:14px}.jinsere-form-notice span{font-weight:650}
.jinsere-form-notice.is-success{border:1px solid #b8dfd4;background:#eff9f5;color:#24695e}
.jinsere-form-notice.is-error{border:1px solid #f0c7ae;background:#fff6f0;color:#9d572c}

.jinsere-operation-table-wrap{overflow:hidden;border:1px solid #dce9e5;border-radius:13px}
.jinsere-operation-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.jinsere-operation-table th,.jinsere-operation-table td{padding:17px 19px;border-bottom:1px solid #e3ece8;vertical-align:top;text-align:left;font-size:13.5px;line-height:1.8}
.jinsere-operation-table tr:last-child th,.jinsere-operation-table tr:last-child td{border-bottom:0}
.jinsere-operation-table th{width:190px;background:#f1f8f5;color:#355a51;font-weight:900}
.jinsere-operation-table td{color:#536c65}
.jinsere-operation-contact-note{display:grid;gap:3px;margin-top:10px;padding:11px 12px;border-radius:9px;background:#fff8eb;color:#78551d}
.jinsere-operation-contact-note b,.jinsere-operation-contact-note span{font-size:12px}
.jinsere-operation-map,.jinsere-operation-area{margin-top:38px;padding-top:34px;border-top:1px solid #e0ebe7}
.jinsere-operation-kicker{margin:0 0 5px!important;color:#3b9380!important;font-size:10px!important;font-weight:950!important;letter-spacing:.16em}
.jinsere-operation-map h2,.jinsere-operation-area h2{margin-top:0}
.jinsere-operation-map__frame{margin-top:18px;overflow:hidden;border:1px solid #d8e7e2;border-radius:13px;background:#eef6f3}
.jinsere-operation-map__frame iframe{display:block;width:100%;height:360px;border:0}
.jinsere-policy-date{display:flex;align-items:center;gap:12px;width:fit-content;margin-top:30px;padding:12px 14px;border-radius:10px;background:#f1f8f5;color:#42645b;font-size:12px}
.jinsere-policy-date strong{color:#255d52}

.jinsere-faq-page{padding-bottom:80px;background:#f7faf8}
.jinsere-faq-layout{padding-top:32px}
.jinsere-faq-categories{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px}
.jinsere-faq-categories a{min-height:34px;display:inline-flex;align-items:center;padding:6px 11px;border:1px solid #d8e6dd;border-radius:999px;background:#fff;color:#48635a!important;font-size:10px;font-weight:850;text-decoration:none!important}
.jinsere-faq-section{scroll-margin-top:105px;margin-bottom:22px;padding:22px;border:1px solid #dfe9e3;border-radius:16px;background:#fff}
.jinsere-faq-section h2{margin:0 0 13px;color:var(--gs-ink);font-size:18px}
.jinsere-faq-list{display:grid;gap:8px}
.jinsere-faq-list details{border:1px solid #e2eae5;border-radius:10px;overflow:hidden;background:#fff}
.jinsere-faq-list summary{display:flex;align-items:flex-start;gap:10px;padding:14px;color:#29483f;font-size:12px;font-weight:900;cursor:pointer;list-style:none}
.jinsere-faq-list summary::-webkit-details-marker{display:none}
.jinsere-faq-list summary>span,.jinsere-faq-list details>div>span{flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#edf7f0;color:#197747;font-size:11px;font-weight:900}
.jinsere-faq-list details>div{display:flex;gap:10px;padding:0 14px 14px}
.jinsere-faq-list details>div>span{background:#eef4f8;color:#173d5c}
.jinsere-faq-list p{margin:2px 0 0;color:#5c7068;font-size:11px;line-height:1.8}

@media(max-width:767px){
  .jinsere-v36-footer__grid{grid-template-columns:1fr;gap:23px;padding:34px 0 28px}.jinsere-v36-footer__brand img{width:178px}.jinsere-v36-footer__nav{display:grid;gap:11px}.jinsere-v36-footer__nav a{font-size:12px}
  .jinsere-fixed-page__hero{padding:54px 0 42px;background-image:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.48)),url('../rich/jinsere-hero-background-mobile.png')}.jinsere-fixed-page__hero p{font-size:9px}.jinsere-fixed-page__hero h1{font-size:31px}.jinsere-fixed-page__hero span{font-size:12px;line-height:1.75}.jinsere-fixed-page__content{padding-top:22px;padding-bottom:44px}.jinsere-fixed-card{padding:23px 18px;border-radius:15px}.jinsere-fixed-card h2{margin-top:25px;font-size:19px}.jinsere-fixed-card p{font-size:12.5px;line-height:1.85}
  .jinsere-contact-form{gap:15px}.jinsere-contact-form input,.jinsere-contact-form textarea,.jinsere-contact-form select{font-size:16px}.jinsere-contact-consent>span{font-size:12.5px!important}
  .jinsere-operation-table-wrap{overflow:visible;border:0}.jinsere-operation-table,.jinsere-operation-table tbody,.jinsere-operation-table tr,.jinsere-operation-table th,.jinsere-operation-table td{display:block;width:100%}.jinsere-operation-table tr{overflow:hidden;margin-bottom:11px;border:1px solid #dce9e5;border-radius:11px}.jinsere-operation-table th{padding:11px 13px 7px;border:0}.jinsere-operation-table td{padding:8px 13px 13px;border:0;font-size:13px;line-height:1.75}.jinsere-operation-map__frame iframe{height:300px}
  .jinsere-faq-layout{width:min(calc(100% - 22px),1140px);padding-top:22px}.jinsere-faq-section{padding:15px 12px;border-radius:12px}.jinsere-faq-section h2{font-size:16px}.jinsere-faq-list summary{padding:12px 10px;font-size:11px}.jinsere-faq-list details>div{padding:0 10px 12px}
}

/* ======================================================================
 * v0.3.8 — site-wide inner-page header / breadcrumb safe zone.
 * Fixes the non-home SP logo remaining too large and guarantees visual
 * separation between the shared header and first breadcrumb/hero content.
 * Applies to ranking/search/diagnosis/company/estimate/fixed pages.
 * ====================================================================== */
.jinsere-site:not(.home) .jinsere-global-header{
  position:relative!important;
  z-index:1000!important;
  background:#fff!important;
  border-bottom:1px solid #e2ece8!important;
  box-shadow:none!important;
}
.jinsere-site:not(.home) .jinsere-header__inner{
  min-height:76px!important;
  gap:18px!important;
}
.jinsere-site:not(.home) .jinsere-brand{
  flex:0 0 150px!important;
  flex-basis:150px!important;
  width:150px!important;
  max-width:150px!important;
  padding:0!important;
  align-self:center!important;
}
.jinsere-site:not(.home) .jinsere-brand img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
}

/* Own-page first elements must always start below the shared header. */
.jinsere-site:not(.home) .jinsere-core-public,
.jinsere-site:not(.home) .jinsere-fixed-page,
.jinsere-site:not(.home) .jinsere-estimate-page{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
}
.jinsere-site:not(.home) .jinsere-core-public:not(.jinsere-core-public--directory){
  padding-top:48px!important;
}
.jinsere-site:not(.home) .jinsere-core-public--directory .jinsere-area-hero{
  padding-top:58px!important;
}
.jinsere-site:not(.home) .jinsere-public-breadcrumb,
.jinsere-site:not(.home) .jinsere-area-breadcrumb,
.jinsere-site:not(.home) .akihojo-sim-breadcrumb{
  position:relative!important;
  z-index:2!important;
  clear:both!important;
}
.jinsere-site:not(.home) .jinsere-estimate-page .akihojo-kotoie-page-inner{
  padding-top:34px!important;
}

@media(max-width:1180px) and (min-width:981px){
  .jinsere-site:not(.home) .jinsere-brand{
    flex:0 0 142px!important;
    flex-basis:142px!important;
    width:142px!important;
    max-width:142px!important;
  }
  .jinsere-site:not(.home) .jinsere-header__inner{gap:14px!important}
}
@media(max-width:980px) and (min-width:768px){
  .jinsere-site:not(.home) .jinsere-header__inner{
    min-height:70px!important;
    gap:10px!important;
  }
  .jinsere-site:not(.home) .jinsere-brand{
    flex:0 0 132px!important;
    flex-basis:132px!important;
    width:132px!important;
    max-width:132px!important;
  }
}
@media(max-width:767px){
  .jinsere-site:not(.home) .jinsere-global-header{
    min-height:64px!important;
  }
  .jinsere-site:not(.home) .jinsere-header__inner{
    width:calc(100% - 22px)!important;
    min-height:64px!important;
    gap:8px!important;
  }
  .jinsere-site:not(.home) .jinsere-brand{
    flex:0 0 116px!important;
    flex-basis:116px!important;
    width:116px!important;
    max-width:116px!important;
  }
  .jinsere-site:not(.home) .jinsere-mobile-menu{
    display:block!important;
    margin-left:auto!important;
  }
  .jinsere-site:not(.home) .jinsere-mobile-menu>summary{
    min-width:42px!important;
    min-height:42px!important;
    display:grid!important;
    place-items:center!important;
    padding:7px!important;
    border:1px solid #dce9e4!important;
    border-radius:10px!important;
    background:#fff!important;
  }
  .jinsere-site:not(.home) .jinsere-core-public:not(.jinsere-core-public--directory){
    padding-top:34px!important;
  }
  .jinsere-site:not(.home) .jinsere-core-public--directory .jinsere-area-hero{
    padding-top:32px!important;
  }
  .jinsere-site:not(.home) .jinsere-public-breadcrumb,
  .jinsere-site:not(.home) .jinsere-area-breadcrumb,
  .jinsere-site:not(.home) .akihojo-sim-breadcrumb{
    margin-top:0!important;
    margin-bottom:18px!important;
  }
  .jinsere-site:not(.home) .jinsere-estimate-page .akihojo-kotoie-page-inner{
    padding-top:28px!important;
  }
  .jinsere-site:not(.home) .jinsere-fixed-page__hero{
    padding-top:48px!important;
  }
}
@media(max-width:390px){
  .jinsere-site:not(.home) .jinsere-brand{
    flex-basis:110px!important;
    width:110px!important;
    max-width:110px!important;
  }
}

/* ======================================================================
 * v0.3.9 — root fix for custom public routes inheriting WordPress `home`.
 * Core rewrite endpoints can be classified as home by WP even though they
 * are ranking/search/diagnosis/company pages. `jinsere-inner-route` is added
 * server-side and wins over every older home-header rule.
 * ====================================================================== */
body.jinsere-site.jinsere-inner-route .jinsere-global-header{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:1000!important;
  background:#fff!important;
  border-bottom:1px solid #e2ece8!important;
  box-shadow:none!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-header__inner{
  min-height:76px!important;
  gap:18px!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-brand{
  flex:0 0 150px!important;
  flex-basis:150px!important;
  width:150px!important;
  max-width:150px!important;
  padding:0!important;
  align-self:center!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-brand img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-core-public,
body.jinsere-site.jinsere-inner-route .jinsere-estimate-page{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-core-public:not(.jinsere-core-public--directory){
  padding-top:48px!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-core-public--directory .jinsere-area-hero{
  padding-top:58px!important;
}
body.jinsere-site.jinsere-inner-route .jinsere-public-breadcrumb,
body.jinsere-site.jinsere-inner-route .jinsere-area-breadcrumb,
body.jinsere-site.jinsere-inner-route .akihojo-sim-breadcrumb{
  position:relative!important;
  z-index:2!important;
  clear:both!important;
  margin-top:0!important;
}
body.admin-bar.jinsere-site.jinsere-inner-route .jinsere-global-header{
  top:auto!important;
}
@media(max-width:1180px) and (min-width:981px){
  body.jinsere-site.jinsere-inner-route .jinsere-brand{
    flex:0 0 142px!important;flex-basis:142px!important;width:142px!important;max-width:142px!important;
  }
  body.jinsere-site.jinsere-inner-route .jinsere-header__inner{gap:14px!important}
}
@media(max-width:980px) and (min-width:768px){
  body.jinsere-site.jinsere-inner-route .jinsere-header__inner{min-height:70px!important;gap:10px!important}
  body.jinsere-site.jinsere-inner-route .jinsere-brand{
    flex:0 0 132px!important;flex-basis:132px!important;width:132px!important;max-width:132px!important;
  }
}
@media(max-width:767px){
  body.jinsere-site.jinsere-inner-route .jinsere-global-header{min-height:64px!important}
  body.jinsere-site.jinsere-inner-route .jinsere-header__inner{
    width:calc(100% - 22px)!important;min-height:64px!important;gap:8px!important;
  }
  body.jinsere-site.jinsere-inner-route .jinsere-brand{
    flex:0 0 116px!important;flex-basis:116px!important;width:116px!important;max-width:116px!important;
  }
  body.jinsere-site.jinsere-inner-route .jinsere-mobile-menu{display:block!important;margin-left:auto!important}
  body.jinsere-site.jinsere-inner-route .jinsere-core-public:not(.jinsere-core-public--directory){padding-top:30px!important}
  body.jinsere-site.jinsere-inner-route .jinsere-core-public--directory .jinsere-area-hero{padding-top:30px!important}
  body.jinsere-site.jinsere-inner-route .jinsere-public-breadcrumb,
  body.jinsere-site.jinsere-inner-route .jinsere-area-breadcrumb,
  body.jinsere-site.jinsere-inner-route .akihojo-sim-breadcrumb{margin-bottom:18px!important}
}
@media(max-width:390px){
  body.jinsere-site.jinsere-inner-route .jinsere-brand{
    flex-basis:110px!important;width:110px!important;max-width:110px!important;
  }
}

/* ======================================================================
 * v0.4.0 — transparent shared header + Tochikatsu-style picker/diagnosis.
 * ====================================================================== */
body.jinsere-site .jinsere-global-header,
body.jinsere-site.jinsere-inner-route .jinsere-global-header,
.jinsere-site:not(.home) .jinsere-global-header{
  background:transparent!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.jinsere-site .jinsere-global-header:after,
body.jinsere-site .jinsere-global-header:before{display:none!important;border:0!important;box-shadow:none!important}

.jinsere-search-flow{list-style:none;margin:0;padding:11px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-bottom:1px solid #e5eeea;background:#fbfdfc}
.jinsere-search-flow li{display:flex;align-items:center;gap:7px;min-width:0;color:#83928d;font-size:10px;font-weight:850}
.jinsere-search-flow li b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e9efec;color:#6d7f79}
.jinsere-search-flow li.is-active{color:#176b4c}.jinsere-search-flow li.is-active b{background:#197747;color:#fff}
.jinsere-choice-grid>[data-search-work]{min-height:96px;padding:13px;border:1px solid var(--gs-line);border-radius:14px;background:#fff;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 10px;text-align:left;color:var(--gs-ink);cursor:pointer}
.jinsere-choice-grid>[data-search-work]>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eaf7ee;color:var(--gs-green)}
.jinsere-choice-grid>[data-search-work] .jinsere-icon{width:20px}.jinsere-choice-grid>[data-search-work] b{align-self:end;font-size:13px}.jinsere-choice-grid>[data-search-work] small{font-size:10px;color:var(--gs-muted)}
.jinsere-choice-grid>[data-search-work][aria-pressed="true"]{border-color:#197747;background:#f0f9f3;box-shadow:inset 0 0 0 1px #197747}
.jinsere-pref-picker--grouped{display:block!important;margin-top:16px}.jinsere-pref-group{margin:0 0 15px}.jinsere-pref-group h4{margin:0 0 7px;color:#3d6157;font-size:11px}.jinsere-pref-group>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.jinsere-pref-group button{min-height:40px;padding:7px;border:1px solid var(--gs-line);border-radius:9px;background:#fff;color:var(--gs-ink);font-size:11px;font-weight:850;cursor:pointer}.jinsere-pref-group button[aria-pressed="true"]{border-color:#197747;background:#edf8f1;color:#176b4c}
.jinsere-city-selected{display:flex;align-items:center;gap:10px;margin:13px 0 10px;padding:10px 12px;border-radius:10px;background:#f2f8f5}.jinsere-city-selected small{color:#70827c;font-size:9px}.jinsere-city-selected strong{color:#176b4c;font-size:13px}
.jinsere-whole-pref{display:grid!important;gap:2px;text-align:left!important;padding:11px 13px!important}.jinsere-whole-pref b,.jinsere-whole-pref small{display:block}.jinsere-whole-pref small{font-size:9px;color:#6f817b;font-weight:600}
.jinsere-city-divider{display:flex;align-items:center;gap:10px;margin:13px 0;color:#879690;font-size:9px}.jinsere-city-divider:before,.jinsere-city-divider:after{content:"";height:1px;flex:1;background:#e2ebe7}
.jinsere-city-picker--grouped{display:block!important;margin-top:0}.jinsere-city-group{margin:0 0 14px}.jinsere-city-group h4{margin:0 0 7px;color:#176b4c;font-size:11px}.jinsere-city-group>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.jinsere-city-group button{min-height:38px;padding:6px 8px;border:1px solid #dce8e3;border-radius:9px;background:#fff;color:#31534a;font-size:10.5px;font-weight:800;cursor:pointer}.jinsere-city-group button:hover{border-color:#87c3a7;background:#f0f9f3}.jinsere-city-loading{display:block;padding:18px;text-align:center;color:#71827c;font-size:11px}

.jinsere-diagnosis-dialog-v40{width:min(1060px,calc(100% - 32px));height:min(88vh,780px);max-height:780px}
.jinsere-diagnosis-header-v40{min-height:76px;padding:11px 16px;display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid #e2ebe7;background:#fff}
.jinsere-diagnosis-header-v40>img{display:block;width:140px;height:auto}.jinsere-diagnosis-header-v40>div:nth-child(2) strong,.jinsere-diagnosis-header-v40>div:nth-child(2) span{display:block}.jinsere-diagnosis-header-v40>div:nth-child(2) strong{color:#173d34;font-size:18px}.jinsere-diagnosis-header-v40>div:nth-child(2) span{margin-top:3px;color:#247c61;font-size:9.5px;font-weight:900;letter-spacing:.08em}
.jinsere-diagnosis-controls-v40{display:flex!important;gap:5px}.jinsere-diagnosis-controls-v40 button{display:flex;align-items:center;gap:4px;min-height:36px;padding:6px 9px;border:1px solid #dce8e3;border-radius:9px;background:#fff;color:#46625a;font-size:9px;font-weight:850;cursor:pointer}.jinsere-diagnosis-controls-v40 .jinsere-icon{width:14px;height:14px}
.jinsere-diagnosis-shell-v40{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:0;flex:1;overflow:hidden;background:#f7faf8}.jinsere-diagnosis-side-v40{padding:23px 18px;border-right:1px solid #dce8e3;background:linear-gradient(180deg,#eef8f1,#f8fbf9);overflow:auto}.jinsere-diagnosis-side-v40__mascot{display:grid;place-items:center}.jinsere-diagnosis-side-v40__mascot img{display:block;width:150px;height:150px;object-fit:contain}.jinsere-diagnosis-side-v40__copy{margin-top:8px;text-align:center}.jinsere-diagnosis-side-v40__copy>span{display:inline-block;padding:3px 8px;border-radius:999px;background:#dff2e6;color:#176b4c;font-size:8px;font-weight:900}.jinsere-diagnosis-side-v40__copy>strong{display:block;margin-top:5px;color:#173d34;font-size:18px}.jinsere-diagnosis-side-v40__copy p{margin:7px 0 0;color:#637770;font-size:10.5px;line-height:1.7}.jinsere-diagnosis-side-v40 ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:7px}.jinsere-diagnosis-side-v40 li{display:flex;align-items:center;gap:6px;color:#3d5c53;font-size:10px;font-weight:800}.jinsere-diagnosis-side-v40 li .jinsere-icon{width:14px;color:#197747}
.jinsere-diagnosis-chat-v40{min-width:0;min-height:0;background:#fff}.jinsere-diagnosis-scroll-v40{height:100%;overflow:auto;padding:24px clamp(18px,3vw,36px) 36px;scroll-behavior:smooth;overscroll-behavior:contain}.jinsere-diagnosis-mobile-intro-v40{display:none}.jinsere-chat-row-v40{display:flex;align-items:flex-start;gap:10px}.jinsere-chat-row-v40+.jinsere-chat-row-v40{margin-top:12px}.jinsere-chat-row-v40.is-assistant>img{width:48px;height:48px;object-fit:contain;flex:0 0 48px}.jinsere-chat-row-v40.is-user{justify-content:flex-end}.jinsere-chat-bubble-v40{max-width:min(650px,calc(100% - 60px));padding:13px 16px;border:1px solid #dce8e3;border-radius:16px 16px 16px 5px;background:#fff;color:#38534b;box-shadow:0 5px 14px rgba(21,69,55,.04)}.jinsere-chat-bubble-v40 strong{display:block;color:#173d34;font-size:14px}.jinsere-chat-bubble-v40 p{margin:5px 0 0;font-size:11.5px;line-height:1.75;color:#61756e}.jinsere-chat-bubble-v40.is-question{margin-top:8px;padding:16px 18px;border-color:#cfe4d9;background:#f5fbf7}.jinsere-chat-bubble-v40.is-question>span{display:block;margin-bottom:5px;color:#268264;font-size:9px;font-weight:950}.jinsere-chat-bubble-v40.is-question strong{font-size:18px;line-height:1.45}.jinsere-chat-bubble-v40.is-user{max-width:78%;border:0;border-radius:16px 16px 5px 16px;background:#197747;color:#fff;font-size:11.5px;font-weight:850}.jinsere-chat-history-v40{margin:12px 0}.jinsere-chat-history-v40__q{margin:0 58px 4px;color:#8b9894;font-size:9px}.jinsere-diagnosis-options-v40{margin:14px 0 0 58px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jinsere-diagnosis-option-v40,.jinsere-diagnosis-whole-v40{min-height:62px;padding:11px 12px;border:1px solid #d8e7e1;border-radius:12px;background:#fff;color:#31534a;text-align:left;cursor:pointer;display:flex;align-items:center;gap:9px}.jinsere-diagnosis-option-v40:hover,.jinsere-diagnosis-whole-v40:hover{border-color:#82bfa2;background:#f0f9f3}.jinsere-diagnosis-option-v40 b,.jinsere-diagnosis-option-v40 small,.jinsere-diagnosis-whole-v40 b,.jinsere-diagnosis-whole-v40 small{display:block}.jinsere-diagnosis-option-v40 b,.jinsere-diagnosis-whole-v40 b{font-size:11.5px}.jinsere-diagnosis-option-v40 small,.jinsere-diagnosis-whole-v40 small{margin-top:3px;color:#74857f;font-size:9px}.jinsere-diagnosis-pref-group-v40{grid-column:1/-1}.jinsere-diagnosis-pref-group-v40 h4{margin:3px 0 7px;color:#4b675f;font-size:10px}.jinsere-diagnosis-pref-group-v40>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.jinsere-diagnosis-pref-group-v40 .jinsere-diagnosis-option-v40{min-height:38px;padding:7px 8px}.jinsere-diagnosis-pref-group-v40 .jinsere-diagnosis-option-v40 small{display:none}.jinsere-diagnosis-whole-v40{grid-column:1/-1;width:100%}.jinsere-diagnosis-city-mount-v40{grid-column:1/-1}.jinsere-diagnosis-city-mount-v40 .jinsere-city-group>div{grid-template-columns:repeat(5,minmax(0,1fr))}
.jinsere-diagnosis-complete-v40{position:relative;margin:18px 0 0 58px;padding:22px;border:1px solid #cfe4d9;border-radius:17px;background:linear-gradient(135deg,#f1faf5,#fffaf1);text-align:center}.jinsere-diagnosis-complete-v40>img{display:block;width:82px;height:82px;object-fit:contain;margin:0 auto 3px}.jinsere-diagnosis-complete-v40__icon{width:34px;height:34px;margin:0 auto 7px;display:grid;place-items:center;border-radius:50%;background:#197747;color:#fff}.jinsere-diagnosis-complete-v40__icon .jinsere-icon{width:18px}.jinsere-diagnosis-complete-v40 h3{margin:0;color:#173d34;font-size:20px}.jinsere-diagnosis-complete-v40>p{margin:6px 0 14px;color:#657871;font-size:10.5px}.jinsere-diagnosis-complete-v40 dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 15px;text-align:left}.jinsere-diagnosis-complete-v40 dl>div{padding:9px 10px;border-radius:9px;background:rgba(255,255,255,.75)}.jinsere-diagnosis-complete-v40 dt{color:#7a8a85;font-size:8px}.jinsere-diagnosis-complete-v40 dd{margin:3px 0 0;color:#264b40;font-size:10.5px;font-weight:850}.jinsere-diagnosis-submit-v40{min-height:48px;padding:9px 18px;border:0;border-radius:11px;background:#197747;color:#fff;font-size:12px;font-weight:950;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.jinsere-diagnosis-submit-v40 .jinsere-icon{width:17px}.jinsere-diagnosis-spinner-v40{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:jinsere-v40-spin .8s linear infinite}@keyframes jinsere-v40-spin{to{transform:rotate(360deg)}}

@media(max-width:980px){.jinsere-pref-group>div{grid-template-columns:repeat(4,minmax(0,1fr))}.jinsere-city-group>div{grid-template-columns:repeat(4,minmax(0,1fr))}.jinsere-diagnosis-pref-group-v40>div,.jinsere-diagnosis-city-mount-v40 .jinsere-city-group>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){
  .jinsere-search-flow{padding:8px 10px;gap:3px}.jinsere-search-flow li{justify-content:center}.jinsere-search-flow li span{display:none}.jinsere-search-flow li b{width:22px;height:22px;font-size:9px}.jinsere-choice-grid>[data-search-work]{min-height:82px;grid-template-columns:32px 1fr;padding:10px}.jinsere-choice-grid>[data-search-work]>span{width:32px;height:32px}.jinsere-pref-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.jinsere-city-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jinsere-diagnosis-dialog-v40{width:calc(100% - 10px);height:95vh;max-height:95vh;border-radius:15px}.jinsere-diagnosis-header-v40{min-height:62px;grid-template-columns:98px 1fr auto;padding:8px 9px;gap:7px}.jinsere-diagnosis-header-v40>img{width:94px}.jinsere-diagnosis-header-v40>div:nth-child(2) strong{font-size:13px}.jinsere-diagnosis-header-v40>div:nth-child(2) span{font-size:8px}.jinsere-diagnosis-controls-v40 button{width:34px;min-height:34px;padding:5px;justify-content:center}.jinsere-diagnosis-controls-v40 button span{display:none}.jinsere-diagnosis-shell-v40{display:block}.jinsere-diagnosis-side-v40{display:none}.jinsere-diagnosis-scroll-v40{padding:13px 10px 26px}.jinsere-diagnosis-mobile-intro-v40{display:grid;grid-template-columns:70px 1fr;gap:9px;align-items:center;margin-bottom:13px;padding:10px;border-radius:12px;background:#eef8f1}.jinsere-diagnosis-mobile-intro-v40>img{width:70px;height:70px;object-fit:contain}.jinsere-diagnosis-mobile-intro-v40 span,.jinsere-diagnosis-mobile-intro-v40 strong{display:block}.jinsere-diagnosis-mobile-intro-v40 span{color:#247c61;font-size:8px;font-weight:900}.jinsere-diagnosis-mobile-intro-v40 strong{font-size:14px;color:#173d34}.jinsere-diagnosis-mobile-intro-v40 p{margin:3px 0 0;color:#60736d;font-size:9.5px;line-height:1.6}.jinsere-chat-row-v40{gap:7px}.jinsere-chat-row-v40.is-assistant>img{width:42px;height:42px;flex-basis:42px}.jinsere-chat-bubble-v40{max-width:calc(100% - 49px);padding:11px 12px}.jinsere-chat-bubble-v40 strong{font-size:12px}.jinsere-chat-bubble-v40 p{font-size:10px}.jinsere-chat-bubble-v40.is-question{padding:13px}.jinsere-chat-bubble-v40.is-question strong{font-size:16px}.jinsere-chat-history-v40__q{margin-left:49px}.jinsere-diagnosis-options-v40{margin-left:49px;grid-template-columns:1fr;gap:7px}.jinsere-diagnosis-pref-group-v40>div,.jinsere-diagnosis-city-mount-v40 .jinsere-city-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.jinsere-diagnosis-option-v40{min-height:55px}.jinsere-diagnosis-pref-group-v40 .jinsere-diagnosis-option-v40{min-height:38px}.jinsere-diagnosis-complete-v40{margin-left:0;padding:17px 12px}.jinsere-diagnosis-complete-v40 dl{grid-template-columns:1fr}.jinsere-diagnosis-complete-v40>img{width:72px;height:72px}.jinsere-diagnosis-complete-v40 h3{font-size:17px}
}

/* ======================================================================
 * v0.4.2 — Tochikatsu-style work cards + region-first modal + kana anchors.
 * ====================================================================== */
.home #jinsere-work .jinsere-v2-section__head{
  align-items:flex-end!important;
  gap:18px!important;
  padding-bottom:14px!important;
  margin-bottom:16px!important;
  border-bottom:2px solid #198451!important;
}
.home #jinsere-work .jinsere-v2-section__head>div{min-width:0!important}
.home #jinsere-work .jinsere-v2-section__head h2{margin:0!important;font-size:27px!important;line-height:1.35!important}
.home #jinsere-work .jinsere-v2-section__description{margin-top:9px!important;font-size:11px!important;line-height:1.7!important}
.home #jinsere-work .jinsere-work-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.home #jinsere-work .jinsere-work-card{
  min-height:182px!important;
  padding:17px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  border:1px solid #d6e5df!important;
  border-radius:14px!important;
  background:#fff!important;
  text-align:center!important;
  box-shadow:none!important;
}
.home #jinsere-work .jinsere-work-card:hover{transform:translateY(-2px)!important;border-color:#76b89a!important;box-shadow:0 10px 24px rgba(23,107,76,.07)!important}
.home #jinsere-work .jinsere-work-card>span{
  width:76px!important;height:76px!important;display:grid!important;place-items:center!important;flex:0 0 76px!important;
  border-radius:22px!important;background:#eaf6ef!important;color:#16804f!important;
}
.home #jinsere-work .jinsere-work-card:nth-child(2)>span,
.home #jinsere-work .jinsere-work-card:nth-child(6)>span{background:#edf5fb!important;color:#22759a!important}
.home #jinsere-work .jinsere-work-card:nth-child(3)>span,
.home #jinsere-work .jinsere-work-card:nth-child(7)>span{background:#fff4df!important;color:#bb7310!important}
.home #jinsere-work .jinsere-work-card:nth-child(4)>span,
.home #jinsere-work .jinsere-work-card:nth-child(8)>span{background:#f3edf9!important;color:#76549b!important}
.home #jinsere-work .jinsere-work-card .jinsere-icon{width:38px!important;height:38px!important;stroke-width:1.65!important}
.home #jinsere-work .jinsere-work-card>div{width:100%!important}
.home #jinsere-work .jinsere-work-card b{font-size:14px!important;line-height:1.45!important;color:#173f35!important}
.home #jinsere-work .jinsere-work-card small{margin-top:7px!important;font-size:10px!important;line-height:1.5!important;color:#75857f!important}
.home #jinsere-work .jinsere-work-card>i{display:none!important}

.jinsere-modal-region-grid,.jinsere-diagnosis-region-grid-v42{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:16px!important;
}
.jinsere-modal-region-choice{
  position:relative!important;min-height:76px!important;padding:13px 34px 13px 14px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  border:1px solid #d9e8e2!important;border-radius:12px!important;background:#fff!important;color:#244f43!important;text-align:left!important;cursor:pointer!important;
}
.jinsere-modal-region-choice:hover,.jinsere-modal-region-choice[aria-pressed="true"]{border-color:#65ac8a!important;background:#f0f8f3!important;box-shadow:inset 0 0 0 1px #65ac8a!important}
.jinsere-modal-region-choice b{font-size:13px!important;line-height:1.35!important}.jinsere-modal-region-choice small{margin-top:4px!important;color:#7a8a84!important;font-size:9px!important}.jinsere-modal-region-choice i{position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;color:#178052!important;font-size:22px!important;font-style:normal!important}
.jinsere-modal-pref-stage{margin-top:14px!important}.jinsere-modal-pref-stage__head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important;padding:9px 11px!important;border-radius:10px!important;background:#f1f8f4!important}
.jinsere-modal-pref-stage__head button{border:0!important;background:transparent!important;color:#187652!important;font-size:10px!important;font-weight:900!important;cursor:pointer!important}.jinsere-modal-pref-stage__head strong{color:#173f35!important;font-size:12px!important}
.jinsere-modal-pref-stage .jinsere-pref-group{margin-bottom:0!important}.jinsere-modal-pref-stage .jinsere-pref-group h4{display:none!important}

.jinsere-city-tools{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 8px!important}.jinsere-city-search{flex:1!important;min-width:0!important;height:38px!important;padding:8px 11px!important;border:1px solid #d8e5e0!important;border-radius:9px!important;background:#fff!important;color:#254a40!important;font-size:11px!important;outline:none!important}.jinsere-city-search:focus{border-color:#59a982!important;box-shadow:0 0 0 2px rgba(25,132,81,.08)!important}.jinsere-city-count{flex:0 0 auto!important;color:#71837c!important;font-size:9px!important;font-weight:800!important}
.jinsere-city-kana-nav{position:sticky!important;top:0!important;z-index:4!important;display:flex!important;gap:5px!important;overflow-x:auto!important;margin:0 0 9px!important;padding:7px!important;border:1px solid #e0ebe7!important;border-radius:10px!important;background:rgba(255,255,255,.97)!important;scrollbar-width:none!important}.jinsere-city-kana-nav::-webkit-scrollbar{display:none!important}.jinsere-city-kana-nav button{flex:1 0 31px!important;min-width:31px!important;height:31px!important;padding:0 6px!important;border:1px solid #cfdfd9!important;border-radius:8px!important;background:#fff!important;color:#176b4c!important;font-size:10px!important;font-weight:950!important;cursor:pointer!important}.jinsere-city-kana-nav button:hover:not(:disabled){border-color:#197747!important;background:#edf7f3!important}.jinsere-city-kana-nav button:disabled{opacity:.28!important;cursor:default!important}
.jinsere-city-groups-scroll{max-height:310px!important;overflow:auto!important;overscroll-behavior:contain!important;padding-right:3px!important;scroll-behavior:smooth!important}.jinsere-city-group{scroll-margin-top:8px!important}.jinsere-city-group>div button{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-height:46px!important;padding:7px 9px!important}.jinsere-city-group>div button strong{font-size:10.5px!important;line-height:1.35!important}.jinsere-city-group>div button small{margin-top:2px!important;color:#87958f!important;font-size:7.5px!important;font-weight:600!important}
.jinsere-diagnosis-city-mount-v40 .jinsere-city-groups-scroll{max-height:290px!important}
.jinsere-diagnosis-pref-stage-v42{grid-column:1/-1!important}.jinsere-diagnosis-pref-buttons-v42{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.jinsere-diagnosis-pref-buttons-v42 .jinsere-diagnosis-option-v40{min-height:42px!important;padding:8px!important}.jinsere-diagnosis-pref-buttons-v42 .jinsere-diagnosis-option-v40 small{display:none!important}

@media(max-width:767px){
  .home #jinsere-work .jinsere-v2-section__head{align-items:flex-start!important;padding-bottom:11px!important;margin-bottom:12px!important}.home #jinsere-work .jinsere-v2-section__head h2{font-size:21px!important}.home #jinsere-work .jinsere-v2-section__description{font-size:9.5px!important}.home #jinsere-work .jinsere-v2-section__head>button{font-size:10px!important}
  .home #jinsere-work .jinsere-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.home #jinsere-work .jinsere-work-card{min-height:148px!important;padding:13px 8px!important;gap:9px!important}.home #jinsere-work .jinsere-work-card>span{width:62px!important;height:62px!important;flex-basis:62px!important;border-radius:18px!important}.home #jinsere-work .jinsere-work-card .jinsere-icon{width:31px!important;height:31px!important}.home #jinsere-work .jinsere-work-card b{font-size:11.5px!important}.home #jinsere-work .jinsere-work-card small{margin-top:5px!important;font-size:8.5px!important}
  .jinsere-modal-region-grid,.jinsere-diagnosis-region-grid-v42{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.jinsere-modal-region-choice{min-height:64px!important;padding:10px 28px 10px 11px!important}.jinsere-modal-region-choice b{font-size:11px!important}.jinsere-modal-region-choice small{font-size:8px!important}.jinsere-modal-region-choice i{right:10px!important;font-size:18px!important}
  .jinsere-modal-pref-stage__head{padding:8px 9px!important}.jinsere-diagnosis-pref-buttons-v42{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .jinsere-city-tools{align-items:stretch!important}.jinsere-city-search{height:36px!important;font-size:10px!important}.jinsere-city-count{display:grid!important;place-items:center!important;font-size:8px!important}.jinsere-city-kana-nav{gap:4px!important;padding:6px!important}.jinsere-city-kana-nav button{flex-basis:29px!important;min-width:29px!important;height:29px!important;font-size:9px!important}.jinsere-city-groups-scroll{max-height:280px!important}.jinsere-city-group>div button{min-height:43px!important;padding:6px 7px!important}.jinsere-city-group>div button strong{font-size:9.5px!important}.jinsere-city-group>div button small{font-size:7px!important}
}

/* ======================================================================
 * v0.4.3 — exact Tochikatsuhojo v0.1.90 modal behavior corrections.
 * Source parity reviewed against attached:
 *   inc/modal-ui.php / inc/municipalities.php
 *   assets/js/tochikatsuhojo.js / assets/css/tochikatsuhojo.css
 * ====================================================================== */
/* Search shell: Tochikatsuhojo's fixed viewport gives the municipality
   picker enough vertical room instead of shrinking to its content. */
.jinsere-search-modal{
  width:min(780px,calc(100vw - 30px))!important;
  height:min(790px,calc(100dvh - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  display:grid!important;
  grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.jinsere-search-modal .jinsere-modal__body{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
/* Author-level display:grid !important was defeating the native [hidden]
   behavior. Region cards must disappear as soon as a region is selected. */
.jinsere-modal-region-grid[hidden],
.jinsere-modal-pref-stage[hidden],
.jinsere-modal__step[hidden]{display:none!important}
/* Match attached Tochikatsuhojo municipality viewport and kana navigation. */
.jinsere-search-modal [data-search-cities] .jinsere-city-groups-scroll{
  max-height:330px!important;
  min-height:300px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-right:4px!important;
  scroll-behavior:smooth!important;
}
.jinsere-search-modal [data-search-cities] .jinsere-city-kana-nav{
  position:sticky!important;top:0!important;z-index:5!important;
}
/* Diagnosis viewport + columns now follow Tochikatsuhojo's desktop proportions. */
.jinsere-diagnosis-dialog-v40{
  width:min(1180px,calc(100vw - 36px))!important;
  height:min(820px,calc(100dvh - 34px))!important;
  max-height:calc(100dvh - 34px)!important;
}
.jinsere-diagnosis-shell-v40{
  grid-template-columns:310px minmax(0,1fr)!important;
}
.jinsere-diagnosis-region-grid-v42,
.jinsere-diagnosis-pref-stage-v42,
.jinsere-diagnosis-city-mount-v40{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}
.jinsere-diagnosis-region-grid-v42{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.jinsere-diagnosis-options-v40{width:auto!important;min-width:0!important}

@media(max-width:767px){
  .jinsere-search-modal{
    width:calc(100vw - 10px)!important;
    height:calc(100dvh - 10px)!important;
    max-height:calc(100dvh - 10px)!important;
    border-radius:14px!important;
  }
  .jinsere-search-modal [data-search-cities] .jinsere-city-groups-scroll{
    max-height:340px!important;
    min-height:260px!important;
  }
  .jinsere-diagnosis-dialog-v40{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .jinsere-diagnosis-shell-v40{display:block!important}
  .jinsere-diagnosis-region-grid-v42{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v0.4.4 — search results use one full-width ranking-style card column. */
.jinsere-search-grid{grid-template-columns:1fr!important;gap:14px!important}
.jinsere-search-card.jinsere-rank-card{width:100%;min-width:0}
.jinsere-search-card.jinsere-rank-card .jinsere-rank-card__head{align-items:center!important}
.jinsere-search-card.jinsere-rank-card .jinsere-rank-card__actions{width:min(500px,100%)!important}
@media(max-width:680px){
  .jinsere-search-card.jinsere-rank-card .jinsere-rank-card__actions{display:grid!important;grid-template-columns:1fr 1fr!important}
}

/* ======================================================================
 * v0.4.5 — home mobile hero balance + compact footer brand.
 * - Footer logo follows the shared header logo display size.
 * - Home hero data card shows company count only.
 * - Mobile mascot and data card are enlarged without overlap.
 * ====================================================================== */
@media(min-width:1181px){
  .jinsere-v36-footer__brand img{width:150px!important;max-width:150px!important}
}
@media(max-width:1180px) and (min-width:768px){
  .jinsere-v36-footer__brand img{width:165px!important;max-width:165px!important}
}

.home .jinsere-v2-stats__companies{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.home .jinsere-v2-stats__companies dt{
  color:#71847e!important;
  font-weight:850!important;
}
.home .jinsere-v2-stats__companies dd{
  display:flex!important;
  align-items:baseline!important;
  gap:3px!important;
  color:#214b42!important;
  font-weight:950!important;
  line-height:1!important;
}
.home .jinsere-v2-stats__companies dd small{font-weight:900!important}

@media(max-width:767px){
  .jinsere-v36-footer__brand img{width:108px!important;max-width:108px!important}

  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1fr) 176px!important;
    column-gap:8px!important;
    align-items:end!important;
  }
  .home .jinsere-v2-hero__visual{
    height:202px!important;
    min-height:202px!important;
    margin-top:10px!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:3px!important;
    left:0!important;
    width:118px!important;
    height:auto!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:52%!important;
    right:auto!important;
    bottom:0!important;
    width:152px!important;
    height:auto!important;
    transform:translateX(-50%)!important;
  }
  .home .jinsere-v2-stats{
    width:176px!important;
    min-height:108px!important;
    margin:0 0 7px!important;
    padding:12px 13px 13px!important;
    align-self:end!important;
    border-radius:13px!important;
  }
  .home .jinsere-v2-stats__head{
    gap:5px!important;
    padding-bottom:7px!important;
  }
  .home .jinsere-v2-stats__head span{
    font-size:9.5px!important;
    white-space:nowrap!important;
  }
  .home .jinsere-v2-stats__head small{
    font-size:6px!important;
    white-space:nowrap!important;
  }
  .home .jinsere-v2-stats dl{margin-top:7px!important}
  .home .jinsere-v2-stats__companies{padding:0!important}
  .home .jinsere-v2-stats__companies dt{font-size:10px!important}
  .home .jinsere-v2-stats__companies dd{font-size:27px!important}
  .home .jinsere-v2-stats__companies dd small{font-size:9px!important}
}
@media(max-width:390px){
  .jinsere-v36-footer__brand img{width:102px!important;max-width:102px!important}
  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1fr) 166px!important;
    column-gap:7px!important;
  }
  .home .jinsere-v2-hero__visual{height:194px!important;min-height:194px!important}
  .home .jinsere-v2-hero__bubble-img{width:112px!important}
  .home .jinsere-v2-hero__mascot-img{width:145px!important}
  .home .jinsere-v2-stats{width:166px!important;padding:11px 11px 12px!important}
  .home .jinsere-v2-stats__head span{font-size:9px!important}
  .home .jinsere-v2-stats__head small{font-size:5.6px!important}
  .home .jinsere-v2-stats__companies dd{font-size:25px!important}
}

/* ======================================================================
 * v0.4.9 — contact routing gateway
 * ====================================================================== */
.jinsere-contact-card{max-width:900px}
.jinsere-contact-gateway{margin-top:30px;padding:24px;border:1px solid #d8e7e1;border-radius:16px;background:#f7fbf9}
.jinsere-contact-gateway__heading,.jinsere-contact-form-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.jinsere-contact-gateway__step{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:62px;min-height:28px;padding:4px 9px;border-radius:999px;background:#e7f5ef;color:#1b705f;font-size:10px;font-weight:950;letter-spacing:.08em}
.jinsere-contact-gateway__heading h2,.jinsere-contact-form-heading h2{margin:0!important;color:#22483f;font-size:20px!important;line-height:1.45}
.jinsere-contact-gateway__heading p,.jinsere-contact-form-heading p{margin:4px 0 0!important;font-size:12.5px!important;line-height:1.7!important}
.jinsere-contact-topic-select{display:grid;gap:8px}
.jinsere-contact-topic-select>span{color:#34564e;font-size:13px;font-weight:850}
.jinsere-contact-topic-select b{display:inline-grid;place-items:center;min-height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#fff0e6;color:#c86f35;font-size:9px}
.jinsere-contact-topic-select select{width:100%;min-height:54px;border:1px solid #bdd8cf;border-radius:12px;background:#fff;color:#28483f;font:inherit;font-size:15px;font-weight:750;padding:12px 42px 12px 14px}
.jinsere-contact-topic-select select:focus{border-color:#65a99a;outline:3px solid rgba(90,179,163,.16)}
.jinsere-contact-destination{margin-top:20px}
.jinsere-contact-destination__panel{padding:24px;border:1px solid #d7e6df;border-radius:16px;background:#fff}
.jinsere-contact-destination__eyebrow{display:inline-flex;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:#eef8f4;color:#277462;font-size:10px;font-weight:900}
.jinsere-contact-destination__panel h2{margin:0 0 10px!important;color:#22483f;font-size:21px!important;line-height:1.5}
.jinsere-contact-destination__panel p{margin:0!important;color:#566d66;font-size:13px!important;line-height:1.9!important}
.jinsere-contact-destination__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:18px;padding:10px 18px;border-radius:11px;background:var(--gs-green);color:#fff!important;font-size:13px;font-weight:900;text-decoration:none!important;box-shadow:0 10px 24px rgba(30,102,94,.15)}
.jinsere-contact-form-wrap{margin-top:24px;padding-top:28px;border-top:1px solid #dfe9e5}
.jinsere-contact-context-fields{display:grid;gap:18px;padding:18px;border:1px solid #d9e7e2;border-radius:13px;background:#f8fbfa}
.jinsere-contact-context-fields>label{display:grid;gap:7px}
.jinsere-contact-context-fields>label>span{color:#34564e;font-size:13px;font-weight:850}
.jinsere-contact-form em{display:inline-grid;place-items:center;min-height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#eef3f1;color:#6a7e78;font-size:9px;font-style:normal}
.jinsere-contact-form [hidden],.jinsere-contact-destination [hidden],.jinsere-contact-form-wrap[hidden],.jinsere-contact-destination[hidden]{display:none!important}
@media(max-width:767px){
  .jinsere-contact-gateway{margin-top:22px;padding:18px 14px;border-radius:13px}
  .jinsere-contact-gateway__heading,.jinsere-contact-form-heading{display:grid;gap:9px}
  .jinsere-contact-gateway__step{width:fit-content;min-width:58px;min-height:25px;font-size:9px}
  .jinsere-contact-gateway__heading h2,.jinsere-contact-form-heading h2{font-size:18px!important}
  .jinsere-contact-topic-select select{font-size:16px}
  .jinsere-contact-destination__panel{padding:19px 15px;border-radius:13px}
  .jinsere-contact-destination__panel h2{font-size:18px!important}
  .jinsere-contact-destination__panel p{font-size:12.5px!important}
  .jinsere-contact-destination__button{width:100%;font-size:13px}
  .jinsere-contact-context-fields{gap:15px;padding:14px 12px}
}

/* ======================================================================
 * v0.4.10 — search-results hero begins behind the shared header
 * ====================================================================== */
/* This must live in the child theme because the child stylesheet is loaded
 * after Core and otherwise the generic inner-route "position:relative"
 * header safe-zone wins. */
body.jinsere-site.jinsere-search-route .jinsere-global-header,
body.jinsere-site.jinsere-inner-route.jinsere-search-route .jinsere-global-header,
body.jinsere-site:not(.home).jinsere-search-route .jinsere-global-header{
  position:absolute!important;
  inset:auto 0 auto 0!important;
  top:0!important;
  width:100%!important;
  z-index:1000!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.jinsere-site.jinsere-search-route .jinsere-core-public:not(.jinsere-core-public--directory),
body.jinsere-site.jinsere-inner-route.jinsere-search-route .jinsere-core-public:not(.jinsere-core-public--directory){
  padding-top:0!important;
}
/* The hero already reserves the normal header height internally; with the
 * header removed from document flow, its background now reaches y=0. */
body.jinsere-site.jinsere-search-route .jinsere-search-results>.jinsere-search-hero-zone{
  margin-top:0!important;
  background-position:center top!important;
}
body.admin-bar.jinsere-site.jinsere-search-route .jinsere-global-header{top:32px!important}
body.admin-bar.jinsere-site.jinsere-search-route .jinsere-search-results>.jinsere-search-hero-zone{padding-top:108px!important}

/* Final presentation fallback for the Core SEO editorial title tabs: keep
 * the title field one layer only even if an older Core CSS block is cached. */
.jinsere-ranking-page .jinsere-rank-card__editorial h3{
  max-width:calc(100% - 20px)!important;
  padding:10px 18px 11px 16px!important;
  border-radius:15px 15px 24px 0!important;
  clip-path:none!important;
  overflow:hidden!important;
}
.jinsere-ranking-page .jinsere-rank-card__editorial h3:before,
.jinsere-ranking-page .jinsere-rank-card__editorial h3:after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
  clip-path:none!important;
}
@media(max-width:782px){
  body.admin-bar.jinsere-site.jinsere-search-route .jinsere-global-header{top:46px!important}
}
@media(max-width:767px){
  body.admin-bar.jinsere-site.jinsere-search-route .jinsere-search-results>.jinsere-search-hero-zone{padding-top:110px!important}
  .jinsere-ranking-page .jinsere-rank-card__editorial h3{
    max-width:calc(100% - 16px)!important;
    padding:9px 14px 10px 13px!important;
    border-radius:14px 14px 20px 0!important;
  }
}

/* ======================================================================
 * v0.4.11 — Tochikatsuhojo v0.1.90 diagnosis motion parity.
 * One deterministic 1100ms landing glide after each resolved answer,
 * typing interstitials, animated intro, and 3-second searching state.
 * ====================================================================== */
.jinsere-diagnosis-scroll-v40{
  overflow-anchor:none!important;
  scroll-behavior:auto!important;
  scrollbar-gutter:stable;
}
.jinsere-diagnosis-scroll-tail-v411{
  width:1px;
  height:24px;
  min-height:24px;
  pointer-events:none;
}
.jinsere-chat-row-v40.is-history .jinsere-chat-bubble-v40{
  padding-block:10px;
  opacity:.84;
}
.jinsere-chat-row-v40.is-history .jinsere-chat-bubble-v40 p{
  margin:0;
  font-size:10px;
}
.jinsere-chat-row-v40.is-typing .jinsere-chat-bubble-v40{
  padding:13px 15px;
}
.jinsere-typing-v411{
  display:inline-flex;
  gap:4px;
  align-items:center;
}
.jinsere-typing-v411 i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#6b9f90;
  animation:jinsere-diagnosis-typing-v411 1s infinite ease-in-out;
}
.jinsere-typing-v411 i:nth-child(2){animation-delay:.13s}
.jinsere-typing-v411 i:nth-child(3){animation-delay:.26s}
@keyframes jinsere-diagnosis-typing-v411{
  0%,60%,100%{transform:translateY(0);opacity:.45}
  30%{transform:translateY(-3px);opacity:1}
}
.jinsere-diagnosis-option-v40,
.jinsere-diagnosis-whole-v40{
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.jinsere-diagnosis-option-arrow-v411{
  margin-left:auto;
  color:#66a995;
  font-size:22px;
  font-style:normal;
  line-height:1;
  flex:0 0 auto;
}
.jinsere-diagnosis-searching-v411{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:13px;
  align-items:center;
  width:100%;
  margin:12px 0 0;
  padding:13px;
  border:1px solid #cfe4dc;
  border-radius:15px;
  background:linear-gradient(135deg,#f0faf5,#fff8eb);
  box-shadow:0 12px 30px rgba(11,58,104,.07);
  text-align:left;
}
.jinsere-diagnosis-searching-v411>img{
  display:block;
  width:58px;
  height:58px;
  object-fit:contain;
}
.jinsere-diagnosis-searching-v411__panel{min-width:0}
.jinsere-diagnosis-searching-v411__spinner{
  display:block;
  width:20px;
  height:20px;
  margin-bottom:6px;
  border:3px solid #cee5da;
  border-top-color:#197747;
  border-radius:50%;
  animation:jinsere-diagnosis-spin-v411 .85s linear infinite;
}
.jinsere-diagnosis-searching-v411 h3{
  margin:0;
  color:#173d34;
  font-size:16px;
  line-height:1.35;
}
.jinsere-diagnosis-searching-v411 p{
  margin:4px 0 0;
  color:#687b75;
  font-size:10.5px;
  line-height:1.7;
}
.jinsere-diagnosis-searching-v411__dots{
  display:flex;
  gap:4px;
  margin-top:8px;
}
.jinsere-diagnosis-searching-v411__dots i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#65a88e;
  animation:jinsere-diagnosis-dot-v411 .9s ease-in-out infinite alternate;
}
.jinsere-diagnosis-searching-v411__dots i:nth-child(2){animation-delay:.14s}
.jinsere-diagnosis-searching-v411__dots i:nth-child(3){animation-delay:.28s}
@keyframes jinsere-diagnosis-spin-v411{to{transform:rotate(360deg)}}
@keyframes jinsere-diagnosis-dot-v411{from{transform:translateY(0);opacity:.45}to{transform:translateY(-3px);opacity:1}}
@media(max-width:767px){
  .jinsere-diagnosis-searching-v411{grid-template-columns:54px minmax(0,1fr);padding:12px}
  .jinsere-diagnosis-searching-v411>img{width:54px;height:54px}
  .jinsere-diagnosis-searching-v411 h3{font-size:15px}
  .jinsere-diagnosis-searching-v411 p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .jinsere-typing-v411 i,
  .jinsere-diagnosis-searching-v411__spinner,
  .jinsere-diagnosis-searching-v411__dots i{animation:none!important}
}
.jinsere-chat-row-v40[hidden],
.jinsere-diagnosis-options-v40[hidden],
.jinsere-diagnosis-complete-v40[hidden]{display:none!important}

/* ======================================================================
 * v0.4.12 — mobile diagnosis next-question landing fix.
 * On <=767px the diagnosis shell switches from grid to block. The chat
 * viewport therefore needs an explicit height so its internal scroller,
 * not the page/document, owns the scroll. This matches Tochikatsuhojo
 * v0.1.90 mobile diagnosis behavior.
 * ====================================================================== */
@media(max-width:767px){
  .jinsere-diagnosis-shell-v40{
    min-height:0!important;
    overflow:hidden!important;
  }
  .jinsere-diagnosis-chat-v40{
    height:calc(100dvh - 66px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .jinsere-diagnosis-scroll-v40{
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-padding-top:14px!important;
    padding:15px 11px 28px!important;
  }
}


/* ======================================================================
 * v0.4.13 — compact mobile first-view data card.
 * Roll-kun and the approved speech bubble remain untouched.
 * ====================================================================== */
.home .jinsere-v2-stats__number{font-variant-numeric:tabular-nums}
@media(max-width:767px){
  .home .jinsere-v2-stats{width:176px!important;min-height:0!important;height:auto!important;margin:0 0 8px!important;padding:10px 12px 11px!important;align-self:end!important;border:1px solid #d3e6df!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 9px 24px rgba(24,74,69,.08)!important}
  .home .jinsere-v2-stats__head{display:block!important;padding:0 0 6px!important;border-bottom:1px solid #e5efeb!important;line-height:1.2!important}
  .home .jinsere-v2-stats__head span{display:block!important;font-size:9.5px!important;line-height:1.3!important;letter-spacing:.01em!important}
  .home .jinsere-v2-stats__head small{display:none!important}
  .home .jinsere-v2-stats dl{margin:6px 0 0!important}
  .home .jinsere-v2-stats__companies{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:32px!important;padding:0!important}
  .home .jinsere-v2-stats__companies dt{font-size:9.5px!important;line-height:1.2!important}
  .home .jinsere-v2-stats__companies dd{justify-self:end!important;display:flex!important;align-items:baseline!important;gap:3px!important;margin:0!important;font-size:27px!important;line-height:1!important}
  .home .jinsere-v2-stats__companies dd small{font-size:8.5px!important;line-height:1!important}
}
@media(max-width:390px){
  .home .jinsere-v2-stats{width:166px!important;padding:9px 10px 10px!important}
  .home .jinsere-v2-stats__head span{font-size:9px!important}
  .home .jinsere-v2-stats__companies dt{font-size:9px!important}
  .home .jinsere-v2-stats__companies dd{font-size:25px!important}
}


/* ======================================================================
 * v0.4.15 — searchable-category fallback guidance + mobile diagnosis controls
 * ====================================================================== */
.jinsere-work-fallback-note{
  margin:14px 0 0!important;
  padding:11px 13px!important;
  border:1px solid #dce8e3!important;
  border-radius:11px!important;
  background:#f5faf7!important;
  color:#536c64!important;
  font-size:10.5px!important;
  line-height:1.65!important;
}
.jinsere-work-fallback-note strong{
  display:block!important;
  margin-bottom:2px!important;
  color:#176b4c!important;
  font-size:11px!important;
  font-weight:950!important;
}
.jinsere-work-fallback-note span{display:block!important}

@media(max-width:767px){
  .jinsere-diagnosis-header-v40{
    min-height:96px!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    padding:8px 9px 7px!important;
    gap:6px 8px!important;
  }
  .jinsere-diagnosis-header-v40>img{
    grid-column:1!important;
    grid-row:1!important;
    width:84px!important;
  }
  .jinsere-diagnosis-header-v40>div:nth-child(2){
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
  }
  .jinsere-diagnosis-controls-v40{
    grid-column:1/-1!important;
    grid-row:2!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }
  .jinsere-diagnosis-controls-v40 button{
    width:auto!important;
    min-width:80px!important;
    min-height:34px!important;
    padding:6px 10px!important;
    justify-content:center!important;
    border-radius:9px!important;
    font-size:9px!important;
  }
  .jinsere-diagnosis-controls-v40 button span{
    display:inline!important;
  }
  .jinsere-diagnosis-controls-v40 .jinsere-icon{
    width:13px!important;
    height:13px!important;
  }
}


/* ======================================================================
 * v0.4.18 — service-area search/diagnosis clarity + regional diagnosis CTA
 * ====================================================================== */
.jinsere-search-confirm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.jinsere-search-confirm>div{display:grid;gap:5px;padding:15px 14px;border:1px solid #dbe9e4;border-radius:13px;background:#f8fbfa}
.jinsere-search-confirm small{color:#6e807a;font-size:10px;font-weight:800}
.jinsere-search-confirm strong{color:#173f36;font-size:14px;line-height:1.5}

.jinsere-ranking-diagnosis-cta{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:20px;margin:26px 0;padding:22px 24px;border:1px solid #cae2d9;border-radius:20px;background:linear-gradient(135deg,#f2faf6 0%,#fff9ee 100%);box-shadow:0 12px 30px rgba(24,81,68,.08)}
.jinsere-ranking-diagnosis-cta>img{display:block;width:96px;height:96px;object-fit:contain}
.jinsere-ranking-diagnosis-cta__copy{display:grid;gap:4px;min-width:0}
.jinsere-ranking-diagnosis-cta__copy>span{color:#c06b22;font-size:10px;font-weight:900;letter-spacing:.08em}
.jinsere-ranking-diagnosis-cta__copy>strong{color:#173f36;font-size:18px;line-height:1.5}
.jinsere-ranking-diagnosis-cta__copy>p{margin:0;color:#60736d;font-size:12px;line-height:1.75}
.jinsere-ranking-diagnosis-cta>button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 18px;border:0;border-radius:999px;background:#1f7666;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer;box-shadow:0 10px 22px rgba(31,118,102,.18)}
.jinsere-ranking-diagnosis-cta>button:hover,.jinsere-ranking-diagnosis-cta>button:focus-visible{background:#185f53;transform:translateY(-1px)}

.jinsere-diagnosis-result-guide{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:16px;width:min(700px,100%);margin:-18px 0 34px;padding:15px 18px;border:1px solid rgba(31,118,102,.18);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 26px rgba(24,81,68,.08);backdrop-filter:blur(4px)}
.jinsere-diagnosis-result-guide>img{display:block;width:82px;height:82px;object-fit:contain}
.jinsere-diagnosis-result-guide>div{display:grid;gap:3px}
.jinsere-diagnosis-result-guide span{color:#c06b22;font-size:9px;font-weight:900;letter-spacing:.08em}
.jinsere-diagnosis-result-guide strong{color:#173f36;font-size:16px;line-height:1.45}
.jinsere-diagnosis-result-guide p{margin:0;color:#5b7068;font-size:11px;line-height:1.75}

/* Diagnosis results now use the same first-view background/header overlap as search results. */
body.jinsere-site.jinsere-diagnosis-route .jinsere-global-header,
body.jinsere-site.jinsere-inner-route.jinsere-diagnosis-route .jinsere-global-header,
body.jinsere-site:not(.home).jinsere-diagnosis-route .jinsere-global-header{position:absolute!important;inset:auto 0 auto 0!important;top:0!important;width:100%!important;z-index:1000!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.jinsere-site.jinsere-diagnosis-route .jinsere-core-public:not(.jinsere-core-public--directory),
body.jinsere-site.jinsere-inner-route.jinsere-diagnosis-route .jinsere-core-public:not(.jinsere-core-public--directory){padding-top:0!important}
body.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{margin-top:0!important;background-position:center top!important}
body.admin-bar.jinsere-site.jinsere-diagnosis-route .jinsere-global-header{top:32px!important}
body.admin-bar.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{padding-top:108px!important}

@media(max-width:782px){body.admin-bar.jinsere-site.jinsere-diagnosis-route .jinsere-global-header{top:46px!important}}
@media(max-width:767px){
  .jinsere-search-confirm{grid-template-columns:1fr;gap:7px}.jinsere-search-confirm>div{padding:12px}
  .jinsere-ranking-diagnosis-cta{grid-template-columns:72px minmax(0,1fr);gap:12px;margin:20px 0;padding:16px 14px;border-radius:16px}.jinsere-ranking-diagnosis-cta>img{width:72px;height:72px}.jinsere-ranking-diagnosis-cta__copy>strong{font-size:15px}.jinsere-ranking-diagnosis-cta__copy>p{font-size:10.5px}.jinsere-ranking-diagnosis-cta>button{grid-column:1/-1;width:100%;min-height:46px}
  .jinsere-diagnosis-result-guide{grid-template-columns:66px minmax(0,1fr);gap:11px;margin:-10px 0 26px;padding:12px 13px;border-radius:15px}.jinsere-diagnosis-result-guide>img{width:66px;height:66px}.jinsere-diagnosis-result-guide strong{font-size:14px}.jinsere-diagnosis-result-guide p{font-size:10px}
  body.admin-bar.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{padding-top:110px!important}
}


/* ======================================================================
 * v0.4.19 — diagnosis result header/breadcrumb safe-zone.
 * Diagnosis results use the ranking-style hero behind the transparent header,
 * but the breadcrumb must begin below the shared logo/navigation.
 * ====================================================================== */
body.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone,
body.jinsere-site.jinsere-inner-route.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{
  padding-top:76px!important;
}
body.admin-bar.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone,
body.admin-bar.jinsere-site.jinsere-inner-route.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{
  padding-top:108px!important;
}
@media(max-width:767px){
  body.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone,
  body.jinsere-site.jinsere-inner-route.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{padding-top:64px!important}
  body.admin-bar.jinsere-site.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone,
  body.admin-bar.jinsere-site.jinsere-inner-route.jinsere-diagnosis-route .jinsere-search-results>.jinsere-search-hero-zone{padding-top:110px!important}
}

/* Jinsere brand tokens: provisional, centralized for safe one-place replacement. */
:root{--jinsere-brand:#3fa147;--jinsere-brand-dark:#205a2a;--jinsere-brand-soft:#eef8ec;--jinsere-accent:#8acb62;--jinsere-text:#263328;}

/* v0.4.36 Roll-kun image integrity guard */
.jinsere-chat-row-v40.is-assistant>img,.jinsere-diagnosis-side-v40__mascot img,.jinsere-diagnosis-mobile-intro-v40>img,.jinsere-diagnosis-complete-v40>img,.jinsere-diagnosis-searching-v411>img,.jinsere-diagnosis-result-guide>img,.jinsere-ranking-diagnosis-cta>img{object-fit:contain!important;object-position:center!important;}

/* v0.4.39 — Roll-kun safe-canvas rendering. Do not crop mascot PNGs in diagnosis/history UI. */
.jinsere-chat-row-v40.is-assistant>img,
.jinsere-diagnosis-side-v40__mascot img,
.jinsere-diagnosis-mobile-intro-v40>img,
.jinsere-diagnosis-complete-v40>img,
.jinsere-diagnosis-searching-v411>img{
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  max-width:none!important;
  clip-path:none!important;
  border-radius:0!important;
}
.jinsere-chat-row-v40.is-assistant{overflow:visible!important;}

/* v0.4.39 — Roll-kun independent asset rendering guard.
 * Every source PNG is now a standalone 512x512 safe canvas. Keep the whole canvas visible.
 */
.jinsere-chat-row-v40.is-assistant>img,
.jinsere-diagnosis-side-v40__mascot img,
.jinsere-diagnosis-mobile-intro-v40>img,
.jinsere-diagnosis-complete-v40>img,
.jinsere-diagnosis-searching-v411>img,
.jinsere-diagnosis-result-guide>img,
.jinsere-ranking-diagnosis-cta>img{
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  clip-path:none!important;
  overflow:visible!important;
  transform:none!important;
}


/* v0.4.39 — strict true-transparency guard for Roll-kun images. */
.jinsere-v2-hero__mascot-img,
.jinsere-modal-mascot img,
.jinsere-chat-row-v40.is-assistant>img,
.jinsere-diagnosis-side-v40__mascot img,
.jinsere-diagnosis-mobile-intro-v40>img,
.jinsere-diagnosis-complete-v40>img,
.jinsere-diagnosis-searching-v411>img,
.jinsere-diagnosis-result-guide>img,
.jinsere-ranking-diagnosis-cta>img{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  mix-blend-mode:normal!important;
}

/* ======================================================================
 * v0.4.43 — homepage mobile Roll-kun balance adjustment.
 * Enlarge ONLY the homepage first-view mascot on phones while keeping
 * the speech bubble, data card, desktop/tablet layout and all other mascots unchanged.
 * ====================================================================== */
@media(max-width:767px){
  .home .jinsere-v2-hero__visual{
    height:212px!important;
    min-height:212px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:52%!important;
    width:198px!important;
    height:auto!important;
  }
}
@media(max-width:390px){
  .home .jinsere-v2-hero__visual{
    height:205px!important;
    min-height:205px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:52%!important;
    width:192px!important;
    height:auto!important;
  }
}
@media(max-width:350px){
  .home .jinsere-v2-hero__visual{
    height:198px!important;
    min-height:198px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    width:182px!important;
  }
}

/* ======================================================================
 * v0.4.44 — homepage mobile FV lower-cluster balance.
 * Balance ONLY the mobile speech bubble / original Roll-kun / listing-data card.
 * Keep image assets, desktop/tablet layout and all site logic unchanged.
 * ====================================================================== */
@media(max-width:767px){
  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1fr) 166px!important;
    column-gap:10px!important;
    align-items:center!important;
    margin-top:10px!important;
  }
  .home .jinsere-v2-hero__visual{
    height:192px!important;
    min-height:192px!important;
    margin-top:0!important;
    align-self:center!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:3px!important;
    left:28px!important;
    width:114px!important;
    height:auto!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:52%!important;
    right:auto!important;
    bottom:0!important;
    width:194px!important;
    height:auto!important;
    transform:translateX(-50%)!important;
  }
  .home .jinsere-v2-stats{
    width:166px!important;
    align-self:center!important;
    margin:0!important;
  }
}
@media(max-width:390px){
  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1fr) 158px!important;
    column-gap:9px!important;
  }
  .home .jinsere-v2-hero__visual{
    height:188px!important;
    min-height:188px!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    top:3px!important;
    left:27px!important;
    width:110px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    left:52%!important;
    width:190px!important;
  }
  .home .jinsere-v2-stats{
    width:158px!important;
    padding:9px 10px 10px!important;
  }
}
@media(max-width:350px){
  .home .jinsere-v2-hero__lower{
    grid-template-columns:minmax(0,1fr) 150px!important;
    column-gap:8px!important;
  }
  .home .jinsere-v2-hero__visual{
    height:180px!important;
    min-height:180px!important;
  }
  .home .jinsere-v2-hero__bubble-img{
    left:23px!important;
    width:104px!important;
  }
  .home .jinsere-v2-hero__mascot-img{
    width:180px!important;
  }
  .home .jinsere-v2-stats{
    width:150px!important;
  }
}


/* ======================================================================
 * v0.4.45 — homepage mobile FV overlap correction.
 * Keep the speech bubble fixed; lower Roll-kun and the listing-data card
 * together so the mascot no longer overlaps the bubble.
 * ====================================================================== */
@media(max-width:767px){
  .home .jinsere-v2-hero__mascot-img{
    transform:translateX(-50%) translateY(24px)!important;
  }
  .home .jinsere-v2-stats{
    transform:translateY(24px)!important;
  }
}
@media(max-width:390px){
  .home .jinsere-v2-hero__mascot-img{
    transform:translateX(-50%) translateY(22px)!important;
  }
  .home .jinsere-v2-stats{
    transform:translateY(22px)!important;
  }
}
@media(max-width:350px){
  .home .jinsere-v2-hero__mascot-img{
    transform:translateX(-50%) translateY(20px)!important;
  }
  .home .jinsere-v2-stats{
    transform:translateY(20px)!important;
  }
}
