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

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

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

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

.fensele-region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.fensele-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}
.fensele-region-card:hover{border-color:#8bc8a4;background:#f2faf5}.fensele-region-card strong{font-size:13px}.fensele-region-card>span{display:flex;color:var(--gs-green)}.fensele-region-card .fensele-icon{width:17px}.fensele-region-card>i{width:10px;height:10px;border-radius:50%;background:#6fae98}.fensele-region-card>i.is-2{background:#4ba4b9}.fensele-region-card>i.is-3{background:#7398c8}.fensele-region-card>i.is-4{background:#86a967}.fensele-region-card>i.is-5{background:#d8906e}.fensele-region-card>i.is-6{background:#6d75aa}.fensele-region-card>i.is-7{background:#cb7d9e}
.fensele-region-seo-link{margin-top:15px;text-align:right}.fensele-region-seo-link a{color:var(--gs-green);font-weight:900;font-size:13px}

.fensele-search-summary{flex-wrap:wrap}.fensele-search-summary__actions{margin-left:auto!important;display:flex!important;gap:8px!important}.fensele-search-summary__actions button,.fensele-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}
.fensele-priority-grid button[aria-pressed="true"]{border-color:var(--gs-green);background:#f0f9f3;box-shadow:inset 0 0 0 1px var(--gs-green)}

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

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

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

/* v0.2.6 — transparent header + Tochikatsuhojo v0.1.90 hero rhythm. */
.fensele-global-header{
  background:transparent!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home .fensele-global-header{
  position:absolute!important;
  top:0;left:0;right:0;z-index:1000;
}
.admin-bar.home .fensele-global-header{top:32px}
.home .fensele-header__inner{min-height:78px}
.home .fensele-header-nav{gap:22px}
.home .fensele-header-nav a{color:#294d47;font-size:12px;font-weight:850;text-shadow:0 1px 0 rgba(255,255,255,.72)}
.home .fensele-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 .fensele-header-action.is-search{background:var(--gs-orange);color:#fff}
.home .fensele-header-action.is-diagnosis{background:var(--gs-green);color:#fff}

.fensele-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%);
}
.fensele-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%)}
.fensele-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}
.fensele-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;
}
.fensele-v2-hero__copy{grid-area:copy;align-self:center;padding:16px 0 50px}
.fensele-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}
.fensele-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)}
.fensele-v2-hero h1 span,.fensele-v2-hero h1 strong{display:block}
.fensele-v2-hero h1 strong{margin-top:0;color:#26786c;font-weight:950}
.fensele-v2-lead{max-width:610px;margin:17px 0 0;color:#4a625c;font-size:13.5px;line-height:1.85;font-weight:550}
.fensele-v2-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}
.fensele-v2-hero__actions .fensele-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}
.fensele-v2-hero__actions .fensele-v2-btn:hover{transform:translateY(-1px);box-shadow:0 12px 27px rgba(31,93,83,.17)}
.fensele-v2-btn--search{min-width:174px;background:var(--gs-orange)!important}
.fensele-v2-btn--diagnosis{min-width:210px;background:var(--gs-green)!important}
.fensele-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}
.fensele-v2-btn__icon .fensele-icon{width:18px;height:18px}
.fensele-v2-btn__copy{display:grid;gap:2px;text-align:left;line-height:1}
.fensele-v2-btn__copy small{margin:0;font-size:7px;opacity:.84;font-weight:800;align-self:auto}
.fensele-v2-btn__copy strong{font-size:13px;font-weight:950}
.fensele-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}
.fensele-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))}
.fensele-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}
.fensele-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)}
.fensele-v2-stats__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #e8f0ed}
.fensele-v2-stats__head span{color:var(--gs-ink);font-size:11px;font-weight:950}
.fensele-v2-stats__head small{color:#8b9994;font-size:7.5px;font-weight:800}
.fensele-v2-stats h2{display:none}
.fensele-v2-stats dl{margin:6px 0 0}
.fensele-v2-stats dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0}
.fensele-v2-stats dt{font-size:10px;color:#82928d}
.fensele-v2-stats dd{margin:0;color:#34544c;font-size:16px;font-weight:950}
.fensele-v2-stats dd small{font-size:8px}

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


/* ======================================================================
 * v0.2.7 — Tochikatsuhojo v0.1.90 first-view balance parity.
 * Approved Fensele logo / Fen-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 .fensele-brand{flex:0 0 250px!important;max-width:250px!important}
.home .fensele-brand img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
.home .fensele-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 .fensele-v2-hero__copy{grid-area:copy!important;max-width:690px;padding:16px 0 50px!important}
.home .fensele-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 .fensele-v2-lead{max-width:610px!important;font-size:13.5px!important;line-height:1.85!important}
.home .fensele-v2-hero__lower{display:contents!important}
.home .fensele-v2-hero__visual{
  grid-area:visual!important;
  min-height:355px!important;
  align-self:end!important;
  overflow:visible!important;
  padding-bottom:10px!important;
}
.home .fensele-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 .fensele-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 .fensele-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 .fensele-brand{flex-basis:225px!important;max-width:225px!important}
  .home .fensele-header__inner{gap:20px!important}
  .home .fensele-header-nav{gap:18px!important}
}
@media(max-width:1100px) and (min-width:768px){
  .home .fensele-brand{flex-basis:210px!important;max-width:210px!important}
  .home .fensele-v2-hero__inner{grid-template-columns:minmax(0,1fr) 235px!important;grid-template-areas:"copy visual" "stats stats"!important}
  .home .fensele-v2-hero__mascot-img{width:210px!important;height:228px!important}
  .home .fensele-v2-hero__bubble-img{top:42px!important;left:-34px!important;width:195px!important}
  .home .fensele-v2-stats{width:min(560px,100%)!important;justify-self:center!important}
}
@media(max-width:767px){
  .home .fensele-header__inner{width:calc(100% - 22px)!important;min-height:64px!important;gap:8px!important}
  .home .fensele-brand{flex:0 0 148px!important;max-width:148px!important;padding:0!important}
  .home .fensele-v2-hero{padding-top:64px!important}
  .home .fensele-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 .fensele-v2-hero__copy{grid-area:copy!important;max-width:none!important;padding:0!important}
  .home .fensele-v2-hero h1{font-size:clamp(29px,8.2vw,34px)!important;line-height:1.27!important;letter-spacing:-.04em!important}
  .home .fensele-v2-lead{margin-top:13px!important;font-size:12px!important;line-height:1.76!important}
  .home .fensele-v2-hero__actions{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:17px!important}
  .home .fensele-v2-hero__actions .fensele-v2-btn{min-height:58px!important;padding:7px 7px!important;gap:6px!important;border-radius:12px!important}
  .home .fensele-v2-btn__copy small{font-size:6.4px!important}
  .home .fensele-v2-btn__copy strong{font-size:10.5px!important;white-space:nowrap!important}
  .home .fensele-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 .fensele-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 .fensele-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 .fensele-v2-hero__bubble-img{
    position:absolute!important;
    top:-3px!important;
    left:18px!important;
    width:152px!important;
    height:auto!important;
    max-width:none!important;
  }
  .home .fensele-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 .fensele-v2-stats__head{padding-bottom:4px!important}
  .home .fensele-v2-stats__head span{font-size:8.5px!important}
  .home .fensele-v2-stats__head small{font-size:5.5px!important}
  .home .fensele-v2-stats dl{margin-top:3px!important}
  .home .fensele-v2-stats dl>div{padding:4px 0!important}
  .home .fensele-v2-stats dt{font-size:7.2px!important}
  .home .fensele-v2-stats dd{font-size:12.5px!important}
  .home .fensele-v2-stats dd small{font-size:6.5px!important}
}
@media(max-width:390px){
  .home .fensele-v2-hero__mascot-img{left:0!important;width:148px!important;height:153px!important}
  .home .fensele-v2-hero__bubble-img{left:13px!important;width:145px!important}
  .home .fensele-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 .fensele-brand{
  flex:0 0 220px!important;
  max-width:220px!important;
}
.home .fensele-v2-hero__visual{
  min-height:320px!important;
  padding-bottom:18px!important;
}
.home .fensele-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 .fensele-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 .fensele-brand{flex-basis:200px!important;max-width:200px!important}
  .home .fensele-v2-hero__mascot-img{right:4px!important;width:195px!important}
  .home .fensele-v2-hero__bubble-img{top:38px!important;left:-8px!important;width:158px!important}
}
@media(max-width:1100px) and (min-width:768px){
  .home .fensele-brand{flex-basis:185px!important;max-width:185px!important}
  .home .fensele-v2-hero__visual{min-height:292px!important}
  .home .fensele-v2-hero__mascot-img{right:8px!important;width:178px!important;height:auto!important}
  .home .fensele-v2-hero__bubble-img{top:42px!important;left:-2px!important;width:145px!important}
}
@media(max-width:767px){
  .home .fensele-brand{flex:0 0 130px!important;max-width:130px!important}
  .home .fensele-v2-hero__visual{
    height:166px!important;
    min-height:0!important;
  }
  .home .fensele-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 .fensele-v2-hero__bubble-img{
    top:7px!important;
    left:82px!important;
    width:122px!important;
    height:auto!important;
  }
}
@media(max-width:390px){
  .home .fensele-brand{flex-basis:124px!important;max-width:124px!important}
  .home .fensele-v2-hero__visual{height:158px!important}
  .home .fensele-v2-hero__mascot-img{left:0!important;width:116px!important;height:auto!important}
  .home .fensele-v2-hero__bubble-img{top:8px!important;left:77px!important;width:114px!important}
}

/* ======================================================================
 * v0.3.0 — Iehojo-touch fence hero background + SP mascot/bubble balance.
 * The hero background uses a dedicated fence illustration. Fen-kun and
 * the speech-bubble remain independent image assets.
 * ====================================================================== */
.home .fensele-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/fensele-hero-background-desktop.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.home .fensele-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 .fensele-v2-hero__decor{
  opacity:.10!important;
}
.home .fensele-v2-hero__copy{
  text-shadow:0 1px 0 rgba(255,255,255,.58);
}
.home .fensele-v2-stats{
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
@media(max-width:767px){
  .home .fensele-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/fensele-hero-background-mobile.png')!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .home .fensele-v2-hero__decor{display:none!important}
  .home .fensele-v2-hero__visual{
    height:166px!important;
    overflow:visible!important;
  }
  /* Speech bubble tail is on the right, so place the bubble left of Fen-kun. */
  .home .fensele-v2-hero__bubble-img{
    top:5px!important;
    left:-8px!important;
    width:126px!important;
    z-index:5!important;
  }
  .home .fensele-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 .fensele-v2-hero__visual{height:158px!important}
  .home .fensele-v2-hero__bubble-img{top:6px!important;left:-7px!important;width:119px!important}
  .home .fensele-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 .fensele-brand{
  flex-basis:220px!important;
  max-width:220px!important;
}
@media(max-width:1180px) and (min-width:768px){
  .home .fensele-brand{
    flex-basis:180px!important;
    max-width:180px!important;
  }
}
@media(max-width:767px){
  .home .fensele-brand{
    flex:0 0 108px!important;
    max-width:108px!important;
  }
  .home .fensele-v2-hero__lower{
    grid-template-columns:minmax(0,1.18fr) minmax(126px,.82fr)!important;
    column-gap:7px!important;
  }
  .home .fensele-v2-hero__visual{
    height:176px!important;
  }
  .home .fensele-v2-hero__bubble-img{
    top:5px!important;
    left:0!important;
    width:108px!important;
    z-index:5!important;
  }
  .home .fensele-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 .fensele-brand{
    flex-basis:102px!important;
    max-width:102px!important;
  }
  .home .fensele-v2-hero__lower{
    grid-template-columns:minmax(0,1.2fr) minmax(122px,.8fr)!important;
    column-gap:6px!important;
  }
  .home .fensele-v2-hero__visual{height:168px!important}
  .home .fensele-v2-hero__bubble-img{
    top:5px!important;
    left:0!important;
    width:102px!important;
  }
  .home .fensele-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 .fensele-brand{
    flex-basis:180px!important;
    max-width:180px!important;
  }
}
@media(max-width:1180px) and (min-width:768px){
  .home .fensele-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 .fensele-v2-hero__visual{
    height:188px!important;
    min-height:188px!important;
    position:relative!important;
    overflow:visible!important;
  }
  .home .fensele-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 .fensele-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 .fensele-v2-hero__visual{
    height:182px!important;
    min-height:182px!important;
  }
  .home .fensele-v2-hero__bubble-img{
    top:2px!important;
    left:2px!important;
    width:104px!important;
  }
  .home .fensele-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 .fensele-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){
  .fensele-brand,
  .home .fensele-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.
 * Fensele-specific copy, brand and contact behavior.
 * ====================================================================== */
.fensele-v36-footer{background:#163e3a!important;color:#fff!important;border-top:0!important}
.fensele-v36-footer__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:46px 0 36px}
.fensele-v36-footer__brand img{display:block;width:210px;height:auto;background:transparent!important;filter:brightness(0) invert(1);opacity:.96}
.fensele-v36-footer__brand p{max-width:580px;margin:12px 0 0;color:#c9d9d5;font-size:12px;line-height:1.8}
.fensele-v36-footer__nav{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.fensele-v36-footer__nav a{color:#fff!important;font-size:12px;font-weight:800;text-decoration:none!important}
.fensele-v36-footer__nav a:hover{opacity:.78}
.fensele-v36-footer__bottom{border-top:1px solid rgba(255,255,255,.12)!important;padding:0!important;color:#acc3bd!important;font-size:10.5px!important}
.fensele-v36-footer__bottom p{margin:0;padding:17px 0;color:#acc3bd;font-size:10.5px}

.fensele-fixed-page{min-height:65vh;background:#f8fbfa}
.fensele-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/fensele-hero-background-desktop.png') center 53% / cover no-repeat}
.fensele-fixed-page__hero p{margin:0 0 8px;color:#3b9380;font-size:11px;font-weight:950;letter-spacing:.16em}
.fensele-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}
.fensele-fixed-page__hero span{display:block;max-width:680px;margin-top:12px;color:#5f746d;font-size:14px;line-height:1.8}
.fensele-fixed-page__content{padding-top:42px;padding-bottom:64px}
.fensele-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)}
.fensele-fixed-card>:first-child{margin-top:0}
.fensele-fixed-card h2{margin:30px 0 10px;color:var(--gs-ink);font-size:22px;line-height:1.45;font-weight:900}
.fensele-fixed-card p{margin:0 0 15px;color:#5c716a;font-size:14px;line-height:1.9}
.fensele-fixed-card a{color:#237c6d;font-weight:800;text-underline-offset:3px}
.fensele-static-note{margin:0 0 28px;padding:18px 20px;border:1px solid #cfe4dd;border-radius:13px;background:#f2faf6}
.fensele-static-note strong{display:block;color:#246f61;font-size:14px;line-height:1.7}
.fensele-static-note p{margin:5px 0 0!important;color:#5b746d!important;font-size:12.5px!important;line-height:1.8!important}
.fensele-static-note--important{border-color:#f0d4a7;background:#fff8eb}
.fensele-static-note--important strong{color:#8a5b17}

.fensele-contact-form{display:grid;gap:18px;margin-top:26px}
.fensele-contact-form>label{display:grid;gap:7px}
.fensele-contact-form>label>span{color:#34564e;font-size:13px;font-weight:850}
.fensele-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}
.fensele-contact-form input,.fensele-contact-form textarea,.fensele-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)}
.fensele-contact-form input,.fensele-contact-form select{min-height:48px}
.fensele-contact-form textarea{min-height:190px;resize:vertical}
.fensele-contact-form input:focus,.fensele-contact-form textarea:focus,.fensele-contact-form select:focus{border-color:#65a99a;outline:3px solid rgba(90,179,163,.16)}
.fensele-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)}
.fensele-contact-form button:hover{background:#105f3d}
.fensele-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.fensele-contact-consent{display:flex!important;gap:10px!important;align-items:flex-start;color:#4f6962;font-size:13px;line-height:1.75;cursor:pointer}
.fensele-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)}
.fensele-contact-consent>span{font-size:13px!important;font-weight:700!important;color:#4f6962!important}
.fensele-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}
.fensele-form-notice strong{font-size:14px}.fensele-form-notice span{font-weight:650}
.fensele-form-notice.is-success{border:1px solid #b8dfd4;background:#eff9f5;color:#24695e}
.fensele-form-notice.is-error{border:1px solid #f0c7ae;background:#fff6f0;color:#9d572c}

.fensele-operation-table-wrap{overflow:hidden;border:1px solid #dce9e5;border-radius:13px}
.fensele-operation-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.fensele-operation-table th,.fensele-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}
.fensele-operation-table tr:last-child th,.fensele-operation-table tr:last-child td{border-bottom:0}
.fensele-operation-table th{width:190px;background:#f1f8f5;color:#355a51;font-weight:900}
.fensele-operation-table td{color:#536c65}
.fensele-operation-contact-note{display:grid;gap:3px;margin-top:10px;padding:11px 12px;border-radius:9px;background:#fff8eb;color:#78551d}
.fensele-operation-contact-note b,.fensele-operation-contact-note span{font-size:12px}
.fensele-operation-map,.fensele-operation-area{margin-top:38px;padding-top:34px;border-top:1px solid #e0ebe7}
.fensele-operation-kicker{margin:0 0 5px!important;color:#3b9380!important;font-size:10px!important;font-weight:950!important;letter-spacing:.16em}
.fensele-operation-map h2,.fensele-operation-area h2{margin-top:0}
.fensele-operation-map__frame{margin-top:18px;overflow:hidden;border:1px solid #d8e7e2;border-radius:13px;background:#eef6f3}
.fensele-operation-map__frame iframe{display:block;width:100%;height:360px;border:0}
.fensele-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}
.fensele-policy-date strong{color:#255d52}

.fensele-faq-page{padding-bottom:80px;background:#f7faf8}
.fensele-faq-layout{padding-top:32px}
.fensele-faq-categories{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px}
.fensele-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}
.fensele-faq-section{scroll-margin-top:105px;margin-bottom:22px;padding:22px;border:1px solid #dfe9e3;border-radius:16px;background:#fff}
.fensele-faq-section h2{margin:0 0 13px;color:var(--gs-ink);font-size:18px}
.fensele-faq-list{display:grid;gap:8px}
.fensele-faq-list details{border:1px solid #e2eae5;border-radius:10px;overflow:hidden;background:#fff}
.fensele-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}
.fensele-faq-list summary::-webkit-details-marker{display:none}
.fensele-faq-list summary>span,.fensele-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}
.fensele-faq-list details>div{display:flex;gap:10px;padding:0 14px 14px}
.fensele-faq-list details>div>span{background:#eef4f8;color:#173d5c}
.fensele-faq-list p{margin:2px 0 0;color:#5c7068;font-size:11px;line-height:1.8}

@media(max-width:767px){
  .fensele-v36-footer__grid{grid-template-columns:1fr;gap:23px;padding:34px 0 28px}.fensele-v36-footer__brand img{width:178px}.fensele-v36-footer__nav{display:grid;gap:11px}.fensele-v36-footer__nav a{font-size:12px}
  .fensele-fixed-page__hero{padding:54px 0 42px;background-image:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.48)),url('../rich/fensele-hero-background-mobile.png')}.fensele-fixed-page__hero p{font-size:9px}.fensele-fixed-page__hero h1{font-size:31px}.fensele-fixed-page__hero span{font-size:12px;line-height:1.75}.fensele-fixed-page__content{padding-top:22px;padding-bottom:44px}.fensele-fixed-card{padding:23px 18px;border-radius:15px}.fensele-fixed-card h2{margin-top:25px;font-size:19px}.fensele-fixed-card p{font-size:12.5px;line-height:1.85}
  .fensele-contact-form{gap:15px}.fensele-contact-form input,.fensele-contact-form textarea,.fensele-contact-form select{font-size:16px}.fensele-contact-consent>span{font-size:12.5px!important}
  .fensele-operation-table-wrap{overflow:visible;border:0}.fensele-operation-table,.fensele-operation-table tbody,.fensele-operation-table tr,.fensele-operation-table th,.fensele-operation-table td{display:block;width:100%}.fensele-operation-table tr{overflow:hidden;margin-bottom:11px;border:1px solid #dce9e5;border-radius:11px}.fensele-operation-table th{padding:11px 13px 7px;border:0}.fensele-operation-table td{padding:8px 13px 13px;border:0;font-size:13px;line-height:1.75}.fensele-operation-map__frame iframe{height:300px}
  .fensele-faq-layout{width:min(calc(100% - 22px),1140px);padding-top:22px}.fensele-faq-section{padding:15px 12px;border-radius:12px}.fensele-faq-section h2{font-size:16px}.fensele-faq-list summary{padding:12px 10px;font-size:11px}.fensele-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.
 * ====================================================================== */
.fensele-site:not(.home) .fensele-global-header{
  position:relative!important;
  z-index:1000!important;
  background:#fff!important;
  border-bottom:1px solid #e2ece8!important;
  box-shadow:none!important;
}
.fensele-site:not(.home) .fensele-header__inner{
  min-height:76px!important;
  gap:18px!important;
}
.fensele-site:not(.home) .fensele-brand{
  flex:0 0 150px!important;
  flex-basis:150px!important;
  width:150px!important;
  max-width:150px!important;
  padding:0!important;
  align-self:center!important;
}
.fensele-site:not(.home) .fensele-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. */
.fensele-site:not(.home) .fensele-core-public,
.fensele-site:not(.home) .fensele-fixed-page,
.fensele-site:not(.home) .fensele-estimate-page{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
}
.fensele-site:not(.home) .fensele-core-public:not(.fensele-core-public--directory){
  padding-top:48px!important;
}
.fensele-site:not(.home) .fensele-core-public--directory .fensele-area-hero{
  padding-top:58px!important;
}
.fensele-site:not(.home) .fensele-public-breadcrumb,
.fensele-site:not(.home) .fensele-area-breadcrumb,
.fensele-site:not(.home) .akihojo-sim-breadcrumb{
  position:relative!important;
  z-index:2!important;
  clear:both!important;
}
.fensele-site:not(.home) .fensele-estimate-page .akihojo-kotoie-page-inner{
  padding-top:34px!important;
}

@media(max-width:1180px) and (min-width:981px){
  .fensele-site:not(.home) .fensele-brand{
    flex:0 0 142px!important;
    flex-basis:142px!important;
    width:142px!important;
    max-width:142px!important;
  }
  .fensele-site:not(.home) .fensele-header__inner{gap:14px!important}
}
@media(max-width:980px) and (min-width:768px){
  .fensele-site:not(.home) .fensele-header__inner{
    min-height:70px!important;
    gap:10px!important;
  }
  .fensele-site:not(.home) .fensele-brand{
    flex:0 0 132px!important;
    flex-basis:132px!important;
    width:132px!important;
    max-width:132px!important;
  }
}
@media(max-width:767px){
  .fensele-site:not(.home) .fensele-global-header{
    min-height:64px!important;
  }
  .fensele-site:not(.home) .fensele-header__inner{
    width:calc(100% - 22px)!important;
    min-height:64px!important;
    gap:8px!important;
  }
  .fensele-site:not(.home) .fensele-brand{
    flex:0 0 116px!important;
    flex-basis:116px!important;
    width:116px!important;
    max-width:116px!important;
  }
  .fensele-site:not(.home) .fensele-mobile-menu{
    display:block!important;
    margin-left:auto!important;
  }
  .fensele-site:not(.home) .fensele-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;
  }
  .fensele-site:not(.home) .fensele-core-public:not(.fensele-core-public--directory){
    padding-top:34px!important;
  }
  .fensele-site:not(.home) .fensele-core-public--directory .fensele-area-hero{
    padding-top:32px!important;
  }
  .fensele-site:not(.home) .fensele-public-breadcrumb,
  .fensele-site:not(.home) .fensele-area-breadcrumb,
  .fensele-site:not(.home) .akihojo-sim-breadcrumb{
    margin-top:0!important;
    margin-bottom:18px!important;
  }
  .fensele-site:not(.home) .fensele-estimate-page .akihojo-kotoie-page-inner{
    padding-top:28px!important;
  }
  .fensele-site:not(.home) .fensele-fixed-page__hero{
    padding-top:48px!important;
  }
}
@media(max-width:390px){
  .fensele-site:not(.home) .fensele-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. `fensele-inner-route` is added
 * server-side and wins over every older home-header rule.
 * ====================================================================== */
body.fensele-site.fensele-inner-route .fensele-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.fensele-site.fensele-inner-route .fensele-header__inner{
  min-height:76px!important;
  gap:18px!important;
}
body.fensele-site.fensele-inner-route .fensele-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.fensele-site.fensele-inner-route .fensele-brand img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
}
body.fensele-site.fensele-inner-route .fensele-core-public,
body.fensele-site.fensele-inner-route .fensele-estimate-page{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
}
body.fensele-site.fensele-inner-route .fensele-core-public:not(.fensele-core-public--directory){
  padding-top:48px!important;
}
body.fensele-site.fensele-inner-route .fensele-core-public--directory .fensele-area-hero{
  padding-top:58px!important;
}
body.fensele-site.fensele-inner-route .fensele-public-breadcrumb,
body.fensele-site.fensele-inner-route .fensele-area-breadcrumb,
body.fensele-site.fensele-inner-route .akihojo-sim-breadcrumb{
  position:relative!important;
  z-index:2!important;
  clear:both!important;
  margin-top:0!important;
}
body.admin-bar.fensele-site.fensele-inner-route .fensele-global-header{
  top:auto!important;
}
@media(max-width:1180px) and (min-width:981px){
  body.fensele-site.fensele-inner-route .fensele-brand{
    flex:0 0 142px!important;flex-basis:142px!important;width:142px!important;max-width:142px!important;
  }
  body.fensele-site.fensele-inner-route .fensele-header__inner{gap:14px!important}
}
@media(max-width:980px) and (min-width:768px){
  body.fensele-site.fensele-inner-route .fensele-header__inner{min-height:70px!important;gap:10px!important}
  body.fensele-site.fensele-inner-route .fensele-brand{
    flex:0 0 132px!important;flex-basis:132px!important;width:132px!important;max-width:132px!important;
  }
}
@media(max-width:767px){
  body.fensele-site.fensele-inner-route .fensele-global-header{min-height:64px!important}
  body.fensele-site.fensele-inner-route .fensele-header__inner{
    width:calc(100% - 22px)!important;min-height:64px!important;gap:8px!important;
  }
  body.fensele-site.fensele-inner-route .fensele-brand{
    flex:0 0 116px!important;flex-basis:116px!important;width:116px!important;max-width:116px!important;
  }
  body.fensele-site.fensele-inner-route .fensele-mobile-menu{display:block!important;margin-left:auto!important}
  body.fensele-site.fensele-inner-route .fensele-core-public:not(.fensele-core-public--directory){padding-top:30px!important}
  body.fensele-site.fensele-inner-route .fensele-core-public--directory .fensele-area-hero{padding-top:30px!important}
  body.fensele-site.fensele-inner-route .fensele-public-breadcrumb,
  body.fensele-site.fensele-inner-route .fensele-area-breadcrumb,
  body.fensele-site.fensele-inner-route .akihojo-sim-breadcrumb{margin-bottom:18px!important}
}
@media(max-width:390px){
  body.fensele-site.fensele-inner-route .fensele-brand{
    flex-basis:110px!important;width:110px!important;max-width:110px!important;
  }
}

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

.fensele-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}
.fensele-search-flow li{display:flex;align-items:center;gap:7px;min-width:0;color:#83928d;font-size:10px;font-weight:850}
.fensele-search-flow li b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e9efec;color:#6d7f79}
.fensele-search-flow li.is-active{color:#176b4c}.fensele-search-flow li.is-active b{background:#197747;color:#fff}
.fensele-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}
.fensele-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)}
.fensele-choice-grid>[data-search-work] .fensele-icon{width:20px}.fensele-choice-grid>[data-search-work] b{align-self:end;font-size:13px}.fensele-choice-grid>[data-search-work] small{font-size:10px;color:var(--gs-muted)}
.fensele-choice-grid>[data-search-work][aria-pressed="true"]{border-color:#197747;background:#f0f9f3;box-shadow:inset 0 0 0 1px #197747}
.fensele-pref-picker--grouped{display:block!important;margin-top:16px}.fensele-pref-group{margin:0 0 15px}.fensele-pref-group h4{margin:0 0 7px;color:#3d6157;font-size:11px}.fensele-pref-group>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.fensele-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}.fensele-pref-group button[aria-pressed="true"]{border-color:#197747;background:#edf8f1;color:#176b4c}
.fensele-city-selected{display:flex;align-items:center;gap:10px;margin:13px 0 10px;padding:10px 12px;border-radius:10px;background:#f2f8f5}.fensele-city-selected small{color:#70827c;font-size:9px}.fensele-city-selected strong{color:#176b4c;font-size:13px}
.fensele-whole-pref{display:grid!important;gap:2px;text-align:left!important;padding:11px 13px!important}.fensele-whole-pref b,.fensele-whole-pref small{display:block}.fensele-whole-pref small{font-size:9px;color:#6f817b;font-weight:600}
.fensele-city-divider{display:flex;align-items:center;gap:10px;margin:13px 0;color:#879690;font-size:9px}.fensele-city-divider:before,.fensele-city-divider:after{content:"";height:1px;flex:1;background:#e2ebe7}
.fensele-city-picker--grouped{display:block!important;margin-top:0}.fensele-city-group{margin:0 0 14px}.fensele-city-group h4{margin:0 0 7px;color:#176b4c;font-size:11px}.fensele-city-group>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.fensele-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}.fensele-city-group button:hover{border-color:#87c3a7;background:#f0f9f3}.fensele-city-loading{display:block;padding:18px;text-align:center;color:#71827c;font-size:11px}

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

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

/* ======================================================================
 * v0.4.2 — Tochikatsu-style work cards + region-first modal + kana anchors.
 * ====================================================================== */
.home #fensele-work .fensele-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 #fensele-work .fensele-v2-section__head>div{min-width:0!important}
.home #fensele-work .fensele-v2-section__head h2{margin:0!important;font-size:27px!important;line-height:1.35!important}
.home #fensele-work .fensele-v2-section__description{margin-top:9px!important;font-size:11px!important;line-height:1.7!important}
.home #fensele-work .fensele-work-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.home #fensele-work .fensele-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 #fensele-work .fensele-work-card:hover{transform:translateY(-2px)!important;border-color:#76b89a!important;box-shadow:0 10px 24px rgba(23,107,76,.07)!important}
.home #fensele-work .fensele-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 #fensele-work .fensele-work-card:nth-child(2)>span,
.home #fensele-work .fensele-work-card:nth-child(6)>span{background:#edf5fb!important;color:#22759a!important}
.home #fensele-work .fensele-work-card:nth-child(3)>span,
.home #fensele-work .fensele-work-card:nth-child(7)>span{background:#fff4df!important;color:#bb7310!important}
.home #fensele-work .fensele-work-card:nth-child(4)>span,
.home #fensele-work .fensele-work-card:nth-child(8)>span{background:#f3edf9!important;color:#76549b!important}
.home #fensele-work .fensele-work-card .fensele-icon{width:38px!important;height:38px!important;stroke-width:1.65!important}
.home #fensele-work .fensele-work-card>div{width:100%!important}
.home #fensele-work .fensele-work-card b{font-size:14px!important;line-height:1.45!important;color:#173f35!important}
.home #fensele-work .fensele-work-card small{margin-top:7px!important;font-size:10px!important;line-height:1.5!important;color:#75857f!important}
.home #fensele-work .fensele-work-card>i{display:none!important}

.fensele-modal-region-grid,.fensele-diagnosis-region-grid-v42{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:16px!important;
}
.fensele-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;
}
.fensele-modal-region-choice:hover,.fensele-modal-region-choice[aria-pressed="true"]{border-color:#65ac8a!important;background:#f0f8f3!important;box-shadow:inset 0 0 0 1px #65ac8a!important}
.fensele-modal-region-choice b{font-size:13px!important;line-height:1.35!important}.fensele-modal-region-choice small{margin-top:4px!important;color:#7a8a84!important;font-size:9px!important}.fensele-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}
.fensele-modal-pref-stage{margin-top:14px!important}.fensele-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}
.fensele-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}.fensele-modal-pref-stage__head strong{color:#173f35!important;font-size:12px!important}
.fensele-modal-pref-stage .fensele-pref-group{margin-bottom:0!important}.fensele-modal-pref-stage .fensele-pref-group h4{display:none!important}

.fensele-city-tools{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 8px!important}.fensele-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}.fensele-city-search:focus{border-color:#59a982!important;box-shadow:0 0 0 2px rgba(25,132,81,.08)!important}.fensele-city-count{flex:0 0 auto!important;color:#71837c!important;font-size:9px!important;font-weight:800!important}
.fensele-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}.fensele-city-kana-nav::-webkit-scrollbar{display:none!important}.fensele-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}.fensele-city-kana-nav button:hover:not(:disabled){border-color:#197747!important;background:#edf7f3!important}.fensele-city-kana-nav button:disabled{opacity:.28!important;cursor:default!important}
.fensele-city-groups-scroll{max-height:310px!important;overflow:auto!important;overscroll-behavior:contain!important;padding-right:3px!important;scroll-behavior:smooth!important}.fensele-city-group{scroll-margin-top:8px!important}.fensele-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}.fensele-city-group>div button strong{font-size:10.5px!important;line-height:1.35!important}.fensele-city-group>div button small{margin-top:2px!important;color:#87958f!important;font-size:7.5px!important;font-weight:600!important}
.fensele-diagnosis-city-mount-v40 .fensele-city-groups-scroll{max-height:290px!important}
.fensele-diagnosis-pref-stage-v42{grid-column:1/-1!important}.fensele-diagnosis-pref-buttons-v42{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.fensele-diagnosis-pref-buttons-v42 .fensele-diagnosis-option-v40{min-height:42px!important;padding:8px!important}.fensele-diagnosis-pref-buttons-v42 .fensele-diagnosis-option-v40 small{display:none!important}

@media(max-width:767px){
  .home #fensele-work .fensele-v2-section__head{align-items:flex-start!important;padding-bottom:11px!important;margin-bottom:12px!important}.home #fensele-work .fensele-v2-section__head h2{font-size:21px!important}.home #fensele-work .fensele-v2-section__description{font-size:9.5px!important}.home #fensele-work .fensele-v2-section__head>button{font-size:10px!important}
  .home #fensele-work .fensele-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.home #fensele-work .fensele-work-card{min-height:148px!important;padding:13px 8px!important;gap:9px!important}.home #fensele-work .fensele-work-card>span{width:62px!important;height:62px!important;flex-basis:62px!important;border-radius:18px!important}.home #fensele-work .fensele-work-card .fensele-icon{width:31px!important;height:31px!important}.home #fensele-work .fensele-work-card b{font-size:11.5px!important}.home #fensele-work .fensele-work-card small{margin-top:5px!important;font-size:8.5px!important}
  .fensele-modal-region-grid,.fensele-diagnosis-region-grid-v42{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.fensele-modal-region-choice{min-height:64px!important;padding:10px 28px 10px 11px!important}.fensele-modal-region-choice b{font-size:11px!important}.fensele-modal-region-choice small{font-size:8px!important}.fensele-modal-region-choice i{right:10px!important;font-size:18px!important}
  .fensele-modal-pref-stage__head{padding:8px 9px!important}.fensele-diagnosis-pref-buttons-v42{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fensele-city-tools{align-items:stretch!important}.fensele-city-search{height:36px!important;font-size:10px!important}.fensele-city-count{display:grid!important;place-items:center!important;font-size:8px!important}.fensele-city-kana-nav{gap:4px!important;padding:6px!important}.fensele-city-kana-nav button{flex-basis:29px!important;min-width:29px!important;height:29px!important;font-size:9px!important}.fensele-city-groups-scroll{max-height:280px!important}.fensele-city-group>div button{min-height:43px!important;padding:6px 7px!important}.fensele-city-group>div button strong{font-size:9.5px!important}.fensele-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. */
.fensele-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;
}
.fensele-search-modal .fensele-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. */
.fensele-modal-region-grid[hidden],
.fensele-modal-pref-stage[hidden],
.fensele-modal__step[hidden]{display:none!important}
/* Match attached Tochikatsuhojo municipality viewport and kana navigation. */
.fensele-search-modal [data-search-cities] .fensele-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;
}
.fensele-search-modal [data-search-cities] .fensele-city-kana-nav{
  position:sticky!important;top:0!important;z-index:5!important;
}
/* Diagnosis viewport + columns now follow Tochikatsuhojo's desktop proportions. */
.fensele-diagnosis-dialog-v40{
  width:min(1180px,calc(100vw - 36px))!important;
  height:min(820px,calc(100dvh - 34px))!important;
  max-height:calc(100dvh - 34px)!important;
}
.fensele-diagnosis-shell-v40{
  grid-template-columns:310px minmax(0,1fr)!important;
}
.fensele-diagnosis-region-grid-v42,
.fensele-diagnosis-pref-stage-v42,
.fensele-diagnosis-city-mount-v40{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}
.fensele-diagnosis-region-grid-v42{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.fensele-diagnosis-options-v40{width:auto!important;min-width:0!important}

@media(max-width:767px){
  .fensele-search-modal{
    width:calc(100vw - 10px)!important;
    height:calc(100dvh - 10px)!important;
    max-height:calc(100dvh - 10px)!important;
    border-radius:14px!important;
  }
  .fensele-search-modal [data-search-cities] .fensele-city-groups-scroll{
    max-height:340px!important;
    min-height:260px!important;
  }
  .fensele-diagnosis-dialog-v40{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .fensele-diagnosis-shell-v40{display:block!important}
  .fensele-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. */
.fensele-search-grid{grid-template-columns:1fr!important;gap:14px!important}
.fensele-search-card.fensele-rank-card{width:100%;min-width:0}
.fensele-search-card.fensele-rank-card .fensele-rank-card__head{align-items:center!important}
.fensele-search-card.fensele-rank-card .fensele-rank-card__actions{width:min(500px,100%)!important}
@media(max-width:680px){
  .fensele-search-card.fensele-rank-card .fensele-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){
  .fensele-v36-footer__brand img{width:150px!important;max-width:150px!important}
}
@media(max-width:1180px) and (min-width:768px){
  .fensele-v36-footer__brand img{width:165px!important;max-width:165px!important}
}

.home .fensele-v2-stats__companies{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.home .fensele-v2-stats__companies dt{
  color:#71847e!important;
  font-weight:850!important;
}
.home .fensele-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 .fensele-v2-stats__companies dd small{font-weight:900!important}

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

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

/* ======================================================================
 * v0.4.9 — contact routing gateway
 * ====================================================================== */
.fensele-contact-card{max-width:900px}
.fensele-contact-gateway{margin-top:30px;padding:24px;border:1px solid #d8e7e1;border-radius:16px;background:#f7fbf9}
.fensele-contact-gateway__heading,.fensele-contact-form-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.fensele-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}
.fensele-contact-gateway__heading h2,.fensele-contact-form-heading h2{margin:0!important;color:#22483f;font-size:20px!important;line-height:1.45}
.fensele-contact-gateway__heading p,.fensele-contact-form-heading p{margin:4px 0 0!important;font-size:12.5px!important;line-height:1.7!important}
.fensele-contact-topic-select{display:grid;gap:8px}
.fensele-contact-topic-select>span{color:#34564e;font-size:13px;font-weight:850}
.fensele-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}
.fensele-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}
.fensele-contact-topic-select select:focus{border-color:#65a99a;outline:3px solid rgba(90,179,163,.16)}
.fensele-contact-destination{margin-top:20px}
.fensele-contact-destination__panel{padding:24px;border:1px solid #d7e6df;border-radius:16px;background:#fff}
.fensele-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}
.fensele-contact-destination__panel h2{margin:0 0 10px!important;color:#22483f;font-size:21px!important;line-height:1.5}
.fensele-contact-destination__panel p{margin:0!important;color:#566d66;font-size:13px!important;line-height:1.9!important}
.fensele-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)}
.fensele-contact-form-wrap{margin-top:24px;padding-top:28px;border-top:1px solid #dfe9e5}
.fensele-contact-context-fields{display:grid;gap:18px;padding:18px;border:1px solid #d9e7e2;border-radius:13px;background:#f8fbfa}
.fensele-contact-context-fields>label{display:grid;gap:7px}
.fensele-contact-context-fields>label>span{color:#34564e;font-size:13px;font-weight:850}
.fensele-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}
.fensele-contact-form [hidden],.fensele-contact-destination [hidden],.fensele-contact-form-wrap[hidden],.fensele-contact-destination[hidden]{display:none!important}
@media(max-width:767px){
  .fensele-contact-gateway{margin-top:22px;padding:18px 14px;border-radius:13px}
  .fensele-contact-gateway__heading,.fensele-contact-form-heading{display:grid;gap:9px}
  .fensele-contact-gateway__step{width:fit-content;min-width:58px;min-height:25px;font-size:9px}
  .fensele-contact-gateway__heading h2,.fensele-contact-form-heading h2{font-size:18px!important}
  .fensele-contact-topic-select select{font-size:16px}
  .fensele-contact-destination__panel{padding:19px 15px;border-radius:13px}
  .fensele-contact-destination__panel h2{font-size:18px!important}
  .fensele-contact-destination__panel p{font-size:12.5px!important}
  .fensele-contact-destination__button{width:100%;font-size:13px}
  .fensele-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.fensele-site.fensele-search-route .fensele-global-header,
body.fensele-site.fensele-inner-route.fensele-search-route .fensele-global-header,
body.fensele-site:not(.home).fensele-search-route .fensele-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.fensele-site.fensele-search-route .fensele-core-public:not(.fensele-core-public--directory),
body.fensele-site.fensele-inner-route.fensele-search-route .fensele-core-public:not(.fensele-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.fensele-site.fensele-search-route .fensele-search-results>.fensele-search-hero-zone{
  margin-top:0!important;
  background-position:center top!important;
}
body.admin-bar.fensele-site.fensele-search-route .fensele-global-header{top:32px!important}
body.admin-bar.fensele-site.fensele-search-route .fensele-search-results>.fensele-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. */
.fensele-ranking-page .fensele-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;
}
.fensele-ranking-page .fensele-rank-card__editorial h3:before,
.fensele-ranking-page .fensele-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.fensele-site.fensele-search-route .fensele-global-header{top:46px!important}
}
@media(max-width:767px){
  body.admin-bar.fensele-site.fensele-search-route .fensele-search-results>.fensele-search-hero-zone{padding-top:110px!important}
  .fensele-ranking-page .fensele-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.
 * ====================================================================== */
.fensele-diagnosis-scroll-v40{
  overflow-anchor:none!important;
  scroll-behavior:auto!important;
  scrollbar-gutter:stable;
}
.fensele-diagnosis-scroll-tail-v411{
  width:1px;
  height:24px;
  min-height:24px;
  pointer-events:none;
}
.fensele-chat-row-v40.is-history .fensele-chat-bubble-v40{
  padding-block:10px;
  opacity:.84;
}
.fensele-chat-row-v40.is-history .fensele-chat-bubble-v40 p{
  margin:0;
  font-size:10px;
}
.fensele-chat-row-v40.is-typing .fensele-chat-bubble-v40{
  padding:13px 15px;
}
.fensele-typing-v411{
  display:inline-flex;
  gap:4px;
  align-items:center;
}
.fensele-typing-v411 i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#6b9f90;
  animation:fensele-diagnosis-typing-v411 1s infinite ease-in-out;
}
.fensele-typing-v411 i:nth-child(2){animation-delay:.13s}
.fensele-typing-v411 i:nth-child(3){animation-delay:.26s}
@keyframes fensele-diagnosis-typing-v411{
  0%,60%,100%{transform:translateY(0);opacity:.45}
  30%{transform:translateY(-3px);opacity:1}
}
.fensele-diagnosis-option-v40,
.fensele-diagnosis-whole-v40{
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.fensele-diagnosis-option-arrow-v411{
  margin-left:auto;
  color:#66a995;
  font-size:22px;
  font-style:normal;
  line-height:1;
  flex:0 0 auto;
}
.fensele-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;
}
.fensele-diagnosis-searching-v411>img{
  display:block;
  width:58px;
  height:58px;
  object-fit:contain;
}
.fensele-diagnosis-searching-v411__panel{min-width:0}
.fensele-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:fensele-diagnosis-spin-v411 .85s linear infinite;
}
.fensele-diagnosis-searching-v411 h3{
  margin:0;
  color:#173d34;
  font-size:16px;
  line-height:1.35;
}
.fensele-diagnosis-searching-v411 p{
  margin:4px 0 0;
  color:#687b75;
  font-size:10.5px;
  line-height:1.7;
}
.fensele-diagnosis-searching-v411__dots{
  display:flex;
  gap:4px;
  margin-top:8px;
}
.fensele-diagnosis-searching-v411__dots i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#65a88e;
  animation:fensele-diagnosis-dot-v411 .9s ease-in-out infinite alternate;
}
.fensele-diagnosis-searching-v411__dots i:nth-child(2){animation-delay:.14s}
.fensele-diagnosis-searching-v411__dots i:nth-child(3){animation-delay:.28s}
@keyframes fensele-diagnosis-spin-v411{to{transform:rotate(360deg)}}
@keyframes fensele-diagnosis-dot-v411{from{transform:translateY(0);opacity:.45}to{transform:translateY(-3px);opacity:1}}
@media(max-width:767px){
  .fensele-diagnosis-searching-v411{grid-template-columns:54px minmax(0,1fr);padding:12px}
  .fensele-diagnosis-searching-v411>img{width:54px;height:54px}
  .fensele-diagnosis-searching-v411 h3{font-size:15px}
  .fensele-diagnosis-searching-v411 p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .fensele-typing-v411 i,
  .fensele-diagnosis-searching-v411__spinner,
  .fensele-diagnosis-searching-v411__dots i{animation:none!important}
}
.fensele-chat-row-v40[hidden],
.fensele-diagnosis-options-v40[hidden],
.fensele-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){
  .fensele-diagnosis-shell-v40{
    min-height:0!important;
    overflow:hidden!important;
  }
  .fensele-diagnosis-chat-v40{
    height:calc(100dvh - 66px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .fensele-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.
 * Fen-kun and the approved speech bubble remain untouched.
 * ====================================================================== */
.home .fensele-v2-stats__number{font-variant-numeric:tabular-nums}
@media(max-width:767px){
  .home .fensele-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 .fensele-v2-stats__head{display:block!important;padding:0 0 6px!important;border-bottom:1px solid #e5efeb!important;line-height:1.2!important}
  .home .fensele-v2-stats__head span{display:block!important;font-size:9.5px!important;line-height:1.3!important;letter-spacing:.01em!important}
  .home .fensele-v2-stats__head small{display:none!important}
  .home .fensele-v2-stats dl{margin:6px 0 0!important}
  .home .fensele-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 .fensele-v2-stats__companies dt{font-size:9.5px!important;line-height:1.2!important}
  .home .fensele-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 .fensele-v2-stats__companies dd small{font-size:8.5px!important;line-height:1!important}
}
@media(max-width:390px){
  .home .fensele-v2-stats{width:166px!important;padding:9px 10px 10px!important}
  .home .fensele-v2-stats__head span{font-size:9px!important}
  .home .fensele-v2-stats__companies dt{font-size:9px!important}
  .home .fensele-v2-stats__companies dd{font-size:25px!important}
}


/* ======================================================================
 * v0.4.15 — searchable-category fallback guidance + mobile diagnosis controls
 * ====================================================================== */
.fensele-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;
}
.fensele-work-fallback-note strong{
  display:block!important;
  margin-bottom:2px!important;
  color:#176b4c!important;
  font-size:11px!important;
  font-weight:950!important;
}
.fensele-work-fallback-note span{display:block!important}

@media(max-width:767px){
  .fensele-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;
  }
  .fensele-diagnosis-header-v40>img{
    grid-column:1!important;
    grid-row:1!important;
    width:84px!important;
  }
  .fensele-diagnosis-header-v40>div:nth-child(2){
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
  }
  .fensele-diagnosis-controls-v40{
    grid-column:1/-1!important;
    grid-row:2!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }
  .fensele-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;
  }
  .fensele-diagnosis-controls-v40 button span{
    display:inline!important;
  }
  .fensele-diagnosis-controls-v40 .fensele-icon{
    width:13px!important;
    height:13px!important;
  }
}


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

.fensele-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)}
.fensele-ranking-diagnosis-cta>img{display:block;width:96px;height:96px;object-fit:contain}
.fensele-ranking-diagnosis-cta__copy{display:grid;gap:4px;min-width:0}
.fensele-ranking-diagnosis-cta__copy>span{color:#c06b22;font-size:10px;font-weight:900;letter-spacing:.08em}
.fensele-ranking-diagnosis-cta__copy>strong{color:#173f36;font-size:18px;line-height:1.5}
.fensele-ranking-diagnosis-cta__copy>p{margin:0;color:#60736d;font-size:12px;line-height:1.75}
.fensele-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)}
.fensele-ranking-diagnosis-cta>button:hover,.fensele-ranking-diagnosis-cta>button:focus-visible{background:#185f53;transform:translateY(-1px)}

.fensele-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)}
.fensele-diagnosis-result-guide>img{display:block;width:82px;height:82px;object-fit:contain}
.fensele-diagnosis-result-guide>div{display:grid;gap:3px}
.fensele-diagnosis-result-guide span{color:#c06b22;font-size:9px;font-weight:900;letter-spacing:.08em}
.fensele-diagnosis-result-guide strong{color:#173f36;font-size:16px;line-height:1.45}
.fensele-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.fensele-site.fensele-diagnosis-route .fensele-global-header,
body.fensele-site.fensele-inner-route.fensele-diagnosis-route .fensele-global-header,
body.fensele-site:not(.home).fensele-diagnosis-route .fensele-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.fensele-site.fensele-diagnosis-route .fensele-core-public:not(.fensele-core-public--directory),
body.fensele-site.fensele-inner-route.fensele-diagnosis-route .fensele-core-public:not(.fensele-core-public--directory){padding-top:0!important}
body.fensele-site.fensele-diagnosis-route .fensele-search-results>.fensele-search-hero-zone{margin-top:0!important;background-position:center top!important}
body.admin-bar.fensele-site.fensele-diagnosis-route .fensele-global-header{top:32px!important}
body.admin-bar.fensele-site.fensele-diagnosis-route .fensele-search-results>.fensele-search-hero-zone{padding-top:108px!important}

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

/* Fensele provisional brand tokens. Replace only these variables when the final brand color is approved. */
.fensele-v2-btn--search,.fensele-diagnosis-submit-v40{background:var(--fensele-brand-primary)!important;}
.fensele-v2-btn--diagnosis{background:var(--fensele-brand-accent)!important;}
.fensele-v2-section__eyebrow,.fensele-v2-kicker{color:var(--fensele-brand-primary-deep)!important;}
.fensele-work-card:hover,.fensele-region-card:hover{border-color:var(--fensele-brand-primary)!important;}

@media(max-width:680px){.fensele-v2-hero{background-image:linear-gradient(180deg,rgba(247,252,249,.97) 0%,rgba(247,252,249,.88) 62%,rgba(236,247,243,.72) 100%),url(../rich/fensele-hero-background-mobile.png);background-position:center bottom;}}


/* ======================================================================
 * v0.4.35 — approved A-logo / Fen-kun brand asset integration.
 * Final user-approved artwork:
 * - A-logo lockup
 * - Fen-kun FV mascot and independent speech bubble
 * - Fen-kun face-only favicon
 * - dedicated fence FV background
 * - reusable Fen-kun pose assets
 * ====================================================================== */
.fensele-brand img,
.home .fensele-brand img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.home .fensele-v2-hero__visual{
  overflow:visible!important;
}
.home .fensele-v2-hero__mascot-img{
  object-fit:contain!important;
  object-position:center bottom!important;
}
.home .fensele-v2-hero__bubble-img{
  object-fit:contain!important;
}
@media(min-width:1181px){
  .home .fensele-v2-hero__visual{
    min-height:338px!important;
  }
  .home .fensele-v2-hero__mascot-img{
    right:0!important;
    bottom:0!important;
    width:226px!important;
    height:auto!important;
  }
  .home .fensele-v2-hero__bubble-img{
    top:34px!important;
    left:-20px!important;
    width:190px!important;
    height:auto!important;
  }
}
@media(max-width:1180px) and (min-width:768px){
  .home .fensele-v2-hero__visual{
    min-height:304px!important;
  }
  .home .fensele-v2-hero__mascot-img{
    right:0!important;
    bottom:0!important;
    width:196px!important;
    height:auto!important;
  }
  .home .fensele-v2-hero__bubble-img{
    top:32px!important;
    left:-8px!important;
    width:164px!important;
    height:auto!important;
  }
}
@media(max-width:767px){
  .home .fensele-v2-hero__visual{
    height:190px!important;
    min-height:190px!important;
  }
  .home .fensele-v2-hero__mascot-img{
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    width:132px!important;
    height:auto!important;
    transform:translateX(-50%)!important;
  }
  .home .fensele-v2-hero__bubble-img{
    top:0!important;
    left:0!important;
    right:auto!important;
    width:112px!important;
    height:auto!important;
    transform:none!important;
  }
}
@media(max-width:390px){
  .home .fensele-v2-hero__visual{
    height:184px!important;
    min-height:184px!important;
  }
  .home .fensele-v2-hero__mascot-img{
    width:126px!important;
  }
  .home .fensele-v2-hero__bubble-img{
    width:106px!important;
  }
}

/* ======================================================================
 * v0.4.36 — FV speech-bubble alignment / opacity correction.
 * - Approved Fen-kun and bubble remain independent assets.
 * - Bubble interior is now opaque warm white at image-file level.
 * - Reposition bubble so its existing lower-left speech tail points to
 *   Fen-kun's cap/head on desktop, tablet and mobile.
 * ====================================================================== */
@media(min-width:1181px){
  .home .fensele-v2-hero__bubble-img{
    top:34px!important;
    left:80px!important;
    right:auto!important;
    width:190px!important;
    transform:none!important;
  }
}
@media(max-width:1180px) and (min-width:768px){
  .home .fensele-v2-hero__bubble-img{
    top:32px!important;
    left:62px!important;
    right:auto!important;
    width:164px!important;
    transform:none!important;
  }
}
@media(max-width:767px){
  .home .fensele-v2-hero__bubble-img{
    top:0!important;
    left:80px!important;
    right:auto!important;
    width:112px!important;
    transform:none!important;
  }
}
@media(max-width:390px){
  .home .fensele-v2-hero__bubble-img{
    left:74px!important;
    width:106px!important;
  }
}

/* ======================================================================
 * v0.4.37 — rebuilt FV speech bubble asset + geometric tail alignment.
 * - New cache-busted PNG: fensele-hero-bubble-v2.png
 * - Bubble body is fully opaque warm white; only the area outside the
 *   balloon is transparent.
 * - Tail is centered in the artwork. Bubble and Fen-kun therefore share
 *   the same horizontal center at every breakpoint.
 * ====================================================================== */
.home .fensele-v2-hero__bubble-img{
  z-index:5!important;
  object-fit:contain!important;
  pointer-events:none!important;
}
@media(min-width:1181px){
  .home .fensele-v2-hero__bubble-img{
    top:18px!important;
    right:18px!important;
    left:auto!important;
    width:190px!important;
    height:auto!important;
    transform:none!important;
  }
}
@media(max-width:1180px) and (min-width:768px){
  .home .fensele-v2-hero__bubble-img{
    top:28px!important;
    right:16px!important;
    left:auto!important;
    width:164px!important;
    height:auto!important;
    transform:none!important;
  }
}
@media(max-width:767px){
  .home .fensele-v2-hero__bubble-img{
    top:0!important;
    left:52%!important;
    right:auto!important;
    width:118px!important;
    height:auto!important;
    transform:translateX(-50%)!important;
  }
}
@media(max-width:390px){
  .home .fensele-v2-hero__bubble-img{
    top:0!important;
    left:52%!important;
    width:112px!important;
    transform:translateX(-50%)!important;
  }
}

/* v0.4.38 — rebuilt mascot variants with full transparent margins and unclipped outlines. */
