:root{--ink:#0b0b0c;--paper:#f3f0e9;--red:#ef1826;--gold:#ffad00;--line:rgba(11,11,12,.16);--max:1280px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(243,240,233,.94);border-bottom:1px solid rgba(11,11,12,.1);backdrop-filter:blur(16px);transition:.3s}
.site-header.scrolled{height:68px;box-shadow:0 10px 35px rgba(0,0,0,.08)}
.brand{display:block;width:195px}.brand img{width:100%;height:auto;mix-blend-mode:multiply}
.site-nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700;letter-spacing:.05em}.site-nav a{position:relative}.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--red);transition:.25s}.site-nav a:hover::after{width:100%}
.nav-cta{padding:12px 20px;background:var(--ink);color:white}.menu-button{display:none}
.hero{position:relative;min-height:880px;padding:150px max(5vw,calc((100vw - var(--max))/2)) 80px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;background:var(--ink);color:white;overflow:hidden}
.hero::before{content:"";position:absolute;left:-8vw;top:10%;width:62vw;height:62vw;border:1px solid rgba(255,255,255,.09);border-radius:50%}.hero::after{content:"";position:absolute;right:-18vw;bottom:-40vw;width:75vw;height:75vw;background:var(--red);border-radius:50%;opacity:.08}
.hero-noise{position:absolute;inset:0;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.hero-copy,.hero-visual{position:relative;z-index:2}.kicker,.eyebrow{margin:0 0 22px;font-size:12px;font-weight:800;letter-spacing:.22em}.kicker{color:var(--gold)}
.hero h1{margin:0;line-height:.9}.hero h1 span{display:block;margin-bottom:15px;font-size:clamp(22px,2.1vw,34px);letter-spacing:.08em}.hero h1 strong{display:block;font-size:clamp(120px,15vw,225px);font-weight:900;letter-spacing:-.09em;color:var(--red)}
.hero-lead{margin:34px 0 10px;font-size:clamp(23px,3vw,42px);font-weight:800;line-height:1.35}.hero-text{max-width:590px;margin:0;color:#bcbcbc;font-size:15px}
.hero-actions{display:flex;gap:12px;margin-top:38px;flex-wrap:wrap}.button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;padding:0 27px;font-size:13px;font-weight:800;letter-spacing:.04em;transition:.25s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--red);color:#fff;box-shadow:8px 8px 0 rgba(239,24,38,.2)}.button-ghost{border:1px solid rgba(255,255,255,.4);color:white}.button-light{background:white;color:var(--ink)}.button-dark{background:var(--ink);color:white}.button.full{width:100%}
.hero-visual{padding-left:6vw}.poster-frame{position:relative;transform:rotate(2.4deg);background:white;padding:10px;box-shadow:0 35px 90px rgba(0,0,0,.55)}.poster-frame::before{content:"";position:absolute;z-index:-1;inset:18px -22px -22px 18px;border:2px solid var(--red)}.poster-frame img{width:100%;aspect-ratio:1.415;object-fit:cover}.vertical-word{position:absolute;right:-42px;bottom:15px;margin:0;writing-mode:vertical-rl;font-family:Anton,sans-serif;font-size:15px;letter-spacing:.5em;color:#777}.scroll-cue{position:absolute;z-index:3;bottom:30px;left:4vw;display:flex;gap:14px;align-items:center;font:11px Anton,sans-serif;letter-spacing:.24em;color:#888}.scroll-cue i{display:block;width:70px;height:1px;background:#555}
.quick-facts{max-width:var(--max);margin:-1px auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:white;position:relative;z-index:5}.quick-facts article{padding:34px;border-right:1px solid var(--line)}.quick-facts article:last-child{border:0}.quick-facts span{display:block;color:var(--red);font:14px Anton,sans-serif;letter-spacing:.16em}.quick-facts strong{display:block;margin:4px 0;font-size:20px}.quick-facts small{color:#6b6b6b;font-size:12px}
.section{position:relative;max-width:var(--max);margin:auto;padding:135px 4vw}.section-label{position:absolute;top:55px;left:4vw;font:12px Anton,sans-serif;letter-spacing:.2em;color:#7a7975}.section-label span{color:var(--red);margin-right:12px}.section-label.light{color:#777}
.about{min-height:780px;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-content:center}.about-heading h2,.entry h2,.artists h2,.schedule h2,.audition h2{margin:0;font-size:clamp(42px,5.5vw,82px);line-height:1.18;letter-spacing:-.055em}.about-body{padding-top:85px;font-size:15px}.about-body p{margin:0 0 24px}.about-statement{position:absolute;right:-30px;bottom:20px;color:rgba(11,11,12,.045);font:clamp(90px,14vw,185px)/.72 Anton,sans-serif;text-align:right;letter-spacing:-.03em;pointer-events:none}
.schedule,.artists{max-width:none;background:var(--ink);color:white;padding-left:max(4vw,calc((100vw - var(--max))/2 + 4vw));padding-right:max(4vw,calc((100vw - var(--max))/2 + 4vw))}.schedule .section-label,.artists .section-label{left:max(4vw,calc((100vw - var(--max))/2 + 4vw))}
.schedule-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.red{color:var(--red)}.schedule-lead{max-width:550px;margin:28px 0 36px;color:#aaa}.notice-card{display:flex;gap:24px;padding:38px;background:#171719;border:1px solid #2a2a2c}.notice-mark{margin:0;color:var(--red);font:84px/1 Anton,sans-serif}.notice-card h3{margin:3px 0 12px;font-size:20px}.notice-card p{margin:0;color:#aaa;font-size:14px}
.entry-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:6vw;margin-bottom:70px}.entry-head>p{margin:0;color:#65635f;font-size:14px}.entry-grid{display:grid;grid-template-columns:1fr 390px;gap:7vw}.entry-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.entry-list li{display:grid;grid-template-columns:65px 1fr;padding:24px 0;border-bottom:1px solid var(--line)}.entry-list li>span{font:20px Anton,sans-serif;color:var(--red)}.entry-list p{margin:0;color:#706e69;font-size:13px}.entry-list strong{display:block;margin-bottom:3px;color:var(--ink);font-size:16px}.line-card{padding:34px;background:white;box-shadow:0 24px 70px rgba(0,0,0,.08)}.line-card-copy span{color:#00b900;font:13px Anton,sans-serif;letter-spacing:.17em}.line-card-copy h3{margin:7px 0 8px;font-size:26px}.line-card-copy p{margin:0;color:#777;font-size:12px}.line-card img{width:175px;height:auto;aspect-ratio:1/1;object-fit:contain;margin:22px auto}.equipment{margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.equipment summary{padding:22px 0;cursor:pointer;font-weight:700}.equipment-body{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:10px 0 35px}.equipment-body h3{font-size:15px}.equipment-body p{color:#666;font-size:12px}
.artists-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.artists-head>a{font-size:13px;font-weight:700;border-bottom:1px solid #555;padding-bottom:7px}.artists-head>a span{color:var(--red)}.artist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.artist-card{position:relative;min-height:430px;overflow:hidden;background:#222}.artist-card.large{grid-row:span 2;min-height:872px}.artist-card.wide{min-height:430px}.artist-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.88))}.artist-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:.5s}.artist-card:hover img{filter:grayscale(0);transform:scale(1.035)}.artist-card>div{position:absolute;z-index:2;left:30px;bottom:28px}.artist-card small{color:var(--red);font:12px Anton,sans-serif;letter-spacing:.2em}.artist-card h3{margin:4px 0 0;font-size:clamp(24px,3vw,42px);line-height:1.1}.artist-card h3 em{font-size:.5em;font-style:normal}.artist-index{position:absolute;z-index:2;right:24px;top:20px;font:16px Anton,sans-serif;color:white}
.audition{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;padding-left:max(4vw,calc((100vw - var(--max))/2 + 4vw));padding-right:max(4vw,calc((100vw - var(--max))/2 + 4vw));background:var(--red);color:white}.audition-copy p{max-width:520px;margin:0 0 30px}.site-footer{padding:48px 4vw;background:#050506;color:white;text-align:center}.footer-word{margin:0;font:32px Anton,sans-serif;letter-spacing:.12em;text-transform:lowercase}
.legacy-main{min-height:calc(100vh - 120px);padding-top:82px}.legacy-hero{padding:90px max(24px,calc((100vw - 1120px)/2));background:var(--ink);color:#fff}.legacy-hero p{margin:0 0 12px;color:var(--red);font:14px Anton,sans-serif;letter-spacing:.22em}.legacy-hero h1{max-width:1000px;margin:0;font-size:clamp(36px,6vw,76px);line-height:1.2;letter-spacing:-.045em}.legacy-content{width:min(100% - 48px,960px);min-height:360px;margin:0 auto;padding:75px 0 110px;overflow-wrap:anywhere}.legacy-content>*:first-child{margin-top:0}.legacy-content h2,.legacy-content h3,.legacy-content h4{line-height:1.4}.legacy-content h2{margin-top:2em;font-size:clamp(26px,4vw,40px)}.legacy-content h3{margin-top:1.8em;font-size:22px}.legacy-content p{margin:0 0 1.4em}.legacy-content a{color:#c80014;text-decoration:underline;text-underline-offset:3px}.legacy-content img{height:auto;margin-left:auto;margin-right:auto}.legacy-content iframe{max-width:100%}.legacy-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.legacy-content th,.legacy-content td{padding:10px;border:1px solid var(--line)}
.contact-options{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.contact-options section{padding:42px;background:#fff;border:1px solid var(--line)}.contact-options h2{margin:.25em 0 .7em;font-size:clamp(25px,3vw,34px)}.contact-label{margin:0!important;color:var(--red);font:13px Anton,sans-serif;letter-spacing:.18em}.contact-options .button{color:#fff;text-decoration:none}.contact-email{display:inline-block;font-size:clamp(18px,2.4vw,27px);font-weight:800}
body.sonicform-subpage{background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.8}
.sonicform-subpage .subpage-main{min-height:calc(100vh - 120px);padding-top:82px}
.sonicform-subpage .subpage-hero{position:relative;min-height:355px;display:flex;align-items:flex-end;padding:78px max(4vw,calc((100vw - var(--max))/2 + 4vw)) 64px;background:var(--ink);color:#fff;overflow:hidden}
.sonicform-subpage .subpage-hero::before{content:"";position:absolute;left:-12vw;top:-38vw;width:68vw;height:68vw;border:1px solid rgba(255,255,255,.1);border-radius:50%}
.sonicform-subpage .subpage-hero::after{content:"";position:absolute;right:-10vw;bottom:-34vw;width:58vw;height:58vw;background:var(--red);border-radius:50%;opacity:.1}
.sonicform-subpage .subpage-hero-inner{position:relative;z-index:2;width:min(100%,1000px)}
.sonicform-subpage .subpage-hero p{margin:0 0 15px;color:var(--gold);font:13px Anton,sans-serif;letter-spacing:.24em}
.sonicform-subpage .subpage-hero h1{margin:0;color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:clamp(38px,6vw,78px);font-weight:900;line-height:1.2;letter-spacing:-.055em;text-shadow:none}
.sonicform-subpage .subpage-hero>span{position:absolute;z-index:1;right:3vw;bottom:-.25em;color:rgba(255,255,255,.045);font:clamp(100px,20vw,270px)/1 Anton,sans-serif;letter-spacing:-.04em;pointer-events:none}
.sonicform-subpage .subpage-layout{width:min(calc(100% - 48px),var(--max));margin:0 auto;padding:85px 0 125px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:76px;align-items:start}
.sonicform-subpage .subpage-content{min-width:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none;overflow-wrap:anywhere}
.sonicform-subpage .subpage-content>*:first-child{margin-top:0}
.sonicform-subpage .subpage-featured{margin:0 0 42px;padding:10px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.1);transform:rotate(-.5deg)}
.sonicform-subpage .subpage-featured img{width:100%;max-height:620px;object-fit:contain}
.sonicform-subpage .subpage-content h2,.sonicform-subpage .subpage-content h3,.sonicform-subpage .subpage-content h4{color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-weight:800;line-height:1.45;text-shadow:none}
.sonicform-subpage .subpage-content h2{margin:2.2em 0 .8em;padding:0 0 12px;border-bottom:3px solid var(--ink);font-size:clamp(25px,3.4vw,40px);letter-spacing:-.035em}
.sonicform-subpage .subpage-content h2::after{content:"";display:block;width:70px;height:3px;margin-bottom:-15px;background:var(--red)}
.sonicform-subpage .subpage-content h3{margin:1.9em 0 .7em;padding-left:16px;border-left:4px solid var(--red);font-size:22px}
.sonicform-subpage .subpage-content h4{margin:1.7em 0 .6em;font-size:18px}
.sonicform-subpage .subpage-content p{margin:0 0 1.55em}
.sonicform-subpage .subpage-content a{color:#c90016;text-decoration:underline;text-underline-offset:4px}
.sonicform-subpage .subpage-content img{height:auto;max-width:100%}
.sonicform-subpage .subpage-content iframe{max-width:100%}
.sonicform-subpage .subpage-content ul,.sonicform-subpage .subpage-content ol{margin:0 0 1.7em;padding-left:1.6em}
.sonicform-subpage .subpage-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;background:#fff}
.sonicform-subpage .subpage-content th,.sonicform-subpage .subpage-content td{padding:12px 14px;border:1px solid var(--line);vertical-align:top}
.sonicform-subpage .subpage-sidebar{position:sticky;top:105px;padding:33px 30px 30px;background:var(--ink);color:#fff;box-shadow:14px 14px 0 rgba(239,24,38,.16)}
.sonicform-subpage .subpage-sidebar-label{margin:0 0 5px;color:var(--red);font:12px Anton,sans-serif;letter-spacing:.2em}
.sonicform-subpage .subpage-sidebar h2{margin:0 0 22px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:23px;font-weight:800;line-height:1.4;text-shadow:none}
.sonicform-subpage .subpage-sidebar nav{margin:0 0 28px;border-top:1px solid #343438}
.sonicform-subpage .subpage-sidebar nav a{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid #343438;color:#eee;font-size:13px;font-weight:600;text-decoration:none;transition:.2s}
.sonicform-subpage .subpage-sidebar nav a:hover{color:var(--red);padding-left:5px}
.sonicform-subpage .subpage-sidebar nav span{color:#777;font:11px Anton,sans-serif}
.sonicform-subpage .subpage-sidebar .button{color:#fff;text-decoration:none}
.sonicform-subpage .sonicform-contact{padding:38px;background:#fff;border-top:5px solid var(--red);box-shadow:0 20px 60px rgba(0,0,0,.08)}
.sonicform-subpage .sonicform-contact p{margin:0 0 25px}
.sonicform-subpage .sonicform-contact label{display:block;font-weight:700}
.sonicform-subpage .sonicform-contact em{margin-left:6px;color:var(--red);font-size:11px;font-style:normal}
.sonicform-subpage .sonicform-contact input[type=text],.sonicform-subpage .sonicform-contact input[type=email],.sonicform-subpage .sonicform-contact select,.sonicform-subpage .sonicform-contact textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;background:#faf9f6;border:1px solid #aaa;border-radius:0;color:var(--ink);font:inherit}
.sonicform-subpage .sonicform-contact textarea{resize:vertical}
.sonicform-subpage .sonicform-contact .button{border:0;color:#fff;cursor:pointer;text-decoration:none}
.sonicform-subpage .sonicform-form-notice{padding:18px 20px;background:#fff;border-left:5px solid var(--red);font-weight:700}
.sonicform-subpage .sonicform-form-notice.success{border-color:#00a650}
@media(max-width:900px){.site-header{height:68px;padding:0 22px}.brand{width:155px}.menu-button{display:grid;width:44px;height:44px;padding:11px;background:none;border:0;place-content:center;gap:5px}.menu-button span{display:block;width:23px;height:2px;background:var(--ink);transition:.25s}.menu-button.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-button.active span:nth-child(2){opacity:0}.menu-button.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{position:absolute;top:68px;left:0;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px 22px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav a{padding:14px 0}.nav-cta{text-align:center;margin-top:8px}.hero{min-height:auto;grid-template-columns:1fr;padding:125px 24px 80px}.hero-copy{padding-bottom:60px}.hero h1 strong{font-size:38vw}.hero-visual{padding:0 15px}.vertical-word{right:-14px}.scroll-cue{display:none}.quick-facts{grid-template-columns:repeat(2,1fr)}.quick-facts article{padding:24px 20px;border-bottom:1px solid var(--line)}.quick-facts strong{font-size:16px}.section{padding:115px 24px}.section-label{top:42px;left:24px}.about,.schedule-layout,.entry-head,.entry-grid,.audition{grid-template-columns:1fr}.about{min-height:0;gap:0}.about-body{padding-top:45px}.about-statement{font-size:25vw}.schedule,.artists,.audition{padding-left:24px;padding-right:24px}.schedule .section-label,.artists .section-label{left:24px}.notice-card{margin-top:25px}.entry-head{align-items:start;margin-bottom:45px}.entry-grid{gap:38px}.equipment-body{grid-template-columns:1fr;gap:10px}.artist-card,.artist-card.large,.artist-card.wide{min-height:450px;grid-row:auto}.artist-grid{grid-template-columns:1fr}.artists-head{align-items:start;gap:30px;flex-direction:column}.audition{gap:35px}.legacy-main{padding-top:68px}.legacy-hero{padding:65px 24px}.legacy-content{width:min(100% - 40px,960px);padding:55px 0 80px}.contact-options{grid-template-columns:1fr}.contact-options section{padding:30px 24px}}
@media(max-width:520px){.hero h1 span{font-size:20px}.hero-lead{font-size:25px}.button{width:100%}.quick-facts article{padding:20px 16px}.quick-facts strong{font-size:14px}.quick-facts small{font-size:10px}.about-heading h2,.entry h2,.artists h2,.schedule h2,.audition h2{font-size:38px}.artist-card,.artist-card.large,.artist-card.wide{min-height:380px}.footer-word{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(max-width:900px){.sonicform-subpage .subpage-main{padding-top:68px}.sonicform-subpage .subpage-hero{min-height:285px;padding:65px 24px 48px}.sonicform-subpage .subpage-layout{width:min(calc(100% - 40px),var(--max));padding:58px 0 85px;grid-template-columns:1fr;gap:55px}.sonicform-subpage .subpage-sidebar{position:static}.sonicform-subpage .sonicform-contact{padding:28px 22px}}
/*
Theme Name: sonicform SHIROTEN
Theme URI: https://sonicform.com/
Author: sonicform
Description: 城天を中心に、所属アーティストと出演案内を掲載する sonicform 公式テーマ。
Version: 1.0.0
Text Domain: sonicform-joten
*/
