:root{--ink: #1a1a2e;--paper: #f7f3ed;--cream: #ede6d9;--vermillion: #d1443c;--vermillion-dark: #b5332c;--gold: #c9a84c;--gold-light: #e8d699;--slate: #4a4a5a;--mist: #c8c3b8;--white: #ffffff;--shadow: rgba(26, 26, 46, .08);--shadow-md: rgba(26, 26, 46, .12)}*{margin:0;padding:0;box-sizing:border-box}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--vermillion);color:#fff;padding:.75rem 1.5rem;border-radius:0 0 8px 8px;font-size:.9rem;font-weight:600;z-index:10000;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}body{font-family:DM Sans,sans-serif;background:var(--paper);color:var(--ink);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}.site-header{background:var(--ink);padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}.logo-img{height:44px;width:auto}.header-nav{display:flex;gap:1.5rem;align-items:center}.header-nav a{color:var(--mist);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s;letter-spacing:.02em}.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--paper)}.nav-dropdown{position:relative}.nav-dropdown .nav-caret{font-size:.7em;display:inline-block;margin-left:.15em;transition:transform .2s}.nav-dropdown:hover .nav-caret,.nav-dropdown:focus-within .nav-caret{transform:rotate(180deg)}.nav-dropdown-menu{visibility:hidden;opacity:0;transition:opacity .15s;position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--ink);border:1px solid rgba(255,255,255,.08);border-radius:0 0 10px 10px;padding:.6rem 0;min-width:220px;box-shadow:0 12px 30px #00000059;z-index:200}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{visibility:visible;opacity:1}.nav-dropdown-menu a{display:block;padding:.5rem 1.25rem;white-space:nowrap}@media(max-width:640px){.nav-dropdown{display:contents}.nav-dropdown .nav-caret{display:none}.nav-dropdown-menu{visibility:visible;opacity:1;position:static;transform:none;background:none;border:0;border-radius:0;box-shadow:none;min-width:0;padding:0 0 0 1rem;display:flex;flex-direction:column;gap:.75rem}.nav-dropdown-menu a:first-child{display:none}.nav-dropdown-menu a{padding:0;font-size:.72rem;opacity:.85}.nav-dropdown-menu a:before{content:"› ";opacity:.6}}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--mist)}.mobile-menu-btn svg{width:24px;height:24px}.mobile-menu-btn:focus-visible{outline:2px solid var(--vermillion);outline-offset:2px}.site-footer{background:var(--ink);padding:3rem 2rem;text-align:center}.footer-brand{font-family:Playfair Display,serif;font-weight:700;font-size:1.15rem;color:var(--paper);margin-bottom:.5rem}.footer-tagline{color:#f7f3ed66;font-size:.82rem;margin-bottom:1.5rem}.footer-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.footer-links a{color:#f7f3ed80;text-decoration:none;font-size:.82rem;transition:color .2s}.footer-links a:hover{color:var(--paper)}.footer-contact{color:#f7f3ed73;font-size:.8rem;margin-bottom:1rem}.footer-contact a{color:#f7f3ed99;text-decoration:none;transition:color .2s}.footer-contact a:hover{color:var(--paper)}.footer-copy{color:#f7f3ed40;font-size:.75rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeUp .6s ease forwards}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}@media(max-width:640px){.site-header{padding:.75rem 1rem}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;padding:1rem 1.5rem;gap:.75rem;border-top:1px solid rgba(255,255,255,.08)}.header-nav.open{display:flex}.mobile-menu-btn{display:block}}.page-banner{position:relative;padding:3.5rem 2rem 4rem;text-align:center;overflow:hidden;background:linear-gradient(175deg,var(--ink) 0%,#2a1a3e 40%,#3a2020 70%,var(--vermillion-dark) 100%)}.page-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 20% 80%,rgba(201,168,76,.15),transparent),radial-gradient(ellipse 40% 40% at 80% 20%,rgba(209,68,60,.2),transparent);pointer-events:none}.banner-kanji{position:absolute;font-family:"Noto Serif JP",serif;color:#ffffff0a;pointer-events:none;user-select:none}.banner-kanji.k1{top:10%;left:5%;font-size:6rem;transform:rotate(-12deg)}.banner-kanji.k2{bottom:10%;right:8%;font-size:5rem;transform:rotate(8deg)}.banner-content{position:relative;z-index:2;max-width:720px;margin:0 auto}.banner-content h1{font-family:Playfair Display,serif;font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--paper);line-height:1.15;margin-bottom:.75rem;letter-spacing:-.02em}.banner-content h1 .jp-text{font-family:"Noto Serif JP",serif;font-weight:700;font-size:.65em;color:var(--gold-light);display:block;margin-top:.25rem}.banner-content p{color:#f7f3edb3;font-size:1rem;line-height:1.65;max-width:560px;margin:0 auto}.page-content{max-width:900px;margin:-2rem auto 0;padding:0 1.5rem 4rem;position:relative;z-index:10}.content-card{background:var(--white);border-radius:20px;padding:3rem;box-shadow:0 4px 40px var(--shadow-md),0 1px 3px var(--shadow)}.content-card h2{font-family:Playfair Display,serif;font-weight:700;font-size:1.5rem;margin-bottom:1rem;line-height:1.3;color:var(--ink)}.content-card h3{font-family:DM Sans,sans-serif;font-weight:600;font-size:1.05rem;margin-top:1.75rem;margin-bottom:.5rem;color:var(--ink)}.content-card p{color:var(--slate);line-height:1.75;margin-bottom:1rem;font-size:.95rem}.content-card a{color:var(--vermillion);text-decoration:none;font-weight:500;transition:color .2s}.content-card a:hover{color:var(--vermillion-dark);text-decoration:underline}.content-card strong{color:var(--ink);font-weight:600}.highlight-box{background:var(--paper);border-radius:14px;padding:1.5rem 1.75rem;margin:1.5rem 0;border-left:4px solid var(--vermillion)}.highlight-box p{margin-bottom:0}.section-divider{border:none;height:1px;background:var(--cream);margin:2.5rem 0}.effective-date{display:inline-block;background:var(--paper);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;color:var(--slate);margin-bottom:1.5rem}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.content-card.full-width{grid-column:1 / -1}.contact-info-list{list-style:none;padding:0;margin:0}.contact-info-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--cream)}.contact-info-item:last-child{border-bottom:none;padding-bottom:0}.contact-info-item:first-child{padding-top:0}.contact-icon{width:44px;height:44px;background:var(--paper);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--vermillion)}.contact-icon svg{width:20px;height:20px}.contact-info-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--mist);margin-bottom:.2rem}.contact-info-value{font-size:.95rem;color:var(--ink);font-weight:500}.contact-info-value a{color:var(--vermillion);text-decoration:none;font-weight:500}.contact-info-value a:hover{color:var(--vermillion-dark);text-decoration:underline}.response-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--paper);border:1.5px solid var(--cream);border-radius:100px;padding:.5rem 1rem;font-size:.82rem;font-weight:500;color:var(--slate);margin-top:1rem}.response-dot{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--slate)}.form-label .required{color:var(--vermillion)}.form-input,.form-textarea{padding:.9rem 1.15rem;font-size:.95rem;font-family:DM Sans,sans-serif;border:2px solid var(--cream);border-radius:12px;background:var(--paper);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:var(--vermillion);box-shadow:0 0 0 3px #d1443c1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--mist)}.form-textarea{resize:vertical;min-height:150px}.submit-btn{padding:1rem 2rem;background:var(--vermillion);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.submit-btn:hover{background:var(--vermillion-dark);transform:translateY(-1px);box-shadow:0 4px 16px #d1443c4d}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.form-note{font-size:.82rem;color:var(--mist);line-height:1.5;text-align:center}.form-message{padding:1rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:500;display:none}.form-message.success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;display:block}.form-message.error{background:#fbe9e7;color:#c62828;border:1px solid #ef9a9a;display:block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:640px){.page-banner{padding:2.5rem 1.5rem 3.5rem}.content-grid{grid-template-columns:1fr}.content-card{padding:2rem 1.5rem}}
