:root{--primary-color:#123d22;--primary-light:#1a5632;--accent-color:#c5a030;--accent-hover:#b08d26;--text-main:#2c2c2c;--text-sub:#555;--bg-light:#fdfcf9;--bg-white:#fff;--border-color:#e0e0e0;--font-main:"Noto Sans JP",sans-serif;--font-title:"Zen Kaku Gothic New",sans-serif;--alert-color:#e74c3c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-main);color:var(--text-main);background-color:var(--bg-white);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.8}h1,h2,h3,h4,h5{font-family:var(--font-title);letter-spacing:.05em;margin-top:0;font-weight:700}a{color:inherit;text-decoration:none;transition:all .3s}ul{margin:0;padding:0;list-style:none}.container{max-width:1140px;margin:0 auto;padding:0 24px}.cta-button-main{background:linear-gradient(135deg,var(--accent-color),#d4b045);color:var(--bg-white);letter-spacing:.05em;cursor:pointer;border:none;border-radius:50px;padding:18px 48px;font-size:1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 4px 15px #c5a0304d}.cta-button-main:hover{background:linear-gradient(135deg,#d4b045,var(--accent-color));transform:translateY(-2px);box-shadow:0 6px 20px #c5a03066}.line-btn{background-color:#06c755;border-radius:50px;align-items:center;gap:8px;padding:10px 24px;font-size:.9rem;font-weight:700;transition:all .3s;display:inline-flex;box-shadow:0 4px 10px #06c7554d;color:#fff!important}.line-btn:hover{background-color:#05b34c;transform:translateY(-2px);box-shadow:0 6px 15px #06c75566}.line-btn i{font-size:1.4rem}.sogo-link{border:1px solid var(--primary-color);background-color:#0000;border-radius:4px;align-items:center;gap:5px;transition:all .3s;display:inline-flex;color:var(--primary-color)!important;padding:8px 16px!important;font-size:.85rem!important;font-weight:700!important}.sogo-link:hover{background-color:var(--primary-color);color:#fff!important}section{padding:100px 0}.section-title{text-align:center;color:var(--primary-color);margin-bottom:20px;padding-bottom:20px;font-size:2.4rem;position:relative}.section-title:after{content:"";background-color:var(--accent-color);width:60px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.section-subtitle{text-align:center;color:var(--text-sub);max-width:800px;margin:0 auto 60px;font-size:1.05rem}.section-subtitle strong{color:var(--primary-color);background:linear-gradient(#0000 70%,#fff3cd 70%)}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background-color:#fffffff2;align-items:center;width:100%;height:80px;display:flex;position:fixed;top:0;box-shadow:0 1px 10px #0000000d}.header .container{justify-content:space-between;align-items:center;width:100%;display:flex}.logo{z-index:1001;align-items:center;text-decoration:none;display:flex;position:relative}.logo img{width:auto;height:65px;margin-right:15px;display:block}.logo-text{flex-direction:column;justify-content:center;line-height:1.2;display:flex}.logo-title{color:var(--primary-color);letter-spacing:.05em;font-size:1.3rem;font-weight:700}.logo-subtitle{color:#777;margin-top:2px;font-size:.7rem;font-weight:500}.pc-nav ul{align-items:center;gap:20px;display:flex}.pc-nav li{align-items:center;height:80px;display:flex;position:relative}.pc-nav a:not(.line-btn):not(.sogo-link){color:var(--text-main);padding:10px 0;font-size:.9rem;font-weight:500;position:relative}.pc-nav a:not(.line-btn):not(.sogo-link):after{content:"";background-color:var(--primary-color);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.pc-nav a:not(.line-btn):not(.sogo-link):hover:after{width:100%}.hamburger-menu{cursor:pointer;z-index:1001;flex-direction:column;justify-content:space-between;width:30px;height:24px;display:none}.hamburger-menu span{background-color:var(--primary-color);border-radius:3px;width:100%;height:3px;transition:all .3s;display:block}.hamburger-menu.active span:first-child{transform:translateY(10.5px)rotate(45deg)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:translateY(-10.5px)rotate(-45deg)}.mobile-nav{background-color:var(--bg-white);z-index:1000;width:80%;height:100vh;padding-top:90px;transition:right .4s;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-5px 0 15px #0000001a}.mobile-nav.active{right:0}.mobile-nav ul{flex-direction:column;padding:0 30px;display:flex}.mobile-nav li{border-bottom:1px solid #eee;margin-bottom:0}.mobile-nav a:not(.line-btn):not(.sogo-link){color:var(--primary-color);padding:20px 0;font-size:1rem;font-weight:700;display:block}.nav-overlay{z-index:999;opacity:0;visibility:hidden;background:#00000080;width:100%;height:100%;transition:all .3s;position:fixed;top:0;left:0}.nav-overlay.active{opacity:1;visibility:visible}#hero{text-align:center;height:100vh;min-height:650px;color:var(--bg-white);background:url(/images/hoshinomura.png) 50%/cover no-repeat;justify-content:center;align-items:center;padding-top:140px;display:flex;position:relative}#hero:before{content:"";background:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;max-width:900px;padding:0 20px;position:relative}.campaign-banner{background-color:var(--alert-color);color:#fff;border-radius:50px;margin-bottom:20px;padding:8px 24px;font-size:1rem;font-weight:700;animation:2s infinite pulse;display:inline-block;box-shadow:0 4px 15px #e74c3c66}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #e74c3cb3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #e74c3c00}to{transform:scale(1);box-shadow:0 0 #e74c3c00}}#hero h1{text-shadow:0 2px 15px #0000004d;letter-spacing:.08em;margin-bottom:24px;font-size:3rem;line-height:1.4}#hero p{opacity:.95;text-shadow:0 1px 10px #00000080;margin-bottom:48px;font-size:1.25rem;font-weight:500;line-height:2}.reason-grid{flex-wrap:wrap;justify-content:space-between;max-width:1140px;margin:0 auto;display:flex}.reason-card{background:var(--bg-white);border:1px solid #eee;border-radius:16px;flex-direction:column;width:calc(50% - 20px);margin-bottom:30px;transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000d}.reason-card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 15px 40px #0000001a}.reason-header{background-color:var(--primary-color);color:#fff;text-align:center;padding:20px;position:relative}.reason-num{font-family:var(--font-title);color:var(--accent-color);margin-bottom:5px;font-size:1.2rem;font-weight:700;display:block}.reason-header h3{color:#fff;margin:0;font-size:1.15rem;line-height:1.4}.reason-body{text-align:center;flex-grow:1;padding:30px 20px}.reason-icon{color:var(--primary-color);background:#f0f7f2;border-radius:50%;width:70px;height:70px;margin-bottom:15px;font-size:2.5rem;line-height:70px;display:inline-block}.reason-body p{text-align:left;color:var(--text-sub);margin-bottom:0;font-size:.9rem;line-height:1.8}#flow{background:var(--bg-white)}.roadmap{counter-reset:step;max-width:860px;margin:0 auto;position:relative}.roadmap:before{content:"";background:#eee;width:2px;position:absolute;top:20px;bottom:20px;left:24px}.roadmap li{margin-bottom:60px;padding-left:80px;position:relative}.roadmap li:last-child{margin-bottom:0}.roadmap li:before{counter-increment:step;content:"0" counter(step);background-color:var(--bg-white);border:2px solid var(--accent-color);text-align:center;width:50px;height:50px;color:var(--accent-color);font-size:1.2rem;font-weight:700;line-height:46px;font-family:var(--font-title);z-index:2;border-radius:50%;position:absolute;top:0;left:0}.roadmap h3{color:var(--primary-color);align-items:center;margin-bottom:12px;font-size:1.5rem;display:flex}.roadmap p{color:var(--text-sub);font-size:1rem}#course{background-color:#f4f7f5}.course-container{max-width:900px;margin:0 auto}.main-course-card{background:var(--bg-white);border:2px solid var(--accent-color);border-radius:20px;flex-direction:column;margin-bottom:60px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #00000014}.main-course-card:before{content:"★迷ったらこれ";background-color:var(--accent-color);color:var(--bg-white);border-bottom-left-radius:12px;padding:8px 30px;font-size:1rem;font-weight:700;position:absolute;top:0;right:0}.premium-link-section{text-align:center;border:1px dashed var(--primary-color);background:#fff;border-radius:16px;padding:40px}.premium-btn{background-color:var(--primary-color);color:#fff;border-radius:8px;margin-top:15px;padding:15px 40px;font-weight:700;transition:all .3s;display:inline-block}.premium-btn:hover{background-color:var(--primary-light);opacity:.9;transform:translateY(-2px)}.course-header{text-align:center;background-color:#fff;border-bottom:1px solid #f0f0f0;padding:40px 30px 20px}.course-tag{color:var(--bg-white);letter-spacing:.05em;border-radius:50px;margin-bottom:20px;padding:6px 16px;font-size:.85rem;font-weight:700;display:inline-block}.tag-gold{background:linear-gradient(135deg,var(--accent-color),#d4b045)}.price{color:var(--primary-color);font-size:3.2rem;font-weight:700;font-family:var(--font-title);margin:24px 0 10px}.price span{color:#999;font-size:1.1rem;font-weight:500}.course-body{background-color:#fcfcfc;flex-grow:1;padding:40px}.course-features{flex-wrap:wrap;justify-content:center;gap:15px;list-style:none;display:flex}.course-features li{width:48%;color:var(--text-main);text-align:left;margin-bottom:10px;padding-left:28px;font-size:1.1rem;font-weight:700;position:relative}.course-features li:before{content:"";color:var(--accent-color);font-family:"Font Awesome 6 Free";font-size:1rem;font-weight:900;position:absolute;top:4px;left:0}#teacher{background-color:var(--bg-white)}.teacher-grid{grid-template-columns:repeat(2,1fr);gap:60px;max-width:960px;margin:0 auto;display:grid}.teacher-card{text-align:center}.teacher-img{object-fit:cover;border:6px solid var(--bg-light);border-radius:50%;width:220px;height:220px;margin-bottom:24px;box-shadow:0 10px 20px #0000001a}.teacher-role{color:var(--accent-color);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.9rem;font-weight:700;display:block}.teacher-card h3{margin-bottom:24px;font-size:1.8rem}.teacher-spec{text-align:left;background:var(--bg-light);border:1px solid #f0f0f0;border-radius:12px;padding:30px;font-size:1rem;line-height:1.9}.teacher-spec strong{color:var(--primary-color);background:linear-gradient(#0000 70%,#d4edda 70%)}.founding-story{background-color:var(--bg-light);border:1px solid #eee;border-radius:16px;margin-top:80px;padding:50px 40px;position:relative}.founding-story:before{content:"";color:var(--accent-color);background:#fff;padding:0 10px;font-family:"Font Awesome 6 Free";font-size:3rem;font-weight:900;position:absolute;top:-20px;left:40px}.founding-story h3{text-align:center;color:var(--primary-color);font-size:1.6rem;font-family:var(--font-title);margin-bottom:30px}.story-content{text-align:left;max-width:800px;margin:0 auto}.story-content p{margin-bottom:20px;font-size:1rem;line-height:2}.story-lead{font-weight:500}.highlight{color:var(--text-main);background:linear-gradient(#0000 60%,#fff3cd 60%);font-weight:700}.faq-section{background-color:var(--bg-light)}.faq-item{background:var(--bg-white);border:1px solid #eaeaea;border-radius:8px;max-width:860px;margin-bottom:20px;margin-left:auto;margin-right:auto;padding:24px 32px;transition:box-shadow .3s}.faq-item:hover{box-shadow:0 5px 15px #00000008}.faq-q{color:var(--primary-color);margin-bottom:12px;padding-left:36px;font-size:1.15rem;font-weight:700;position:relative}.faq-q:before{content:"Q.";color:var(--accent-color);font-size:1.3rem;font-weight:900;position:absolute;top:-2px;left:0}.faq-a{color:var(--text-sub);padding-left:36px;font-size:1rem;line-height:1.8}#contact{text-align:center;background-color:var(--bg-white);background-color:#fdfdfd;background-image:radial-gradient(#1a4d2e 1px,#0000 1px);background-size:30px 30px}#contact .container{background:var(--bg-white);border:1px solid #eee;border-radius:20px;max-width:900px;padding:60px;box-shadow:0 10px 40px #0000000d}#contact h2{color:var(--primary-color);margin-bottom:24px;font-size:2.4rem}.footer{background-color:var(--primary-color);color:#fffc;text-align:center;padding:60px 0;font-size:.9rem}.footer a{color:var(--bg-white);margin:0 12px;font-weight:500}.footer a:hover{color:var(--accent-color)}.microcopy{color:var(--primary-color);margin-bottom:15px;font-size:.9rem;font-weight:700;line-height:1.5;display:block}@media (max-width:960px){.reason-card{width:100%}.teacher-grid{grid-template-columns:1fr;gap:40px}}@media (max-width:768px){#hero h1{margin-bottom:15px;font-size:2.2rem;line-height:1.4}#hero p{padding:0 10px;font-size:.95rem;line-height:1.7}.badge{margin-bottom:5px;padding:4px 12px;font-size:.75rem}.hero-badges{gap:8px;margin-bottom:20px}#vision h2.section-title{font-size:1.8rem;line-height:1.4}#vision .section-subtitle{padding:0 10px;font-size:.95rem}.strength-section .section-title{font-size:1.6rem}.reason-card{width:100%}.logo img{height:45px;margin-right:10px}.logo-title{font-size:1rem}.logo-subtitle,.pc-nav{display:none}.hamburger-menu{margin-left:auto;display:flex}.course-features li{width:100%}.cta-button-main{text-align:center;width:100%;padding:16px}#contact .container,.founding-story{padding:40px 20px}.founding-story h3{font-size:1.3rem}.campaign-banner{width:90%;padding:6px 16px;font-size:.9rem}}@keyframes floatSimple{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.method-hero{background:var(--primary-color);color:#fff;text-align:center;padding:100px 20px}.method-hero h1{margin-bottom:20px;font-size:2.5rem}.method-hero p{opacity:.9;font-size:1.1rem}.comparison-box{background:#f9f9f9;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:40px;margin-bottom:60px;padding:40px;display:flex}.vs-card{background:#fff;border-radius:12px;flex:1;min-width:300px;padding:30px;box-shadow:0 5px 15px #0000000d}.vs-card.human{border-top:5px solid #999}.vs-card.ai{border-top:5px solid var(--accent-color);position:relative;overflow:hidden}.vs-card.ai:before{content:"WIN";background:var(--accent-color);color:#fff;padding:5px 40px;font-size:.8rem;font-weight:700;position:absolute;top:10px;right:-30px;transform:rotate(45deg)}.vs-title{text-align:center;margin-bottom:15px;font-size:1.3rem;font-weight:700}.vs-list li{margin-bottom:10px;padding-left:20px;font-size:.95rem;position:relative}.vs-card.human .vs-list li:before{content:"×";color:#999;font-weight:700;position:absolute;left:0}.vs-card.ai .vs-list li:before{content:"◎";color:var(--accent-color);font-weight:700;position:absolute;left:0}.logic-step{align-items:flex-start;margin-bottom:40px;display:flex}.step-num{color:var(--accent-color);font-size:3rem;font-weight:900;line-height:1;font-family:var(--font-title);margin-right:20px}.step-content h3{color:var(--primary-color);margin-bottom:10px;font-size:1.5rem}.prompt-example{color:#0f0;background:#2d2d2d;border-radius:8px;margin:20px 0;padding:20px;font-family:monospace;position:relative}.prompt-example:before{content:"PROMPT";color:#fff;background:#2d2d2d;border:1px solid #555;padding:0 10px;font-size:.8rem;position:absolute;top:-10px;left:10px}.prompt-box{background-color:#f4f4f4;border-left:5px solid #4caf50;border-radius:4px;margin:20px 0;padding:20px;font-weight:700;line-height:1.8}.line-mock{color:#000;background:#7494c0;border-radius:16px;max-width:600px;margin:0 auto;padding:30px;font-family:sans-serif}.line-balloon{background:#fff;border-radius:10px;margin-bottom:15px;padding:15px;font-size:.9rem;position:relative}.line-balloon.left{margin-right:20%}.line-balloon.left:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #fff;position:absolute;top:15px;left:-8px}.line-balloon.right{background:#8de055;margin-left:20%}.line-balloon.right:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:8px solid #8de055;position:absolute;top:15px;right:-8px}.line-label{color:#fff;margin-bottom:5px;font-size:.7rem;display:block}.line-divider{text-align:center;color:#ffffffb3;margin:20px 0;font-size:.8rem;position:relative}.line-divider:before,.line-divider:after{content:"";background:#ffffff4d;width:30%;height:1px;position:absolute;top:50%}.line-divider:before{left:0}.line-divider:after{right:0}.cta-btn{background:var(--accent-color);color:#fff;border-radius:50px;margin-top:30px;padding:15px 40px;font-weight:700;transition:transform .2s;display:inline-block}.cta-btn:hover{opacity:.9;transform:translateY(-2px)}@media (max-width:768px){.method-hero h1{font-size:1.8rem}.line-mock{padding:20px 15px}}.pc-nav .dropdown-menu{opacity:0;visibility:hidden;z-index:1000;border-top:3px solid var(--accent-color);background-color:#fff;border-radius:8px;min-width:220px;padding:10px 0;transition:all .3s;display:block;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000001a}.pc-nav li:hover .dropdown-menu{opacity:1;visibility:visible;top:80px}.pc-nav .dropdown-menu li{height:auto;margin:0;display:block}.pc-nav .dropdown-menu a.dropdown-link{color:var(--text-main);white-space:nowrap;padding:12px 20px;font-size:.9rem;display:block}.pc-nav .dropdown-menu a.dropdown-link:hover{background-color:var(--bg-light);color:var(--primary-color)}.column-list-section{background-color:var(--bg-light);min-height:100vh;padding:120px 0 80px}.column-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;display:grid}.column-card{background:var(--bg-white);color:inherit;border:1px solid #eee;border-radius:12px;flex-direction:column;height:100%;text-decoration:none;transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 4px 15px #0000000d}.column-card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.column-thumb{object-fit:cover;width:100%;height:200px}.column-content{flex-direction:column;flex-grow:1;padding:25px;display:flex}.column-tag{background-color:var(--accent-color);color:#fff;border-radius:4px;align-self:flex-start;margin-bottom:15px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-block}.column-card h3{color:var(--text-main);margin-bottom:15px;font-size:1.4rem;line-height:1.5}.column-meta{color:#777;border-top:1px solid #f0f0f0;align-items:center;gap:10px;margin-top:auto;padding-top:15px;font-size:.9rem;display:flex}.column-meta img{object-fit:cover;border-radius:50%;width:35px;height:35px}@media (max-width:768px){.column-list-section{padding-top:100px}}.article-header{text-align:center;background-color:var(--bg-light);border-bottom:1px solid #eee;padding:120px 0 60px}.article-title{color:var(--primary-color);margin-bottom:20px;font-size:2.2rem;line-height:1.4}.article-meta{justify-content:center;align-items:center;gap:15px;margin-top:30px;display:flex}.article-meta img{object-fit:cover;border:3px solid #fff;border-radius:50%;width:60px;height:60px;box-shadow:0 4px 10px #0000001a}.article-content{color:#444;max-width:800px;margin:0 auto;padding:60px 24px;font-size:1.05rem;line-height:2}.article-lead{border-left:5px solid var(--accent-color);background-color:#f4f7f5;border-radius:12px;margin-bottom:50px;padding:30px;font-size:1.1rem;font-weight:700}.article-content h3{color:var(--primary-color);border-bottom:2px solid var(--border-color);margin-top:70px;margin-bottom:30px;padding-bottom:10px;font-size:1.7rem}.article-content h4{color:var(--text-main);border-left:4px solid var(--primary-color);margin-top:40px;margin-bottom:20px;padding-left:15px;font-size:1.3rem}.article-content ul{margin-bottom:20px;margin-left:20px;list-style:outside}.article-img{border-radius:12px;width:100%;margin:40px 0;box-shadow:0 5px 20px #0000000d}.back-btn-container{text-align:center;border-top:1px solid #eee;margin-top:80px;padding-top:40px}@media (max-width:768px){.article-title{font-size:1.6rem}.article-lead{padding:20px;font-size:1rem}.article-content{padding:40px 20px}}:root{--alert-color:#e74c3c}.hero-badges{flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:30px;display:flex}.badge{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--bg-white);letter-spacing:.05em;background:#ffffff26;border:1px solid #ffffff4d;border-radius:30px;padding:8px 24px;font-size:.95rem;font-weight:700}#vision{background-color:var(--bg-white)}.strength-section{background-color:var(--bg-light)}.sogo-reason-grid{flex-wrap:wrap;justify-content:center;gap:30px;max-width:1140px;margin:0 auto;display:flex}.sogo-reason-card{background:var(--bg-white);border:1px solid #eee;border-radius:16px;flex-direction:column;width:calc(33.333% - 20px);transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000d}.sogo-reason-card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 15px 40px #0000001a}.course-card.recommended{border:2px solid var(--accent-color);z-index:10;transform:scale(1.05);box-shadow:0 20px 50px #0000001a}.course-card.recommended:before{content:"★ 東大生推奨";background-color:var(--accent-color);color:var(--bg-white);border-bottom-left-radius:12px;padding:6px 20px;font-size:.85rem;font-weight:700;position:absolute;top:0;right:0}.tag-red{background-color:#e57373}.tag-blue{background:linear-gradient(135deg,#4a90e2,#0056b3)}.course-desc{color:var(--text-sub);min-height:48px;margin-bottom:0;font-size:.95rem}.monitor-box{border:2px solid var(--accent-color);background-color:#fffae6;border-radius:12px;margin-bottom:30px;padding:20px;display:inline-block}.monitor-text{color:var(--alert-color);margin:0;font-size:1.2rem;font-weight:700}.achievement-note{color:var(--text-sub);border-left:3px solid var(--accent-color);background-color:#f9f9f9;border-radius:4px;margin-bottom:20px;padding:10px;font-size:.8rem}.achievement-note strong{color:var(--primary-color);border-bottom:1px dashed var(--primary-color)}.achievement-box{border:1px solid var(--accent-color);text-align:left;background-color:#fff;border-radius:8px;margin-top:25px;padding:20px}.achievement-box h4{color:var(--primary-color);border-bottom:2px solid #f0f0f0;margin:0 0 15px;padding-bottom:8px;font-size:1rem;font-weight:700}.achievement-category{color:#fff;background-color:var(--primary-light);border-radius:4px;margin:20px 0 10px;padding:4px 12px;font-size:.85rem;font-weight:700;display:inline-block}.achievement-category:first-of-type{background-color:var(--accent-color);margin-top:0}.achievement-list{color:var(--text-main);grid-template-columns:1fr 1fr;gap:4px 10px;margin:0;padding:0;font-size:.85rem;font-weight:500;list-style:none;display:grid}.achievement-list li:before{content:"▸";color:#ccc;margin-right:5px}@media (max-width:960px){.sogo-reason-card{width:calc(50% - 15px)}}@media (max-width:768px){.sogo-reason-card{width:100%}}@media (min-width:961px){.logo{max-width:250px}.logo img{height:50px;margin-right:10px}.logo-title{white-space:nowrap;font-size:1.1rem}.logo-subtitle{white-space:nowrap;margin-top:0;font-size:.65rem}.pc-nav ul{gap:10px}.pc-nav a:not(.line-btn):not(.sogo-link):not(.dropdown-link){white-space:nowrap;font-size:.85rem;font-weight:700}}.project-section{background-color:var(--bg-light);min-height:100vh;padding:120px 0 80px}.column-header{text-align:center;margin-bottom:60px}.logic-section{background-color:#fff;border-radius:16px;margin-bottom:80px;padding:80px 0;box-shadow:0 5px 20px #00000008}.logic-grid{grid-template-columns:1fr;gap:40px;max-width:900px;margin-top:40px;margin-left:auto;margin-right:auto;padding:0 20px;display:grid}.logic-item{border-bottom:1px solid #eee;align-items:flex-start;gap:20px;padding-bottom:30px;display:flex}.logic-item:last-child{border-bottom:none}.logic-icon{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;display:flex}.logic-content h3{color:var(--primary-color);margin-bottom:10px;font-size:1.4rem}.logic-content p{color:var(--text-sub);font-size:1rem;line-height:1.8}.faculty-map{background:#f4f7f5;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:20px;padding:25px;display:grid}.faculty-item{color:var(--primary-color);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px 15px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 2px 5px #0000000d}.faculty-item i{color:var(--accent-color);text-align:center;width:20px}.project-list{flex-direction:column;gap:60px;margin-top:60px;display:flex}.project-item{background:var(--bg-white);border:1px solid #0000000d;border-radius:16px;align-items:center;gap:50px;padding:40px;transition:transform .3s;display:flex;box-shadow:0 5px 20px #00000008}.project-item:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000014}.project-item:nth-child(2n){flex-direction:row-reverse}.project-img{border-radius:8px;flex:1;overflow:hidden}.project-img img{object-fit:cover;width:100%;height:320px;transition:transform .5s}.project-item:hover .project-img img{transform:scale(1.05)}.project-content{flex:1}.project-tags{flex-wrap:wrap;gap:10px;margin-bottom:15px;display:flex}.project-tag{color:var(--primary-color);background-color:#f0f7f2;border:1px solid #d4edda;border-radius:4px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-block}.tag-special{background-color:var(--accent-color);color:#fff;border:none}.project-content h3{color:var(--primary-color);margin-top:0;margin-bottom:20px;font-size:1.8rem;line-height:1.4}.project-content p{color:var(--text-main);margin-bottom:25px;line-height:1.9}.detail-link{border:1px solid var(--primary-color);color:var(--primary-color);border-radius:50px;padding:10px 30px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.detail-link:hover{background-color:var(--primary-color);color:#fff}.detail-link i{margin-left:8px;font-size:.8rem}@media (max-width:768px){.project-item,.project-item:nth-child(2n){flex-direction:column;gap:20px;padding:30px 20px}.project-img img{height:220px}.project-content h3{font-size:1.5rem}.logic-item{text-align:left;flex-direction:column}.logic-icon{margin-bottom:10px}}.article-category{background-color:var(--accent-color);color:#fff;letter-spacing:.05em;border-radius:50px;margin-bottom:25px;padding:6px 20px;font-size:.9rem;font-weight:700;display:inline-block}.article-date{color:#777;margin-top:15px;font-size:.95rem}.article-main-img{object-fit:cover;width:100%;max-height:600px;margin-bottom:80px;box-shadow:0 5px 25px #0000000d}.article-body{max-width:800px;color:var(--text-main);margin:0 auto;padding:0 20px 100px;font-size:1.05rem;line-height:1.9}.article-body h2{color:var(--primary-color);border-bottom:3px solid var(--accent-color);margin-top:80px;margin-bottom:40px;padding-bottom:15px;font-size:1.8rem;position:relative}.article-body h3{color:var(--primary-color);border-left:5px solid var(--primary-color);background:#f4f7f5;margin-top:50px;margin-bottom:20px;padding:10px 15px;font-size:1.4rem}.article-body p{margin-bottom:30px}.article-body ul{margin-bottom:30px;padding-left:20px;list-style:outside}.article-body li{margin-bottom:10px}.article-body img{border-radius:8px;width:100%;margin:40px 0;box-shadow:0 4px 15px #0000001a}.theme-box{background-color:#f8fcf9;border:1px solid #d4edda;border-radius:12px;margin-top:40px;padding:30px}.theme-item{border-bottom:1px dashed #ccc;margin-bottom:20px;padding-bottom:15px}.theme-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.theme-faculty{color:var(--primary-color);margin-bottom:5px;font-weight:700;display:block}.back-link{text-align:center;border-top:1px solid #eee;margin-top:80px;padding-top:40px}.back-btn{border:1px solid var(--primary-color);color:var(--primary-color);border-radius:50px;padding:12px 50px;font-weight:700;transition:all .3s;display:inline-block}.back-btn:hover{background-color:var(--primary-color);color:#fff}.note-btn-simple{border-radius:50px;padding:15px 40px;font-size:1.2rem;font-weight:700;text-decoration:none;transition:all .3s;animation:3s ease-in-out infinite floatSimple;display:inline-block;box-shadow:0 4px 15px #0000004d;color:#123d22!important;background-color:#fff!important}.note-btn-simple:hover{transform:translateY(-3px);color:#fff!important;background-color:#c5a030!important}.method-section{background-color:var(--bg-white);padding:120px 0 80px}.section-lead{text-align:center;color:var(--text-sub);max-width:800px;margin:0 auto 80px;font-size:1.1rem;line-height:2}.philosophy-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:100px;display:grid}.philo-card{text-align:center;background:var(--bg-light);border-bottom:4px solid var(--accent-color);border-radius:16px;padding:40px 20px;transition:transform .3s}.philo-card:hover{transform:translateY(-5px)}.philo-card h3{color:var(--primary-color);margin-bottom:15px;font-size:1.3rem}.philo-card p{color:var(--text-sub);text-align:left;font-size:.95rem;line-height:1.8}.philo-icon{color:var(--accent-color);margin-bottom:10px;font-size:2.5rem;display:block}.system-section{background-color:#f4f7f5;padding:80px 0}.system-box{background:#fff;border-radius:16px;max-width:900px;margin:0 auto;padding:50px;position:relative;box-shadow:0 10px 30px #0000000d}.system-title{text-align:center;color:var(--primary-color);margin-bottom:40px;font-size:1.8rem}.role-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.role-card{text-align:center;border:2px solid #eee;border-radius:12px;padding:30px;transition:all .3s}.role-card:hover{border-color:var(--accent-color);transform:translateY(-5px)}.role-icon{object-fit:cover;border:3px solid var(--bg-light);border-radius:50%;width:80px;height:80px;margin-bottom:15px}.role-name{color:var(--text-main);margin-bottom:10px;font-size:1.2rem;font-weight:700;display:block}.role-desc{text-align:left;padding:0;font-size:.9rem;line-height:1.8;list-style:none}.role-desc li:before{content:"✔";color:var(--accent-color);margin-right:5px}.plus-icon{color:var(--accent-color);font-size:2rem;font-weight:700}.flow-container{max-width:800px;margin:80px auto 0}.flow-item{gap:30px;margin-bottom:50px;display:flex}.flow-step{background:var(--primary-color);color:#fff;width:60px;height:60px;font-weight:700;font-family:var(--font-title);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.flow-content{border-left:1px solid #ddd;padding-bottom:20px;padding-left:30px}.flow-content h3{color:var(--primary-color);margin-bottom:15px;font-size:1.4rem}.flow-content p{color:var(--text-sub);font-size:1rem;line-height:1.8}@media (max-width:960px){.philosophy-grid,.role-grid{grid-template-columns:1fr}.plus-icon{margin:10px 0;transform:rotate(90deg)}}@media (max-width:768px){.method-section .section-title{font-size:1.6rem;line-height:1.4}.section-lead{text-align:left;margin-bottom:40px;padding:0 10px;font-size:.9rem;line-height:1.7}.system-box{padding:30px 20px}.system-section .section-title{font-size:1.6rem}.system-title{margin-bottom:30px;font-size:1.1rem;line-height:1.6}}.policy-section{padding:80px 0}.policy-title{text-align:center;color:var(--primary-color);margin-bottom:50px;font-size:2rem}.policy-content{background:#fff;border-radius:12px;padding:50px;box-shadow:0 5px 20px #0000000d}.policy-lead{margin-bottom:30px;font-weight:500}.term-item{margin-bottom:40px}.term-item h3{border-left:4px solid var(--accent-color);color:var(--text-main);background:#f4f7f5;margin-bottom:15px;padding:10px 15px;font-size:1.2rem}.term-item li{margin-bottom:8px;font-size:.95rem}.line-btn-mini{background:#06c755;border-radius:20px;padding:6px 18px;font-size:.85rem;font-weight:700;transition:opacity .3s;color:#fff!important}.line-btn-mini:hover{opacity:.8;color:#fff!important}.legal-section{padding:80px 0}.legal-title{text-align:center;color:var(--primary-color);margin-bottom:50px;font-size:2rem}.legal-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 5px 20px #0000000d}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:25px 30px}.legal-table th{width:30%;color:var(--primary-color);white-space:nowrap;background-color:#f9fbf9;font-size:.95rem;font-weight:700}.legal-table td{font-size:.95rem;line-height:1.8}.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:none}@media (max-width:768px){.legal-table th,.legal-table td{width:100%;padding:15px 20px;display:block}.legal-table th{color:var(--primary-color);background-color:#f0f7f2;border-bottom:none;padding-bottom:5px}.legal-table td{border-bottom:1px solid #eee;padding-top:5px}}.nav-links{align-items:center;gap:20px;margin-left:auto;font-size:.9rem;font-weight:700;display:flex}.nav-links a{color:var(--text-main);align-items:center;gap:5px;display:flex}.nav-links a:hover{color:var(--accent-color)}.nav-links .line-btn-mini{color:#fff!important}@media (max-width:768px){.nav-links{gap:10px;font-size:.75rem}.nav-links span{display:none}}
