:root{--primary-color:#00aeef;--secondary-color:#6c757d;--text-color:#343a40;--heading-color:#212529;--background-color:#fff;--light-background:#f8f9fa;--accent-color:gold;--border-radius:8px;--box-shadow:0 8px 24px rgba(0,0,0,.08);--border-color:rgba(0,0,0,.1);--transition:all .3s ease-in-out}@media (prefers-color-scheme:dark){:root{--primary-color:#00aeef;--secondary-color:#a0a0a0;--text-color:#e0e0e0;--heading-color:#fff;--background-color:#121212;--light-background:#1e1e1e;--accent-color:gold;--box-shadow:0 8px 24px rgba(0,0,0,.3);--border-color:rgba(255,255,255,.1)}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:'Noto Sans JP',sans-serif;line-height:1.8;color:var(--text-color);background-color:var(--background-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}.main-container{max-width:1200px;margin:0 auto;padding:0 20px}.section-title{text-align:center;font-family:'Montserrat',sans-serif;font-size:2.5rem;color:var(--heading-color);margin-bottom:1rem;font-weight:700}.section-subtitle{text-align:center;font-size:1.1rem;color:var(--secondary-color);max-width:700px;margin:0 auto 60px auto}.cta-btn{display:inline-block;background-color:var(--primary-color);color:#fff;font-weight:700;padding:14px 32px;border-radius:50px;text-decoration:none;transition:var(--transition);border:1px solid var(--primary-color);box-shadow:0 5px 20px rgba(0,174,239,.2)}.cta-btn:hover{background-color:transparent;color:var(--primary-color);transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,174,239,.3)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.scroll-animate{animation:slideUp 1s cubic-bezier(.25,1,.5,1) forwards;animation-timeline:view();animation-range-start:entry 10%;animation-range-end:cover 40%;opacity:0}header{background-color:rgba(255,255,255,.8);backdrop-filter:blur(10px);color:var(--heading-color);padding:1rem 0;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-color);transition:background-color .3s}@media (prefers-color-scheme:dark){header{background-color:rgba(30,30,30,.8)}}header .container-flex{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}header h1 a{color:var(--heading-color);text-decoration:none}header nav ul{list-style:none;margin:0;padding:0;display:flex}header nav ul li{margin-left:30px}header nav ul li a{color:var(--secondary-color);text-decoration:none;font-weight:500;font-size:.95rem;transition:var(--transition)}header nav ul li a:hover{color:var(--primary-color)}.hero-main{position:relative;height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 20px;overflow:hidden}.video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.video-background:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,rgba(18,18,18,.3) 0%,rgba(18,18,18,.8) 100%)}.video-background video{width:100%;height:100%;object-fit:cover}.hero-main .hero-content{max-width:800px;animation:fadeIn 1.5s ease-out}.hero-main .hero-content h2{font-family:'Montserrat',sans-serif;font-size:3.5rem;margin-bottom:.5rem;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hero-main .hero-content .subtitle{font-size:1.25rem;margin-bottom:2rem;font-weight:400;color:#fff}.problem-section{padding:100px 0;background-color:var(--background-color);border-top:1px solid var(--border-color);transition:background-color .3s}.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px, 1fr));gap:30px}.problem-card{background:var(--light-background);padding:35px 25px;border-radius:var(--border-radius);text-align:center;border:1px solid var(--border-color);transition:var(--transition)}.problem-card:hover{transform:translateY(-10px);border-color:var(--primary-color);box-shadow:var(--box-shadow)}.problem-card .icon{font-size:3rem;color:var(--primary-color);margin-bottom:20px}.problem-card h3{font-size:1.3rem;color:var(--heading-color);margin-bottom:15px}.problem-card p{font-size:1rem;color:var(--secondary-color);line-height:1.7}.hero-concept-inner{background-color:var(--light-background);padding:60px 40px;margin-bottom:40px;border-radius:var(--border-radius);border:1px solid var(--border-color)}.hero-concept-inner:last-of-type{margin-bottom:0}.hero-concept-inner .container{max-width:1200px;margin:0 auto;padding:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:40px}.hero-concept-inner .hero-text{flex:1 1 480px;max-width:580px}.hero-concept-inner .hero-text h3{font-family:'Montserrat',sans-serif;font-size:2.2rem;margin-bottom:20px;color:var(--heading-color)}.hero-concept-inner .hero-text p{font-size:1.1rem;margin-bottom:24px;color:var(--secondary-color);line-height:1.8}.hero-concept-inner .hero-image{flex:1 1 420px;text-align:center;position:relative}.hero-concept-inner .hero-image-slideshow-container{width:100%;aspect-ratio:4/3;position:relative;margin:0 auto;border-radius:var(--border-radius);overflow:hidden}.hero-concept-inner .hero-image-slideshow-container img{width:100%;height:100%;object-fit:contain;transition:opacity .5s ease-in-out}.hero-concept-inner .hero-image-nav-buttons{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 15px;z-index:10}.hero-concept-inner .hero-slider-btn{background-color:rgba(255,255,255,.5);color:#000;border:1px solid var(--border-color);padding:20px 15px;cursor:pointer;transition:background-color .3s ease;border-radius:50%}@media (prefers-color-scheme:dark){.hero-concept-inner .hero-slider-btn{background-color:rgba(30,30,30,.5);color:#fff}}.hero-concept-inner .hero-slider-btn:hover{background-color:rgba(0,174,239,.8);color:#fff}.hero-concept-inner .hero-image-dots-container{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;z-index:10}.hero-concept-inner .hero-image-dot{width:12px;height:12px;background-color:rgba(0,0,0,.2);border:1px solid var(--border-color);border-radius:50%;margin:0 5px;cursor:pointer;transition:background-color .3s ease}@media (prefers-color-scheme:dark){.hero-concept-inner .hero-image-dot{background-color:rgba(255,255,255,.2)}}.hero-concept-inner .hero-image-dot.active{background-color:var(--primary-color);border-color:var(--primary-color)}.solution-section{padding:100px 0;background-color:var(--background-color);border-top:1px solid var(--border-color)}.explanation-grid-new{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px, 1fr));gap:30px}.explanation-frame-new{background-color:var(--light-background);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden;transition:var(--transition)}.explanation-frame-new:hover{transform:translateY(-10px);box-shadow:var(--box-shadow);border-color:var(--primary-color)}.explanation-frame-new .explanation-content{padding:30px;flex-grow:1;display:flex;flex-direction:column}.explanation-frame-new .icon-title{display:flex;align-items:center;margin-bottom:15px}.explanation-frame-new .icon-title i{font-size:24px;color:var(--accent-color);margin-right:15px}.explanation-frame-new .icon-title h3{font-size:1.4rem;color:var(--heading-color);margin:0;font-weight:700}.explanation-frame-new p{color:var(--secondary-color);font-size:1rem;flex-grow:1}.paginated-story-section{background-color:var(--light-background);border-top:1px solid var(--border-color);padding:40px 20px;margin:80px 0;transition:background-color .3s}.story-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.story-header .section-title{margin-bottom:0}.story-toggle-button{background:0 0;border:2px solid var(--secondary-color);color:var(--secondary-color);width:40px;height:40px;border-radius:50%;cursor:pointer;transition:var(--transition);display:flex;justify-content:center;align-items:center}.story-toggle-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.story-toggle-button i{transition:transform .4s ease}.story-toggle-button.expanded i{transform:rotate(180deg)}.story-collapsible-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease-in-out;overflow:hidden}.story-collapsible-content.expanded{grid-template-rows:1fr}.story-collapsible-content .content-inner{min-height:0;padding-top:40px}.story-page.single{display:flex;align-items:center;gap:40px;box-sizing:border-box;padding-bottom:40px}.story-page .clock-column{flex:2;display:flex;justify-content:center;align-items:center}.story-page .text-column{flex:3;position:relative;display:flex;flex-direction:column}#storyTitle{font-size:1.25rem;margin-bottom:1.5rem !important}#storyText{white-space:pre-line}.story-page .top-right-tag{position:absolute;top:0;right:0;font-size:12px;font-weight:700;color:var(--primary-color);background-color:rgba(0,174,239,.1);padding:5px 12px;border-radius:20px;border:1px solid rgba(0,174,239,.2)}.clock-face{width:250px;height:250px;border:7px solid var(--primary-color);border-radius:50%;position:relative;box-shadow:0 0 20px rgba(0,174,239,.3),inset 0 0 15px rgba(0,174,239,.2)}.clock-face:after{content:'';position:absolute;width:15px;height:15px;background:var(--heading-color);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11}.hand{width:50%;height:6px;background:var(--heading-color);position:absolute;top:50%;transform-origin:100%;transform:rotate(0deg);border-radius:3px}.hour-hand{width:30%;left:20%;height:8px;background:var(--primary-color);z-index:3}.minute-hand{width:40%;left:10%;height:6px;background:var(--text-color);z-index:2}.second-hand{width:45%;left:5%;height:2px;background:var(--accent-color);z-index:1}@media (prefers-color-scheme:light){.minute-hand{background:var(--heading-color)}}.story-page-navigation{display:flex;justify-content:center;align-items:center;gap:20px;padding:10px 20px}.story-page-navigation .nav-button{background:0 0;border:1px solid var(--secondary-color);color:var(--secondary-color);font-size:1.5rem;cursor:pointer;padding:5px 20px;border-radius:50px;transition:var(--transition)}.story-page-navigation .nav-button:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.story-page-navigation .nav-button:disabled{color:var(--secondary-color);cursor:not-allowed;opacity:.5}.story-page-navigation .page-counter{font-size:1rem;font-weight:700;color:var(--text-color);min-width:50px;text-align:center}#story-text-content{transition:opacity .4s ease-in-out}#story-text-content.fade-out{opacity:0}.about-us-section{padding:100px 0;text-align:center;border-top:1px solid var(--border-color)}.about-us-content{max-width:800px;margin:40px auto 0;font-size:1.1rem;color:var(--secondary-color);line-height:2.2}.about-us-content p{margin-bottom:2em}.cta-btn-outline{display:inline-block;background-color:transparent;color:var(--primary-color);font-weight:700;padding:14px 32px;border-radius:50px;text-decoration:none;transition:var(--transition);border:2px solid var(--primary-color)}.cta-btn-outline:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-3px);box-shadow:var(--box-shadow)}.contact-section{padding:100px 20px;text-align:center;background-color:var(--light-background);margin:40px 0;border-radius:var(--border-radius);border:1px solid var(--border-color)}.contact-section h2{font-size:2.2rem;color:var(--heading-color);margin-bottom:15px}.contact-section p{font-size:1.1rem;color:var(--secondary-color);max-width:600px;margin:0 auto 30px auto}footer{background-color:#1e1e1e;color:var(--secondary-color);text-align:center;padding:3rem 0;margin-top:60px;border-top:1px solid var(--border-color)}@media (prefers-color-scheme:light){footer{background-color:#f8f9fa}}.hamburger-btn{display:none;background:0 0;border:none;cursor:pointer;padding:10px;z-index:1001;position:relative;width:40px;height:40px}.hamburger-btn span{display:block;width:24px;height:3px;background-color:var(--heading-color);margin:5px 0;transition:all .3s ease-in-out}.hamburger-btn.active span:nth-of-type(1){transform:translateY(8px) rotate(45deg)}.hamburger-btn.active span:nth-of-type(2){opacity:0}.hamburger-btn.active span:nth-of-type(3){transform:translateY(-8px) rotate(-45deg)}@media (max-width:768px){html{font-size:87.5%}.section-title{font-size:2rem}header .container-flex{flex-direction:row;justify-content:space-between}.hamburger-btn{display:block}.nav-container{position:fixed;top:50%;right:0;width:280px;height:auto;background-color:var(--background-color);border-radius:10px 0 0 10px;box-shadow:-5px 0px 25px rgba(0,0,0,.15);padding:40px 30px;transform:translate(100%,-50%);transition:transform .4s cubic-bezier(.2,.8,.2,1);z-index:1000;display:block;justify-content:initial;align-items:initial;padding-top:0}.nav-container.active{transform:translate(0,-50%)}header nav ul{flex-direction:column;align-items:flex-start;gap:10px}header nav ul li{margin:0}header nav ul li a{font-size:1.2rem;padding:8px 0;display:block}.nav-container nav a{color:var(--heading-color)}.hero-main .hero-content h2{font-size:2.5rem}.hero-concept-inner .container{flex-direction:column-reverse;text-align:center}.hero-concept-inner{padding:40px 20px}.hero-concept-inner .hero-image-nav-buttons{padding:0 10px}.paginated-story-section .section-title{font-size:1.6rem}.story-page.single{display:grid;place-items:center;min-height:450px;flex-direction:initial}.story-page .text-column,.story-page .clock-column{grid-column:1/-1;grid-row:1/-1}.story-page .text-column{z-index:2;order:initial;width:calc(100% - 40px);max-width:400px;padding:25px;background-color:rgba(255,255,255,.6);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}@media (prefers-color-scheme:dark){.story-page .text-column{background-color:rgba(30,30,30,.7)}}.story-page .clock-column{z-index:1;order:initial;margin-top:0}.clock-face{opacity:.3;transform:scale(1.1);border-width:5px}#story-text-content{display:flex;flex-direction:column;align-items:center}#storyTitle{order:1;text-align:center !important}.story-page .top-right-tag{order:2;position:static;transform:none;margin-top:8px;margin-bottom:24px}#storyText{order:3;text-align:left;max-height:200px;overflow-y:auto}.contact-form-section{padding:50px 0}.form-container{padding:30px 20px}.problem-card,.about-us-content{text-align:left}.problem-card h3{text-align:center}.hero-concept-inner .hero-text{text-align:left}.hero-concept-inner .hero-text h3{text-align:center}}.contact-form-section{padding:80px 0}.form-container{max-width:700px;margin:0 auto;padding:40px;background-color:var(--light-background);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--heading-color)}.form-group input,.form-group textarea{width:100%;padding:12px 15px;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);font-family:'Noto Sans JP',sans-serif;font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,174,239,.2)}.form-group textarea{min-height:150px;resize:vertical}.submit-button-container{text-align:center;margin-top:30px}