/* FINOWA home: approved completion board, panel 01. Home-only rules. */
.finowa2.ds2-home{--ds2-ink:#1e3a5f;--ds2-green:#1968ab;--ds2-line:#dbe4ee;--finowa2-navy:#1e3a5f;--finowa2-green:#1968ab;--finowa2-green-hover:#13578f;--finowa2-green-soft:#e6eef5;--finowa2-font-sans:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:#fff;color:#1e3a5f;font-family:var(--finowa2-font-sans)}
.ds2-home .finowa2-nav{background:#fff;border-bottom:1px solid #dbe4ee;position:relative}
.ds2-home .finowa2-nav-inner{width:min(1120px,calc(100% - 40px));min-height:72px;gap:20px}
.ds2-home .finowa2-brand{display:flex;align-items:center;min-width:152px}
.ds2-home .finowa2-brand-logo{display:block;width:152px;max-height:44px;height:auto;object-fit:contain}
.ds2-home .finowa2-brand small{display:none}
.ds2-home .finowa2-nav-links{gap:20px}
.ds2-home .finowa2-nav-links a{font-size:13px;color:#1e3a5f}
.ds2-home .finowa2-nav-actions .finowa2-button{box-shadow:none;background:#1968ab;font-size:12px}
.ds2-home .fw-main{padding:0;background:#fff}
.ds2-home .fw-shell{width:min(1040px,calc(100% - 40px));margin-inline:auto}
.ds2-home .fw-hero{position:relative;isolation:isolate;min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:54px 20px 100px;text-align:center;overflow:hidden;background:#cfe2f4}
.ds2-home .fw-hero-image{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center 65%}
.ds2-home .fw-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(238,247,255,.55),rgba(255,248,237,.44) 40%,rgba(255,255,255,0) 80%)}
.ds2-home .fw-hero-content{padding-bottom:26px}
.ds2-home .fw-hero h1{margin:0 0 16px;font-size:clamp(34px,3.8vw,52px);font-weight:800;letter-spacing:.025em;line-height:1.4;color:#102e50}
.ds2-home .fw-hero-content>p{margin:0;color:#14385c;font-size:16px;font-weight:650;line-height:1.85}
.ds2-home .fw-search{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 40px));display:flex;align-items:center;min-height:56px;padding:5px 8px 5px 20px;border:1px solid #dbe4ee;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(12,42,75,.12)}
.ds2-home .fw-search input{flex:1;min-width:0;width:100%;padding:10px 0;border:0;background:transparent;font:inherit;font-size:14px;color:#1e3a5f;outline-offset:3px}
.ds2-home .fw-search input::placeholder{color:#63758a}
.ds2-home .fw-search button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:0;border-radius:8px;background:#fff;color:#1e3a5f;cursor:pointer}
.ds2-home .fw-search button:hover{background:#e6eef5}
.ds2-home .fw-search svg{width:24px;height:24px}
.ds2-home .fw-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ds2-home .fw-entries{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding-block:28px 36px}
.ds2-home .fw-entry{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:22px 10px 20px;border:1px solid #dbe4ee;border-radius:10px;background:#fff;text-decoration:none;color:#1e3a5f;transition:border-color .18s,background .18s}
.ds2-home .fw-entry:hover{background:#f4f8fc;border-color:#90b5d6}
.ds2-home .fw-entry img{display:block;width:36px;height:36px;object-fit:contain}
.ds2-home .fw-entry h2{margin:0;font-size:17px;font-weight:750;line-height:1.35}
.ds2-home .fw-entry p{margin:0;color:#52657a;font-size:12px;line-height:1.65}
.ds2-home .fw-recommended{padding-block:8px 40px}
.ds2-home .fw-recommended>h2,.ds2-home .fw-search-results>h2{margin:0 0 22px;font-size:26px;font-weight:750;line-height:1.4;letter-spacing:.02em}
.ds2-home .fw-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ds2-home .fw-article{display:block;text-decoration:none;color:#1e3a5f}
.ds2-home .fw-article>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-bottom:12px}
.ds2-home .fw-category{display:inline-block;font-size:11px;color:#1968ab;background:#e6eef5;padding:3px 7px;border-radius:4px}
.ds2-home .fw-article h3{margin:7px 0 6px;font-size:17px;line-height:1.65;font-weight:700}
.ds2-home .fw-article p{margin:0;color:#63758a;font-size:13px;line-height:1.75}
.ds2-home .fw-article:hover h3{text-decoration:underline;text-underline-offset:3px}
.ds2-home .fw-outline{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:42px;padding:9px 24px;border:1px solid #397bb5;border-radius:5px;background:#fff;color:#1e3a5f;font-size:13px;font-weight:700;text-decoration:none}
.ds2-home .fw-outline:hover{background:#edf5fc}
.ds2-home .fw-recommended>.fw-outline{display:flex;width:max-content;margin:26px auto 0}
.ds2-home .fw-about{position:relative;isolation:isolate;min-height:290px;padding:44px 0;overflow:hidden;background:#d7eafa}
.ds2-home .fw-about>img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.ds2-home .fw-about:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(232,244,253,.96),rgba(232,244,253,.5) 52%,transparent 80%)}
.ds2-home .fw-about h2{margin:0 0 12px;color:#1e3a5f;font-size:30px;line-height:1.5;font-weight:750}
.ds2-home .fw-about p{margin:0 0 18px;color:#264b70;font-size:14px;line-height:1.8}
.ds2-home .site-footer .ds2-footer-brand{display:block;width:152px;height:auto;max-height:44px;object-fit:contain;object-position:left center;margin-bottom:10px}
.ds2-home .site-footer{background:#1e3a5f}
.ds2-home .fw-search-results{padding-block:28px;scroll-margin-top:20px}
.ds2-home .fw-search-results[hidden]{display:none}
.ds2-home .fw-results-list{display:grid;gap:10px}
.ds2-home .fw-result{display:block;padding:14px;border:1px solid #dbe4ee;border-radius:6px;background:#f6f9fc;color:#1e3a5f;text-decoration:none}
.ds2-home a:focus-visible,.ds2-home button:focus-visible,.ds2-home input:focus-visible{outline:3px solid #1968ab;outline-offset:3px}
@media(max-width:1000px){.ds2-home .finowa2-nav-links{gap:12px}.ds2-home .finowa2-nav-links a{font-size:12px}.ds2-home .fw-entries{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ds2-home .fw-entry{padding:18px}.ds2-home .fw-hero{min-height:410px}.ds2-home .fw-hero h1{font-size:40px}}
@media(max-width:640px){
.ds2-home .finowa2-nav-inner{width:calc(100% - 28px);min-height:58px;gap:12px}.ds2-home .finowa2-brand{min-width:124px}.ds2-home .finowa2-brand-logo{width:124px;max-height:36px}.ds2-home .finowa2-nav-links{display:none}.ds2-home .finowa2-nav-actions .finowa2-button{display:none}.ds2-home .finowa2-nav-actions .finowa2-search-link{display:inline-flex;font-size:23px}
.ds2-home .fw-shell{width:calc(100% - 28px)}.ds2-home .fw-hero{min-height:300px;padding:30px 14px 88px}.ds2-home .fw-hero-image{object-position:center 70%}.ds2-home .fw-hero h1{font-size:29px;line-height:1.42;margin-bottom:12px}.ds2-home .fw-hero-content{padding:0}.ds2-home .fw-hero-content>p{font-size:12px;line-height:1.8}
.ds2-home .fw-search{width:calc(100% - 28px);bottom:18px;min-height:46px;padding:3px 5px 3px 12px;border-radius:10px}.ds2-home .fw-search input{font-size:12px}.ds2-home .fw-search button{width:38px;height:38px}
.ds2-home .fw-entries{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-block:16px 24px}.ds2-home .fw-entry{padding:15px 5px 12px;gap:7px;border-radius:7px}.ds2-home .fw-entry img{width:28px;height:28px}.ds2-home .fw-entry h2{font-size:14px}.ds2-home .fw-entry p{font-size:10px;line-height:1.6}
.ds2-home .fw-recommended{padding-block:4px 26px}.ds2-home .fw-recommended>h2{font-size:20px;margin-bottom:16px}.ds2-home .fw-articles{gap:10px}.ds2-home .fw-article>img{aspect-ratio:4/3;border-radius:5px;margin-bottom:8px}.ds2-home .fw-category{font-size:9px;padding:2px 5px}.ds2-home .fw-article h3{font-size:12px;line-height:1.7;margin:5px 0}.ds2-home .fw-article p{display:none}.ds2-home .fw-recommended>.fw-outline{margin-top:20px}.ds2-home .fw-outline{font-size:12px;min-height:38px;padding:8px 20px}
.ds2-home .fw-about{min-height:230px;padding:28px 0}.ds2-home .fw-about h2{font-size:23px}.ds2-home .fw-about p{font-size:12px}.ds2-home .fw-about>img{object-position:65% center}.ds2-home .fw-about:after{background:linear-gradient(90deg,rgba(232,244,253,.9),rgba(232,244,253,.5) 65%,transparent)}
}
@media(prefers-reduced-motion:reduce){.ds2-home .fw-entry{transition:none}}

.ds2-home .fw-menu{position:relative;color:#1e3a5f}
.ds2-home .fw-menu summary{display:grid;place-items:center;width:40px;height:40px;list-style:none;cursor:pointer;border-radius:5px}
.ds2-home .fw-menu summary::-webkit-details-marker{display:none}
.ds2-home .fw-menu summary:focus-visible{outline:3px solid #1968ab;outline-offset:3px}
.ds2-home .fw-menu nav{position:absolute;right:0;top:48px;z-index:20;width:210px;padding:8px;background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 8px 24px rgba(30,58,95,.14)}
.ds2-home .fw-menu nav a{display:block;padding:10px 12px;color:#1e3a5f;font-size:14px;text-decoration:none}
.ds2-home .fw-menu nav a:hover{background:#e6eef5}

/* Screen review fixes: one navigation menu and compact home footer. */
.ds2-home .finowa2-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}
.ds2-home .finowa2-search-link{display:grid;place-items:center;width:36px;height:40px}
.ds2-home .fw-hero-content>p{display:block;padding:0;border-radius:0;background:transparent}
.ds2-home .site-footer{padding:28px 0 18px}
.ds2-home .fw-footer-top{display:flex;align-items:center;gap:24px}
.ds2-home .site-footer .ds2-footer-brand{width:134px;max-height:36px;margin:0}
.ds2-home .fw-footer-top p{margin:0;color:#e0e8f0;font-size:12px}
.ds2-home .fw-footer-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px}
.ds2-home .fw-footer-links a{font-size:11px;color:#e0e8f0}
.ds2-home .fw-footer-copyright{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15);font-size:10px;color:#cfdae5}
@media(max-width:640px){
 .ds2-home .finowa2-nav-actions .finowa2-search-link{display:grid;font-size:inherit}
 .ds2-home .fw-hero-content>p{font-size:11px;padding:0}
 .ds2-home .fw-footer-top{align-items:flex-start;flex-direction:column;gap:10px}
 .ds2-home .fw-footer-links{gap:9px 16px}
}

/* Home-only newest articles. Keep representative non-home UI independent. */
.ds2-home .fw-latest{padding-block:0 42px}
.ds2-home .fw-latest-heading{border-top:1px solid #dbe4ee;padding-top:30px;margin-bottom:22px}
.ds2-home .fw-latest-heading h2{margin:0 0 8px;font-size:26px;line-height:1.4;font-weight:750}
.ds2-home .fw-latest-heading p,.ds2-home .fw-latest-status{margin:0;color:#63758a;font-size:13px;line-height:1.75}
.ds2-home .fw-latest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ds2-home .fw-latest-card{display:block;min-width:0;color:#1e3a5f;text-decoration:none}
.ds2-home .fw-latest-card>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-bottom:12px}
.ds2-home .fw-latest-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.ds2-home .fw-latest-meta time{font-size:12px;color:#63758a}
.ds2-home .fw-latest-card h3{margin:8px 0 0;font-size:16px;line-height:1.7;font-weight:700;overflow-wrap:anywhere}
.ds2-home .fw-latest-card:hover h3{text-decoration:underline;text-underline-offset:3px}
.ds2-home .fw-latest>.fw-outline{display:flex;width:max-content;margin:26px auto 0}
.ds2-home .fw-latest-status:not([hidden]){margin-bottom:16px}
@media(max-width:640px){
.ds2-home .fw-latest{padding-bottom:28px}
.ds2-home .fw-latest-heading{padding-top:22px;margin-bottom:14px}
.ds2-home .fw-latest-heading h2{font-size:20px}
.ds2-home .fw-latest-heading p{font-size:12px}
.ds2-home .fw-latest-list{grid-template-columns:1fr;gap:0}
.ds2-home .fw-latest-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding-block:14px;border-bottom:1px solid #dbe4ee}
.ds2-home .fw-latest-card>img{width:96px;height:72px;aspect-ratio:4/3;margin:0;border-radius:6px}
.ds2-home .fw-latest-meta{gap:8px}
.ds2-home .fw-latest-meta time{font-size:11px}
.ds2-home .fw-latest-card h3{font-size:14px;line-height:1.65;margin-top:6px}
}

/* Home layout QA 2026-10-10: responsive feed and honest image fallback. */
.ds2-home .fw-latest-list{width:100%;min-width:0;align-items:stretch}
.ds2-home .fw-latest-card--text{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:20px 22px;border:1px solid #dbe4ee;border-radius:8px;background:#fff}
.ds2-home .fw-latest-card--text .fw-latest-copy{min-width:0}
@media (min-width:641px) and (max-width:1000px){
 .ds2-home .fw-latest-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
 .ds2-home .fw-latest-list{grid-template-columns:minmax(0,1fr)}
 .ds2-home .fw-latest-card--text{display:block;min-height:0;padding:16px 0;border:0;border-bottom:1px solid #dbe4ee;border-radius:0}
}

/* Approved home composition: preserve hero/CTA imagery above section backgrounds. */
.ds2-home .fw-hero,.ds2-home .fw-about{isolation:isolate}
.ds2-home .fw-hero-image,.ds2-home .fw-about>img{z-index:0}
.ds2-home .fw-hero::after,.ds2-home .fw-about::after{z-index:1;pointer-events:none}
.ds2-home .fw-hero-content,.ds2-home .fw-search,.ds2-home .fw-about-content{position:relative;z-index:2}
.ds2-home .fw-search{position:absolute}
.ds2-home .fw-about-content{max-width:1040px}
.ds2-home .fw-hero{background:#f8f5ed}
.ds2-home .fw-about{background:#e6eef5}
.ds2-home .fw-latest-card{width:100%;min-width:0}
.ds2-home .fw-latest-card>img{max-width:100%}
@media (min-width:1001px){
 .ds2-home .fw-latest-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:641px) and (max-width:1000px){
 .ds2-home .fw-latest-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
 .ds2-home .fw-latest-list{grid-template-columns:minmax(0,1fr)}
}

/* Latest: compact, topic-specific visual when an article has no approved image. */
.ds2-home .fw-latest-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;aspect-ratio:16/10;margin-bottom:12px;border-radius:8px;background:#edf4ed;color:#234e40;font-size:13px;font-weight:700;letter-spacing:.04em}
.ds2-home .fw-latest-visual img{width:42px;height:42px;object-fit:contain}
.ds2-home .fw-latest-visual--study{background:#eef1f9;color:#273f70}
.ds2-home .fw-latest-visual--qualification{background:#e9f3ef;color:#235c4b}
.ds2-home .fw-latest-visual--money{background:#f8f2e4;color:#705323}
.ds2-home .fw-latest-visual--tax{background:#eef4f7;color:#34556a}
.ds2-home .fw-latest-visual--career{background:#f1eff8;color:#594877}
.ds2-home .fw-latest-visual--article{background:#f2f3f2;color:#4c5551}
@media(max-width:640px){
 .ds2-home .fw-latest-visual{width:96px;height:72px;aspect-ratio:4/3;margin:0;border-radius:6px;gap:3px;font-size:9px;letter-spacing:0}
 .ds2-home .fw-latest-visual img{width:26px;height:26px}
}

/* Regression fix: force visible media column even under legacy global styles. */
@media(max-width:640px){
 body.ds2-home .fw-latest-list .fw-latest-card{
  display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;column-gap:12px;
 }
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-visual{
  display:flex;visibility:visible;opacity:1;position:static;
  width:96px;min-width:96px;height:72px;min-height:72px;margin:0;
 }
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-visual img{
  display:block;visibility:visible;opacity:1;width:26px;height:26px;
 }
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-copy{
  display:block;min-width:0;grid-column:2;
 }
}

/* Editorial latest cards: concise summaries and consistent reading rhythm. */
.ds2-home .fw-latest-copy{min-width:0}
.ds2-home .fw-latest-description{margin:7px 0 0;color:#657282;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ds2-home .fw-latest-card:focus-visible{outline:3px solid #235c4b;outline-offset:4px}
@media(max-width:640px){
 body.ds2-home .fw-latest-list .fw-latest-card{grid-template-columns:112px minmax(0,1fr);column-gap:12px;align-items:start}
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-visual{width:112px;min-width:112px;height:84px;min-height:84px}
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-visual img{width:30px;height:30px}
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-copy h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
}
@media(max-width:360px){
 body.ds2-home .fw-latest-list .fw-latest-card{grid-template-columns:96px minmax(0,1fr)}
 body.ds2-home .fw-latest-list .fw-latest-card>.fw-latest-visual{width:96px;min-width:96px;height:72px;min-height:72px}
}

/* Contain article photos in the same media column as the icon fallback. */
body.ds2-home .fw-latest-list .fw-latest-card > .fw-latest-photo{overflow:hidden;padding:0;background:#edf4ed}
body.ds2-home .fw-latest-list .fw-latest-card > .fw-latest-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;flex-shrink:0;transform:scale(var(--fw-image-zoom,1))}
body.ds2-home .fw-latest-list .fw-latest-card > .fw-latest-photo--strip{--fw-image-zoom:3.5}
