:root{--max:980px;--primary:#a8d8ea;--primary-dark:#7bb3d1;--secondary:#f7e6d3;--accent:#d4a5a5;--text:#5a5a5a;--text-light:#8a8a8a;--bg:#fefefe;--card-bg:#fff;--border:#e8e8e8;--shadow:rgba(168,216,234,.15)}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;line-height:1.7}.container{margin:0 auto;max-width:var(--max);padding:1.5rem}.grid{display:grid;gap:1.5rem}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--card-bg);border:none;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:1.5rem;transition:all .3s ease}.card .small,.card a,.card h3,.card p{overflow-wrap:anywhere;word-break:break-word}.card:hover{box-shadow:0 4px 20px #0000001f;transform:translateY(-2px)}.btn{background:var(--card-bg);border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;color:var(--text);display:inline-block;font-weight:500;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.btn.primary{background:var(--primary);box-shadow:0 2px 8px #0000001a;color:#fff}.btn.primary:hover{background:var(--primary-dark);box-shadow:0 4px 16px #00000026}.badge{background:var(--secondary);border-radius:10px;color:var(--text);font-size:.8rem;font-weight:500;padding:.3rem .7rem}.badge.past{background:var(--text-light);color:var(--bg);opacity:.8}footer,header{background:var(--secondary);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}nav a{color:var(--text);font-weight:500;margin-right:1rem;text-decoration:none;transition:color .2s ease}nav a:hover{color:var(--primary-dark)}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--border);padding:.8rem;text-align:left}input,select,textarea{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:.8rem;transition:all .2s ease;width:92%}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #a8d8ea33;outline:none}label{color:var(--text);display:block;font-weight:600;margin-bottom:.5rem}.small,label{font-size:.9rem}.small{color:var(--text-light)}h1{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}h1,h2{color:var(--text)}h2{font-size:1.4rem;font-weight:600;margin:2rem 0 1rem;padding-left:1.5rem;position:relative}h2:before{color:var(--primary);content:"●";font-size:1.2rem;left:0;line-height:2;position:absolute;top:0}h3{font-size:1.2rem;margin:1.5rem 0 .8rem}h3,h4{color:var(--text);font-weight:600}h4{font-size:1.1rem;margin:1.2rem 0 .6rem}.search-form{display:flex;flex-direction:column;gap:.75rem;margin:0 1rem}.search-row,.tag-row{align-items:center;display:flex;gap:.5rem}.tag-select{flex:1;min-width:0}.hero-section{align-items:center;background:linear-gradient(135deg,var(--secondary) 0,hsla(32,69%,90%,.3) 100%);border-radius:20px;box-shadow:0 4px 16px var(--shadow);display:flex;gap:2rem;margin:2rem 0;padding:2rem}.hero-content{flex:1}.hero-title{color:var(--text);font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.hero-subtitle{color:var(--text-light);font-size:1.2rem;line-height:1.5;margin-bottom:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.hero-image{flex:0 0 300px;text-align:center}.hero-image img{border-radius:16px;box-shadow:0 4px 12px var(--shadow);height:auto;max-width:100%}.social-link{margin:1rem 0;text-align:center}.social-link .btn{align-items:center;display:inline-flex;font-size:1.1rem;gap:.5rem;padding:1rem 2rem}.backtotop{backdrop-filter:blur(10px);background:var(--bg-primary);border:none;border-radius:50px;bottom:20px;box-shadow:0 4px 16px #0000001a;color:var(--text-primary);font-size:.9rem;font-weight:500;opacity:.9;padding:.8rem 1rem;position:fixed;right:20px;text-decoration:none;transition:all .3s ease}.backtotop:hover{background:var(--primary);box-shadow:0 6px 20px #00000026;color:#fff;opacity:1;transform:translateY(-3px)}.header-content{justify-content:space-between;min-height:60px;position:relative}.header-content,.site-logo{align-items:center;display:flex}.site-logo{gap:.75rem;margin:0;text-decoration:none;transition:transform .2s ease}.site-logo:hover{transform:scale(1.05)}.site-logo img{height:55px;-o-object-fit:contain;object-fit:contain;width:auto}.site-title{color:var(--text);font-size:1.4rem;font-weight:700;white-space:nowrap}.hamburger-container{position:relative}.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;height:30px;justify-content:space-between;padding:0;transition:all .3s ease;width:35px;z-index:10000}.hamburger:hover{transform:scale(1.1)}.hamburger-line{background-color:var(--text);border-radius:2px;height:4px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger.active .hamburger-line:first-child{transform:translateY(13px) rotate(45deg)}.hamburger.active .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.active .hamburger-line:nth-child(3){transform:translateY(-13px) rotate(-45deg)}.nav-menu{align-items:center;display:flex;gap:1rem}.nav-menu a{border-radius:8px;margin-right:0;padding:.5rem 1rem;transition:all .2s ease}.nav-menu a:hover{background-color:#a8d8ea1a;color:var(--primary-dark)}.mobile-menu{background:rgba(0,0,0,.6);bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:9998}.mobile-menu.active{display:block;opacity:1}.mobile-menu-content{background:var(--card-bg);box-shadow:-8px 0 24px #00000026;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:0;position:absolute;right:0;top:0;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:300px}.mobile-menu-header{align-items:center;background:var(--secondary);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem 2rem}.mobile-menu-header h3{color:var(--text);font-size:1.2rem;margin:0}.mobile-menu-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text);cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all .2s ease;width:2rem}.mobile-menu-close:hover{background-color:var(--primary);color:#fff}.mobile-menu-links{flex:1;padding:1rem 0}.mobile-menu.active .mobile-menu-content{transform:translate(0)}.mobile-menu-link{align-items:center;border-left:4px solid transparent;color:var(--text);display:flex;font-size:1.1rem;font-weight:500;gap:1.2rem;padding:1.2rem 2rem;text-decoration:none;transition:all .2s ease}.mobile-menu-link:hover{background-color:var(--secondary);border-left-color:var(--primary);color:var(--primary-dark);transform:translate(4px)}.mobile-menu-icon{font-size:1.8rem;text-align:center;width:2.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:2rem 0}.page-info{color:var(--text-secondary);font-size:.9rem;font-weight:500;min-width:120px;text-align:center}.pagination .btn{min-width:80px;padding:.5rem 1rem}.pagination .btn:disabled{cursor:not-allowed;opacity:.5}.more-link{margin:1.5rem 0;text-align:center}.twitter-timeline-container{display:flex;justify-content:center;margin:1.5rem 0;max-width:100%;width:100%}.twitter-timeline{border-radius:8px;max-width:100%;overflow:hidden;width:100%}.twitter-timeline-container iframe{max-width:100%!important;min-width:300px!important;width:100%!important}.no-events{color:var(--text-secondary);font-style:italic;padding:2rem;text-align:center}.admin-menu{display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#dc3545}.error-message,.success-message{font-size:.9rem;margin-top:1rem;padding:.75rem}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.admin-menu-item{padding:2rem;text-align:center}.admin-menu-item h2{color:var(--text-primary);margin-bottom:1rem}.admin-menu-title{padding-left:0!important;text-align:center}.admin-menu-title:before{display:none!important}.admin-menu-item p{color:var(--text-secondary);margin-bottom:1.5rem}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.admin-nav{display:flex;gap:.5rem}.admin-grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.admin-section{min-height:600px}.create-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.list-section{margin-top:1rem}.search-bar{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.search-input{flex:1;min-width:0}.item-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;margin:1rem 0;padding:1rem}.item-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:.5rem}.item-title{flex:1;min-width:0}.title-input{border:1px solid var(--border);border-radius:4px;font-size:1rem;font-weight:700;padding:.5rem;width:100%}.item-actions{display:flex;flex-shrink:0;gap:.5rem}.btn.small{font-size:.85rem;padding:.4rem .8rem}.btn.danger{background:#dc3545;border-color:#dc3545;color:#fff}.btn.danger:hover{background:#c82333;border-color:#bd2130}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.25rem}.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.quick-edit{margin-top:.5rem}.quick-edit .form-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.date-input,.location-input,.status-select,.time-input{border:1px solid var(--border);border-radius:4px;font-size:.9rem;padding:.4rem}.date-input{width:140px}.time-input{width:90px}.location-input{flex:1;min-width:120px}.status-select{width:90px}.participants-info{align-items:center;display:flex;font-size:.9rem;gap:.25rem}.participants-input{border:1px solid var(--border);border-radius:4px;padding:.2rem;text-align:center;width:50px}.detailed-edit{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.detailed-edit .form-group{margin-bottom:1rem}.detailed-edit textarea{font-family:inherit;resize:vertical}.detailed-edit input,.detailed-edit textarea{border:1px solid var(--border);border-radius:4px;padding:.5rem;width:100%}.image-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.image-preview img{background:var(--bg);border:1px solid var(--border);border-radius:8px;height:auto;max-height:300px;max-width:100%;-o-object-fit:contain;object-fit:contain;padding:.5rem;width:auto}.image-preview .btn{align-self:flex-start}.article-media{margin:.75rem 0;width:100%}.article-media img,.article-media picture,.article-media video{border-radius:8px;display:block;height:auto;margin:0 auto;max-width:100%}@media (min-width:992px){.article-media{max-width:720px}}.slideshow{position:relative}.slideshow .slides{overflow:hidden;position:relative}.slideshow .nav{align-items:center;background:rgba(0,0,0,.4);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;height:auto;justify-content:center;line-height:1;padding:.2rem .6rem;position:absolute;top:50%;transform:translateY(-50%);width:auto;z-index:2}.slideshow .prev{left:8px}.slideshow .next{right:8px}.slideshow .dots{display:flex;gap:6px;justify-content:center;margin-top:6px}.slideshow .dot{background:#ccc;border-radius:50%;height:8px;width:8px}.slideshow .dot.active{background:var(--primary)}@media (max-width:767px){.card .slideshow .nav{border-radius:50%;height:36px!important;padding:0!important;width:36px!important}}@media (min-width:768px){.hamburger{display:none}}@media (min-width:1200px){.container{max-width:1200px;padding:2rem}.site-title{font-size:1.8rem}.card{padding:2rem}.twitter-timeline-container{margin:1.5rem auto;max-width:600px}.twitter-timeline-container iframe{max-width:600px!important;width:100%!important}}@media (min-width:992px){.container{padding:.75rem}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.twitter-timeline-container{margin:1.5rem auto;max-width:500px}.twitter-timeline-container iframe{max-width:500px!important;width:100%!important}}@media (min-width:768px) and (max-width:991px){.container{padding:.75rem}.grid.cols-2,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.site-logo img{height:50px}.site-title{font-size:1.2rem}.card{padding:1.25rem}.btn{padding:.7rem 1.2rem}.twitter-timeline-container{margin:1.5rem auto;max-width:400px}.twitter-timeline-container iframe{max-width:400px!important;width:100%!important}}@media (min-width:480px) and (max-width:767px){.grid.cols-5{gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.hamburger{display:flex}.nav-menu{display:none}.header-content{position:relative}.container{padding:.4rem}.grid.cols-2,.grid.cols-3,.grid.cols-5{gap:1rem;grid-template-columns:1fr}.site-logo img{height:45px}.site-title{font-size:1.2rem}.card{margin-bottom:1rem;padding:1rem}.btn{font-size:.9rem;padding:.6rem 1rem}.mobile-menu{min-width:180px}.mobile-menu a{font-size:.9rem;padding:.8rem 1rem}table{font-size:.85rem}td,th{padding:.4rem .3rem}input,select,textarea{font-size:.9rem;padding:.7rem}.search-form{margin:0 .5rem}.search-row{flex-direction:column;gap:.5rem}.search-input{width:94%}.tag-row{align-items:flex-start;flex-direction:column;gap:.3rem}.tag-select{width:100%}.hero-section{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.hero-actions{justify-content:center}.hero-image{flex:none;max-width:250px}.badge{font-size:.75rem;padding:.2rem .4rem}.pagination{flex-direction:row;gap:1rem;margin:1.5rem 0}.page-info{font-size:.8rem;min-width:100px}.pagination .btn{font-size:.9rem;min-width:70px;padding:.4rem .8rem}h1{font-size:1.5rem;margin-bottom:1.2rem}h2{font-size:1.2rem;margin:1.5rem 0 .8rem;padding-left:1.2rem}h2:before{font-size:1rem}h3{font-size:1.1rem;margin:1.2rem 0 .6rem}}@media (max-width:480px){.container{padding:.35rem}.site-logo img{height:40px}.site-title{display:1.2rem}.card{padding:.75rem}.btn{font-size:.85rem;padding:.5rem .8rem}.mobile-menu{min-width:160px;right:-.5rem}.mobile-menu a{font-size:.85rem;padding:.6rem .8rem}table{font-size:.8rem}td,th{padding:.3rem .2rem}input,select,textarea{font-size:.85rem;padding:.6rem}.search-form{gap:.5rem;margin:0 .25rem}.search-row{gap:.3rem}.tag-row{gap:.2rem}.hero-section{gap:1rem;padding:1rem}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:1rem}.hero-actions{flex-direction:column;gap:.5rem}.hero-actions .btn{width:100%}.hero-image{max-width:200px}.mobile-menu-content{width:100%}.mobile-menu-header{padding:1rem 1.5rem}.mobile-menu-header h3{font-size:1.1rem}.mobile-menu-close{font-size:1.5rem;height:1.5rem;width:1.5rem}.mobile-menu-link{font-size:1rem;padding:1rem 1.5rem}.mobile-menu-icon{font-size:1.5rem;width:2rem}.hamburger{height:28px;width:32px}.hamburger-line{height:3px}h1{font-size:1.3rem;margin-bottom:1rem}h2{font-size:1.1rem;margin:1.2rem 0 .6rem;padding-left:1rem}h2:before,h3{font-size:1rem}h3{margin:1rem 0 .5rem}}@media (max-width:767px){.admin-menu,.grid.cols-2{grid-template-columns:1fr}.admin-menu{gap:1rem}.admin-header{align-items:stretch;flex-direction:column;gap:1rem}.admin-nav{flex-wrap:wrap;justify-content:center}.admin-grid{gap:1rem;grid-template-columns:1fr}.admin-section{min-height:auto}.item-header{flex-direction:column;gap:.5rem}.item-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.quick-edit .form-row{align-items:stretch;flex-direction:column}.date-input,.location-input,.status-select,.time-input{width:93%}.search-bar{align-items:stretch;flex-direction:column;gap:.5rem}.search-input{min-width:auto;width:94%}.form-row{grid-template-columns:1fr}.twitter-timeline-container{margin:1rem 0}.twitter-timeline{max-width:100%;width:100%}.backtotop{bottom:15px;font-size:.8rem;padding:.6rem .8rem;right:15px}.card button,.card input,.card select,.card textarea{margin-bottom:.5rem}.card button{width:100%}.card table{font-size:.8rem}.card td,.card th{padding:.3rem .2rem}.card input[type=date],.card input[type=number],.card input[type=text],.card input[type=time],.card select,.card textarea{font-size:.85rem;padding:.6rem}}@media (max-width:480px){.card table{display:block;overflow-x:auto;white-space:nowrap}.card table tbody,.card table thead,.card table tr{display:table;table-layout:fixed;width:100%}}
