@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/noto-sans-jp-300.woff2)format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-jp-400.woff2)format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-500.woff2)format("woff2")}@font-face{font-family:Noto Serif JP;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/noto-serif-jp-300.woff2)format("woff2")}@font-face{font-family:Noto Serif JP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-serif-jp-400.woff2)format("woff2")}@font-face{font-family:Noto Serif JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-serif-jp-500.woff2)format("woff2")}@font-face{font-family:Noto Serif JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-serif-jp-700.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-400.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/playfair-display-700.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-400-italic.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#1a1a1a;--ink-light:#4a4a4a;--paper:#faf8f5;--paper-alt:#f3ede6;--gold:#c8a96e;--gold-dark:#a8893e;--red:#8b1a1a;--border:#e0d8ce;--white:#fff;--shadow:0 4px 24px #1a1a1a14;--shadow-lg:0 12px 48px #1a1a1a1f}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--paper);color:var(--ink);font-family:Noto Sans JP,sans-serif;line-height:1.7;overflow-x:hidden}.navbar{z-index:1000;background:0 0;padding:0 2rem;transition:all .4s;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--border);background:#faf8f5f2}.nav-container{align-items:center;gap:2rem;max-width:1200px;height:70px;margin:0 auto;display:flex}.logo{color:inherit;flex-shrink:0;align-items:baseline;gap:6px;text-decoration:none;display:flex}.logo-kanji{color:var(--red);letter-spacing:.05em;font-family:Noto Serif JP,serif;font-size:1.4rem;font-weight:700}.logo-text{color:var(--ink-light);letter-spacing:.1em;font-family:Noto Serif JP,serif;font-size:.85rem}.nav-links{gap:.2rem;margin-left:auto;list-style:none;display:flex}.nav-links a{color:var(--ink);letter-spacing:.06em;border-radius:2px;padding:.5rem .8rem;font-size:.82rem;text-decoration:none;transition:all .25s;position:relative}.nav-links a:after{content:"";background:var(--gold);height:1px;transition:all .25s;position:absolute;bottom:4px;left:50%;right:50%}.nav-links a:hover:after{left:.8rem;right:.8rem}.nav-links a:hover{color:var(--gold-dark)}.lang-switcher{border-left:1px solid var(--border);gap:4px;padding-left:1.2rem;display:flex}.lang-switcher button,.lang-switcher a,.mobile-lang button,.mobile-lang a{cursor:pointer;color:var(--ink-light);letter-spacing:.04em;background:0 0;border:1px solid #0000;border-radius:2px;padding:4px 8px;font-family:Noto Sans JP,sans-serif;font-size:.75rem;transition:all .2s}.lang-switcher button.active,.lang-switcher a.active,.lang-switcher a.router-link-active,.mobile-lang button.active,.mobile-lang a.active,.mobile-lang a.router-link-active{background:var(--ink);color:var(--white);border-color:var(--ink)}.lang-switcher button:hover:not(.active),.lang-switcher a:hover:not(.active,.router-link-active){border-color:var(--gold);color:var(--gold-dark)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;margin-left:auto;padding:4px;display:none}.hamburger span{background:var(--ink);width:22px;height:1.5px;transition:all .3s;display:block}.mobile-menu{background:var(--paper);border-top:1px solid var(--border);padding:1.5rem 2rem;display:none}.mobile-menu.open{display:block}.mobile-menu ul{list-style:none}.mobile-menu ul li{border-bottom:1px solid var(--border)}.mobile-menu ul a{color:var(--ink);padding:.8rem 0;font-size:.9rem;text-decoration:none;display:block}.mobile-lang{flex-wrap:wrap;gap:6px;margin-top:1rem;display:flex}.hero{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{pointer-events:none;position:absolute;inset:0}.hero-circle{border-radius:50%;position:absolute}.c1{background:radial-gradient(circle,#c8a96e14 0%,#0000 70%);width:600px;height:600px;top:-150px;right:-150px}.c2{background:radial-gradient(circle,#8b1a1a0d 0%,#0000 70%);width:400px;height:400px;bottom:-100px;left:-100px}.hero-lines{background-image:linear-gradient(#c8a96e0d 1px,#0000 1px),linear-gradient(90deg,#c8a96e0d 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.hero-content{z-index:1;text-align:center;max-width:800px;padding:2rem;position:relative}.hero-badge{letter-spacing:.25em;color:var(--gold-dark);border:1px solid var(--gold);border-radius:1px;margin-bottom:2rem;padding:6px 20px;font-family:Noto Serif JP,serif;font-size:.8rem;animation:.8s both fadeInDown;display:inline-block}.hero-tagline{color:var(--ink);margin-bottom:1.5rem;font-family:Noto Serif JP,serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1.3;animation:.9s .2s both fadeInUp}.hero-subtitle{color:var(--ink-light);letter-spacing:.04em;max-width:580px;margin:0 auto 2.5rem;font-size:clamp(.9rem,2vw,1.05rem);animation:.9s .4s both fadeInUp}.hero-cta{background:var(--ink);color:var(--white);letter-spacing:.15em;cursor:pointer;border:none;border-radius:1px;padding:14px 40px;font-family:Noto Sans JP,sans-serif;font-size:.85rem;text-decoration:none;transition:all .3s;animation:.9s .6s both fadeInUp;display:inline-block}.hero-cta:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 8px 24px #a8893e4d}.hero-scroll-indicator{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom, var(--gold), transparent);width:1px;height:60px;animation:2s infinite scrollPulse}.section{padding:7rem 2rem}.section-inner{max-width:1100px;margin:0 auto}.section-label{letter-spacing:.3em;color:var(--gold-dark);margin-bottom:.8rem;font-size:.7rem;font-weight:500}.section-title{color:var(--ink);margin-bottom:3rem;padding-bottom:1.2rem;font-family:Noto Serif JP,serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;position:relative}.section-title:after{content:"";background:var(--gold);width:48px;height:2px;position:absolute;bottom:0;left:0}.section-subtitle{color:var(--ink-light);margin-top:-1.5rem;margin-bottom:3rem;font-size:.95rem}.about-section{background:var(--paper)}.about-layout{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.about-text p{color:var(--ink-light);font-size:.95rem;line-height:1.9}.value-card{border:1px solid var(--border);background:var(--white);border-radius:3px;align-items:flex-start;gap:1.2rem;margin-bottom:1rem;padding:1.5rem;transition:all .3s;display:flex}.value-card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translate(4px)}.value-icon{background:var(--ink);width:48px;height:48px;color:var(--gold);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-family:Noto Serif JP,serif;font-size:1.3rem;font-weight:700;display:flex}.value-body h3{color:var(--ink);margin-bottom:.4rem;font-family:Noto Serif JP,serif;font-size:1rem}.value-body p{color:var(--ink-light);font-size:.85rem}.president-section{background:var(--paper-alt)}.president-layout{grid-template-columns:320px 1fr;align-items:start;gap:4rem;display:grid}.president-visual{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.avatar-wrapper{width:200px;height:200px;position:relative}.avatar-ring{border:2px solid var(--gold);opacity:.5;border-radius:50%;animation:20s linear infinite rotateSlow;position:absolute;inset:-8px}.avatar-ring:before{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.avatar-circle{border:3px solid var(--white);width:200px;height:200px;box-shadow:var(--shadow-lg);border-radius:50%;overflow:hidden}.avatar-photo{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.president-name-card{text-align:center}.pres-name{color:var(--ink);letter-spacing:.1em;font-family:Noto Serif JP,serif;font-size:1.4rem;font-weight:700}.pres-romaji{color:var(--ink-light);letter-spacing:.12em;margin:4px 0;font-size:.8rem}.pres-position{letter-spacing:.1em;color:var(--gold-dark);border:1px solid var(--gold);border-radius:1px;margin-top:6px;padding:3px 12px;font-size:.75rem;display:inline-block}.pres-bio{color:var(--ink-light);margin-bottom:2rem;font-size:.95rem;line-height:1.9}.hobbies-title{color:var(--ink);border-bottom:1px solid var(--border);margin-bottom:1.2rem;padding-bottom:.6rem;font-family:Noto Serif JP,serif;font-size:1.05rem}.anime-card{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 3px 3px 0;gap:1.2rem;margin-bottom:1.2rem;padding:1.2rem;display:flex}.anime-icon{flex-shrink:0;width:48px;height:48px}.anime-text strong{color:var(--ink);margin-bottom:.4rem;font-size:.9rem;display:block}.anime-text p{color:var(--ink-light);font-size:.82rem;line-height:1.7}.other-hobbies{flex-wrap:wrap;gap:8px;display:flex}.hobby-tag{background:var(--ink);color:var(--paper);letter-spacing:.06em;border-radius:1px;padding:4px 14px;font-family:Noto Serif JP,serif;font-size:.78rem}.qual-section{background:var(--paper)}.qual-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem;display:grid}.qual-card{background:var(--white);border:1px solid var(--border);border-radius:3px;align-items:flex-start;gap:1rem;padding:1.3rem 1.2rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.qual-card:before{content:"";background:var(--gold);width:3px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.qual-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.qual-card:hover:before{transform:scaleY(1)}.qual-body{flex:1}.qual-body h3{color:var(--ink);font-size:.88rem;font-weight:500;line-height:1.5}.qual-num{color:var(--gold-dark);letter-spacing:.04em;margin-top:5px;font-family:Playfair Display,serif;font-size:.75rem;font-style:italic;display:inline-block}.qual-badge{background:var(--paper-alt);border:1px solid var(--border);width:32px;height:32px;color:var(--gold-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Noto Serif JP,serif;font-size:.85rem;display:flex}.contact-section{background:var(--ink)}.contact-section .section-label{color:var(--gold)}.contact-section .section-title{color:var(--white)}.contact-section .section-title:after{background:var(--gold)}.contact-section .section-subtitle{color:#fff9}.contact-layout{grid-template-columns:1fr 1.5fr;gap:4rem;display:grid}.contact-info{flex-direction:column;gap:1.5rem;font-style:normal;display:flex}.info-item{color:#fffc;align-items:flex-start;gap:1rem;font-size:.88rem;line-height:1.6;display:flex}.info-icon{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px}.info-icon svg{width:100%;height:100%}.contact-form{flex-direction:column;gap:1.2rem;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{letter-spacing:.1em;color:#fff9;font-size:.78rem}.form-group input,.form-group textarea{color:var(--white);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:2px;outline:none;padding:12px 16px;font-family:Noto Sans JP,sans-serif;font-size:.88rem;transition:border-color .25s}.form-group input:focus,.form-group textarea:focus{border-color:var(--gold)}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff4d}.form-group textarea{resize:vertical}.submit-btn{background:var(--gold);color:var(--ink);letter-spacing:.1em;cursor:pointer;border:none;border-radius:2px;align-self:flex-start;min-width:140px;padding:14px 32px;font-family:Noto Sans JP,sans-serif;font-size:.85rem;font-weight:500;transition:all .3s}.submit-btn:hover{background:var(--gold-dark);transform:translateY(-2px)}.submit-btn.sent{color:var(--white);background:#4a8c4a}.footer{background:#111;border-top:1px solid #ffffff0f;padding:2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;display:flex}.footer .logo-kanji{color:var(--gold)}.footer .logo-text{color:#fff6}.footer-copy{color:#ffffff4d;letter-spacing:.06em;font-size:.78rem}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.nav-links,.lang-switcher{display:none}.hamburger{display:flex}.about-layout{grid-template-columns:1fr;gap:2.5rem}.president-layout{grid-template-columns:1fr}.president-visual{flex-direction:row;align-items:center}.contact-layout,.qual-grid{grid-template-columns:1fr}.section{padding:5rem 1.5rem}}@media (width<=600px){.president-visual{flex-direction:column}.footer-inner{text-align:center;flex-direction:column}.hero-tagline{font-size:1.8rem}}.contact-mailto-card{color:var(--white);background:#ffffff0a;border:1px solid #c8a96e33;border-radius:4px;flex-direction:column;justify-content:center;gap:.6rem;min-height:200px;padding:2.5rem;text-decoration:none;transition:all .3s;display:flex}.contact-mailto-card:hover{border-color:var(--gold);background:#ffffff0f;transform:translateY(-2px)}.mailto-label{letter-spacing:.18em;color:var(--gold);text-transform:uppercase;font-size:.78rem}.mailto-email{color:var(--white);letter-spacing:.02em;word-break:break-all;font-family:Playfair Display,serif;font-size:1.6rem}.mailto-hint{color:#fff9;margin-top:.4rem;font-size:.85rem;line-height:1.6}.contact-info a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s}.contact-info a:hover{border-bottom-color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}.skip-link{z-index:9999;background:var(--ink);color:var(--white);border-radius:2px;padding:.75rem 1.25rem;font-family:Noto Sans JP,sans-serif;font-size:.85rem;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.lang-switcher a,.mobile-lang a{text-decoration:none;display:inline-block}
