:root{--background:#f7f3e9;--foreground:#262d29;--primary:#28573f;--primary-foreground:#fff;--muted:#ebe6d8;--muted-foreground:#555c54;--border:#262d29;--orange:#bf4b2a;--yellow:#eccb61;--radius:1rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bf4b2a;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:900;line-height:1.4}svg{width:24px;height:24px}section{scroll-margin-top:20px}.header{height:100px;padding:16px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid;position:relative;z-index:5;background:var(--background)}.brand{font-size:16px;font-weight:900;line-height:1.2;letter-spacing:-.05em}.brand>span{display:block;font-size:24px}.brand-dot{color:var(--orange);font-size:15px;margin-left:3px}.brand small{font-size:10px;letter-spacing:.13em}.header nav{display:flex;gap:32px;font-size:14px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 24px;border:2px solid;border-radius:999px;box-shadow:3px 4px 0 var(--foreground);font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(2px,2px);box-shadow:1px 2px 0 var(--foreground)}.header-button{background:var(--yellow);font-size:14px;padding:12px 22px}.dark{background:var(--foreground);color:var(--background);border-color:var(--foreground);box-shadow:3px 4px 0 #a9b19c}.hero{padding:28px 5% 0;overflow:hidden;position:relative}.hero-top{display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.13em}.hero-top span:last-child{font-size:14px;letter-spacing:.04em}.hero-center{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;max-width:1400px;margin:0 auto;min-height:555px;position:relative}.hero-copy{z-index:2;padding:48px 0}.eyebrow{font-size:15px;font-weight:700;margin-bottom:20px}.hero h1{font-size:clamp(44px,5.7vw,84px);line-height:1.35;letter-spacing:-.08em;white-space:nowrap;font-weight:1000}.hero h1 em{font-style:normal;color:var(--orange);text-shadow:2px 3px 0 #edc9a5}.hero-description{margin:25px 0;font-weight:600;line-height:2}.hero-art{position:relative;align-self:stretch;min-width:0}.art-field{position:absolute;inset:70px -20px 15px -50px;display:flex;align-items:center;justify-content:center;border-radius:48% 52% 43% 57%;background:#edcd71}.art-word{font-size:100px;font-weight:900;color:#28573f;transform:rotate(-12deg)}.hero-illustration{position:absolute;width:115%;max-width:none;left:-10%;top:0;height:100%;object-fit:contain;z-index:2}.round-note{position:absolute;right:2%;top:24px;background:var(--primary);color:var(--background);border-radius:50%;width:126px;height:126px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:21px;font-weight:900;line-height:1.1;transform:rotate(12deg);z-index:3;border:2px solid var(--foreground);box-shadow:5px 5px 0 #b9be9e}.round-note span{font-size:13px;letter-spacing:.2em;margin-top:8px}.little-note{position:absolute;bottom:12px;right:3%;font-size:14px;transform:rotate(-8deg);font-weight:700}.event-strip{border-top:2px solid;display:flex;align-items:center;gap:35px;min-height:115px}.date{display:flex;align-items:center;gap:14px}.date>span{writing-mode:vertical-rl;font-size:14px;font-weight:bold}.date strong{font-size:48px;line-height:1;letter-spacing:-.05em;white-space:nowrap}.date small{font-size:12px;letter-spacing:0;margin-left:6px}.date i{font-size:28px;margin:0 16px;font-style:normal}.venue{font-weight:800;border-left:1px solid;padding-left:30px;font-size:18px}.venue small{display:block;font-size:13px;font-weight:400}.deadline{margin-left:auto;position:relative;padding-right:45px}.deadline>small{display:block;font-size:13px}.deadline strong{font-size:32px;color:var(--orange);line-height:1.2}.deadline strong span{font-size:14px}.deadline svg{position:absolute;right:0;top:35px}.ticker{overflow:hidden;background:var(--primary);color:var(--background);border-top:2px solid var(--foreground);border-bottom:2px solid var(--foreground);padding:14px 0;white-space:nowrap;font-size:18px;font-weight:800;letter-spacing:.13em}.ticker span{display:inline-block;animation:marquee 35s linear infinite}.section{padding:100px 7%;max-width:1600px;margin:auto}.section-label{font-size:13px;letter-spacing:.17em;font-weight:800;margin-bottom:28px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}h2{font-size:clamp(30px,3.7vw,52px);letter-spacing:-.05em}h2 span{color:var(--orange)}.about-grid p+p{margin-top:20px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:2px solid;border-bottom:2px solid}.feature-row article{padding:30px;position:relative}.feature-row article+article{border-left:1px solid}.feature-row h3{font-size:22px;margin:14px 0}.feature-row p{font-size:15px}.feature-no{font-size:15px;font-weight:800;background:var(--yellow);border:1.5px solid;padding:3px 13px;border-radius:50%;display:inline-block;transform:rotate(-10deg)}.organizers{font-size:14px;margin-top:25px}.footer{padding:35px 7%;background:var(--foreground);color:var(--background);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em}.motion{position:fixed;right:20px;bottom:18px;background:var(--background);padding:8px 15px;border:1.5px solid;border-radius:40px;font-size:12px;z-index:9;box-shadow:2px 2px 0}.skip{position:fixed;left:15px;top:-100px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.paused *{animation-play-state:paused!important}@keyframes marquee{to{transform:translateX(-25%)}}@keyframes bob{50%{transform:translateY(-9px) rotate(1deg)}}
@media(max-width:900px){.header nav{display:none}.hero-center{grid-template-columns:1.1fr 1fr;min-height:450px}.hero h1{font-size:6.5vw}.hero-copy{padding:30px 0}.art-field{inset:110px -40px 40px -30px}.round-note{width:90px;height:90px;font-size:16px;top:40px}.hero-description{font-size:14px}.event-strip{flex-wrap:wrap;gap:18px;padding:20px 0}.date strong{font-size:37px}.venue{font-size:15px;padding-left:18px}.deadline{padding-right:25px}.deadline strong{font-size:26px}.section{padding:65px 5%}.feature-row article{padding:22px 15px}.feature-row h3{font-size:19px}}
@media(max-width:600px){.header{height:83px;padding:12px 5%}.brand>span{font-size:18px}.brand{font-size:13px}.brand small{font-size:8px}.header-button{font-size:12px;padding:10px 13px;gap:12px}.header-button svg{width:20px}.hero{padding-top:22px}.hero-top{font-size:9px;letter-spacing:.05em}.hero-top span:last-child{font-size:11px}.hero-center{display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:32px 0 0}.eyebrow{font-size:13px;margin-bottom:12px}.hero h1{font-size:12vw;line-height:1.3}.hero-description{font-size:14px;margin:18px 0}.hero-copy .button{font-size:14px;padding:12px 22px}.hero-art{height:310px;margin-top:-18px;pointer-events:none}.art-field{inset:40px -10px 15px 55px}.round-note{top:28px;right:2%;width:85px;height:85px;font-size:14px}.little-note{font-size:12px;bottom:6px}.event-strip{gap:18px}.date{width:100%}.date strong{font-size:44px}.date>span{font-size:13px}.venue{border:0;padding:0}.deadline{margin-left:auto}.about-grid{grid-template-columns:1fr;gap:25px}.feature-row{grid-template-columns:1fr;margin-top:35px}.feature-row article{padding:25px 0}.feature-row article+article{border-left:0;border-top:1px solid}.feature-row h3{display:inline-block;margin:0 0 14px 15px}.feature-row p{font-size:15px}.section-label{font-size:12px;margin-bottom:18px}.organizers{font-size:12px}.footer{padding-bottom:80px;gap:25px;flex-wrap:wrap}.ticker{font-size:14px;padding:10px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.hero-illustration{animation:bob 7s ease-in-out infinite}.art-field{background:transparent;inset:60px -45px 20px -60px}.prize-section{display:grid;grid-template-columns:1fr 1.1fr;gap:5%;background:#edcb66;padding:75px 7%;border-block:2px solid}.prize-art{position:relative;display:flex;align-items:center;justify-content:center}.prize-art img{width:90%;height:auto;max-width:470px;transform:rotate(-6deg)}.prize-sticker{position:absolute;left:0;top:8%;font-size:18px;font-weight:800;background:var(--background);border:2px solid;padding:8px 24px;border-radius:50%;transform:rotate(-12deg);z-index:1}.prize-copy>p{margin:25px 0;line-height:2}.domestic{border-top:2px solid;padding-top:24px}.small-tag{font-size:13px;font-weight:800;letter-spacing:.08em}.domestic h3{font-size:25px;margin:8px 0}.domestic>p{font-size:13px}.prize-money{display:flex;gap:28px;margin:8px 0 16px;font-size:12px}.prize-money strong{display:block;font-size:29px;line-height:1.4;letter-spacing:-.04em}.prize-money small{font-size:13px}.domestic>small{font-size:12px;display:block}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:40px}.section-heading>p{font-size:15px}.day-list[data-slot=tabs-list]{width:100%;height:auto;border:2px solid;border-radius:18px 18px 0 0;padding:0;overflow:hidden;background:#e8e4d9;gap:0}.day-tab[data-slot=tabs-trigger]{font-size:16px;padding:20px 25px;height:auto;border-radius:0;color:var(--foreground);gap:12px;font-weight:700}.day-tab[data-active]{background:var(--primary);color:var(--background)}.day-tab strong{font-size:30px}.day-tab>span{margin-left:auto;font-size:12px;letter-spacing:.13em}.schedule-tabs{gap:0}.competition{display:grid;grid-template-columns:90px 1fr 110px 85px;align-items:center;gap:15px;padding:19px 25px;border-bottom:1px solid #b0b2a3;background:#fcf9f1}.competition-no{font-size:12px;white-space:nowrap}.competition-no strong{font-size:22px;margin:0 5px}.competition-name h3{font-size:17px;font-weight:700}.competition-name p{font-size:12px;margin-top:3px}.competition-badge{font-size:12px;font-weight:700;text-align:center;color:var(--primary)}.height{font-size:27px;font-weight:800;text-align:right}.height small{font-size:12px;margin-left:4px}.schedule-note{font-size:13px;margin-top:22px}.assistance-note{display:flex;gap:25px;background:#e8eddf;padding:20px 25px;margin-top:25px;font-size:14px}.assistance-note strong{white-space:nowrap}.entry-section{padding:90px 7%;background:var(--primary);color:var(--background);border-block:2px solid var(--foreground)}.entry-deadline{border:1px solid #93a586;padding:22px 32px;transform:rotate(2deg)}.entry-deadline>span{font-size:14px}.entry-deadline strong{display:block;font-size:65px;line-height:1.25;color:var(--yellow);font-weight:800}.entry-deadline small{font-size:18px;margin-left:15px}.entry-deadline p{font-size:14px}.entry-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #93a586;border-bottom:1px solid #93a586;margin:45px 0}.entry-steps article{padding:30px 25px}.entry-steps article:first-child{padding-left:0}.entry-steps article+article{border-left:1px solid #93a586}.entry-steps article>span{font-size:12px;letter-spacing:.15em;color:var(--yellow);font-weight:800}.entry-steps h3{font-size:21px;margin:12px 0}.entry-steps p{font-size:14px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid;padding:8px 0;margin-top:15px;font-size:14px;font-weight:700}.fees{max-width:850px;margin:0 auto}.fees h3{font-size:24px;margin-bottom:22px}.fees table{font-size:16px}.fees th{color:var(--background);font-size:13px;padding:12px 10px;border-bottom:1px solid #93a586}.fees td{padding:16px 10px;border-bottom:1px solid #93a586;white-space:normal}.fees td:last-child,.fees th:last-child{text-align:right;font-weight:700;white-space:nowrap}.fees td:nth-child(2){white-space:nowrap}.fees tr:hover{background:transparent}.fees>p{font-size:13px;margin-top:20px}.download{display:flex;width:fit-content;margin:38px auto 0;background:var(--yellow);color:var(--foreground);box-shadow:4px 5px 0 #153425}.pdf-meta{display:block;text-align:center;font-size:12px;margin-top:15px}.information{display:grid;grid-template-columns:1fr 1.25fr;gap:0 7%}.information>.section-label{grid-column:1/-1}.information h2{font-size:36px}.faq-list details{border-top:1.5px solid;padding:22px 0}.faq-list details:last-child{border-bottom:1.5px solid}.faq-list summary{list-style:none;cursor:pointer;font-size:16px;font-weight:700;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{font-size:14px;padding-top:20px}.faq-list p+p{margin-top:15px}.access-section{padding:80px 7%;background:#e7dccc;border-top:2px solid}.access-section>h2{margin-bottom:45px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.access-grid h3{font-size:26px;margin:10px 0}.access-grid p{font-size:15px}.access-grid .button{margin-top:25px;background:var(--background);font-size:14px}.contact{border-left:1px solid;padding-left:12%}.phone{display:flex;align-items:center;gap:20px;font-size:clamp(22px,3vw,36px);font-weight:800;margin:15px 0 5px;letter-spacing:-.03em}.contact p+p{margin-top:25px}
@media(max-width:900px){.prize-section{padding:65px 5%;gap:3%;grid-template-columns:.85fr 1fr}.prize-money{gap:15px}.prize-money strong{font-size:24px}.prize-sticker{font-size:14px;padding:6px 15px}.entry-section{padding:65px 5%}.entry-steps article{padding:25px 18px}.entry-steps h3{font-size:18px}.information{grid-template-columns:1fr;gap:30px}.information .section-label{margin:0}.information h2{font-size:32px}.competition{grid-template-columns:75px 1fr 85px 70px;padding:18px 15px;gap:10px}.competition-name h3{font-size:16px}.day-tab[data-slot=tabs-trigger]{padding:18px}.assistance-note{display:block}.assistance-note p{margin-top:8px}}
@media(max-width:600px){.hero-illustration{width:110%;left:-5%}.art-field{inset:10px -18px 0 20px}.prize-section{display:flex;flex-direction:column;padding:40px 5% 55px}.prize-art{height:290px;order:2;margin-top:25px}.prize-art img{height:100%;width:auto;max-width:100%;object-fit:contain}.prize-sticker{top:25px;left:5%}.prize-copy h2{font-size:35px}.prize-copy>p{font-size:14px;margin:20px 0}.prize-money{gap:24px}.prize-money strong{font-size:27px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:14px}.day-tab[data-slot=tabs-trigger]{font-size:13px;padding:12px 8px;gap:8px}.day-tab strong{font-size:25px}.day-tab>span{display:none}.competition{grid-template-columns:55px 1fr 55px;gap:8px;padding:17px 10px}.competition-name h3{font-size:14px}.competition-no{font-size:10px}.competition-no strong{font-size:18px;margin:0 2px}.competition-badge{grid-column:2;grid-row:auto;text-align:left;font-size:11px}.competition-badge:empty{display:none}.height{grid-column:3;grid-row:1/3;font-size:23px}.competition{position:relative}.competition .height{grid-row:auto}.competition-badge:not(:empty){display:none}.competition-name:has(+.competition-badge:not(:empty))::after{content:'詳細は要項をご確認ください';font-size:10px;color:var(--primary)}.competition-name p{font-size:11px}.schedule-note{font-size:12px}.assistance-note{padding:18px;font-size:13px}.entry-deadline{margin:30px 0 0;padding:20px;transform:rotate(-1deg);width:100%}.entry-deadline strong{font-size:55px}.entry-steps{grid-template-columns:1fr;margin:30px 0}.entry-steps article,.entry-steps article:first-child{padding:25px 0}.entry-steps article+article{border-left:0;border-top:1px solid #93a586}.entry-steps h3{font-size:21px}.fees table{font-size:14px}.fees td{padding:14px 4px}.fees td:first-child{width:57%}.fees th{padding-inline:4px}.download{font-size:14px;padding:15px 20px;gap:18px}.access-section{padding:55px 5%}.access-grid{grid-template-columns:1fr;gap:35px}.contact{border-left:0;border-top:1px solid;padding:25px 0 0}.phone{font-size:30px}.faq-list summary{font-size:15px}}
@media(max-width:600px){.competition .height{grid-column:3;grid-row:1}.competition .competition-badge:not(:empty){display:block;grid-column:2;grid-row:2;font-size:11px;text-align:left}.competition-name:has(+.competition-badge:not(:empty))::after{content:none}}

/* Standalone layout primitives, formerly provided by the app framework. */
button{color:inherit;background:transparent}table{width:100%;border-collapse:collapse}th{text-align:left}svg{display:inline-block;flex-shrink:0;vertical-align:middle}img{display:block}.day-list{display:flex}.day-tab{display:flex;flex:1;align-items:center;justify-content:center;border:0}.day-tab[aria-selected="true"]{background:var(--primary);color:var(--background)}[hidden]{display:none!important}.footer{gap:20px;flex-wrap:wrap}button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
