@charset "UTF-8";
:root{--main-ink:#273e3a;--main-muted:#7b918c;--main-green:#507a6c;--main-deep:#31594e;--main-soft:#edf3ee;--main-line:#dce6df;--main-paper:#fafbf7;--main-sand:#f2f3ec;--main-blue:#d7e8e8;--main-serif:'Zen Old Mincho',serif;--main-sans:'Noto Sans JP',sans-serif;--main-latin:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--main-paper);color:var(--main-ink);font-family:var(--main-sans);font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #557f70;outline-offset:4px}
.main-header{background:#fff;border-top:4px solid #719a8b;border-bottom:1px solid var(--main-line);position:relative;z-index:4}.main-header-inner{height:88px;max-width:1512px;margin:auto;padding:0 45px;display:flex;align-items:center;justify-content:space-between;gap:35px}.main-brand{display:flex;align-items:center;gap:12px;min-width:260px}.main-brand-mark{color:#658c7e;width:46px;height:46px}.main-brand-mark svg{width:100%;height:100%}.main-brand-name{font-family:var(--main-serif);font-weight:700;font-size:20px;letter-spacing:.08em;display:block;line-height:1.4}.main-brand-sub{display:block;color:#96aaa2;font:600 8px var(--main-latin);letter-spacing:.14em;margin-top:4px}.main-top-nav{display:flex;align-items:center;gap:36px}.main-top-nav a{font-size:11px;font-weight:700;letter-spacing:.11em;transition:color .2s}.main-top-nav a:hover,.main-text-link:hover{color:#84a99a}.main-menu-toggle{display:none;border:0;background:none;color:var(--main-ink);padding:8px;cursor:pointer}.main-mobile-nav{background:#fff;border-top:1px solid var(--main-line);padding:8px 24px 20px}.main-mobile-nav a{display:block;padding:12px 2px;border-bottom:1px solid var(--main-line);font-size:12px;letter-spacing:.08em}
.main-site-shell{display:grid;grid-template-columns:215px minmax(0,1fr) 245px;max-width:1512px;margin:auto;min-height:100vh}.main-left-sidebar{border-right:1px solid var(--main-line);padding:48px 24px 60px 42px}.main-sidebar-sticky{position:sticky;top:28px}.main-sidebar-kicker,.main-eyebrow{font:700 9px/1.4 var(--main-latin);letter-spacing:.17em;color:#86a398}.main-sidebar-kicker{margin:0 0 12px}.main-sidebar-heading{font-family:var(--main-serif);font-size:16px;margin:0 0 25px;letter-spacing:.03em}.main-sidebar-heading span{display:block;margin-top:5px;color:#acbcb4;font:500 10px var(--main-latin);letter-spacing:.08em}.main-category-group{border-top:1px solid var(--main-line)}.main-category-group:last-child{border-bottom:1px solid var(--main-line)}.main-category-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:14px 0;font-size:12px;font-weight:700}.main-category-group summary::-webkit-details-marker{display:none}.main-category-group summary:after{content:'+';font-size:16px;font-weight:400;margin-left:11px;color:#88a298}.main-category-group[open] summary:after{content:'−'}.main-category-group summary small{font:500 9px var(--main-latin);color:#9eb2a8;margin-left:auto}.main-category-group ul{list-style:none;padding:0 0 12px 12px;margin:0;border-left:1px solid #dce9e0}.main-category-group li{margin:0}.main-category-group li a{display:block;color:#71857d;font-size:10px;padding:5px 0;line-height:1.6}.main-category-group a:hover{color:#2e6253}.main-sidebar-note{margin-top:48px;display:flex;align-items:flex-start;gap:12px;color:#78978b}.main-sidebar-note-icon{font-size:25px;line-height:1}.main-sidebar-note p{margin:0;font-size:10px;line-height:1.8}.main-sidebar-note small{font:600 8px var(--main-latin);letter-spacing:.08em}
.main-content{min-width:0;padding:0 42px 74px}.main-breadcrumb{height:58px;display:flex;align-items:center;gap:12px;color:#9aaea4;font:600 9px var(--main-latin);letter-spacing:.12em}.main-breadcrumb span:last-child{font-family:var(--main-sans);font-size:9px;font-weight:500;letter-spacing:.02em}.main-breadcrumb-line{width:18px;height:1px;background:#b7c9bf}.main-hero{height:380px;position:relative;overflow:hidden;background:#d6e7e1}.main-hero-image{position:absolute;inset:0;background:url('assets/coast.jpg') center 48%/cover no-repeat;filter:saturate(.75)}.main-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,65,59,.76) 0%,rgba(52,84,76,.49) 43%,rgba(80,113,107,.03) 100%)}.main-hero-copy{position:absolute;left:8%;top:50%;transform:translateY(-49%);color:#fff}.main-hero-eyebrow{font:600 9px var(--main-latin);letter-spacing:.2em;color:#e2eee5}.main-hero h1{font:600 clamp(27px,2.3vw,38px)/1.65 var(--main-serif);letter-spacing:.1em;margin:22px 0 14px}.main-hero p{font-size:12px;line-height:2.1;letter-spacing:.09em;margin:0}.main-hero-line{display:block;margin-top:24px;width:42px;height:1px;background:#d8e8de}.main-hero-caption{position:absolute;bottom:18px;right:21px;color:#fff;font:600 8px var(--main-latin);letter-spacing:.13em;writing-mode:vertical-rl}
.main-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;padding:51px 2px 47px;border-bottom:1px solid var(--main-line)}.main-intro-title h2,.main-section-head h2{font-family:var(--main-serif);font-weight:600;letter-spacing:.04em}.main-intro-title h2{font-size:22px;margin:10px 0 0}.main-intro-body p{font-size:12px;line-height:2.15;color:#697f77;margin:0 0 13px}.main-text-link{display:inline-flex;align-items:center;gap:18px;font-size:10px;font-weight:700;letter-spacing:.05em;color:#4e7768}.main-text-link span{font-size:13px}.main-section{padding-top:51px}.main-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.main-section-head h2{font-size:22px;margin:8px 0 0;line-height:1.5}.main-section-head h2 span{font:500 10px var(--main-latin);color:#96aaa0;letter-spacing:.06em;margin-left:9px}.main-section-count{font:600 8px var(--main-latin);letter-spacing:.14em;color:#a7bab0;padding-bottom:5px}.main-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}.main-post-card{display:block;min-width:0}.main-post-image{position:relative;overflow:hidden;background:#e3ece5;aspect-ratio:1.54}.main-post-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.main-post-card:hover .main-post-image img{transform:scale(1.04)}.main-post-category{position:absolute;bottom:0;left:0;background:#eff5ef;color:#608374;padding:5px 10px;font:700 8px var(--main-latin);letter-spacing:.1em}.main-post-copy{padding:14px 0 0}.main-post-date{font:600 9px var(--main-latin);letter-spacing:.08em;color:#94a99e}.main-post-copy h3{font-family:var(--main-serif);font-size:16px;line-height:1.65;margin:7px 0;color:#304a42}.main-post-excerpt{font-size:11px;color:#82958a;line-height:1.9;margin:0;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.main-card-more{display:block;margin-top:12px;font:700 8px var(--main-latin);letter-spacing:.11em;color:#638878}.main-outline-link{display:flex;align-items:center;justify-content:space-between;border:1px solid #c9dacf;color:#537b6a;font-size:11px;font-weight:600;margin:32px auto 0;padding:12px 18px;max-width:230px;transition:background .2s}.main-outline-link:hover{background:#edf4ed}.main-outline-link span{font-size:15px}.main-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.main-topic-card{position:relative;min-height:165px;padding:22px 22px;background:#e5efe8;overflow:hidden}.main-topic-card:after{content:'';position:absolute;right:-20px;bottom:-45px;width:130px;height:130px;border:1px solid rgba(95,138,117,.23);border-radius:50%;box-shadow:0 0 0 17px rgba(95,138,117,.06),0 0 0 34px rgba(95,138,117,.05)}.main-topic-training{background:#e3eef0}.main-topic-number{display:block;font:700 8px var(--main-latin);color:#89a89a;letter-spacing:.14em}.main-topic-title{display:block;font:600 20px var(--main-serif);margin-top:25px}.main-topic-desc{display:block;font-size:10px;color:#839990;margin-top:3px}.main-topic-arrow{position:absolute;right:20px;top:19px;color:#789c8c}.main-archive-group{margin-bottom:26px}.main-archive-group h3{font:600 15px var(--main-serif);margin:0 0 8px}.main-archive-group h3 span{font:600 8px var(--main-latin);color:#9aafa3;letter-spacing:.1em;margin-left:7px}.main-archive-row{display:grid;grid-template-columns:95px 1fr 18px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--main-line);font-size:11px}.main-archive-row time{color:#98aca1;font:600 9px var(--main-latin)}.main-archive-arrow{color:#91aa9d}.main-loading{font-size:11px;color:#91a69a}
.main-right-sidebar{border-left:1px solid var(--main-line);padding:48px 32px 50px 25px}.main-side-section{margin-bottom:47px}.main-side-section h2{font:600 15px var(--main-serif);margin:10px 0 20px;letter-spacing:.02em}.main-profile-art{height:116px;position:relative;overflow:hidden;background:#e8f0eb url('assets/junichiwatanuki.jpg') center 30%/cover no-repeat}.main-profile-name{font:700 11px var(--main-latin);letter-spacing:.06em;margin:17px 0 6px}.main-side-copy{font-size:10px;line-height:2;color:#83968c;margin:0 0 12px}.main-popular-item{display:grid;grid-template-columns:64px 1fr;gap:12px;margin:0 0 16px;align-items:center}.main-popular-item img{width:64px;height:55px;object-fit:cover}.main-popular-item small{display:block;font:700 8px var(--main-latin);color:#a2b5aa;letter-spacing:.08em;margin-bottom:5px}.main-popular-item strong{display:block;font-family:var(--main-serif);font-size:10px;line-height:1.6}.main-side-quote{background:#edf3ee;padding:23px 18px;color:#678b7b}.main-side-quote>span{font:40px/1 var(--main-serif);color:#aecab9}.main-side-quote p{font:600 14px/1.9 var(--main-serif);margin:0 0 13px}.main-side-quote small{font:600 8px var(--main-latin);letter-spacing:.1em;color:#94b4a3}
.main-footer{background:#e7f0e9;border-top:1px solid #d9e8dc}.main-footer-inner{max-width:1512px;margin:auto;padding:42px 45px;display:flex;align-items:center;justify-content:space-between}.main-footer-brand{font:700 18px var(--main-serif);letter-spacing:.08em}.main-footer-brand span{display:block;font:600 8px var(--main-latin);letter-spacing:.12em;color:#9ab3a3;margin-top:8px}.main-footer-inner p{font-size:10px;color:#80998a;margin:15px 0 0}.main-footer-links{display:flex;gap:26px;font:700 9px var(--main-latin);letter-spacing:.1em;color:#6a8b7b}.main-to-top{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b6d0c0;border-radius:50%;font-size:17px;color:#668d78}.main-footer-bottom{max-width:1512px;margin:auto;border-top:1px solid #d2e3d6;padding:17px 45px;display:flex;justify-content:space-between;font:600 8px var(--main-latin);letter-spacing:.1em;color:#93ac9d}
.main-article-wrap{padding:32px 0 70px}.main-article-header{border-bottom:1px solid var(--main-line);padding-bottom:27px;margin-bottom:30px}.main-article-category{font:700 9px var(--main-latin);letter-spacing:.15em;color:#7e9f8e}.main-article-header h1{font:600 clamp(24px,2.4vw,35px)/1.65 var(--main-serif);letter-spacing:.04em;margin:11px 0 15px}.main-article-date{font:600 10px var(--main-latin);letter-spacing:.1em;color:#99ada1}.main-article-body{font-size:14px;line-height:2.1;color:#50675e;overflow-wrap:anywhere}.main-article-body h1,.main-article-body h2,.main-article-body h3{font-family:var(--main-serif);line-height:1.6;color:#2d4c41;margin:2em 0 .8em}.main-article-body h2{font-size:22px;padding-bottom:10px;border-bottom:1px solid var(--main-line)}.main-article-body p{margin:0 0 1.4em}.main-article-body a{color:#4d8874;text-decoration:underline}.main-article-body img{height:auto}.main-article-body blockquote{border-left:3px solid #a5c8b4;background:#f0f5ef;margin:1.5em 0;padding:12px 20px}.main-article-body pre{overflow:auto;background:#eff4ef;padding:18px;font-size:12px}.main-article-body table{border-collapse:collapse;width:100%;font-size:12px;display:block;overflow-x:auto}.main-article-body th,.main-article-body td{border:1px solid #d8e5da;padding:9px 12px;text-align:left;white-space:nowrap}.main-article-body th{background:#eaf3eb}.main-article-back{display:inline-flex;gap:12px;margin-top:36px;font-size:11px;color:#608574;font-weight:700}
@media(max-width:1250px){.main-site-shell{grid-template-columns:190px minmax(0,1fr) 220px}.main-left-sidebar{padding-left:28px}.main-content{padding-left:30px;padding-right:30px}.main-right-sidebar{padding-right:22px}.main-top-nav{gap:23px}}
@media(max-width:1000px){.main-site-shell{grid-template-columns:minmax(0,1fr) 220px}.main-left-sidebar{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid var(--main-line);padding:32px 30px}.main-sidebar-sticky{position:static}.main-category-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px}.main-category-group:last-child{border-bottom:0}.main-sidebar-note{display:none}.main-content{grid-column:1;grid-row:1}.main-right-sidebar{grid-column:2;grid-row:1}.main-header-inner{padding:0 28px}.main-hero{height:340px}}
@media(max-width:700px){.main-header{border-top-width:3px}.main-header-inner{height:71px;padding:0 19px}.main-brand{min-width:0;gap:9px}.main-brand-mark{width:38px;height:38px}.main-brand-name{font-size:16px}.main-brand-sub{font-size:7px}.main-top-nav{display:none}.main-menu-toggle{display:flex;flex-direction:column;align-items:center;gap:5px}.main-menu-toggle>span:not(.main-menu-label){display:block;width:24px;height:1px;background:#4d7566}.main-menu-label{font:700 8px var(--main-latin);letter-spacing:.12em;margin-top:2px}.main-site-shell{display:flex;flex-direction:column}.main-content{padding:0 20px 55px;order:1}.main-left-sidebar{order:3;padding:35px 20px}.main-right-sidebar{order:2;border-left:0;border-top:1px solid var(--main-line);padding:32px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.main-side-section{margin-bottom:0}.main-side-quote{display:none}.main-breadcrumb{height:46px}.main-hero{height:320px;margin:0 -20px}.main-hero-copy{left:25px}.main-hero h1{font-size:28px}.main-hero p{font-size:11px}.main-hero-caption{right:13px}.main-intro{display:block;padding:34px 0}.main-intro-title h2{font-size:21px;margin-bottom:16px}.main-intro-body p{font-size:11px}.main-section{padding-top:40px}.main-section-head h2{font-size:20px}.main-section-count{display:none}.main-post-grid{gap:23px 13px}.main-post-image{aspect-ratio:1.17}.main-post-copy h3{font-size:14px}.main-post-excerpt{font-size:10px}.main-post-category{font-size:7px;padding:4px 7px}.main-topic-grid{gap:10px}.main-topic-card{padding:17px;min-height:145px}.main-topic-title{font-size:17px}.main-archive-row{grid-template-columns:76px 1fr 14px}.main-footer-inner{padding:32px 20px;flex-wrap:wrap;gap:20px}.main-footer-links{width:100%;order:3}.main-to-top{margin-left:auto}.main-footer-bottom{padding:15px 20px}.main-article-wrap{padding:20px 0 48px}.main-article-body{font-size:13px}}
@media(max-width:380px){.main-right-sidebar{display:block}.main-side-section{margin-bottom:30px}.main-post-grid{grid-template-columns:1fr}.main-post-image{aspect-ratio:1.6}.main-category-nav{display:block}.main-footer-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.main-post-image img{transition:none}}

/* Label-only branches use the whole row; linked branches keep a separate toggle. */
.main-category-group .main-category-branch{position:relative}
.main-category-group .main-category-nested>summary{padding:5px 0;color:#71857d;font-size:10px;font-weight:400;line-height:1.6;overflow-wrap:anywhere;gap:8px}
.main-category-group .main-category-nested>summary:after{content:'+';margin-left:auto;flex-shrink:0}
.main-category-group .main-category-nested[open]>summary:after{content:'−'}
.main-category-group .main-category-linked-branch>a{padding-right:30px}
.main-category-group .main-category-linked-branch>.main-category-nested>summary{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0}
.main-category-group .main-category-linked-branch>.main-category-nested>summary:after{margin:0}
.main-category-group a[aria-current="page"]{color:#31594e;font-weight:700}

/* Keep long archives reachable within the desktop viewport. */
@media(min-width:1001px){.main-sidebar-sticky{max-height:calc(100vh - 56px);overflow-y:auto;overscroll-behavior:contain}}

/* Presentational align attributes must take precedence over the default left alignment. */
.main-article-body th[align="left" i],.main-article-body td[align="left" i]{text-align:left}
.main-article-body th[align="center" i],.main-article-body td[align="center" i]{text-align:center}
.main-article-body th[align="right" i],.main-article-body td[align="right" i]{text-align:right}
