:root{--red:#e60020;--ink:#111216;--soft:#f2f2f1;--line:#ddd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);line-height:1.8;background:#f2f2f1}a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:rgba(17,18,22,.96);color:#fff;backdrop-filter:blur(12px)}.nav{max-width:1180px;margin:auto;min-height:65px;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;gap:18px}.brand{font-size:12px;font-weight:900;letter-spacing:.09em;text-decoration:none;line-height:1.4}.brand b{font-size:17px}.links{display:flex;gap:24px;align-items:center;font-size:12px;font-weight:bold}.links a{text-decoration:none}.links .pill{background:var(--red);padding:8px 16px;color:#fff}
.entry-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#161719 10%,#292c30 65%,#101114);color:#fff}.entry-hero::before{content:"ENTRY";position:absolute;right:-3%;bottom:-25%;font-size:clamp(120px,26vw,370px);font-weight:1000;line-height:1;color:#ffffff08;letter-spacing:-.1em;pointer-events:none}.entry-hero-inner{position:relative;max-width:1120px;margin:auto;padding:60px 24px 55px}.eyebrow{color:var(--red);font-size:12px;letter-spacing:.22em;font-weight:900}.entry-hero h1{font-size:clamp(38px,6vw,76px);letter-spacing:-.05em;line-height:1.08;margin:15px 0 22px;font-weight:950}.entry-hero h1 small{display:block;font-size:clamp(17px,2.5vw,25px);letter-spacing:0;margin-bottom:12px}.event-badge{display:inline-block;border-left:4px solid var(--red);padding:4px 0 4px 16px;font-size:14px;font-weight:800;letter-spacing:.08em}.back-link{display:inline-block;margin-top:23px;color:#ddd;font-size:12px;text-decoration:none}.back-link:hover{color:white}
.main{padding:0 24px 72px}.form-panel{max-width:940px;margin:0 auto;background:#fff;padding:clamp(25px,5vw,58px);box-shadow:0 14px 45px #0000000c}.entry-period{background:#f6f6f6;border-left:4px solid var(--red);padding:18px 22px;margin-bottom:38px}.entry-period-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#555;margin:0 0 6px}.entry-period-time{font-size:clamp(1rem,2vw,1.2rem);font-weight:800;margin:0 0 6px;line-height:1.6}.entry-period-note{font-size:.83rem;color:#666;margin:0;line-height:1.8}
.entry-section{margin:0 0 40px}.entry-section:last-child{margin-bottom:0}.entry-section-title{font-size:1.15rem;font-weight:800;border-left:4px solid var(--red);padding:4px 0 4px 13px;margin:0 0 20px}.entry-steps{list-style:none;counter-reset:entryStep;padding:0;margin:0}.entry-steps li{counter-increment:entryStep;display:flex;gap:14px;align-items:flex-start;margin:0 0 15px;line-height:1.85;font-size:.96rem}.entry-steps li:before{content:counter(entryStep,decimal-leading-zero);flex:0 0 35px;color:var(--red);font-size:.85rem;font-weight:800;padding-top:2px}.entry-download{text-align:center;background:#f7f7f7;padding:22px;margin:20px 0 14px}.entry-download p{font-weight:700;margin:0 0 13px;font-size:.95rem}.entry-btn{display:inline-block;background:var(--red);color:#fff!important;text-decoration:none;font-weight:700;padding:13px 26px;border-radius:3px;border:0;cursor:pointer}.entry-btn:hover{background:#ae0019}.entry-help{font-size:.78rem;color:#666;line-height:1.9;margin:0}.entry-help a{color:#a10d20;text-decoration:underline}
.entry-form{margin-top:8px}.entry-required-note{font-size:.8rem;color:#a31926;margin-bottom:18px}.entry-field{padding:18px 0;border-bottom:1px solid #e6e6e6}.entry-field:first-of-type{border-top:1px solid #e6e6e6}.entry-field label.field-label{display:block;font-weight:700;font-size:.94rem;margin-bottom:12px}.entry-required{font-size:.72rem;background:#b91726;color:#fff;padding:2px 7px;border-radius:2px;margin-left:8px;vertical-align:2px}.entry-input{min-width:0;width:100%;max-width:440px;padding:11px 12px;border:1px solid #ccc;border-radius:3px;background:#fff;font-size:1rem}.entry-input:focus{outline:2px solid #c93e49;outline-offset:1px}.entry-name{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:500px}.entry-name label{display:block;font-size:.8rem;color:#555;margin-bottom:5px}.entry-phone{display:flex;align-items:center;gap:8px;max-width:440px}.entry-phone input{width:33.33%;min-width:0}.entry-mail input+input{margin-top:10px}.entry-file{font-size:.92rem;max-width:100%;padding:9px;border:1px solid #ddd;border-radius:3px}.entry-hint{font-size:.8rem;color:#666;margin:9px 0 0;line-height:1.7}.entry-submit{text-align:center;padding-top:30px}.entry-submit input{background:var(--red);color:white;border:0;border-radius:3px;padding:16px 45px;font-weight:700;font-size:1rem;cursor:pointer}.entry-submit input:hover{background:#ae0019}
.site-footer{background:#111;color:#ddd;padding:45px 24px;font-size:12px}.site-footer .footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.site-footer a{color:#fff}
@media(max-width:720px){.nav{padding:10px 18px}.links{gap:10px}.links a:not(.pill){display:none}.entry-hero-inner{padding:42px 20px}.entry-hero::before{bottom:-12%}.main{padding:0 0 45px}.form-panel{padding:30px 20px;box-shadow:none}.entry-download{padding:20px 12px}.entry-btn{width:100%}.entry-phone{gap:5px}.entry-period{padding:15px}.entry-steps li{gap:7px}.site-footer{padding:38px 20px}}

/* v2: application pages — event-first hierarchy */
.entry-hero-inner{padding:48px 24px 52px}
.hero-series{margin-top:21px;font-size:clamp(15px,2vw,20px);font-weight:900;letter-spacing:.06em;color:#ddd;line-height:1.35}
.hero-series>span{color:var(--red)}
.hero-series em{font-style:normal;color:#85898d;font-size:.66em;letter-spacing:.13em}
.hero-date{display:flex;align-items:baseline;gap:17px;margin:26px 0 6px}
.hero-date strong{font-size:clamp(62px,10vw,112px);line-height:1;font-weight:950;letter-spacing:-.065em;color:#fff}
.hero-date span{font-size:clamp(13px,1.8vw,18px);letter-spacing:.16em;font-weight:800;color:var(--red)}
.hero-category{margin:14px 0 5px;color:var(--red);font-size:12px;letter-spacing:.2em;font-weight:900}
.entry-hero .event-title{margin:0;font-size:clamp(28px,4.4vw,53px);line-height:1.25;letter-spacing:-.035em;font-weight:900;max-width:1000px}
.event-subtitle{margin:12px 0 0;font-size:14px;font-weight:700;color:#c7c7c7}
.entry-hero .back-link{margin-top:28px}
@media(max-width:720px){.entry-hero-inner{padding:35px 20px 42px}.hero-series{margin-top:18px}.hero-date{margin-top:24px;gap:12px}.hero-date strong{font-size:clamp(60px,17vw,88px)}.hero-date span{font-size:12px}.entry-hero .event-title{font-size:clamp(27px,7vw,39px)}.hero-series em{display:block;margin-top:2px}}

/* v3: reduce repetition and tighten HERO vertical rhythm */
.entry-hero-inner{padding-top:38px;padding-bottom:38px}
.entry-hero .eyebrow{line-height:1.35;font-size:12px;letter-spacing:.18em}
.hero-series{margin-top:13px;line-height:1.3}
.hero-date{margin:21px 0 14px;gap:17px}
.hero-date strong{line-height:.95}
.entry-hero .event-title{margin:0;line-height:1.2}
.event-subtitle{margin:9px 0 0;line-height:1.5}
.entry-hero .back-link{margin-top:23px}
@media(max-width:720px){
 .entry-hero-inner{padding-top:30px;padding-bottom:32px}
 .hero-series{margin-top:11px}
 .hero-date{margin:19px 0 14px;gap:10px;flex-wrap:wrap}
 .entry-hero .event-title{line-height:1.24}
 .event-subtitle{margin-top:9px}
 .entry-hero .back-link{margin-top:22px}
}
