/* KONOMACHI English — Local notebook / 1.1. English-only, no build or font-CDN dependency. */
body.kn-en{--kn-paper:#faf8f3;--kn-white:#fffefa;--kn-ink:#203a34;--kn-muted:#59675e;--kn-green:#264d40;--kn-red:#b44f61;--kn-blush:#f8e9eb;--kn-rose-line:#e8c5cb;--kn-line:#d7ddd3;--kn-sage:#eaf0e7;--kn-sans:Arial,"Helvetica Neue",sans-serif;--kn-serif:Georgia,"Times New Roman",serif;background:var(--kn-paper);color:var(--kn-ink);font:16px/1.65 var(--kn-sans);overflow-wrap:break-word}
.kn-en .kn-shell{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.kn-en .kn-icon{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 22px;width:22px;height:22px}
.kn-en :where(h1,h2,h3,p,figure){margin:0;letter-spacing:normal;font-feature-settings:normal}
.kn-en :where(a,button,input,summary):focus-visible{outline:3px solid var(--kn-red);outline-offset:5px}
.kn-en :where(a,button){-webkit-tap-highlight-color:transparent}
.kn-en [hidden]{display:none!important}
.kn-en .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kn-en .kn-header{border-bottom:1px solid var(--kn-line)}
.kn-en .kn-header-inner{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.kn-en .kn-brand{text-decoration:none;color:var(--kn-ink);display:inline-flex;flex-direction:column;flex-shrink:0}
.kn-en .kn-brand-name{font:750 25px/1.1 var(--kn-sans);letter-spacing:-1px;white-space:nowrap}
.kn-en .kn-brand-dot{color:var(--kn-red);font-size:36px;line-height:0}
.kn-en .kn-brand-note{font:italic 27px/1 var(--kn-serif);font-weight:400;letter-spacing:-1px;margin-left:3px}
.kn-en .kn-brand-caption{display:flex;gap:13px;margin-top:9px;color:var(--kn-muted);font-size:10px;letter-spacing:.04em;align-items:center}
.kn-en .kn-brand-caption [lang=ja]{font-size:10px;letter-spacing:.15em;border-right:1px solid var(--kn-line);padding-right:12px}
.kn-en .kn-navigation{display:flex;align-items:center;gap:32px;margin-left:auto}
.kn-en .kn-navigation a{padding:15px 0 12px;text-decoration:none;font-size:14px;border-bottom:2px solid transparent;font-weight:600}
.kn-en .kn-navigation a:hover,.kn-en .kn-navigation a[aria-current]{border-bottom-color:var(--kn-red)}
.kn-en .kn-nav-group{position:relative}
.kn-en .kn-nav-group summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 4px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}
.kn-en .kn-nav-group summary span{color:var(--kn-red);font-size:15px}
.kn-en .kn-nav-group summary::-webkit-details-marker{display:none}
.kn-en .kn-nav-group[open] summary{color:var(--kn-red)}
.kn-en .kn-nav-panel{position:absolute;right:0;top:100%;width:360px;max-width:calc(100vw - 36px);padding:22px;background:var(--kn-white);border:1px solid var(--kn-line);border-radius:8px;box-shadow:0 18px 45px #203a3426;z-index:50}
.kn-en .kn-nav-panel .kn-nav-all{display:block;padding:0 0 12px;margin-bottom:15px;border-bottom:1px solid var(--kn-line);font-size:15px}
.kn-en .kn-nav-topics{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;margin-top:8px}
.kn-en .kn-nav-topics a{font-size:12px;line-height:1.4;min-height:44px;padding:9px 0;display:flex;align-items:center}
.kn-en .kn-info-page{max-width:850px;margin:45px auto 65px;padding:40px;background:var(--kn-white);border:1px solid var(--kn-line);border-radius:12px;box-shadow:0 10px 30px #203a3408}
.kn-en .kn-info-page h1{font:400 clamp(34px,5vw,54px)/1.15 var(--kn-serif);margin:20px 0}
.kn-en .kn-info-note{font-size:12px;color:var(--kn-muted);border-bottom:1px solid var(--kn-line);padding-bottom:20px;margin-bottom:26px}
.kn-en .kn-footer-policies{display:flex;flex-wrap:wrap;gap:12px 26px;padding:18px 0;border-bottom:1px solid #526b5c}
.kn-en .kn-footer-policies a{font-size:12px;min-height:36px;display:inline-flex;align-items:center;text-underline-offset:4px}
.kn-en .kn-side-ad{margin:22px 0}
.kn-en .kn-home-editorial{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:30px;padding:39px 0 44px;align-items:stretch}
.kn-en .kn-home-featured{min-width:0}
.kn-en .kn-home-feature-heading{margin:0 0 21px}
.kn-en .kn-home-feature-heading h1{font:400 clamp(38px,4.2vw,58px)/1.05 var(--kn-serif);letter-spacing:-1.8px;margin:12px 0 8px}
.kn-en .kn-home-feature-heading h1 em{color:var(--kn-green);font-weight:400}
.kn-en .kn-home-feature-heading>p:last-child{color:var(--kn-muted);font-size:14px}
.kn-en .kn-home-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.kn-en .kn-home-feature-grid .kn-content-card h3{font-size:20px}
.kn-en .kn-home-feature-grid .kn-card-body{padding:19px 18px 16px}
.kn-en .kn-home-featured>.kn-text-link{margin-top:13px}
.kn-en .kn-home-intro{min-width:0;padding:34px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--kn-sage);border:1px solid #dce5d8;border-top:3px solid var(--kn-green);border-radius:8px;box-shadow:0 12px 28px -20px #203a3440}
.kn-en .kn-home-intro h2{font:400 clamp(30px,3vw,42px)/1.12 var(--kn-serif);letter-spacing:-.8px;margin:16px 0}
.kn-en .kn-home-intro>p:not(.kn-overline){font-size:14px;line-height:1.8;color:#3d5548}
.kn-en .kn-home-intro .kn-about-small{font-size:12px!important;margin-top:13px}
.kn-en .kn-home-intro .kn-button{margin-top:22px}
.kn-en .kn-home-intro .kn-text-link{margin-top:7px}
.kn-en .kn-region-heading{padding:36px 0 40px;border-bottom:1px solid var(--kn-line)}
.kn-en .kn-region-heading h1{font:400 clamp(38px,5vw,60px)/1.1 var(--kn-serif);margin:10px 0}
.kn-en .kn-region-heading>p:last-child{color:var(--kn-muted)}
.kn-en .kn-hub-heading-category{max-width:none;padding-bottom:22px}
.kn-en .kn-hub-heading-category h1{margin-bottom:18px}
.kn-en .kn-category-submenu{display:flex;gap:8px;flex-wrap:wrap;padding-top:2px}
.kn-en .kn-category-submenu a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:7px 12px 7px 8px;border:1px solid var(--kn-line);border-radius:999px;background:var(--kn-white);font-size:12px;text-decoration:none;color:var(--kn-ink)}
.kn-en .kn-category-submenu a:hover{border-color:var(--kn-rose-line);background:var(--kn-blush);color:#813b49}
.kn-en .kn-category-submenu a span{color:var(--kn-red)}
.kn-en .kn-topic-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border:1px solid var(--kn-rose-line);border-radius:50%;background:var(--kn-blush);color:#944452}
.kn-en .kn-topic-mark .kn-icon{width:14px;height:14px;flex-basis:14px;stroke-width:1.7}
.kn-en .kn-category-topic-name{color:var(--kn-ink)!important;white-space:nowrap}
.kn-en .kn-category-submenu .kn-topic-arrow{font-size:11px;color:var(--kn-red)}
@media(max-width:1050px){.kn-en .kn-home-editorial{grid-template-columns:minmax(0,1fr) minmax(270px,.8fr);gap:20px}.kn-en .kn-home-intro{padding:26px 23px}}
@media(max-width:760px){.kn-en .kn-home-editorial{grid-template-columns:1fr;gap:22px;padding:27px 0 33px}.kn-en .kn-home-feature-heading h1{font-size:40px}.kn-en .kn-home-feature-grid{gap:11px}.kn-en .kn-home-feature-grid .kn-card-body{padding:16px 14px}.kn-en .kn-home-feature-grid .kn-content-card h3{font-size:18px}.kn-en .kn-home-intro{padding:25px 22px}.kn-en .kn-home-intro h2{font-size:34px}.kn-en .kn-category-submenu{flex-wrap:nowrap;overflow-x:auto;margin-inline:-24px;padding:2px 24px 9px;scrollbar-width:thin}.kn-en .kn-category-submenu a{white-space:nowrap;flex:none}.kn-en .kn-hub-heading-category{padding-bottom:19px}.kn-en .kn-region-heading{padding:25px 0 28px}}
@media(max-width:480px){.kn-en .kn-home-feature-grid{grid-template-columns:1fr}.kn-en .kn-home-feature-grid .kn-card-picture img{aspect-ratio:1.7;object-fit:cover}.kn-en .kn-home-feature-grid .kn-content-card h3{font-size:21px}}
@media(max-width:760px){.kn-en .kn-navigation{position:relative}.kn-en .kn-nav-group{position:static}.kn-en .kn-nav-panel{left:0;right:0;width:auto;max-width:none}.kn-en .kn-nav-group summary{font-size:13px}.kn-en .kn-info-page{padding:24px;margin:28px auto 40px}}
.kn-en .kn-japanese{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;text-decoration:none;border-left:1px solid var(--kn-line);padding-left:28px}
.kn-en .kn-japanese .kn-icon{width:14px;height:14px;flex-basis:14px}
.kn-en .kn-overline{font:600 10px/1.5 var(--kn-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--kn-green)}
.kn-en .kn-dot{display:inline-block;width:6px;height:6px;background:var(--kn-red);border-radius:50%;margin-right:8px;vertical-align:2px}
.kn-en .kn-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:64px;align-items:center;padding:48px 0 50px}
.kn-en .kn-hero h1{font:400 clamp(48px,5.35vw,76px)/1.06 var(--kn-serif);letter-spacing:-3px;margin:25px 0 24px}
.kn-en .kn-hero h1 em{font-weight:400;color:var(--kn-green)}
.kn-en .kn-hero-lead{max-width:490px;color:var(--kn-muted);font-size:16px;line-height:1.75}
.kn-en .kn-hero-lead p+p{margin-top:12px}
.kn-en .kn-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.kn-en .kn-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:13px 20px;border:1px solid var(--kn-green);border-radius:3px;background:var(--kn-green);color:#fffefa;font:600 13px/1.5 var(--kn-sans);text-decoration:none;cursor:pointer;text-align:left}
.kn-en .kn-button:hover{background:#183d30;border-color:#183d30}
.kn-en .kn-button .kn-icon{width:18px;height:18px;flex-basis:18px}
.kn-en .kn-text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-size:13px;font-weight:600;color:var(--kn-green)}
.kn-en .kn-text-link .kn-icon{width:17px;height:17px;flex-basis:17px}
.kn-en .kn-hero-footnote{margin-top:30px;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--kn-muted)}
.kn-en .kn-hero-footnote .kn-icon{width:15px;height:15px;flex-basis:15px}
.kn-en .kn-picture{margin:0;min-width:0}
.kn-en .kn-picture img{display:block;width:100%;height:auto;max-width:100%;border-radius:2px}
.kn-en .kn-picture figcaption{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;color:var(--kn-muted);font-size:10px;line-height:1.5;margin-top:8px}
.kn-en .kn-picture figcaption [lang=ja]{font-size:10px}
.kn-en .kn-hero-image{min-width:0;padding:12px;background:#fffefa;border:1px solid var(--kn-line)}
.kn-en .kn-photo-note{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 4px 4px}
.kn-en .kn-photo-note .kn-overline{font-size:9px}
.kn-en .kn-photo-note p{font:400 22px/1.18 var(--kn-serif)}
.kn-en .kn-photo-note p br{display:block}
.kn-en .kn-photo-note em{font-size:21px}
.kn-en .kn-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.kn-en .kn-section-heading h2{font:400 clamp(28px,3vw,39px)/1.18 var(--kn-serif);letter-spacing:-.8px;margin-top:10px}
.kn-en .kn-section-heading-small{align-items:center;margin-bottom:21px}
.kn-en .kn-section-heading-small h2{font:400 25px/1.3 var(--kn-serif);letter-spacing:-.4px;margin:0}
.kn-en .kn-section-heading-small>span{font-size:12px;color:var(--kn-muted)}
.kn-en .kn-start{padding:27px 0 47px;border-top:1px solid var(--kn-line);scroll-margin-top:24px}
.kn-en .kn-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.kn-en .kn-task{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--kn-line);padding:25px 27px 20px;background:var(--kn-white);border-radius:4px;transition:border-color .15s,background .15s}
.kn-en .kn-task:hover{border-color:var(--kn-green);background:#f1f4eb}
.kn-en .kn-task-live{background:var(--kn-sage)}
.kn-en .kn-task-top{display:flex;justify-content:space-between;align-items:center;color:var(--kn-green);margin-bottom:20px}
.kn-en .kn-task-top>span{font:italic 16px var(--kn-serif);color:var(--kn-muted)}
.kn-en .kn-task h3{font:400 28px/1.2 var(--kn-serif);letter-spacing:-.5px;margin-bottom:10px}
.kn-en .kn-task>p{font-size:13px;line-height:1.7;color:var(--kn-muted);max-width:310px;margin-bottom:18px}
.kn-en .kn-task-action{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;font-weight:600;border-top:1px solid var(--kn-line);padding-top:14px;margin-top:auto}
.kn-en .kn-task-action .kn-icon{width:17px;height:17px;flex-basis:17px}
.kn-en .kn-directory{border-top:1px solid var(--kn-line);padding:43px 0 54px;scroll-margin-top:24px}
.kn-en .kn-directory-count{font-size:12px;color:var(--kn-muted);padding-bottom:3px;flex-shrink:0}
.kn-en .kn-filterbar{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.kn-en .kn-filter-buttons{display:flex;gap:6px;flex-wrap:wrap}
.kn-en .kn-filter-buttons a{display:inline-flex;align-items:center;border:1px solid var(--kn-line);border-radius:3px;background:transparent;padding:10px 15px;font:500 12px/1.5 var(--kn-sans);min-height:44px;color:var(--kn-ink);text-decoration:none}
.kn-en .kn-filter-buttons a[aria-current]{background:var(--kn-ink);color:#fff;border-color:var(--kn-ink)}
.kn-en .kn-filter-buttons a:hover:not([aria-current]){background:var(--kn-sage)}
.kn-en .kn-search-form{display:flex;gap:10px;min-width:0;max-width:100%;margin:0;align-items:center}
.kn-en .kn-search-submit{font:600 12px var(--kn-sans);padding:12px;min-height:44px;color:var(--kn-green);background:transparent;border:1px solid var(--kn-line);border-radius:3px;cursor:pointer}
.kn-en .kn-search-submit:hover{background:var(--kn-sage)}
.kn-en .kn-search-summary{font-size:13px;margin:0 0 25px;color:var(--kn-muted)}
.kn-en .kn-search-summary a{margin-left:12px;text-underline-offset:4px}
.kn-en .kn-pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center;margin-top:30px}
.kn-en .kn-pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 13px;border:1px solid var(--kn-line);font-size:13px;border-radius:3px;text-decoration:none}
.kn-en .kn-pagination .current{background:var(--kn-ink);color:var(--kn-white)}
.kn-en .kn-pagination .dots{min-width:20px;border:0;padding:0}
.kn-en .kn-pagination a:hover{background:var(--kn-sage)}
.kn-en .kn-list-search{display:flex;align-items:center;gap:9px;border-bottom:1px solid #87998b;padding:0 1px;min-width:270px;max-width:100%;margin:0}
.kn-en .kn-list-search .kn-icon{width:18px;height:18px;flex-basis:18px;color:var(--kn-muted)}
.kn-en .kn-list-search input{min-width:0;flex:1;width:100%;font:14px/1.5 var(--kn-sans);border:0;background:transparent;color:var(--kn-ink);height:44px;padding:7px 0;border-radius:0}
.kn-en .kn-list-search input::placeholder{color:var(--kn-muted);opacity:1}
.kn-en .kn-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kn-en .kn-content-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--kn-line);background:var(--kn-white);border-radius:4px;transition:border-color .15s}
.kn-en .kn-content-card:hover{border-color:#879b8a}
.kn-en .kn-content-card:focus-within{outline:2px solid var(--kn-green);outline-offset:3px}
.kn-en .kn-card-picture{padding:12px 12px 0}
.kn-en .kn-card-picture img{aspect-ratio:1.7;object-fit:cover;object-position:center 60%}
.kn-en .kn-card-picture figcaption{display:block;margin:6px 2px 0;font-size:9px}
.kn-en .kn-card-picture figcaption span+span{margin-left:8px}
.kn-en .kn-card-body{display:flex;flex-direction:column;padding:23px 24px 20px;flex:1}
.kn-en .kn-card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:10px;line-height:1.5;margin-bottom:17px;color:var(--kn-muted)}
.kn-en .kn-card-meta>span:first-child{text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--kn-green)}
.kn-en .kn-card-meta>span+span{border-left:1px solid var(--kn-line);padding-left:12px}
.kn-en .kn-content-card h3{font:400 24px/1.23 var(--kn-serif);letter-spacing:-.45px}
.kn-en .kn-content-card h3 a{color:var(--kn-ink);text-decoration:none}
.kn-en .kn-content-card h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:4px}
.kn-en .kn-content-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.kn-en .kn-card-excerpt{font-size:13px;line-height:1.7;color:var(--kn-muted);margin-top:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kn-en .kn-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding-top:24px;font-size:11px;color:var(--kn-green);font-weight:600}
.kn-en .kn-card-bottom .kn-icon{width:18px;height:18px;flex-basis:18px}
.kn-en .kn-no-results{padding:35px;background:var(--kn-sage);border:1px solid var(--kn-line);border-radius:4px}
.kn-en .kn-no-results h3{font:400 27px/1.3 var(--kn-serif)}
.kn-en .kn-no-results p{margin:12px 0 22px;color:var(--kn-muted)}
.kn-en .kn-about-strip{display:grid;grid-template-columns:1fr 1.35fr;gap:65px;padding:39px 42px;margin:0 0 58px;background:var(--kn-sage);border-top:2px solid var(--kn-green)}
.kn-en .kn-about-strip h2{font:400 35px/1.15 var(--kn-serif);letter-spacing:-.7px;margin-top:12px}
.kn-en .kn-about-strip>div>p:not(.kn-overline){font-size:15px;line-height:1.8;color:#3d5548}
.kn-en .kn-about-strip .kn-about-small{font-size:12px!important;margin-top:13px}
.kn-en .kn-about-strip .kn-text-link{margin-top:9px}
.kn-en .kn-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:11px;line-height:1.6;color:var(--kn-muted);padding:24px 0 16px}
.kn-en .kn-breadcrumbs a{text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.kn-en .kn-breadcrumbs a:hover{text-decoration:underline}
.kn-en .kn-breadcrumbs span{align-self:center}
.kn-en .kn-hub-heading{padding:25px 0 44px;max-width:800px}
.kn-en .kn-hub-heading h1{font:400 clamp(44px,5vw,68px)/1.08 var(--kn-serif);letter-spacing:-2px;margin:17px 0 22px}
.kn-en .kn-heading-dot{color:var(--kn-red)}
.kn-en .kn-hub-intro{font-size:17px;color:var(--kn-muted);max-width:650px}
.kn-en .kn-footer{background:#203d32;color:#f7f6eb;padding:45px 0 22px}
.kn-en .kn-footer .kn-brand{color:#f7f6eb}
.kn-en .kn-footer .kn-brand-dot{color:#e9b68f}
.kn-en .kn-footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:30px}
.kn-en .kn-footer-top p{margin:14px 0 8px;font:italic 19px/1.4 var(--kn-serif);color:#e0e7d9}
.kn-en .kn-footer-jp{font-size:11px;letter-spacing:.14em;color:#c4d2c2}
.kn-en .kn-footer-top nav{display:grid;grid-template-columns:auto auto;gap:10px 36px;align-content:start}
.kn-en .kn-footer-top nav a{font-size:12px;text-decoration:none;padding:6px 0;min-height:32px}
.kn-en .kn-footer-top nav a:hover{text-decoration:underline}
.kn-en .kn-footer-top nav [lang=ja]{margin-left:8px;font-size:10px;color:#d1decf}
.kn-en .kn-footer-info{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;border-top:1px solid #526b5c;padding-top:24px}
.kn-en .kn-footer-info h2{font:600 12px/1.5 var(--kn-sans);margin-bottom:8px;color:#f4f5eb}
.kn-en .kn-footer-info p{font-size:11px;line-height:1.8;color:#d3ddce}
.kn-en .kn-footer-bottom{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #526b5c;padding-top:20px;margin-top:26px;font-size:10px;color:#d3ddce}
.kn-en .kn-footer-bottom small{font-size:10px}
.kn-en .kn-footer a:focus-visible{outline-color:#f2c699}
/* Article system: an editorial reading column plus a practical, non-obscuring sidebar. */
.kn-en .kn-article{margin-bottom:60px}
.kn-en .kn-article-header{max-width:930px;padding:14px 0 27px}
.kn-en .kn-article-kicker{display:flex;gap:12px;align-items:center;color:var(--kn-green);font-size:11px;margin-bottom:16px}
.kn-en .kn-article-kicker span:first-child{text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.kn-en .kn-article-kicker span+span{border-left:1px solid var(--kn-line);padding-left:12px;color:var(--kn-muted)}
.kn-en .kn-article h1{font:400 clamp(33px,4.1vw,55px)/1.12 var(--kn-serif);letter-spacing:-1.3px}
.kn-en .kn-article-byline{font-size:11px;color:var(--kn-muted);margin-top:19px}
.kn-en .kn-ja-name{font-size:14px;line-height:1.7;margin-top:18px;color:var(--kn-muted)}
.kn-en .kn-ja-name>span:first-child{font-size:11px;margin-right:10px}
.kn-en .kn-reading-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:65px;border-top:1px solid var(--kn-line);padding-top:30px}
.kn-en .kn-article-main{min-width:0;grid-column:1;grid-row:1}
.kn-en .kn-introduction{font-size:19px;line-height:1.65;color:#43574a;margin-bottom:29px;max-width:65ch}
.kn-en .kn-article-photo{margin:0 0 32px}
.kn-en .kn-article-photo img{max-height:520px;object-fit:contain;background:#ecefe8}
.kn-en .kn-prose{font-size:17px;line-height:1.85;max-width:68ch;color:#304237}
.kn-en .kn-prose p{margin:0 0 19px}
.kn-en .kn-prose h2{font:400 30px/1.25 var(--kn-serif);letter-spacing:-.5px;margin:37px 0 16px;color:var(--kn-ink);scroll-margin-top:26px}
.kn-en .kn-prose h3{font:600 19px/1.5 var(--kn-sans);margin:26px 0 13px}
.kn-en .kn-prose ul,.kn-en .kn-prose ol{padding-left:24px;margin:17px 0 27px}
.kn-en .kn-prose li{margin:10px 0;padding-left:4px}
.kn-en .kn-prose li::marker{color:var(--kn-green)}
.kn-en .kn-prose a{text-decoration:underline;text-underline-offset:4px;color:var(--kn-green)}
.kn-en .kn-prose img{height:auto;max-width:100%}
.kn-en .kn-prose table{display:block;max-width:100%;overflow-x:auto}
.kn-en .kn-prose blockquote{margin:28px 0;padding:20px 25px;background:var(--kn-sage);border-left:3px solid var(--kn-green)}
.kn-en .kn-sidebar{grid-column:2;grid-row:1;min-width:0}
.kn-en .kn-sidebar-inner{position:sticky;top:24px}
.kn-en .kn-action-box{padding:25px 24px;background:var(--kn-sage);border:1px solid var(--kn-line);border-radius:4px;margin-bottom:26px}
.kn-en .kn-action-box h2{font:400 27px/1.2 var(--kn-serif);margin:11px 0 13px}
.kn-en .kn-action-box>p:not(.kn-overline){font-size:12px;line-height:1.8;color:var(--kn-muted);margin-bottom:19px}
.kn-en .kn-action-box .kn-button{width:100%;font-size:12px;gap:9px;padding-inline:12px}
.kn-en .kn-action-box .kn-text-link{font-size:12px;gap:7px;margin-top:9px}
.kn-en .kn-toc{border-top:1px solid var(--kn-line);padding-top:21px;margin-bottom:23px}
.kn-en .kn-toc summary{font:600 11px/1.5 var(--kn-sans);text-transform:uppercase;letter-spacing:.1em;min-height:44px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}
.kn-en .kn-toc summary::-webkit-details-marker{display:none}
.kn-en .kn-toc summary span{font-size:18px;font-weight:400}
.kn-en .kn-toc details[open] summary span{transform:rotate(45deg)}
.kn-en .kn-toc ol{list-style:none;padding:0;margin:0}
.kn-en .kn-toc li+li{border-top:1px solid var(--kn-line)}
.kn-en .kn-toc a{display:block;font-size:12px;line-height:1.65;text-decoration:none;padding:10px 0;min-height:40px}
.kn-en .kn-toc a:hover{color:var(--kn-red);text-decoration:underline}
.kn-en .kn-reading-note{display:flex;gap:10px;font-size:11px;line-height:1.8;color:var(--kn-muted);padding-top:17px;border-top:1px solid var(--kn-line)}
.kn-en .kn-reading-note .kn-icon{width:19px;height:19px;flex-basis:19px}
.kn-en .kf-facts{margin:0 0 32px;padding:23px 25px;border:1px solid var(--kn-line);border-top:3px solid var(--kn-green);border-radius:3px;background:var(--kn-white);scroll-margin-top:24px}
.kn-en .kf-facts-title{font:400 29px/1.3 var(--kn-serif);margin:0 0 18px;letter-spacing:-.5px}
.kn-en .kf-fact{grid-template-columns:160px minmax(0,1fr);gap:20px;padding:13px 0;border-color:var(--kn-line)}
.kn-en .kf-fact dt{font:600 12px/1.7 var(--kn-sans);color:var(--kn-ink)}
.kn-en .kf-fact dd{font:400 14px/1.75 var(--kn-sans);color:#3b5043}
.kn-en .kf-fact.is-unknown dd{color:var(--kn-muted)}
.kn-en .kf-facts a{text-underline-offset:3px;color:var(--kn-green);overflow-wrap:anywhere}
.kn-en .kf-note,.kn-en .kf-ja{font-size:12px;color:var(--kn-muted)}
.kn-en .kf-facts-checked{font-size:11px;line-height:1.8;border-top:1px solid var(--kn-line);padding-top:15px;margin-top:12px;color:var(--kn-muted)}
.kn-en .en-relations{padding:0 0 24px;border-bottom:1px solid var(--kn-line);margin-bottom:28px}
.kn-en .en-relations>div{font-size:13px;line-height:1.8;margin:7px 0}
.kn-en .kn-listed{margin-top:40px;padding-top:28px;border-top:1px solid var(--kn-line)}
.kn-en .kn-listed>h2{font:400 30px/1.25 var(--kn-serif);margin-bottom:24px;scroll-margin-top:24px}
.kn-en .kn-entity-item{padding:23px 24px;border:1px solid var(--kn-line);border-radius:4px;background:var(--kn-white);margin-bottom:18px}
.kn-en .kn-entity-item>h3{font:400 23px/1.3 var(--kn-serif);margin-bottom:10px}
.kn-en .kn-entity-item>h3 a{text-decoration-thickness:1px;text-underline-offset:4px}
.kn-en .kn-entity-item .kf-facts{border:0;border-top:1px solid var(--kn-line);padding:18px 0 0;margin:16px 0 0}
.kn-en .kn-entity-item .kf-facts-title{font:600 11px/1.5 var(--kn-sans);text-transform:uppercase;letter-spacing:.08em}
.kn-en .kn-related{border-top:1px solid var(--kn-line);margin-top:54px;padding-top:35px}
.kn-en .kn-related .kn-section-heading h2{font-size:32px}
.kn-en .kn-related .kn-content-card h3{font-size:22px}
@media(min-width:1400px){.kn-en .kn-hero{gap:78px}}
@media(max-width:1050px){.kn-en .kn-shell{width:calc(100% - 48px)}.kn-en .kn-hero{gap:35px}.kn-en .kn-hero h1{font-size:57px;letter-spacing:-2px}.kn-en .kn-navigation{gap:23px}.kn-en .kn-reading-layout{gap:35px;grid-template-columns:minmax(0,1fr) 255px}.kn-en .kn-photo-note{display:none}.kn-en .kn-card-body{padding:20px}.kn-en .kn-task{padding:22px}.kn-en .kn-brand-caption{gap:8px}}
@media(max-width:760px){
 .kn-en .kn-header-inner{display:grid;grid-template-columns:1fr auto;gap:15px 20px;padding:22px 0 0;min-height:0}
 .kn-en .kn-navigation{grid-column:1/-1;grid-row:2;margin:0;justify-content:space-between;gap:18px;border-top:1px solid var(--kn-line)}
 .kn-en .kn-navigation a{padding:13px 6px 11px;min-height:46px;font-size:13px}
 .kn-en .kn-header-utilities{grid-row:1;grid-column:2}.kn-en .kn-japanese{padding-left:0;border:0}
 .kn-en .kn-hero{gap:25px;padding:33px 0 34px;grid-template-columns:1fr 1fr;align-items:start}
 .kn-en .kn-hero h1{font-size:44px;letter-spacing:-1.8px;margin:18px 0}.kn-en .kn-hero .kn-overline{font-size:9px}
 .kn-en .kn-hero-lead{font-size:14px}.kn-en .kn-hero-actions{gap:10px;margin-top:20px}.kn-en .kn-hero-footnote{font-size:10px;margin-top:16px}
 .kn-en .kn-hero-image{padding:8px;margin-top:16px}.kn-en .kn-picture figcaption{font-size:9px}.kn-en .kn-section-heading-small>span{display:none}
 .kn-en .kn-task-grid{gap:12px}.kn-en .kn-task{padding:18px}.kn-en .kn-task h3{font-size:24px}.kn-en .kn-task>p{font-size:12px}.kn-en .kn-task-top{margin-bottom:14px}.kn-en .kn-task-action{font-size:10px}
 .kn-en .kn-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kn-en .kn-filterbar{gap:17px}.kn-en .kn-search-form{width:100%}.kn-en .kn-list-search{width:100%;min-width:0}
 .kn-en .kn-about-strip{gap:28px;padding:28px}.kn-en .kn-about-strip h2{font-size:30px}.kn-en .kn-about-strip>div>p:not(.kn-overline){font-size:14px}
 .kn-en .kn-reading-layout{display:flex;flex-direction:column;gap:28px;padding-top:24px}.kn-en .kn-sidebar{order:-1}.kn-en .kn-sidebar-inner{position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
 .kn-en .kn-sidebar .kn-reading-note{display:none}.kn-en .kn-sidebar .kn-action-box{margin:0}.kn-en .kn-sidebar .kn-toc{margin:0}.kn-en .kn-sidebar .kn-toc:only-child{grid-column:1/-1}
 .kn-en .kn-prose{max-width:none}.kn-en .kn-footer-info{gap:30px}.kn-en .kn-footer-top nav{gap:8px 20px}.kn-en .kn-article-header{padding-top:8px}
}
.kn-en .kn-start-here{padding:28px 0 36px;border-bottom:1px solid var(--kn-line);margin-bottom:32px}
.kn-en .kn-start-here h2{font-family:Georgia,serif;font-size:clamp(24px,3vw,34px);margin:8px 0 22px}
.kn-en .kn-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kn-en .kn-start-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--kn-rose-line);border-radius:12px;background:var(--kn-paper);text-decoration:none;color:var(--kn-ink);box-shadow:0 5px 14px #203a3408}
.kn-en .kn-start-card:first-child{background:var(--kn-blush)}
.kn-en .kn-start-card strong{font-size:18px;line-height:1.4}.kn-en .kn-start-card>span:not(.kn-start-number):not(.kn-start-arrow){font-size:14px;line-height:1.65}
.kn-en .kn-start-number{font-size:12px;font-weight:700;color:var(--kn-red)}.kn-en .kn-start-arrow{position:absolute;right:20px;top:18px;color:var(--kn-red)}
.kn-en .kn-start-card:hover,.kn-en .kn-start-card:focus-visible{border-color:var(--kn-red);outline-offset:4px}
.kn-en .kn-parent-guide,.kn-en .kn-checklist{padding:22px;border-left:3px solid var(--kn-red);background:var(--kn-blush);border-radius:0 10px 10px 0;margin-bottom:26px}
.kn-en .kn-parent-guide a{display:block;margin-top:8px;font-weight:700;color:var(--kn-ink);font-size:17px;line-height:1.5}.kn-en .kn-parent-guide p{font-size:14px;margin:8px 0 0}
@media(max-width:800px){.kn-en .kn-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
 .kn-en .kn-category-submenu{margin-inline:0;padding-inline:0;max-width:100%}
 .kn-en .kn-start-grid{grid-template-columns:1fr}.kn-en .kn-start-card{padding:18px 40px 18px 18px}
 .kn-en .kn-shell{width:calc(100% - 36px)}.kn-en .kn-brand-name{font-size:22px}.kn-en .kn-brand-note{font-size:24px}.kn-en .kn-brand-caption{font-size:9px;gap:9px}.kn-en .kn-brand-caption [lang=ja]{font-size:9px;padding-right:9px}.kn-en .kn-japanese{font-size:11px;gap:5px}
 .kn-en .kn-header-inner{padding-top:20px;gap:15px 10px}.kn-en .kn-navigation a{font-size:12px}.kn-en .kn-hero{grid-template-columns:1fr;gap:25px;padding-top:27px}
 .kn-en .kn-hero h1{font-size:49px;line-height:1.08;letter-spacing:-2px;margin:19px 0}.kn-en .kn-hero-lead{font-size:15px;line-height:1.75}
 .kn-en .kn-hero-actions{gap:15px}.kn-en .kn-button{font-size:12px;gap:11px;padding:12px 16px;min-height:47px}.kn-en .kn-hero-actions>.kn-text-link{font-size:12px}
 .kn-en .kn-hero-footnote{margin-top:16px;font-size:10px}.kn-en .kn-hero-image{margin:0;padding:8px}.kn-en .kn-hero-picture img{aspect-ratio:4/3;object-fit:contain}
 .kn-en .kn-picture figcaption{font-size:10px;gap:4px}.kn-en .kn-picture figcaption [lang=ja]{font-size:10px}
 .kn-en .kn-start{padding:25px 0 33px}.kn-en .kn-section-heading-small h2{font-size:25px}
 .kn-en .kn-task-grid{grid-template-columns:1fr;gap:11px}.kn-en .kn-task{padding:19px 19px 16px;display:grid;grid-template-columns:31px minmax(0,1fr);gap:0 14px}
 .kn-en .kn-task-top{grid-column:1;grid-row:1/4;display:block;padding-top:2px;margin:0}.kn-en .kn-task-top>span{display:none}
 .kn-en .kn-task h3{grid-column:2;margin-bottom:7px;font-size:25px}.kn-en .kn-task>p{grid-column:2;font-size:13px;margin-bottom:12px;max-width:none}.kn-en .kn-task-action{grid-column:2;font-size:10px;padding-top:10px}
 .kn-en .kn-directory{padding:31px 0 36px}.kn-en .kn-section-heading{display:block;margin-bottom:22px}.kn-en .kn-section-heading h2{font-size:32px;line-height:1.14;max-width:310px}.kn-en .kn-directory-count{margin-top:14px}
 .kn-en .kn-filter-buttons{gap:6px;width:100%}.kn-en .kn-filter-buttons a{padding:9px 12px;font-size:12px;flex:1 1 auto;min-height:44px;justify-content:center}
 .kn-en .kn-card-grid{grid-template-columns:1fr;gap:14px}.kn-en .kn-card-body{padding:22px}.kn-en .kn-card-meta{margin-bottom:12px}.kn-en .kn-content-card h3{font-size:25px;line-height:1.26}.kn-en .kn-card-excerpt{font-size:14px;line-height:1.75;margin-top:12px}.kn-en .kn-card-bottom{padding-top:22px}
 .kn-en .kn-card-picture img{aspect-ratio:4/3;object-fit:contain}.kn-en .kn-card-picture figcaption{font-size:9px}.kn-en .kn-no-results{padding:26px 22px}
 .kn-en .kn-about-strip{grid-template-columns:1fr;gap:21px;padding:28px 24px;margin-bottom:36px}.kn-en .kn-about-strip h2{font-size:32px}.kn-en .kn-about-strip .kn-text-link{font-size:12px}
 .kn-en .kn-breadcrumbs{padding:20px 0 13px;font-size:10px}.kn-en .kn-breadcrumbs [aria-current=page]{display:none}.kn-en .kn-hub-heading{padding:18px 0 31px}.kn-en .kn-hub-heading h1{font-size:49px}.kn-en .kn-hub-intro{font-size:15px}
 .kn-en .kn-article h1{font-size:35px;line-height:1.14;letter-spacing:-.8px}.kn-en .kn-article-header{padding-bottom:23px}.kn-en .kn-article-byline{font-size:10px;margin-top:17px}.kn-en .kn-ja-name{font-size:13px}
 .kn-en .kn-introduction{font-size:17px;line-height:1.7;margin-bottom:24px}.kn-en .kn-prose{font-size:16px;line-height:1.85}.kn-en .kn-prose h2{font-size:27px;margin-top:30px}.kn-en .kn-prose h3{font-size:18px}
 .kn-en .kn-sidebar-inner{display:block}.kn-en .kn-action-box{padding:22px;margin-bottom:19px!important}.kn-en .kn-action-box h2{font-size:26px}.kn-en .kn-action-box .kn-text-link{margin-bottom:0}.kn-en .kn-toc{padding-top:17px}.kn-en .kn-toc ol{display:flex;gap:0 14px;flex-wrap:wrap}.kn-en .kn-toc li+li{border:0}.kn-en .kn-toc a{font-size:12px;padding:7px 0;text-decoration:underline;text-underline-offset:4px;min-height:36px}
 .kn-en .kf-facts{padding:20px 19px;margin-bottom:27px}.kn-en .kf-facts-title{font-size:27px}.kn-en .kf-fact{grid-template-columns:1fr;gap:3px;padding:12px 0}.kn-en .kf-fact dt{font-size:12px}.kn-en .kf-fact dd{font-size:14px}
 .kn-en .kn-entity-item{padding:22px 19px}.kn-en .kn-entity-item>h3{font-size:23px}.kn-en .kn-listed>h2{font-size:28px}.kn-en .kn-related{margin-top:35px;padding-top:26px}.kn-en .kn-related .kn-section-heading h2{font-size:29px}
 .kn-en .kn-footer{padding-top:32px}.kn-en .kn-footer-top{display:block}.kn-en .kn-footer-top nav{margin-top:26px;gap:9px 20px}.kn-en .kn-footer-top nav a{font-size:12px;min-height:38px}.kn-en .kn-footer-info{grid-template-columns:1fr;gap:21px}.kn-en .kn-footer-info p{font-size:12px;line-height:1.8}.kn-en .kn-footer-bottom{font-size:10px;gap:11px}
}
@media(prefers-reduced-motion:reduce){.kn-en *{scroll-behavior:auto!important;transition:none!important}}

/* Depth, not clutter: raised paper surfaces, restrained relief and readable article panels. */
.kn-en .kn-header{background:rgba(255,254,250,.88);box-shadow:0 3px 20px #203a3405}
.kn-en .kn-hero-image{position:relative;isolation:isolate;border-radius:8px;box-shadow:0 18px 40px -20px #17362e55,0 3px 8px #17362e0a}
.kn-en .kn-hero-image::before{content:"";position:absolute;inset:5px -9px -9px 9px;z-index:-1;background:#e4eadf;border:1px solid #cdd6c7;border-radius:8px;transform:rotate(1.3deg)}
.kn-en .kn-task{border-radius:9px;box-shadow:0 3px 0 #dce2d7,0 9px 24px -20px #233b3366;transition:transform .18s,box-shadow .18s,border-color .18s}
.kn-en .kn-task:hover{transform:translateY(-3px);box-shadow:0 3px 0 #dce2d7,0 15px 28px -17px #233b3344}
.kn-en .kn-content-card{border-radius:10px;box-shadow:0 2px 3px #223a3305,0 10px 25px -20px #223a3344;transition:transform .18s,box-shadow .18s,border-color .18s}
.kn-en .kn-content-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px -15px #223a333b}
.kn-en .kn-content-card h3 a::after{border-radius:10px}
.kn-en .kn-card-picture img{border-radius:5px}
.kn-en .kn-card-meta>span:first-child{background:var(--kn-blush);color:#863d4c;padding:4px 7px;border-radius:3px}
.kn-en .kn-card-meta{align-items:center;margin-bottom:14px}
.kn-en .kn-button{box-shadow:0 3px 0 #17362e,0 6px 14px -8px #17362e77;border-radius:5px}
.kn-en .kn-about-strip{border-radius:8px;box-shadow:0 5px 20px -12px #233b3344}
.kn-en .kn-article-header{max-width:none;padding:22px 0 36px}
.kn-en .kn-article-header h1{max-width:980px}
.kn-en .kn-reading-layout{grid-template-columns:minmax(0,1fr) 308px;gap:34px;border-top:0;padding-top:0;align-items:stretch}
.kn-en .kn-article-main{padding:35px 38px;background:var(--kn-white);border:1px solid var(--kn-line);border-radius:12px;box-shadow:0 16px 40px -30px #183e3659}
.kn-en .kn-article-photo{border-radius:7px;overflow:hidden}
.kn-en .kn-article-photo img{border-radius:6px}
.kn-en .kn-sidebar{align-self:stretch}
.kn-en .kn-sidebar-inner{position:sticky;top:var(--kn-sticky-top,-9999px);max-height:none;overflow:visible;padding:0 0 5px;display:block}
.kn-en .kn-sidebar-inner:focus-visible{outline:2px solid var(--kn-green);outline-offset:4px}
.kn-en .kn-side-box,.kn-en .kn-action-box{padding:23px;background:var(--kn-white);border:1px solid var(--kn-line);border-radius:10px;box-shadow:0 8px 18px -15px #203a3444;margin-bottom:19px}
.kn-en .kn-side-box h2{font:400 27px/1.16 var(--kn-serif);letter-spacing:-.55px;margin:10px 0 16px}
.kn-en .kn-weekly{border-top:3px solid var(--kn-red)}
.kn-en .kn-side-note{font-size:11px;line-height:1.7;color:var(--kn-muted);margin-bottom:17px}
.kn-en .kn-rank-list{padding:0;margin:0;list-style:none}
.kn-en .kn-rank-list li+li{border-top:1px solid var(--kn-line)}
.kn-en .kn-rank-list a{display:flex;gap:13px;padding:16px 0;text-decoration:none;align-items:start}
.kn-en .kn-rank-list li:last-child a{padding-bottom:0}
.kn-en .kn-rank-list a:hover .kn-rank-title{text-decoration:underline;text-underline-offset:3px}
.kn-en .kn-rank-number{font:italic 28px/1.1 var(--kn-serif);color:var(--kn-red);flex:0 0 29px;letter-spacing:-1px}
.kn-en .kn-rank-title{display:block;font:600 13px/1.6 var(--kn-sans);color:var(--kn-ink)}
.kn-en .kn-rank-type{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--kn-muted);margin-top:5px}
.kn-en .kn-topic-chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.kn-en .kn-topic-chips a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 9px 5px 6px;background:var(--kn-paper);border:1px solid var(--kn-line);border-radius:999px;text-decoration:none;font-size:11px;line-height:1.55;color:var(--kn-green);overflow-wrap:anywhere}
.kn-en .kn-topic-chips a:hover{background:var(--kn-blush);border-color:var(--kn-rose-line);color:#813b49}
.kn-en .kn-post-topics{margin-top:21px}
.kn-en .kn-post-topics a{min-height:36px;font-size:12px}
.kn-en .kn-article-main>.kn-post-topics{margin:30px 0}
.kn-en .kn-side-categories{display:flex;flex-direction:column}
.kn-en .kn-side-categories a{display:flex;justify-content:space-between;align-items:center;min-height:47px;border-top:1px solid var(--kn-line);text-decoration:none;font-size:13px}
.kn-en .kn-side-categories a:hover{color:var(--kn-red)}
.kn-en .kn-side-categories .kn-icon{width:16px;height:16px;flex-basis:16px}
.kn-en .kn-action-box{background:var(--kn-sage)}
.kn-en .kn-inline-toc{padding:13px 22px 15px;border:1px solid var(--kn-line);background:var(--kn-paper);border-radius:7px;margin:0 0 30px}
.kn-en .kn-inline-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.kn-en .kn-inline-toc li+li{border:0}
.kn-en .kn-inline-toc a{min-height:42px;font-size:13px}
.kn-en .kn-source-note{margin-top:36px;padding:25px 27px;border-left:3px solid var(--kn-green);background:var(--kn-sage);border-radius:0 6px 6px 0}
.kn-en .kn-source-note h2{font:400 26px/1.25 var(--kn-serif);margin:10px 0 15px}
.kn-en .kn-source-note>p:not(.kn-overline){font-size:13px;line-height:1.85;color:var(--kn-muted)}
.kn-en .kn-source-links{display:flex;gap:4px 20px;flex-wrap:wrap;margin-top:12px}
.kn-en .kn-source-links .kn-text-link{font-size:12px}
.kn-en .kn-footer-directory{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:34px 0 37px;margin:30px 0;border-top:1px solid #526b5c;border-bottom:1px solid #526b5c}
.kn-en .kn-footer-directory .kn-overline{color:#cad8c2}
.kn-en .kn-footer-directory h2{font:400 31px/1.18 var(--kn-serif);letter-spacing:-.6px;color:#fffefa;margin:12px 0 23px}
.kn-en .kn-footer-categories{display:flex;flex-direction:column}
.kn-en .kn-footer-categories a{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid #526b5c;text-decoration:none;font-size:14px;max-width:270px}
.kn-en .kn-footer-categories a:hover{color:#f4cb9e}
.kn-en .kn-footer-directory .kn-topic-chips a{background:#ffffff08;border-color:#597260;color:#f2f3e8;font-size:11px;min-height:36px;padding:6px 11px}
.kn-en .kn-footer-directory .kn-topic-chips a:hover{background:#ffffff15;border-color:#d3ddce}
@media(max-width:1050px){.kn-en .kn-reading-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.kn-en .kn-article-main{padding:27px}.kn-en .kn-side-box,.kn-en .kn-action-box{padding:20px}.kn-en .kn-footer-directory{gap:38px}.kn-en .kn-inline-toc ol{grid-template-columns:1fr}}
@media(max-width:760px){
 .kn-en .kn-article-header{padding:15px 0 27px}.kn-en .kn-reading-layout{display:flex;gap:30px}.kn-en .kn-sidebar{order:0}.kn-en .kn-article-main{order:-1;padding:25px}
 .kn-en .kn-sidebar-inner{position:static;max-height:none;overflow:visible;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;overscroll-behavior:auto}
 .kn-en .kn-sidebar .kn-side-box,.kn-en .kn-sidebar .kn-action-box{margin:0!important}.kn-en .kn-sidebar .kn-reading-note{display:none}
 .kn-en .kn-inline-toc ol{display:block}.kn-en .kn-footer-directory{grid-template-columns:1fr;gap:30px}.kn-en .kn-footer-categories{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.kn-en .kn-footer-categories a{max-width:none}
}
@media(max-width:520px){
 .kn-en .kn-hero-image::before{inset:4px -4px -6px 4px;transform:rotate(.7deg)}.kn-en .kn-hero-image{margin-right:4px}
 .kn-en .kn-article-main{padding:23px 19px;border-radius:9px}.kn-en .kn-article h1{font-size:35px}.kn-en .kn-reading-layout{gap:28px}
 .kn-en .kn-inline-toc{padding:9px 16px 13px}.kn-en .kn-inline-toc a{font-size:12px;min-height:40px}.kn-en .kn-introduction{font-size:17px}
 .kn-en .kn-sidebar-inner{display:block}.kn-en .kn-sidebar .kn-side-box,.kn-en .kn-sidebar .kn-action-box{margin-bottom:16px!important}
 .kn-en .kn-source-note{padding:22px 19px}.kn-en .kn-source-note h2{font-size:25px}.kn-en .kn-topic-chips a{min-height:40px;font-size:12px}
 .kn-en .kn-footer-directory{padding:28px 0;margin:26px 0}.kn-en .kn-footer-directory h2{font-size:29px}.kn-en .kn-footer-directory .kn-topic-chips a{min-height:40px;font-size:11px}
}

/* 2026-09-27 Claude: スマホでトピックチップを折り返す（v1.3の指示。横スクロール＋負のmarginが18pxの余白を6px超えていた） */
@media(max-width:760px){.kn-en .kn-category-submenu{flex-wrap:wrap;overflow-x:visible;margin-inline:0;padding:2px 0 9px}.kn-en .kn-category-submenu a{white-space:normal;flex:0 1 auto;max-width:100%}}

/* 2026-09-27 Claude: 広告表示とCTAの枠 */
.kn-en .kn-pr-note{font-size:13px;color:var(--kn-muted);border-left:3px solid var(--kn-rose-line);padding:6px 12px;margin:0 0 24px;background:var(--kn-paper)}
.kn-en .kn-cta{background:var(--kn-blush);border:1px solid var(--kn-rose-line);border-radius:14px;padding:20px 22px;margin:28px 0}
.kn-en .kn-cta p{margin:0 0 14px}.kn-en .kn-cta p:last-child{margin:0}
.kn-en .kn-cta .wp-element-button{display:inline-block;background:var(--kn-red);color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:999px;max-width:100%}
.kn-en .kn-cta .wp-element-button:hover,.kn-en .kn-cta .wp-element-button:focus-visible{background:var(--kn-green);color:#fff}

/* 2026-09-27 運営者「目次はフォントが小さい」：目次の文字を12-13px→15px */
.kn-en .kn-toc a,.kn-en .kn-inline-toc a{font-size:15px!important;line-height:1.55}
@media(max-width:760px){.kn-en .kn-toc a,.kn-en .kn-inline-toc a{font-size:15px!important}}
.kn-en .kn-cta-banner{text-align:center;margin:6px 0 0}.kn-en .kn-cta-banner img{max-width:100%;height:auto;border-radius:8px}

/* 2026-09-27 日本語版と同じ黄色マーカー */
.kn-en .ll-marker{background:linear-gradient(transparent 55%,#ffe93b 55%,#ffe93b 92%,transparent 92%);font-weight:700;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* 2026-09-27 参考記事（YOLO JAPAN MEDIA 等）の型から：記事本文の部品。本文 HTML の使い方は SPEC-EN.md「書き方・デザインの型」 */
/* 要約ボックス（冒頭）：<div class="kn-en-summary"><p class="kn-en-label">In short</p><ul>…</ul><p class="kn-en-checked">Checked …</p></div> */
.kn-en .kn-en-summary{margin:0 0 30px;padding:20px 24px 18px;background:var(--kn-sage);border:1px solid var(--kn-line);border-left:4px solid var(--kn-green);border-radius:0 8px 8px 0}
.kn-en .kn-en-label{font:700 11px/1.5 var(--kn-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--kn-green);margin:0 0 8px!important}
.kn-en .kn-en-summary ul{margin:0!important;padding-left:20px!important}
.kn-en .kn-en-summary li{margin:6px 0!important;font-size:16px;line-height:1.7}
.kn-en .kn-en-checked{font-size:12px!important;color:var(--kn-muted);margin:12px 0 0!important;padding-top:10px;border-top:1px solid var(--kn-line)}
/* 規則の出どころバッジ：<p class="kn-en-scope kn-en-scope--japan">Official rule (Japan)</p> / --city / --pref / --provider */
.kn-en .kn-en-scope{display:inline-block;margin:0 0 10px!important;padding:3px 10px;border-radius:999px;font:700 11px/1.6 var(--kn-sans);letter-spacing:.04em;border:1px solid var(--kn-line);background:var(--kn-paper);color:var(--kn-ink)}
.kn-en .kn-en-scope--japan{border-color:var(--kn-green);color:var(--kn-green)}
.kn-en .kn-en-scope--city,.kn-en .kn-en-scope--pref,.kn-en .kn-en-scope--town{background:var(--kn-sage);border-color:var(--kn-green);color:var(--kn-green)}
.kn-en .kn-en-scope--provider{border-color:var(--kn-rose-line);color:#813b49}
/* 手順：<ol class="kn-en-steps"><li><strong>Book a slot.</strong> …</li></ol> 番号の丸は自動 */
.kn-en .kn-prose ol.kn-en-steps{list-style:none;counter-reset:kn-step;padding:0;margin:20px 0 28px}
.kn-en .kn-en-steps>li{counter-increment:kn-step;position:relative;padding:0 0 18px 50px!important;margin:0!important}
.kn-en .kn-en-steps>li::before{content:counter(kn-step);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--kn-green);color:#fffefa;font:700 15px/34px var(--kn-sans);text-align:center}
.kn-en .kn-en-steps>li:not(:last-child)::after{content:"";position:absolute;left:16px;top:38px;bottom:4px;width:2px;background:var(--kn-line)}
.kn-en .kn-en-steps>li>strong:first-child{display:block;color:var(--kn-ink);margin-bottom:2px}
/* チェックリスト（行動の一覧。事実の枠の持ち物を並べ直さない）：<ul class="kn-en-checklist"><li>…</li></ul> */
.kn-en .kn-prose ul.kn-en-checklist{list-style:none;padding:16px 20px;margin:18px 0 28px;background:var(--kn-white);border:1px solid var(--kn-line);border-radius:8px}
.kn-en .kn-en-checklist>li{position:relative;padding-left:32px!important;margin:10px 0!important}
.kn-en .kn-en-checklist>li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border:2px solid var(--kn-green);border-radius:4px;background:var(--kn-paper)}
/* 注意・補足・ヒント：<div class="kn-en-callout kn-en-callout--warn"><p class="kn-en-label">Important</p><p>…</p></div>（--note / --tip / --warn） */
.kn-en .kn-en-callout{margin:22px 0 28px;padding:16px 20px;border-radius:0 8px 8px 0;border-left:4px solid var(--kn-green);background:var(--kn-paper)}
.kn-en .kn-en-callout p{margin:0 0 8px!important;font-size:16px}.kn-en .kn-en-callout p:last-child{margin:0!important}
.kn-en .kn-en-callout .kn-en-label{font-size:11px}
.kn-en .kn-en-callout--tip{background:var(--kn-sage)}
.kn-en .kn-en-callout--warn{background:var(--kn-white);border:1px solid var(--kn-rose-line);border-left:4px solid var(--kn-red)}
.kn-en .kn-en-callout--warn .kn-en-label{color:var(--kn-red)}
/* 窓口で言う一言：<div class="kn-en-phrase"><p class="kn-en-label">What to say</p><p lang="ja">…</p><p class="kn-en-romaji">…</p><p>…</p></div> */
.kn-en .kn-en-phrase{margin:20px 0 28px;padding:16px 20px;border:1px dashed var(--kn-green);border-radius:8px;background:var(--kn-white)}
.kn-en .kn-en-phrase p{margin:0 0 4px!important}
.kn-en .kn-en-phrase [lang=ja]{font-size:19px;font-weight:700;color:var(--kn-ink)}
.kn-en .kn-en-romaji{font-style:italic;color:var(--kn-muted);font-size:14px}
/* よくある質問：<section class="kn-en-faq"><h2>…</h2><details><summary>…</summary><p>…</p></details></section> */
.kn-en .kn-en-faq details{border-top:1px solid var(--kn-line);padding:0}
.kn-en .kn-en-faq details:last-child{border-bottom:1px solid var(--kn-line)}
.kn-en .kn-en-faq summary{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:52px;padding:12px 0;cursor:pointer;list-style:none;font:600 17px/1.5 var(--kn-sans);color:var(--kn-ink)}
.kn-en .kn-en-faq summary::-webkit-details-marker{display:none}
.kn-en .kn-en-faq summary::after{content:"+";flex:0 0 auto;font:400 24px/1 var(--kn-sans);color:var(--kn-red)}
.kn-en .kn-en-faq details[open] summary::after{content:"\2212"}
.kn-en .kn-en-faq details>*:not(summary){margin:0 0 14px!important}
/* 次にすること（長いガイドの最後）：<div class="kn-en-next"><p class="kn-en-label">Next steps</p><ul>…</ul></div> */
.kn-en .kn-en-next{margin:34px 0 10px;padding:20px 24px;border:1px solid var(--kn-line);border-top:3px solid var(--kn-red);border-radius:8px;background:var(--kn-white)}
.kn-en .kn-en-next .kn-en-label{color:var(--kn-red)}
.kn-en .kn-en-next ul{margin:0!important}
/* 医療・法律・お金の注意書き（冒頭、PR表示の下）：<p class="kn-en-disclaimer">…</p> */
.kn-en .kn-en-disclaimer{font-size:13px!important;line-height:1.7;color:var(--kn-muted);border:1px solid var(--kn-line);border-radius:6px;padding:10px 14px;margin:0 0 22px!important;background:var(--kn-paper)}
@media(max-width:520px){.kn-en .kn-en-summary,.kn-en .kn-en-callout,.kn-en .kn-en-phrase,.kn-en .kn-en-next{padding:15px 16px}.kn-en .kn-en-steps>li{padding-left:44px!important}.kn-en .kn-en-steps>li::before{width:30px;height:30px;line-height:30px;font-size:14px}.kn-en .kn-en-steps>li:not(:last-child)::after{left:14px;top:34px}.kn-en .kn-prose ul.kn-en-checklist{padding:12px 14px}.kn-en .kn-en-faq summary{font-size:16px}}

/* 2026-09-27 バナー画像が出ない端末（広告ブロック等）向けの文字ボタン */
.kn-en .kn-cta-fallback{text-align:center;margin:10px 0 0}.kn-en .kn-cta-fallback .wp-element-button{display:inline-block;background:var(--kn-red);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:999px;max-width:100%}
/* 2026-09-27 Fukuoka: area switcher, home area cards, area label on cards, area note on hubs */
.kn-en .kn-region-bar{background:var(--kn-sage);border-bottom:1px solid var(--kn-line)}
.kn-en .kn-region-bar-inner{display:flex;justify-content:flex-end}
.kn-en .kn-region-switch{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-height:40px;font-size:12px}
.kn-en .kn-region-label{display:inline-flex;align-items:center;gap:6px;color:var(--kn-muted);margin-right:6px}
.kn-en .kn-region-label .kn-icon{width:14px;height:14px;flex-basis:14px}
.kn-en .kn-region-switch a{display:inline-flex;align-items:center;min-height:32px;padding:4px 11px;border:1px solid transparent;border-radius:999px;color:var(--kn-ink);text-decoration:none;font-weight:600}
.kn-en .kn-region-switch a:hover{border-color:var(--kn-line);background:var(--kn-white)}
.kn-en .kn-region-switch a[aria-current]{background:var(--kn-ink);border-color:var(--kn-ink);color:#fff}
.kn-en .kn-area-picker{padding:8px 0 30px}
.kn-en .kn-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.kn-en .kn-area-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 56px 22px 22px;border:1px solid var(--kn-line);border-radius:6px;background:var(--kn-white);color:var(--kn-ink);text-decoration:none}
.kn-en .kn-area-card:hover{border-color:var(--kn-green)}
.kn-en .kn-area-name{font:400 30px/1.15 var(--kn-serif)}
.kn-en .kn-area-note{font-size:13px;color:var(--kn-muted)}
.kn-en .kn-area-count{font:600 11px/1.5 var(--kn-sans);text-transform:uppercase;letter-spacing:.09em;color:var(--kn-green);margin-top:6px}
.kn-en .kn-area-arrow{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--kn-green)}
.kn-en .kn-area-buttons{margin-bottom:8px}
.kn-en .kn-card-meta>span.kn-card-area{color:var(--kn-muted)}
.kn-en .kn-region-heading .kn-region-note{color:var(--kn-ink);font-size:14px;margin:0 0 6px}
@media(max-width:760px){.kn-en .kn-region-bar-inner{justify-content:flex-start}.kn-en .kn-region-switch{min-height:38px;font-size:11px}.kn-en .kn-region-switch a{min-height:32px;padding:4px 10px}.kn-en .kn-area-name{font-size:26px}.kn-en .kn-area-card{padding:18px 50px 18px 18px}.kn-en .kn-area-grid{grid-template-columns:1fr}}

/* 楽天の商品リンク（画像＋テキスト）を並べる箱（2026-09-27） */
.kn-en .kn-rakuten-box{margin:14px 0 22px;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff}.kn-en .kn-rakuten-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.kn-en .kn-rakuten-item{max-width:100%;overflow:hidden}.kn-en .kn-rakuten-item table{max-width:100%}.kn-en .kn-rakuten-box .kn-pr-note{margin:0 0 8px;font-size:12px;color:#5b6770;text-align:center}

/* 楽天の商品リンクをスマホで縦に積む（2026-09-28 校正で504px固定の箱が切れていた） */
@media(max-width:600px){.kn-en .kn-rakuten-item{width:100%}.kn-en .kn-rakuten-item table,.kn-en .kn-rakuten-item tbody,.kn-en .kn-rakuten-item tr,.kn-en .kn-rakuten-item td{display:block!important;width:auto!important;max-width:100%}.kn-en .kn-rakuten-item div[style*="width:504px"]{width:auto!important;max-width:100%;box-sizing:border-box}.kn-en .kn-rakuten-item img{max-width:100%;height:auto}}

/* 2026-09-29 スマホの英語版（日本語版で入れた考え方を、英語版の雑誌風の見た目に合わせて入れた。運営者承認） */
.kn-en .kn-card-meta>a.kn-card-need{text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--kn-green);text-decoration:none;position:relative;z-index:2}
.kn-en .kn-card-meta>a.kn-card-need:hover{text-decoration:underline;text-underline-offset:3px}
.kn-en .kn-card-area-chips{display:none}
/* 7) 記事のタグ：アイコンを外して小さい丸枠に（PC・スマホ共通） */
.kn-en .kn-post-topics .kn-topic-mark{display:none}
.kn-en .kn-post-topics a{min-height:0;padding:4px 11px;font-size:13px;line-height:1.6;gap:0;background:#fff}
@media(max-width:560px){
  /* 1) ヘッダーを詰める：日本語の副題を隠し、上下の余白とメニューの高さを小さく */
  .kn-en .kn-brand-caption{display:none}
  .kn-en .kn-header-inner{padding-top:12px;gap:8px 10px}
  .kn-en .kn-navigation a{padding:8px 6px 7px;min-height:36px}
  /* 2) パンくず：Home / 地域 / 分類 / 記事名。2行まで、はみ出しは… */
  .kn-en .kn-breadcrumbs{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;padding:12px 0 8px;font-size:10px;line-height:1.9}
  .kn-en .kn-breadcrumbs>*{display:inline}
  .kn-en .kn-breadcrumbs>span[aria-hidden]{margin:0 .6em}
  .kn-en .kn-breadcrumbs a{min-height:0;display:inline}
  .kn-en .kn-breadcrumbs [aria-current=page]{display:inline}
  /* 3) 記事上のシェアは出さない（記事の下だけ） */
  .kn-en .ll-share--top{display:none}
  /* 4) 記事タイトル：セリフのまま 26px */
  .kn-en .kn-article-header h1{font-size:26px;line-height:1.25}
  /* 5) 本文：英語は 16px・1.6倍 */
  .kn-en .kn-introduction,.kn-en .kn-introduction p{font-size:16px;line-height:1.6}
  .kn-en .kn-prose p,.kn-en .kn-prose li{font-size:16px;line-height:1.6}
  /* 6) 左右の余白 12px、本文の枠の内側の横の余白をなくす */
  .kn-en .kn-shell{width:calc(100% - 24px)}
  .kn-en .kn-article-main{padding:18px 0;border-left:0;border-right:0;border-radius:0;box-shadow:none}
  /* 8) カード：地域を札で、メタ行の地域は重ねない */
  .kn-en .kn-card-meta>span.kn-card-area{display:none}
  .kn-en .kn-card-area-chips{display:flex;flex-wrap:wrap;gap:4px 5px;margin-top:8px;max-height:calc(2 * 1.5em + 6px);overflow:hidden}
  .kn-en .kn-card-area-chip{font-size:11px;line-height:1.5;padding:0 7px;border:1px solid var(--kn-line);border-radius:999px;color:var(--kn-muted);background:#fff}
}
/* 2026-10-04 運営者「直す」：台帳で「切らない」条件の写真（_kf_image_fit = contain）は、カードでも切らずに枠に収める */
.kn-en figure.kn-picture.is-contain img{object-fit:contain;object-position:center;background:#ecefe8}
