:root{--navy:#1a2744;--navy-dark:#111d35;--navy-mid:#1e3266;--blue:#2563eb;--blue-h:#1d4ed8;--blue-pale:#eff6ff;--blue-light:#dbeafe;--gray-bg:#f5f6f8;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--white:#fff;--text:#1e2d3d;--text-light:#6b7280;--shadow:0 2px 12px rgba(18,63,82,.08);--shadow-h:0 14px 36px rgba(37,99,235,.17);--r:8px;--r-sm:6px;--max-w:1200px;--hh:66px;--sidebar-w:260px;--t:.24s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) + 16px)}body{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;font-size:16px;line-height:1.85;color:var(--text);background:var(--gray-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}a{color:var(--blue);text-decoration:none;transition:color var(--t)}a:hover{color:var(--blue-h)}button{cursor:pointer;font-family:inherit}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}#masthead,.site-header{position:sticky !important;top:0 !important;z-index:200 !important;height:var(--hh) !important;background-color:#1a2744 !important;background-image:linear-gradient(135deg,#1a2744 0%,#1e3266 100%) !important;box-shadow:0 2px 20px rgba(0,0,0,.22) !important;border-bottom:1px solid rgba(255,255,255,.07) !important}.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 20px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}.header-logo{flex:0 1 auto;min-width:0;display:flex;align-items:center}.header-logo .custom-logo-link,.header-logo>a{display:flex;align-items:center}.header-logo .custom-logo{height:40px;width:auto;max-width:200px;object-fit:contain}.site-title-link{color:#fff !important;font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.site-nav{flex:0 0 auto;display:flex;align-items:center}.nav-menu{display:flex;align-items:center;gap:0}.nav-menu li a{display:block;color:#fff !important;font-size:.8rem;font-weight:500;padding:6px 10px;border-radius:5px;white-space:nowrap;letter-spacing:.01em;transition:background var(--t)}.nav-menu li a:hover,.nav-menu li.current-menu-item>a{background:rgba(255,255,255,.14)}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:7px;background:0 0;border:none;border-radius:5px;transition:background var(--t)}.menu-toggle:hover{background:rgba(255,255,255,.1)}.menu-toggle-bar{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transform-origin:center;transition:transform .2s,opacity .15s}.menu-toggle.is-active .menu-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-active .menu-toggle-bar:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.is-active .menu-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-section{background-color:#1a2744;background-image:linear-gradient(135deg,#1a2744 0%,#1e3266 50%,#1a3a7c 100%);color:#fff;padding:56px 24px 60px;text-align:center;position:relative;overflow:hidden}.hero-section:before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.hero-inner{position:relative;max-width:720px;margin:0 auto}.hero-eyebrow{display:inline-block;background:rgba(255,255,255,.12);color:rgba(255,255,255,.85);font-size:.72rem;font-weight:700;padding:4px 14px;border-radius:100px;letter-spacing:.08em;margin-bottom:16px}.hero-title{font-size:clamp(1.4rem,3vw,2.05rem);font-weight:900;line-height:1.5;margin-bottom:14px}.hero-desc{font-size:.95rem;color:rgba(255,255,255,.76);line-height:1.8;max-width:540px;margin:0 auto 26px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.hero-btn-primary{display:inline-flex;align-items:center;background:var(--blue);color:#fff !important;font-size:.88rem;font-weight:700;padding:11px 26px;border-radius:var(--r);box-shadow:0 4px 14px rgba(37,99,235,.35);transition:background var(--t),transform var(--t)}.hero-btn-primary:hover{background:var(--blue-h);transform:translateY(-2px)}.hero-btn-secondary{display:inline-flex;align-items:center;background:rgba(255,255,255,.1);color:rgba(255,255,255,.88) !important;font-size:.88rem;font-weight:700;padding:11px 26px;border-radius:var(--r);border:1px solid rgba(255,255,255,.2);transition:background var(--t)}.hero-btn-secondary:hover{background:rgba(255,255,255,.18);color:#fff !important}.site-content{min-height:calc(100vh - var(--hh) - 200px)}.container.with-padding,.content-wrap-outer{padding-top:44px;padding-bottom:64px}#posts.container{padding-top:40px;padding-bottom:64px}.archive-container{padding-top:44px;padding-bottom:64px}.index-layout{display:grid;grid-template-columns:1fr var(--sidebar-w);gap:32px;align-items:start}.index-main{min-width:0}.index-sidebar{position:sticky;top:calc(var(--hh) + 16px);display:flex;flex-direction:column;gap:20px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px}.posts-grid--related{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:0}.post-card{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.34,1.28,.64,1),box-shadow .26s ease;display:flex;flex-direction:column;position:relative}.post-card:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),#60a5fa);opacity:0;transition:opacity var(--t);z-index:1}.post-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(37,99,235,.15),0 3px 8px rgba(0,0,0,.05)}.post-card:hover:before{opacity:1}.card-thumbnail-link{display:block;overflow:hidden}.card-thumbnail{height:220px;overflow:hidden;background:var(--gray-100)}.card-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .38s cubic-bezier(.4,0,.2,1)}.post-card:hover .card-thumbnail img{transform:scale(1.05)}.no-thumbnail{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbeafe 0%,#ede9fe 100%);font-size:2rem}.card-body{padding:12px 14px 16px;flex:1;display:flex;flex-direction:column;gap:7px}.card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-category{display:inline-flex;align-items:center;background:var(--blue);color:#fff;font-size:.63rem;font-weight:700;padding:2px 8px;border-radius:100px;letter-spacing:.05em;white-space:nowrap;transition:background var(--t)}.card-category:hover{background:var(--blue-h);color:#fff}.card-date{font-size:.68rem;color:var(--text-light)}.card-title{font-size:.86rem;font-weight:700;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-title a{color:inherit}.card-title a:hover{color:var(--blue)}.card-excerpt{font-size:.74rem;color:var(--text-light);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.card-readmore{display:inline-flex;align-items:center;gap:5px;background:var(--blue);color:#fff !important;font-size:.7rem;font-weight:700;padding:5px 12px;border-radius:var(--r-sm);align-self:flex-start;margin-top:4px;box-shadow:0 2px 6px rgba(37,99,235,.18);transition:background var(--t),transform var(--t)}.card-readmore:hover{background:var(--blue-h);transform:translateY(-1px)}.card-readmore-arrow{transition:transform var(--t)}.card-readmore:hover .card-readmore-arrow{transform:translateX(3px)}.pagination{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap}.pagination span,.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 9px;border-radius:var(--r);font-size:.84rem;font-weight:700;background:var(--white);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.07);transition:background var(--t),color var(--t),transform var(--t)}.pagination a:hover{background:var(--blue);color:#fff;transform:translateY(-1px)}.pagination .current{background:var(--navy);color:#fff;box-shadow:none}.pagination .dots{background:0 0;box-shadow:none;color:var(--text-light)}.archive-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--gray-200)}.archive-title{font-size:1.35rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.archive-label{font-size:.68rem;font-weight:700;background:var(--blue);color:#fff;padding:2px 10px;border-radius:100px;letter-spacing:.06em}.archive-description{margin-top:8px;font-size:.88rem;color:var(--text-light);line-height:1.7}.index-sidebar .widget,.index-sidebar .profile-widget{background:var(--white);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}.index-sidebar .widget-title{font-size:.82rem;font-weight:700;color:var(--navy);border-bottom:2px solid var(--blue);padding-bottom:8px;margin-bottom:12px}.recent-posts-list{display:flex;flex-direction:column;gap:9px}.recent-post-item{display:flex;align-items:flex-start;gap:9px;padding-bottom:9px;border-bottom:1px solid var(--gray-100)}.recent-post-item:last-child{border-bottom:none;padding-bottom:0}.recent-post-thumb{flex-shrink:0}.recent-post-thumb img{width:48px;height:48px;object-fit:cover;border-radius:5px}.recent-post-info{display:flex;flex-direction:column;gap:2px;min-width:0}.recent-post-title{font-size:.74rem;font-weight:700;color:var(--text);line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent-post-title:hover{color:var(--blue)}.recent-post-date{font-size:.65rem;color:var(--text-light)}.index-sidebar .widget ul{list-style:none;padding:0}.index-sidebar .widget ul li{padding:5px 0;border-bottom:1px solid var(--gray-100);font-size:.78rem}.index-sidebar .widget ul li:last-child{border-bottom:none}.index-sidebar .widget ul li a{color:var(--text);display:flex;justify-content:space-between}.index-sidebar .widget ul li a:hover{color:var(--blue)}.profile-widget{background:var(--white);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.profile-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--blue-light);display:block;margin:0 auto}.profile-info{display:flex;flex-direction:column;gap:6px}.profile-name{font-size:.88rem;font-weight:700;color:var(--text)}.profile-bio{font-size:.72rem;color:var(--text-light);line-height:1.7}.profile-link{font-size:.72rem;font-weight:700;color:var(--blue)}.profile-link:hover{color:var(--blue-h)}.content-wrap{display:grid;grid-template-columns:1fr 260px;gap:28px;align-items:start}.site-main{min-width:0}.post-featured-image{border-radius:var(--r) var(--r) 0 0;overflow:hidden;aspect-ratio:16/9}.post-featured-image img{width:100%;height:100%;object-fit:cover}.post-article{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}.post-article .post-featured-image{border-radius:0}.post-header{padding:28px 32px 20px;border-bottom:1px solid var(--gray-200)}.post-meta{display:flex;align-items:center;gap:9px;margin-bottom:11px;flex-wrap:wrap}.post-title{font-size:1.5rem;font-weight:700;line-height:1.45;color:var(--text)}.entry-content{padding:28px 32px 36px;line-height:1.9;font-size:1rem;overflow-wrap:break-word;word-break:break-word}.entry-content>*:first-child{margin-top:0}.entry-content p{margin-bottom:1.4em}.entry-content h2{font-size:1.2rem;font-weight:700;color:var(--navy);background:var(--blue-pale);border-left:4px solid var(--blue);padding:10px 16px;margin:2.4em 0 1.1em;border-radius:0 var(--r) var(--r) 0}.entry-content h3{font-size:1.05rem;font-weight:700;color:var(--text);border-left:3px solid var(--blue);padding:5px 11px;margin:1.8em 0 .9em}.entry-content h4{font-size:1rem;font-weight:700;margin:1.5em 0 .7em}.entry-content ul,.entry-content ol{padding-left:1.8em;margin-bottom:1.4em}.entry-content ul{list-style:disc}.entry-content ol{list-style:decimal}.entry-content li{margin-bottom:.4em}.entry-content blockquote{border-left:4px solid var(--blue);background:var(--blue-light);padding:13px 18px;border-radius:0 var(--r) var(--r) 0;margin:1.5em 0;color:var(--text-light)}.entry-content figure{margin:1.4em 0}.entry-content img{border-radius:var(--r)}.entry-content figcaption{margin-top:5px;font-size:.78rem;color:var(--text-light);text-align:center}.entry-content a{text-decoration:underline;text-underline-offset:2px}.entry-content code{font-family:'SFMono-Regular',Menlo,Monaco,Consolas,monospace;background:var(--gray-100);border:1px solid var(--gray-200);padding:1px 6px;border-radius:4px;font-size:.875em;color:#e53e3e}.entry-content pre{background:#1e2d3d;padding:20px 22px;border-radius:var(--r);overflow-x:auto;margin:1.5em 0;font-size:.875em;line-height:1.6}.entry-content pre code{background:0 0;border:none;padding:0;color:#e2e8f0;font-size:1em}.entry-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.9rem}.entry-content th,.entry-content td{padding:9px 12px;border:1px solid var(--gray-200)}.entry-content th{background:var(--gray-100);font-weight:700}.entry-content tr:nth-child(even) td{background:var(--gray-50)}.post-tags{padding:16px 32px;border-top:1px solid var(--gray-200);display:flex;gap:7px;flex-wrap:wrap}.post-tag{display:inline-block;background:var(--gray-100);color:var(--text-light);font-size:.73rem;padding:3px 11px;border-radius:100px;border:1px solid var(--gray-200);transition:background var(--t),color var(--t),border-color var(--t)}.post-tag:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.post-nav-item{display:flex;flex-direction:column;gap:5px;background:var(--white);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);color:var(--text);min-width:0;transition:transform var(--t),box-shadow var(--t)}.post-nav-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-h);color:var(--text)}.post-nav-next{text-align:right}.post-nav-label{font-size:.68rem;font-weight:700;color:var(--blue);letter-spacing:.06em}.post-nav-title{font-size:.82rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-posts{margin-top:20px}.related-posts-title{font-size:.98rem;font-weight:700;color:var(--text);margin-bottom:16px;padding-left:11px;border-left:4px solid var(--blue)}.sidebar{position:sticky;top:calc(var(--hh) + 16px);display:flex;flex-direction:column;gap:20px}.widget{background:var(--white);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.widget-title{font-size:.84rem;font-weight:700;color:var(--navy);border-bottom:2px solid var(--blue);padding-bottom:8px;margin-bottom:13px;letter-spacing:.04em}.widget ul{list-style:none;padding:0}.widget ul li{padding:6px 0;border-bottom:1px solid var(--gray-100);font-size:.84rem}.widget ul li:last-child{border-bottom:none}.widget ul li a{color:var(--text)}.widget ul li a:hover{color:var(--blue)}.search-form{display:flex;gap:7px}.search-field{flex:1;min-width:0;padding:8px 11px;border:1.5px solid var(--gray-200);border-radius:var(--r);font-size:.84rem;font-family:inherit;color:var(--text);background:var(--white);outline:none;transition:border-color .2s}.search-field:focus{border-color:var(--blue)}.search-submit{padding:8px 12px;background:var(--blue);color:#fff;border:none;border-radius:var(--r);font-size:.78rem;font-weight:700;white-space:nowrap;transition:background .2s}.search-submit:hover{background:var(--blue-h)}#colophon,.site-footer{background-color:#111d35 !important;color:rgba(255,255,255,.65) !important;padding:48px 0 24px !important;margin-top:0 !important;border-top:3px solid var(--blue) !important}.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px}.footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:22px}.footer-widget-title{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:.06em}.footer-widget ul{list-style:none;padding:0}.footer-widget ul li{padding:4px 0;font-size:.78rem}.footer-widget a{color:rgba(255,255,255,.55) !important;font-size:.78rem}.footer-widget a:hover{color:rgba(255,255,255,.88) !important}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer-logo .custom-logo{height:26px;width:auto;opacity:.65}.footer-site-name{color:rgba(255,255,255,.5);font-weight:700;font-size:.8rem}.footer-nav .footer-nav-menu{display:flex;gap:2px;list-style:none}.footer-nav .footer-nav-menu a{color:rgba(255,255,255,.42) !important;font-size:.72rem;padding:3px 8px;border-radius:4px;transition:background var(--t),color var(--t)}.footer-nav .footer-nav-menu a:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.8) !important}.copyright{font-size:.7rem;color:rgba(255,255,255,.28);letter-spacing:.04em}.not-found-wrap{text-align:center;padding:80px 24px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);max-width:520px;margin:44px auto}.not-found-code{font-size:4.5rem;font-weight:900;color:var(--blue);line-height:1;margin-bottom:14px}.not-found-title{font-size:1.2rem;font-weight:700;margin-bottom:12px}.not-found-text{font-size:.88rem;color:var(--text-light);line-height:1.8;margin-bottom:24px}.btn-primary{display:inline-flex;align-items:center;gap:5px;padding:10px 24px;background:var(--blue);color:#fff !important;font-weight:700;font-size:.88rem;border-radius:var(--r);transition:background var(--t),transform var(--t)}.btn-primary:hover{background:var(--blue-h);transform:translateY(-1px)}.no-results{background:var(--white);border-radius:var(--r);padding:32px;box-shadow:var(--shadow);text-align:center;color:var(--text-light)}.no-results p{margin-bottom:16px}.wp-block-image img{border-radius:var(--r)}.wp-block-quote{border-left:4px solid var(--blue) !important;background:var(--blue-light);padding:13px 18px !important;border-radius:0 var(--r) var(--r) 0}.wp-block-button__link{background:var(--blue) !important;border-radius:var(--r) !important;font-weight:700 !important}.wp-block-button__link:hover{background:var(--blue-h) !important}@media(max-width:1024px){.index-layout{grid-template-columns:1fr 220px;gap:20px}.posts-grid{grid-template-columns:repeat(2,1fr);gap:16px}.posts-grid--related{grid-template-columns:repeat(2,1fr)}.content-wrap{grid-template-columns:1fr}.sidebar,.index-sidebar{position:static}.footer-widgets{grid-template-columns:repeat(2,1fr);gap:20px}.post-navigation{grid-template-columns:1fr}.post-nav-next{text-align:left}}@media(max-width:767px){:root{--hh:56px;--sidebar-w:0px}.container{padding:0 14px}.menu-toggle{display:flex}.nav-menu{display:none;position:absolute;top:var(--hh);left:0;right:0;background:#111d35;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px;box-shadow:0 10px 30px rgba(0,0,0,.3)}.nav-menu.is-open{display:flex}.nav-menu li a{padding:12px 22px;border-radius:0;font-size:.9rem}.hero-section{padding:38px 16px 42px}.hero-title{font-size:1.3rem}.index-layout{grid-template-columns:1fr;gap:28px}.index-sidebar{position:static}.posts-grid,.posts-grid--related{grid-template-columns:1fr;gap:14px}.card-thumbnail{height:180px}.post-header{padding:18px 16px 14px}.post-title{font-size:1.15rem}.entry-content{padding:18px 16px 24px}.entry-content h2{font-size:1.05rem}.post-tags{padding:13px 16px}.post-article{border-radius:0}.post-navigation{gap:10px}.content-wrap{gap:20px}.footer-widgets{grid-template-columns:1fr;gap:18px}.footer-bottom{flex-direction:column;text-align:center;gap:10px}.footer-nav .footer-nav-menu{flex-wrap:wrap;justify-content:center}.header-inner{position:relative}#posts.container{padding-top:28px}.archive-container{padding-top:28px}}@media(max-width:480px){.posts-grid{gap:10px}.card-body{padding:10px 12px 14px}}