:root{--color-main: #1a5c3a;--color-main-light: #e8f3ed;--color-accent: #c8a45a;--color-white: #ffffff;--color-offwhite: #f8f6f1;--color-text: #2c2c2a;--color-subtext: #5f5e5a;--color-footer-bg: #2c2c2a;--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif;--section-padding-sp: 60px 20px;--section-padding-pc: 100px 40px;--content-max-width: 960px;--card-radius: 12px;--btn-radius: 28px;--btn-height: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);line-height:1.8;background-color:var(--color-white)}a{color:inherit}img{max-width:100%;display:block}.navbar{position:fixed;top:0;left:0;right:0;height:64px;background-color:var(--color-main);display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:1000;box-shadow:0 2px 12px #00000040}.navbar-brand{display:flex;align-items:center}.navbar-kosho{width:32px;height:32px;margin-right:10px;object-fit:contain}.navbar-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--color-white);letter-spacing:.05em;white-space:nowrap}.navbar-register-btn{font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color-white);background-color:var(--color-accent);border:none;border-radius:var(--btn-radius);padding:0 16px;height:36px;cursor:pointer;letter-spacing:.03em;white-space:nowrap;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 2px 6px #c8a45a59}.navbar-register-btn:hover{background-color:#d9b56a;box-shadow:0 4px 12px #c8a45a80;transform:translateY(-1px)}.navbar-register-btn:active{background-color:#b8943f;transform:translateY(0);box-shadow:0 1px 4px #c8a45a4d}.hero-bg{background-image:url(/takefu-high-school.jpg);background-size:cover;background-position:center 30%;background-repeat:no-repeat}.hero{background:#0d3321a6;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 20px 80px;color:var(--color-white)}.hero-eyebrow{font-size:13px;letter-spacing:.15em;opacity:.85}.hero-main-copy{font-family:var(--font-serif);font-weight:700;font-size:28px;margin-top:16px;line-height:1.4}.hero-sub-copy{font-size:16px;opacity:.9;margin-top:20px;max-width:600px;line-height:1.8}.hero-cta-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:32px;height:var(--btn-height);padding:0 40px;border-radius:var(--btn-radius);background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-sans);font-size:16px;font-weight:500;text-decoration:none;letter-spacing:.05em;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 4px 16px #c8a45a66}.hero-cta-btn:hover{background-color:#d9b56a;transform:translateY(-2px);box-shadow:0 6px 20px #c8a45a8c}.hero-cta-btn:active{background-color:#b8943f;transform:translateY(0)}.hero-note{font-size:13px;opacity:.7;margin-top:12px}.hero-scroll{margin-top:40px;font-size:20px;opacity:.6;animation:heroScrollBounce 2s ease-in-out infinite}@keyframes heroScrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media (min-width: 768px){.hero-main-copy{font-size:48px}}.about{background:var(--color-offwhite);padding:var(--section-padding-sp)}.about-inner{max-width:var(--content-max-width);margin:0 auto}.about-heading{font-family:var(--font-serif);font-weight:700;font-size:1.75rem;color:var(--color-main);text-align:center;margin-bottom:40px}.about-stats{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}.about-stat-card{background:var(--color-white);border-radius:var(--card-radius);padding:24px;text-align:center}.about-stat-number{font-family:var(--font-serif);font-weight:700;font-size:48px;color:var(--color-accent);line-height:1.1}.about-stat-unit{font-size:24px}.about-stat-label{font-size:14px;color:var(--color-subtext);margin-top:8px}.about-info-box{background:var(--color-main-light);border-radius:var(--card-radius);padding:20px;display:flex;flex-direction:column;gap:16px;margin-bottom:0}.about-info-item{display:flex;align-items:center;gap:10px}.about-info-icon{font-size:20px;flex-shrink:0}.about-info-label{font-size:13px;color:var(--color-subtext);min-width:72px}.about-info-value{font-size:15px;font-weight:500;color:var(--color-text)}.about-body{font-size:16px;line-height:1.8;text-align:center;margin-top:40px;color:var(--color-text)}@media (min-width: 768px){.about{padding:var(--section-padding-pc)}.about-heading{font-size:2.25rem}.about-stats{grid-template-columns:repeat(3,1fr)}.about-stat-number{font-size:64px}.about-stat-unit{font-size:32px}.about-info-box{flex-direction:row;justify-content:space-around}.about-info-item{flex-direction:column;text-align:center;gap:6px}.about-info-label{min-width:unset}}.committee{background:#fff;padding:60px 20px}.committee-inner{max-width:var(--content-max-width);margin:0 auto}.committee-heading{font-family:var(--font-serif);font-weight:700;font-size:1.75rem;color:var(--color-main);text-align:center;margin-bottom:16px}.committee-lead{text-align:center;font-size:15px;color:var(--color-subtext);margin-bottom:40px;line-height:1.7}.committee-grid{display:grid;grid-template-columns:1fr;gap:20px}.committee-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;transition:transform .2s}.committee-card--highlight{background:#e8f3ed;border-color:#b8d9c4}.committee-badge{display:inline-block;background:#e8f3ed;color:var(--color-main);font-size:12px;border-radius:20px;padding:2px 10px;margin-bottom:10px}.committee-card--highlight .committee-badge{background:#fff}.committee-name{font-family:var(--font-serif);font-weight:700;font-size:1.1rem;color:var(--color-text);margin:0 0 6px}.committee-tagline{color:var(--color-main);font-weight:500;font-size:14px;margin:8px 0;line-height:1.5}.committee-desc{font-size:14px;color:var(--color-subtext);line-height:1.75;margin:0}.committee-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.committee-tag{display:inline-block;background:#e8f3ed;color:var(--color-main);font-size:12px;border-radius:20px;padding:2px 10px}.committee-card--highlight .committee-tag{background:#fff}.committee-cta{text-align:center;margin-top:48px}.committee-cta-btn{display:inline-block;background:var(--color-accent);color:#fff;text-decoration:none;height:56px;line-height:56px;padding:0 48px;border-radius:28px;font-size:15px;font-weight:600;transition:opacity .2s,transform .2s}.committee-cta-btn:hover{opacity:.88;transform:translateY(-2px)}@media (min-width: 768px){.committee{padding:100px 40px}.committee-heading{font-size:2.25rem}.committee-grid{grid-template-columns:repeat(2,1fr)}.committee-card:hover{transform:translateY(-4px)}.committee-card--highlight{grid-column:1 / -1}}.faq{background:#f8f6f1;padding:60px 20px}.faq-inner{max-width:720px;margin:0 auto}.faq-heading{font-family:var(--font-serif);font-weight:700;font-size:1.75rem;color:var(--color-main);text-align:center;margin-bottom:40px}.faq-list{list-style:none;padding:0;margin:0}.faq-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:12px;overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;min-height:44px;background:transparent;border:none;cursor:pointer;font-size:16px;font-weight:500;color:var(--color-text);text-align:left;gap:16px;transition:background .15s}.faq-question:hover{background:#f8f6f1}.faq-icon{flex-shrink:0;color:var(--color-main);font-size:20px;font-weight:300;line-height:1;transition:transform .2s}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding-bottom .3s ease;padding:0 24px;font-size:16px;line-height:1.8;color:#5f5e5a}.faq-item--open .faq-answer{padding-bottom:20px}.faq-answer p{margin:0}@media (min-width: 768px){.faq{padding:100px 40px}.faq-heading{font-size:2.25rem}}.timeline{background:#fff;padding:60px 20px}.timeline-inner{max-width:640px;margin:0 auto}.timeline-heading{font-family:var(--font-serif);font-weight:700;font-size:1.75rem;color:var(--color-main);text-align:center;margin-bottom:48px}.timeline-list{list-style:none;padding:0;margin:0;position:relative}.timeline-list:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:#c8a45a}.timeline-step{display:flex;align-items:flex-start;gap:20px;padding:0 0 40px;position:relative}.timeline-step:last-child{padding-bottom:0}.timeline-badge{width:40px;height:40px;border-radius:50%;background:#1a5c3a;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.timeline-content{padding-top:8px}.timeline-date{font-size:13px;color:#5f5e5a;margin:0 0 4px;line-height:1.4}.timeline-title{font-size:18px;font-weight:500;color:#2c2c2a;margin:0;line-height:1.5}.timeline-now-badge{background:#c8a45a;color:#fff;font-size:12px;border-radius:20px;padding:2px 10px;margin-left:10px;vertical-align:middle;font-weight:600}.timeline-step--highlight .timeline-date,.timeline-step--highlight .timeline-title{color:#c8a45a;font-weight:700}@media (min-width: 768px){.timeline{padding:100px 40px}.timeline-heading{font-size:2.25rem}}.message{background:#1a5c3a;padding:60px 20px}.message-inner{max-width:640px;margin:0 auto}.message-heading{font-family:var(--font-serif);font-weight:700;color:#c8a45a;text-align:center;margin:0 0 40px}.message-quote{border-left:4px solid #c8a45a;padding:8px 0 8px 32px;margin:0 auto}.message-text{font-family:var(--font-serif);font-weight:700;color:#fff;font-size:18px;line-height:2;margin:0}.organizer-name{color:#fff;opacity:.75;font-size:14px;text-align:right;margin-top:32px;margin-bottom:0}@media (min-width: 768px){.message{padding:100px 40px}.message-text{font-size:24px}}.cta{background:#f8f6f1;padding:60px 20px}.cta-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.cta-heading{font-family:var(--font-serif);font-weight:700;color:#1a5c3a;font-size:22px;text-align:center;margin:0;line-height:1.6}.cta-subtext{font-size:16px;color:#5f5e5a;text-align:center;margin:16px 0 0}.cta-button{display:block;width:100%;text-align:center;background:#c8a45a;color:#fff;height:56px;padding:0 48px;border-radius:28px;font-size:18px;font-weight:500;margin-top:32px;line-height:56px;text-decoration:none;transition:background-color .2s,transform .1s;box-sizing:border-box}.cta-button:hover{background-color:#b8943a}.cta-button:active{transform:scale(.98)}.cta-note{font-size:13px;color:#5f5e5a;text-align:center;margin:16px 0 0}@media (min-width: 768px){.cta{padding:100px 40px}.cta-heading{font-size:32px}.cta-button{width:auto}}.footer{background:var(--color-footer-bg);color:var(--color-white);text-align:center;padding:40px 20px;font-size:.875rem;line-height:1.8}
