:root{--color-primary: #1e73be;--color-primary-dark: #155a96;--color-accent: #dd9933;--color-text: #333333;--color-text-light: #666666;--color-bg: #ffffff;--color-bg-light: #f5f7fa;--color-border: #e0e0e0;--color-link: #1e73be;--color-link-hover: #155a96;--font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ", sans-serif;--font-heading: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ", sans-serif;--max-width: 1200px;--content-width: 800px;--sidebar-width: 340px;--gap: 30px;--radius: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-link);text-decoration:none;transition:color .2s}a:hover{color:var(--color-link-hover);text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.4;color:var(--color-text)}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.site-content{display:flex;gap:var(--gap);padding:30px 0}.main-column{flex:1;min-width:0}.sidebar{width:var(--sidebar-width);flex-shrink:0}@media(max-width:768px){.site-content{flex-direction:column;padding:20px 0}.sidebar{width:100%}}.site-header{background:var(--color-primary);color:#fff;padding:0;border-bottom:3px solid var(--color-primary-dark)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px}.site-title{font-size:1.3rem;font-weight:700;color:#fff;text-decoration:none}.site-title:hover{color:#fff;text-decoration:none;opacity:.9}.site-description{font-size:.8rem;color:#fffc;margin-left:12px}.main-nav{display:flex;gap:0}.main-nav a{color:#fff;padding:0 16px;height:60px;display:flex;align-items:center;font-size:.9rem;text-decoration:none;transition:background .2s}.main-nav a:hover{background:#ffffff26;text-decoration:none}.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px}@media(max-width:768px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--color-primary);flex-direction:column;z-index:100;box-shadow:0 4px 6px #0000001a}.main-nav.open{display:flex}.main-nav a{height:auto;padding:12px 20px;border-top:1px solid rgba(255,255,255,.1)}.site-description{display:none}}.site-footer{background:#333;color:#ccc;padding:20px 0;text-align:center;font-size:.85rem;margin-top:40px}.site-footer a{color:#ccc}.article-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;margin-bottom:20px;transition:box-shadow .2s}.article-card:hover{box-shadow:0 2px 8px #00000014}.article-card a{text-decoration:none;color:inherit;display:flex}.article-card-thumbnail{width:200px;height:140px;object-fit:cover;flex-shrink:0}.article-card-body{padding:16px;flex:1;min-width:0}.article-card-title{font-size:1.05rem;font-weight:700;line-height:1.5;margin-bottom:8px;color:var(--color-text)}.article-card-meta{font-size:.8rem;color:var(--color-text-light);margin-bottom:6px}.article-card-excerpt{font-size:.85rem;color:var(--color-text-light);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media(max-width:768px){.article-card a{flex-direction:column}.article-card-thumbnail{width:100%;height:180px}}.article-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.article-header h1{font-size:1.6rem;margin-bottom:12px}.article-meta{font-size:.85rem;color:var(--color-text-light)}.article-meta span+span:before{content:" | "}.article-thumbnail{margin-bottom:24px;border-radius:var(--radius);overflow:hidden}.article-content{font-size:1rem;line-height:2}.article-content h2{font-size:1.4rem;margin:2em 0 .8em;padding:8px 0 8px 16px;border-left:4px solid var(--color-primary)}.article-content h3{font-size:1.2rem;margin:1.5em 0 .6em}.article-content h4{font-size:1.05rem;margin:1.2em 0 .5em}.article-content p{margin:1em 0}.article-content ul,.article-content ol{margin:1em 0;padding-left:1.8em}.article-content li{margin:.3em 0}.article-content blockquote{border-left:4px solid var(--color-border);padding:12px 20px;margin:1.5em 0;background:var(--color-bg-light);color:var(--color-text-light)}.article-content img{margin:1.5em auto;border-radius:var(--radius)}.article-content pre{background:var(--color-bg-light);padding:16px;border-radius:var(--radius);overflow-x:auto;margin:1.5em 0}.article-content code{font-size:.9em;background:var(--color-bg-light);padding:2px 6px;border-radius:3px}.article-content pre code{background:none;padding:0}.article-content table{width:100%;border-collapse:collapse;margin:1.5em 0}.article-content th,.article-content td{border:1px solid var(--color-border);padding:8px 12px;text-align:left}.article-content th{background:var(--color-bg-light);font-weight:700}.category-badge{display:inline-block;background:var(--color-primary);color:#fff;padding:2px 10px;border-radius:3px;font-size:.75rem;text-decoration:none}.category-badge:hover{background:var(--color-primary-dark);color:#fff;text-decoration:none}.tag-badge{display:inline-block;background:var(--color-bg-light);color:var(--color-text-light);padding:2px 8px;border-radius:3px;font-size:.75rem;border:1px solid var(--color-border);text-decoration:none}.tag-badge:hover{background:var(--color-border);text-decoration:none}.article-tags{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:6px}.widget{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin-bottom:20px}.widget-title{font-size:1rem;font-weight:700;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}.widget ul{list-style:none;padding:0}.widget li{padding:6px 0;border-bottom:1px solid var(--color-bg-light);font-size:.9rem}.widget li:last-child{border-bottom:none}.widget li a{display:flex;justify-content:space-between;align-items:center}.widget .count{color:var(--color-text-light);font-size:.8rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:6px}.pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin:30px 0}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;text-decoration:none}.pagination a:hover{background:var(--color-bg-light);text-decoration:none}.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.page-title{font-size:1.3rem;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-primary)}.breadcrumb{font-size:.8rem;color:var(--color-text-light);padding:12px 0}.breadcrumb a{color:var(--color-text-light)}.breadcrumb span{margin:0 6px}.static-page{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:30px;margin-bottom:30px}.static-page p{margin:1em 0;line-height:2}.static-page h2{font-size:1.3rem;margin:2em 0 .8em;padding:8px 0 8px 16px;border-left:4px solid var(--color-primary)}.static-page h3{font-size:1.1rem;margin:1.5em 0 .5em}.static-page ul{margin:1em 0;padding-left:1.8em}.static-page li{margin:.4em 0;line-height:1.8}.static-section{margin-bottom:2em}.last-updated{font-size:.85rem;color:var(--color-text-light);margin-bottom:1.5em}.note{font-size:.9rem;color:var(--color-text-light)}.info-table{width:100%;border-collapse:collapse;margin:1em 0}.info-table th,.info-table td{border:1px solid var(--color-border);padding:10px 14px;text-align:left;font-size:.95rem}.info-table th{background:var(--color-bg-light);font-weight:700;width:140px;white-space:nowrap}.contact-form{max-width:600px}.form-group{margin-bottom:1.2em}.form-group label{display:block;font-weight:700;margin-bottom:4px;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);line-height:1.6}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1e73be26}.required{color:#c00}.form-note{font-size:.85rem;color:var(--color-text-light);margin-bottom:1.2em}.submit-btn{display:inline-block;padding:12px 32px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn:hover{background:var(--color-primary-dark)}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:10px}.footer-nav a{color:#ccc;font-size:.85rem}.footer-nav a:hover{color:#fff;text-decoration:underline}.footer-operator{font-size:.8rem;color:#999;margin-bottom:4px}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#333333f2;color:#fff;z-index:9999;padding:14px 20px}.cookie-banner-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.cookie-banner p{font-size:.85rem;line-height:1.6;margin:0}.cookie-banner a{color:#8cc4ff}.cookie-accept-btn{flex-shrink:0;padding:8px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .2s}.cookie-accept-btn:hover{background:var(--color-primary-dark)}.conversation-bubble{display:flex;align-items:flex-start;gap:16px;margin:1.2em 0}.conversation-bubble.conversation-teacher{flex-direction:row-reverse}.conversation-avatar{flex-shrink:0;text-align:center;width:80px}.conversation-avatar img{width:64px;height:64px;border-radius:50%;margin:0 auto;object-fit:cover}.conversation-name{display:block;font-size:.7rem;color:var(--color-text-light);margin-top:4px;line-height:1.3}.conversation-message{position:relative;padding:14px 18px;border-radius:16px;max-width:calc(100% - 100px);line-height:1.8;flex:1;min-width:0}.conversation-message p{margin:0}.conversation-message p+p{margin-top:.6em}.conversation-student .conversation-message{background:#e8f4fd;border:1px solid #d0e4f2;border-radius:16px 16px 16px 0}.conversation-teacher .conversation-message{background:#f0f8e8;border:1px solid #d4e8c8;border-radius:16px 16px 0}@media(max-width:768px){.conversation-avatar{width:56px}.conversation-avatar img{width:48px;height:48px}.conversation-bubble{gap:10px}.conversation-message{padding:12px 14px;font-size:.92rem}.static-page{padding:20px 16px}.cookie-banner-inner{flex-direction:column;text-align:center}}
