:root{--c-bg:#fff;--c-surface:#f8f8f6;--c-surface2:#f2f2ef;--c-border:#e8e8e4;--c-border2:#d4d4ce;--c-text:#1a1a18;--c-text2:#6b6b66;--c-text3:#a0a09a;--c-accent:#2d6a4f;--c-accent-l:#f0f7f4;--c-accent-b:#1a4535;--c-yellow:#f0c040;--c-yellow-l:#fdf8e8;--font-head:'Zen Maru Gothic','M PLUS Rounded 1c',sans-serif;--font-body:'Noto Sans JP',sans-serif;--r-sm:6px;--r-md:12px;--r-lg:20px;--r-xl:32px;--shadow-xs:0 1px 4px rgba(0,0,0,.06);--shadow-sm:0 2px 12px rgba(0,0,0,.07);--shadow-md:0 4px 24px rgba(0,0,0,.09);--max-w:1080px;--header-h:60px;--transition:.18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--c-bg);color:var(--c-text);line-height:1.75;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.container{width:min(var(--max-w),100% - 2.5rem);margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border)}.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between}.site-logo{display:flex;align-items:center;gap:9px;font-family:var(--font-head);font-size:1.1rem;font-weight:700;color:var(--c-text);letter-spacing:.01em}.site-logo .logo-icon{width:30px;height:30px;border-radius:8px;background:var(--c-accent);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.site-logo .logo-sub{display:block;font-size:.62rem;color:var(--c-text3);font-weight:400;letter-spacing:.05em;line-height:1;margin-top:2px}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{color:var(--c-text2);font-size:.875rem;padding:6px 14px;border-radius:999px;transition:background var(--transition),color var(--transition);font-weight:500}.site-nav a:hover{background:var(--c-surface);color:var(--c-text)}.nav-toggle{display:none;background:0 0;border:1px solid var(--c-border);color:var(--c-text2);font-size:1.1rem;padding:5px 10px;border-radius:var(--r-sm)}.hero{background:var(--c-bg);padding:72px 0 80px;text-align:center;border-bottom:1px solid var(--c-border)}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--c-accent-l);color:var(--c-accent);font-size:.75rem;font-weight:700;letter-spacing:.09em;padding:4px 12px;border-radius:999px;margin-bottom:22px;text-transform:uppercase}.hero-title{font-family:var(--font-head);font-size:clamp(2rem,5vw,3.2rem);font-weight:900;color:var(--c-text);line-height:1.2;margin-bottom:16px;letter-spacing:-.02em}.hero-title em{font-style:normal;color:var(--c-accent)}.hero-desc{color:var(--c-text2);font-size:1rem;max-width:420px;margin:0 auto 48px;line-height:1.8}.chat-card{max-width:640px;margin-inline:auto;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);overflow:hidden}.chat-topbar{padding:14px 20px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:10px;background:var(--c-surface)}.chat-topbar .bot-avatar{width:34px;height:34px;border-radius:50%;background:var(--c-accent);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.chat-topbar .bot-name{font-family:var(--font-head);font-weight:700;font-size:.92rem;color:var(--c-text)}.chat-topbar .bot-status{font-size:.7rem;color:var(--c-text3);margin-top:1px}.online-pip{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.2);margin-left:auto;flex-shrink:0;animation:pip 2.4s ease-in-out infinite}@keyframes pip{0%,100%{opacity:1}50%{opacity:.4}}.chat-log{min-height:260px;max-height:360px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--c-border2) transparent}.chat-log::-webkit-scrollbar{width:4px}.chat-log::-webkit-scrollbar-thumb{background:var(--c-border2);border-radius:4px}.msg{display:flex;gap:8px;align-items:flex-end;animation:fadein .24s ease both}@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg.user{flex-direction:row-reverse}.msg-av{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem}.msg.ai .msg-av{background:var(--c-accent-l)}.msg.user .msg-av{background:var(--c-surface2)}.msg-bub{max-width:78%;padding:9px 13px;font-size:.88rem;line-height:1.65;border-radius:14px}.msg.ai .msg-bub{background:var(--c-surface);border:1px solid var(--c-border);border-bottom-left-radius:3px;color:var(--c-text)}.msg.user .msg-bub{background:var(--c-accent);color:#fff;border-bottom-right-radius:3px}.typing-dots{display:flex;gap:4px;padding:4px 2px;align-items:center}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--c-text3);animation:tdot 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes tdot{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}}.chat-footer{border-top:1px solid var(--c-border);padding:12px 14px;display:flex;gap:8px;align-items:center;background:var(--c-surface)}.chat-footer input{flex:1;background:var(--c-bg);border:1px solid var(--c-border2);border-radius:999px;padding:9px 16px;font-size:.88rem;font-family:var(--font-body);color:var(--c-text);outline:none;transition:border-color var(--transition)}.chat-footer input::placeholder{color:var(--c-text3)}.chat-footer input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(45,106,79,.08)}.send-btn{width:38px;height:38px;border-radius:50%;background:var(--c-accent);border:none;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition),transform .1s}.send-btn:hover{background:var(--c-accent-b)}.send-btn:active{transform:scale(.93)}.send-btn:disabled{opacity:.5;cursor:default}.mic-btn{width:38px;height:38px;border-radius:50%;background:var(--c-surface2);border:1px solid var(--c-border2);font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition);line-height:1}.mic-btn:hover:not(:disabled){background:var(--c-border)}.mic-btn:disabled{opacity:.4;cursor:default}.ad-wrap{width:100%;margin:28px 0}.ad-placeholder{background:var(--c-surface);border:1px dashed var(--c-border2);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-text3);font-size:.72rem;letter-spacing:.04em;overflow:hidden}.ad-h{height:90px}.ad-sq{min-height:250px;margin-bottom:20px}.section{padding:64px 0}.sec-head{margin-bottom:36px}.sec-label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent);margin-bottom:8px}.sec-title{font-family:var(--font-head);font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:900;color:var(--c-text);letter-spacing:-.01em}.sec-lead{margin-top:8px;font-size:.9rem;color:var(--c-text2)}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.post-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--transition),transform var(--transition)}.post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.post-card-img{width:100%;height:170px;object-fit:cover}.post-card-no-img{width:100%;height:170px;background:var(--c-surface);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--c-text3)}.post-card-body{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column}.post-cat{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-accent);background:var(--c-accent-l);padding:2px 9px;border-radius:999px;margin-bottom:10px}.post-card-title{font-family:var(--font-head);font-size:.97rem;font-weight:700;line-height:1.5;color:var(--c-text);flex:1;margin-bottom:12px}.post-card-title a:hover{color:var(--c-accent)}.post-meta{font-size:.75rem;color:var(--c-text3)}.with-sidebar{display:grid;grid-template-columns:1fr 280px;gap:36px;align-items:start}.sidebar-box{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px;margin-bottom:20px}.sidebar-box-title{font-family:var(--font-head);font-size:.88rem;font-weight:700;color:var(--c-text);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--c-border)}.entry-wrap{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:40px;box-shadow:var(--shadow-xs)}.entry-wrap h1{font-family:var(--font-head);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:900;line-height:1.35;margin-bottom:20px}.entry-meta{font-size:.78rem;color:var(--c-text3);display:flex;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--c-border);margin-bottom:28px}.entry-content{line-height:1.9}.entry-content h2{font-family:var(--font-head);font-size:1.3rem;font-weight:700;margin:2.2em 0 .7em;padding:10px 14px;background:var(--c-surface);border-left:3px solid var(--c-accent);border-radius:0 var(--r-sm) var(--r-sm) 0}.entry-content h3{font-family:var(--font-head);font-size:1.05rem;font-weight:700;margin:1.8em 0 .5em;color:var(--c-accent-b)}.entry-content p{margin-bottom:1.3em}.entry-content ul,.entry-content ol{padding-left:1.6em;margin-bottom:1.3em}.entry-content li{margin-bottom:.4em}.entry-content a{color:var(--c-accent);border-bottom:1px solid rgba(45,106,79,.25);transition:border-color var(--transition)}.entry-content a:hover{border-color:var(--c-accent)}.entry-content code{background:var(--c-surface2);padding:1px 5px;border-radius:4px;font-size:.87em;border:1px solid var(--c-border)}.entry-content pre{background:#1e1e1e;color:#d4d4d4;padding:20px;border-radius:var(--r-md);overflow-x:auto;margin-bottom:1.5em;font-size:.86rem;line-height:1.6}.entry-content pre code{background:0 0;border:none;padding:0;font-size:inherit;color:inherit}.entry-content blockquote{border-left:3px solid var(--c-border2);padding:12px 20px;margin:1.5em 0;color:var(--c-text2);background:var(--c-surface);border-radius:0 var(--r-sm) var(--r-sm) 0}.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:999px;font-size:.88rem;font-weight:700;transition:all var(--transition);border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.btn-primary:hover{background:var(--c-accent-b);border-color:var(--c-accent-b)}.btn-ghost{background:0 0;color:var(--c-text2);border-color:var(--c-border2)}.btn-ghost:hover{color:var(--c-text);border-color:var(--c-text2)}.pagination{display:flex;justify-content:center;gap:6px;margin-top:48px;flex-wrap:wrap}.pagination a,.pagination span{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;padding:0 10px;border-radius:var(--r-sm);font-size:.88rem;font-weight:600;border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text2);transition:all var(--transition)}.pagination .current{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.pagination a:hover{border-color:var(--c-accent);color:var(--c-accent)}.site-footer{background:var(--c-surface);border-top:1px solid var(--c-border);padding:0 0 28px;color:var(--c-text2)}.footer-ad-row{border-bottom:1px solid var(--c-border);padding:20px 0 0;margin-bottom:40px}.footer-main{display:grid;grid-template-columns:1.8fr 1fr 1.2fr;gap:40px;margin-bottom:32px}.footer-brand{display:flex;flex-direction:column;gap:12px}.footer-logo{display:inline-flex;align-items:center;gap:8px;color:var(--c-text)}.footer-logo-icon{width:28px;height:28px;border-radius:7px;background:var(--c-accent);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.footer-logo-name{font-family:var(--font-head);font-weight:700;font-size:1rem}.footer-tagline{font-size:.83rem;line-height:1.75;color:var(--c-text2)}.footer-cta{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--c-accent);background:var(--c-accent-l);border:1px solid rgba(45,106,79,.2);padding:7px 14px;border-radius:999px;width:fit-content;transition:background var(--transition)}.footer-cta:hover{background:rgba(45,106,79,.12)}.footer-col{display:flex;flex-direction:column}.footer-col-ttl{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text);margin-bottom:12px}.footer-links{list-style:none}.footer-links li{margin-bottom:10px}.footer-links a{font-size:.84rem;color:var(--c-text2);transition:color var(--transition);line-height:1.4}.footer-links a:hover{color:var(--c-accent)}.footer-credits{border-top:1px solid var(--c-border);padding:16px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.footer-credits-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text3);white-space:nowrap;margin-right:4px}.footer-credits-badges{display:flex;flex-wrap:wrap;gap:8px}.footer-bottom{border-top:1px solid var(--c-border);padding-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--c-text3);flex-wrap:wrap;gap:8px}.footer-law a{color:var(--c-text3);text-decoration:underline;text-underline-offset:2px}.footer-law a:hover{color:var(--c-accent)}.breadcrumb{font-size:.8rem;color:var(--c-text3);margin-bottom:22px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.breadcrumb a{color:var(--c-text3)}.breadcrumb a:hover{color:var(--c-accent)}.breadcrumb .sep{color:var(--c-border2)}@media (max-width:768px){.with-sidebar{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:28px}.site-nav{display:none}.nav-toggle{display:flex}.site-nav.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:var(--header-h);left:0;right:0;background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:12px 20px 20px;gap:4px}.entry-wrap{padding:24px 20px}}.chat-settings{border-bottom:1px solid var(--c-border);padding:10px 14px;background:var(--c-surface)}.chat-settings summary{cursor:pointer;color:var(--c-accent);font-weight:700;font-size:13px;user-select:none}.setting-row{display:grid;gap:6px;margin-top:10px}.setting-row label{color:var(--c-text2);font-size:12px;font-weight:700}.setting-row select,.setting-row textarea{width:100%;border:1px solid var(--c-border2);border-radius:var(--r-md);padding:9px 10px;background:var(--c-bg);color:var(--c-text);font:inherit;font-size:.88rem;outline:none;transition:border-color var(--transition)}.setting-row select:focus,.setting-row textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(45,106,79,.08)}.setting-row textarea{resize:vertical}.setting-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.setting-actions button{border:1px solid var(--c-border2);border-radius:999px;padding:6px 14px;background:var(--c-accent-l);color:var(--c-accent);font-weight:700;font-size:.82rem;cursor:pointer;transition:background var(--transition)}.setting-actions button:hover{background:rgba(45,106,79,.12)}#preferenceStatus{color:var(--c-text3);font-size:12px}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.85rem;font-weight:700;color:var(--c-text);display:flex;align-items:center;gap:6px}.form-required{font-size:.68rem;background:#e74c3c;color:#fff;padding:1px 6px;border-radius:3px;font-weight:700}.form-input{background:var(--c-bg);border:1px solid var(--c-border2);border-radius:var(--r-md);padding:10px 14px;font-size:.9rem;font-family:var(--font-body);color:var(--c-text);outline:none;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-input:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(45,106,79,.08)}.form-input::placeholder{color:var(--c-text3)}.form-textarea{resize:vertical;min-height:150px}.credit-badge{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:var(--c-text2);border:1px solid var(--c-border);border-radius:6px;padding:5px 10px;transition:border-color var(--transition),color var(--transition);white-space:nowrap}.credit-badge:hover{border-color:var(--c-accent);color:var(--c-accent)}.credit-sub{font-size:.68rem;color:var(--c-text3);margin-left:2px}.alignleft{float:left;margin-right:1.5rem;margin-bottom:1rem}.alignright{float:right;margin-left:1.5rem;margin-bottom:1rem}.aligncenter{margin-inline:auto;display:block}.wp-caption-text{font-size:.8rem;color:var(--c-text3);text-align:center;margin-top:6px}