*{box-sizing:border-box}body{font-family:'Noto Sans JP', 'Roboto', sans-serif;line-height:1.6;color:#212121;background-color:#fafafa;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-top:0;margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}a{color:#1976d2;text-decoration:none;transition:color 0.3s ease}a:hover{color:#1565c0}.container{max-width:1200px;margin:0 auto;padding:0 1rem}header{background-color:#1976d2;color:white;box-shadow:0 2px 5px rgba(0,0,0,0.12),0 2px 2px rgba(0,0,0,0.14);position:sticky;top:0;z-index:1000}header nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0}header nav .logo{font-size:1.5rem;font-weight:500;color:white;text-decoration:none}header nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2rem}header nav ul li{position:relative}header nav ul li a{color:white;font-weight:500;padding:0.75rem 1.25rem;border-radius:4px;transition:background-color 0.3s ease;display:flex;align-items:center;gap:0.25rem}header nav ul li a:hover{background-color:rgba(255,255,255,0.1)}header nav ul li a.active{background-color:rgba(255,255,255,0.2)}header nav ul li a .material-icons{font-size:1.25rem}header nav ul li.dropdown .dropdown-menu{position:absolute;top:100%;right:0;background-color:white;min-width:200px;box-shadow:0 3px 10px rgba(0,0,0,0.16),0 3px 10px rgba(0,0,0,0.23);border-radius:4px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.3s ease;z-index:1000;margin-top:0.5rem}header nav ul li.dropdown .dropdown-menu::before{content:'';position:absolute;top:-8px;right:20px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}header nav ul li.dropdown .dropdown-menu a{color:#212121;padding:0.75rem 1rem;display:block;font-weight:400;border-radius:0;transition:background-color 0.2s ease}header nav ul li.dropdown .dropdown-menu a:hover{background-color:#fafafa}header nav ul li.dropdown .dropdown-menu a:first-child{border-radius:4px 4px 0 0}header nav ul li.dropdown .dropdown-menu a:last-child{border-radius:0 0 4px 4px}header nav ul li.dropdown .dropdown-menu a .year{font-weight:500}header nav ul li.dropdown .dropdown-menu a .host{font-size:0.875rem;color:#757575;margin-left:0.5rem}header nav ul li.dropdown .dropdown-menu a .note{display:block;font-size:0.75rem;color:#ff6f00;margin-top:0.25rem}header nav ul li.dropdown:hover .dropdown-menu,header nav ul li.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}header .mobile-menu-toggle{display:none;background:none;border:none;color:white;font-size:1.5rem;cursor:pointer}main{min-height:calc(100vh - 200px);padding:2rem 0}.card{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.12),0 2px 2px rgba(0,0,0,0.14);padding:1.5rem;margin-bottom:1.5rem;transition:box-shadow 0.3s ease}.card:hover{box-shadow:0 3px 10px rgba(0,0,0,0.16),0 3px 10px rgba(0,0,0,0.23)}.card .card-title{font-size:1.25rem;font-weight:500;margin-bottom:1rem;color:#212121}.card .card-content{color:#757575}.btn{display:inline-block;padding:0.75rem 1.5rem;border-radius:4px;font-weight:500;text-align:center;text-decoration:none;transition:all 0.3s ease;cursor:pointer;border:none;box-shadow:0 2px 5px rgba(0,0,0,0.12),0 2px 2px rgba(0,0,0,0.14)}.btn:hover{box-shadow:0 3px 10px rgba(0,0,0,0.16),0 3px 10px rgba(0,0,0,0.23);transform:translateY(-2px)}.btn.btn-primary{background-color:#1976d2;color:white}.btn.btn-primary:hover{background-color:#1565c0}.btn.btn-secondary{background-color:white;color:#1976d2;border:2px solid #1976d2}.btn.btn-secondary:hover{background-color:#1976d2;color:white}.btn.btn-accent{background-color:#ff6f00;color:white}.btn.btn-accent:hover{background-color:#cc5900}.btn.btn-outline{background-color:transparent;color:white;border:2px solid white;box-shadow:none}.btn.btn-outline:hover{background-color:white;color:#1976d2;box-shadow:0 2px 5px rgba(0,0,0,0.12),0 2px 2px rgba(0,0,0,0.14)}.hero{background:linear-gradient(135deg, #1976d2 0%, #42a5f5 100%);color:white;padding:4rem 0;text-align:center}.hero h1{font-size:3rem;font-weight:300;margin-bottom:1rem}.hero .subtitle{font-size:1.25rem;opacity:0.9;margin-bottom:2rem}.hero .hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.section{padding:3rem 0}.section:nth-child(even){background-color:white}.section .section-title{text-align:center;margin-bottom:3rem;position:relative}.section .section-title::after{content:'';display:block;width:60px;height:4px;background-color:#ff6f00;margin:1rem auto 0}.grid{display:grid;gap:1.5rem}.grid.grid-2{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}.grid.grid-3{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr))}.grid.grid-4{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr))}.abstract-tooltip{position:relative;display:inline;cursor:help;border-bottom:1px dotted #666}.abstract-tooltip .tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:125%;left:50%;transform:translateX(-50%);width:350px;padding:12px 16px;background-color:rgba(33,33,33,0.95);color:#fff;font-size:0.875rem;line-height:1.5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.3);transition:opacity 0.3s ease, visibility 0.3s ease;pointer-events:none}.abstract-tooltip .tooltip-content::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border-width:8px;border-style:solid;border-color:rgba(33,33,33,0.95) transparent transparent transparent}@media (max-width: 768px){.abstract-tooltip .tooltip-content{width:280px;font-size:0.8125rem}}.abstract-tooltip:hover .tooltip-content{visibility:visible;opacity:1;transition-delay:0.5s}.abstract-tooltip.tooltip-right .tooltip-content{left:auto;right:0;transform:translateX(0)}.abstract-tooltip.tooltip-left .tooltip-content{left:0;transform:translateX(0)}.carousel{position:relative;width:100%;overflow:hidden;background-color:#212121}.carousel .carousel-inner{position:relative;width:100%;height:600px}@media (max-width: 768px){.carousel .carousel-inner{height:400px}}.carousel .carousel-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease-in-out}.carousel .carousel-item.active{opacity:1}.carousel .carousel-item img{width:100%;height:100%;object-fit:cover}.carousel .carousel-item .carousel-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);color:white;padding:3rem 1rem 2rem;text-align:center}.carousel .carousel-item .carousel-caption h2{font-size:2.5rem;margin-bottom:0.5rem;text-shadow:2px 2px 4px rgba(0,0,0,0.5)}@media (max-width: 768px){.carousel .carousel-item .carousel-caption h2{font-size:1.75rem}}.carousel .carousel-item .carousel-caption p{font-size:1.25rem;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,0.5)}@media (max-width: 768px){.carousel .carousel-item .carousel-caption p{font-size:1rem}}.carousel .carousel-indicators{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:10}.carousel .carousel-indicators button{width:12px;height:12px;border-radius:50%;border:2px solid white;background-color:transparent;cursor:pointer;transition:all 0.3s ease}.carousel .carousel-indicators button.active{background-color:white;width:30px;border-radius:6px}.carousel .carousel-control{position:absolute;top:50%;transform:translateY(-50%);background-color:rgba(0,0,0,0.5);color:white;border:none;padding:1rem;cursor:pointer;transition:background-color 0.3s ease;z-index:10}.carousel .carousel-control:hover{background-color:rgba(0,0,0,0.8)}.carousel .carousel-control.prev{left:1rem}.carousel .carousel-control.next{right:1rem}.carousel .carousel-control .material-icons{font-size:2rem}footer{background-color:#212121;color:white;padding:2rem 0;text-align:center}footer .footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}footer .footer-content .footer-links{display:flex;gap:2rem}footer .footer-content .footer-links a{color:white;opacity:0.8}footer .footer-content .footer-links a:hover{opacity:1}footer .copyright{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.2);opacity:0.7}@media (max-width: 768px){header nav ul{display:none;position:absolute;top:100%;left:0;right:0;background-color:#1565c0;flex-direction:column;padding:1rem;gap:0}header nav ul.active{display:flex}header nav ul li a{display:block;padding:0.75rem;justify-content:space-between}header nav ul li.dropdown .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background-color:rgba(255,255,255,0.1);margin:0.5rem 0 0 1rem;display:none}header nav ul li.dropdown .dropdown-menu::before{display:none}header nav ul li.dropdown .dropdown-menu a{color:white;font-size:0.9rem}header nav ul li.dropdown .dropdown-menu a:hover{background-color:rgba(255,255,255,0.1)}header nav ul li.dropdown .dropdown-menu a .host{color:rgba(255,255,255,0.8)}header nav ul li.dropdown .dropdown-menu a .note{color:#ff6f00}header nav ul li.dropdown.open .dropdown-menu{display:block}header nav .mobile-menu-toggle{display:block}.hero h1{font-size:2rem}.grid.grid-2,.grid.grid-3,.grid.grid-4{grid-template-columns:1fr}footer .footer-content{flex-direction:column;text-align:center}}
