@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;800;900&family=Outfit:wght@600;700;800&display=swap');

@font-face {
    font-family: 'SacheonUniverse';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2506-1@1.0/SacheonUju-Regular.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    min-width: 320px;
    overflow-x: hidden;
	scroll-behavior:smooth;
}

html.modal-open {
    overflow: hidden;
}

body {
    color: #241653;
    font-family: "Noto Sans KR", sans-serif;
    font-weight: 500;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    background: #fff;
	min-width: 320px;
	
}

ol,
ul {
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
    -webkit-user-drag: none;
}

input,
select,
textarea,
button {
    font-family: "Noto Sans KR", sans-serif;
}

textarea {
    resize: none;
}

.container {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
}

.section {
    position: relative;
}

.section_inner {
    position: relative;
    z-index: 15;
    width: min(692px, calc(100% - 40px));
    margin: 0 auto;
}

.aside {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 70;
    width: 126px;
    background: #fff;
    border-left: 2px solid #241653;
}

.aside_inner a,
.aside_inner button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 152px;
    padding: 18px 10px;
    border-bottom: 1px solid #241653;
    color: #17103f;
    text-align: center;
    font-size: 22px;
    line-height: 1.42;
    word-break: keep-all;
	 font-family: 'SacheonUniverse';
}

.aside_inner li:first-child a {
    min-height: 210px;
    background: #12aee7;
}

.aside_inner li:nth-child(2) a {
    min-height: 150px;
    background: #09e8c3;
}

.aside_inner li:nth-child(3) button,
.aside_inner li:nth-child(4) a {
    background: #fff;
}

.event_main {
    height: 1180px;
    overflow: hidden;
    background: #0c073b url('../img/main_bg.jpg') center top / auto no-repeat;
}

.event_main > img,
.main_title {
    position: absolute;
    z-index: 3;
}

.top_logo {
    top: 68px;
    left: 50%;
    width: 190px;
    transform: translateX(-50%);
}

.main_title {
    top: 168px;
    left: 50%;
    width: 690px;
    aspect-ratio: 690 / 354;
    transform: translateX(-50%);
    z-index: 5;
}

.main_title_ring {
    position: absolute;
    top: 4px;
    left: 0;
    width: 100%;
}

.main_title_text {
    position: absolute;
    top: 8px;
    left: 9.42%;
    width: 81.16%;
}

.main_title_item {
    position: absolute;
    z-index: 4;
}

.main_title_item.item_1 {
    top: 10.73%;
    left: 78.26%;
    width: 2.9%;
}

.main_title_item.item_2 {
    top: 7.91%;
    left: 82.9%;
    width: 5.22%;
}

.main_cha_ttoah {
    top: 541px;
    left: 50%;
    width: 484px;
    margin-left: -170px;
}

.main_cha_fire {
    top: 814px;
    left: 50%;
    width: 114px;
    margin-left: -239px;
    z-index: 2;
}

.main_cha_rabbit {
    top: 531px;
    left: 50%;
    width: 242px;
    margin-left: -325px;
}

.main_deco {
    pointer-events: none;
}

.event_main .airshow_trail,
.event_main .main_cha_fire,
.event_main .left_ufo_light {
    z-index: 2;
}

.event_main .main_cha_ttoah,
.event_main .main_cha_rabbit {
    z-index: 3;
}

.event_main .left_ufo,
.event_main .right_ufo {
    z-index: 6;
}

.event_main .left_alian,
.event_main .right_alian {
    z-index: 8;
}

.event_main .main_cloud {
    z-index: 5;
}

.event_main .cloud_b {
    z-index: 4;
}

.event_main .cloud_f {
    z-index: 10;
}

.airshow_trail {
    top: 545px;
    left: 50%;
    z-index: 2;
    width: 264px;
    margin-left: 160px;
}

.left_people {
    top: 126px;
    left: -78px;
    width: 300px;
}

.left_planet {
    top: 370px;
    left: 74px;
    width: 176px;
}

.left_ufo_light {
    top: 668px;
    left: 50%;
	margin-left: -884px;
    width: 270px;
    z-index: 2;
}

.left_ufo {
    top: 624px;
    left: 50%;
	margin-left: -724px;
    width: 138px;
}

.left_alian {
	top: 788px;
    left: 50%;
	margin-left: -884px;
    width: 184px;
}

.left_meteo {
    top: 80px;
    left: 170px;
    width: 114px;
}

.right_people {
    top: 252px;
    right: 150px;
    width: 170px;
}

.right_ufo {
    top: 470px;
    right: 60px;
    width: 196px;
}

.right_alian {
    top: 780px;
    right: 50%;
	margin-right: -880px;
    width: 254px;
}

.right_moon {
    top: -22px;
    right: 50%;
	margin-right: -500px;
    width: 122px;
}

.right_meteo {
    top: 58px;
    right: 50%;
	margin-right: -600px;
    width: 96px;
}

.main_cloud {
    left: 50%;
	transform: translateX(-50%);
    bottom: -54px;
    z-index: 5;
    width: 1920px;
    max-width: none;
}

.cloud_b {
    z-index: 4;
}

.cloud_f {
    z-index: 7;
}

.section_overview {
    min-height: 2200px;
    padding: 60px 0 230px;
    background: #2b185f url('../img/section02_bg.jpg') center bottom / cover no-repeat;
    overflow: hidden;
}

.overview_phara {
    width: 616px;
    margin: 0 auto 72px;
}

.overview_item {
	display: block;
    width: 690px;
    max-width: 100%;
    margin: 0 auto;
}

.overview_item.item02 {
    margin-top: 28px;
}

.overview_cloud {
    position: absolute;
    left: 50%;
	transform: translateX(-50%);
    bottom: -340px;
    z-index: 4;
    width: 1920px;
    max-width: none;
}

.overview_deco,
.deco_center_ufo,
.deco_center_ufo_light {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}

.deco_left_planet {
    left: -72px;
    bottom: 178px;
    width: 286px;
    z-index: 1;
}

.deco_left_meteoshower {
    left: 72px;
    bottom: 650px;
    width: 72px;
}

.deco_elephant {
    left: 0;
    bottom: 336px;
    width: 338px;
}

.deco_right_obj {
    right: 86px;
    bottom: 336px;
    width: 412px;
}

.deco_center_ufo_light {
    left: 50%;
    bottom: -38px;
    width: 288px;
    margin-left: -144px;
    z-index: 12;
}

.deco_center_ufo {
    left: 50%;
    bottom: 166px;
    width: 208px;
    margin-left: -104px;
    z-index: 12;
}

.section_judge {
    padding: 0 0 150px;
    background: #fff;
}

.judge_title {
	position: relative;
	z-index: 14;
    width: 300px;
    margin: -106px auto 62px;
}

.judge_item {
    width: 692px;
    max-width: 100%;
    margin: 0 auto;
}

.judge_btns {
    display: flex;
    justify-content: center;
    gap: 34px;
    margin-top: 95px;
}

.image_link {
    display: block;
    width: 324px;
}

.apply_section {
    min-height: 1570px;
    padding: 0 0 290px;
    border-top: 2px dashed rgba(36, 22, 83, 0.7);
    background: #eeebff;
}

.apply_section.standalone {
    padding-top: 120px;
    border-top: 0;
}

.apply_title_img {
    position: relative;
    z-index: 4;
    width: 368px;
    margin: -48px auto 66px;
}

.standalone .apply_title_img {
    margin-top: 0;
}

.apply_inner {
    position: relative;
    z-index: 3;
    width: min(690px, calc(100% - 40px));
    margin: 0 auto;
}

.apply_form_title {
    margin-bottom: 34px;
    color: #241653;
    text-align: center;
    font-size: 31px;
    font-weight: 900;
    line-height: 1;
}

.apply_fields {
    width: 100%;
}

.form_group {
    position: relative;
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin-top: 14px;
}

.form_group:first-child {
    margin-top: 0;
}

.form_group.is-file,
.form_group.is-link {
    margin-top: 34px;
    padding-top: 36px;
    border-top: 1px dashed rgba(36, 22, 83, 0.65);
}

.form_group > .label {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 132px;
    min-height: 50px;
    padding: 0 12px;
    background: #261658;
    color: #fff;
    text-align: center;
    font-size: 26px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.form_group .required {
    margin-left: 3px;
    color: #ff8e87;
}

.form_group input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.form_group select,
.form_group textarea {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    min-height: 50px;
    border: 1px solid #241653;
    border-left: 0;
    background: #fff;
    color: #241653;
    font-size: 20px;
    font-weight: 700;
    outline: none;
}

.form_group input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]) {
    padding: 0 18px;
}

.form_group textarea {
    height: 128px;
    padding: 14px 18px;
    line-height: 1.45;
}

.form_group input::placeholder,
.form_group textarea::placeholder {
    color: #b9b5c7;
    font-weight: 500;
}

.form_group select {
    padding: 0 18px;
}

.field_note {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    width: 100%;
    color: #241653;
    font-size: 17px;
    font-weight: 700;
}

.form_group.is-password {
    margin-bottom: 36px;
}

.file_input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.file_control {
    flex: 1 1 auto;
    min-width: 0;
}

.file_label {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 50px;
    border: 1px solid #241653;
    border-left: 0;
    background: #fff;
    cursor: pointer;
}

.file_control .file_label {
    width: 100%;
}

.file_label .file-name {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 18px;
    overflow: hidden;
    color: #b9b5c7;
    font-size: 20px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file_label.has-file .file-name {
    color: #b9b5c7;
    background: #fff;
}

.file_label .file-button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 88px;
    background: #5e31d9;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.file_selected {
    display: none;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    margin-top: 8px;
    border: 1px solid #28165c;
    background: #28165c;
    color: #fff;
}

.file_selected.is-visible {
    display: flex;
}

.selected-file-name {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 22px;
    overflow: hidden;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-remove {
    align-self: stretch;
    flex: 0 0 88px;
    background: #c4b6ff;
    color: #241653;
    font-size: 18px;
    font-weight: 900;
}

.form_group.is-link .file_label .file-button,
.form_group.is-link input + button {
    background: #111;
}

.choice_group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    flex: 1;
    min-height: 50px;
    padding: 10px 18px;
    border: 1px solid #241653;
    border-left: 0;
    background: #fff;
}

.choice_label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #241653;
    font-size: 17px;
    font-weight: 700;
}

.term_zone {
    margin-top: 52px;
    padding-top: 50px;
    border-top: 1px dashed rgba(36, 22, 83, 0.65);
}

.term {
    height: 206px;
    border: 1px solid #241653;
    background: #f5f2ff;
    overflow: hidden;
}

.term_inner {
    height: 100%;
    padding: 30px 24px;
    overflow-y: auto;
    color: #241653;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    scrollbar-color: #9b78f6 #241653;
}

.term_inner::-webkit-scrollbar {
    width: 18px;
}

.term_inner::-webkit-scrollbar-track {
    background: #241653;
}

.term_inner::-webkit-scrollbar-thumb {
    background: #9b78f6;
}

.agree {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 20px;
    color: #241653;
    text-align: center;
    font-size: 20px;
    font-weight: 800;
}

.agree label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.agree input {
    width: 18px;
    height: 18px;
    accent-color: #5e31d9;
}

.apply_btns {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 86px;
    padding-top: 38px;
    border-top: 1px dashed rgba(36, 22, 83, 0.65);
}

.image_btn {
    display: block;
    width: 244px;
}

.image_btn.submit_btn {
    width: 242px;
}

.apply_section::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    z-index: 2;
    width: 100%;
    height: 364px;
    background: url('../img/section05_cloud.png') center bottom / cover no-repeat;
    pointer-events: none;
}

.notice_section {
    margin-top: -1px;
    padding: 0px 0 122px;
    background: #2a1760;
    color: #fff;
}

.notice_inner {
    width: min(700px, calc(100% - 40px));
    margin: 0 auto;
}

.notice_inner h2 {
    margin-bottom: 58px;
    text-align: center;
    color: #fff;
    font-size: 32px;
    font-family: 'SacheonUniverse';
}

.notice_list {
    display: grid;
    gap: 12px;
    padding-left: 0;
    counter-reset: notice-counter;
}

.notice_list li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 16px;
    color: #fff;
    font-size: 18px;
    line-height: 1.72;
    word-break: keep-all;
    counter-increment: notice-counter;
}

.notice_list li::before {
    content: counter(notice-counter) ".";
    text-align: right;
    font-weight: 900;
}

.notice_subbox {
    grid-column: 2;
    width: 100%;
    box-sizing: border-box;
    margin: 12px 0 10px;
    padding: 10px 16px;
    background: rgba(29, 13, 74, 0.62);
}

.notice_subbox p {
    margin: 0;
    font-size: 17px;
    line-height: 1.85;
}

.notice_subnote {
    grid-column: 2;
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
}

.notice_contact {
    margin-top: 22px;
    padding-left: 58px;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}

.sns_section {
    padding: 74px 20px 70px;
    background: #1b103f;
}

.sns_links {
    position: relative;
    width: 640px;
    margin: 0 auto;
}

.sns_links img {
    width: 100%;
}

.sns_link {
    position: absolute;
}

.sns_link_1 {
    top: 0;
    left: 0;
    width: 13.44%;
    height: 99.23%;
}

.sns_link_2 {
    top: 0;
    left: 26.25%;
    width: 19.22%;
    height: 99.23%;
}

.sns_link_3 {
    top: 0;
    left: 58.44%;
    width: 13.13%;
    height: 83.08%;
}

.sns_link_4 {
    top: 0;
    left: 88.44%;
    width: 11.41%;
    height: 83.08%;
}

.sns_link span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.sns_link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}

.footer_section {
    position: relative;
    padding: 58px 20px 80px;
    background: #fff;
    color: #2b2b2b;
    text-align: center;
}

.footer_logo {
    width: 368px;
    margin: 0 auto 26px;
}

.footer_inner p {
    color: #474747;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
}

.mobile_quick {
    display: none;
    width: min(690px, 100%);
    margin: 46px auto 0;
    border: 1px solid #241653;
}

.mobile_quick a,
.mobile_quick button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 84px;
    padding: 10px;
    border-right: 1px solid #241653;
    color: #17315d;
    font-size: 18px;
    line-height: 1.25;
    text-align: center;
	 font-family: 'SacheonUniverse';
}

.mobile_quick a:first-child {
    background: #12aee7;
    color: #fff;
}

.mobile_quick a:nth-child(2) {
    background: #ff805e;
    color: #fff;
}

.mobile_quick > *:last-child {
    border-right: 0;
}

.sub_page {
    min-height: 760px;
    background: #eeebff;
}

.board_section {
    padding: 110px 20px 130px;
    background:
        radial-gradient(circle at 18% 15%, rgba(95, 49, 217, 0.2), transparent 28%),
        #eeebff;
}

.board_inner {
    width: min(920px, 100%);
    margin: 0 auto;
    text-align: center;
}

.board_title {
    color: #241653;
    font-size: 42px;
    font-weight: 900;
}

.notice_table {
    width: 100%;
    margin-top: 42px;
    border-top: 3px solid #241653;
    font-size: 15px;
}

.notice_table.mo {
    display: none;
}

.notice_table th,
.notice_table td {
    padding: 14px 12px;
    border-bottom: 1px solid #332060;
}

.notice_table th {
    background: #241653;
    color: #fff;
    font-weight: 900;
}

.notice_table td {
    background: #fff;
    color: #241653;
    font-weight: 700;
}

.notice_table td:nth-child(2) {
    text-align: left;
}

.notice_table a {
    font-weight: 800;
}

.notice_table span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    padding: 4px 8px;
    border-radius: 4px;
    background: #241653;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.notice_table span.notice_ticket {
    background: #ff805e;
}

.notice_table span.complete {
    background: #5e31d9;
}

.notice_table span.waiting {
    background: #888;
}

.notice_table .empty,
.board_empty {
    padding: 48px 16px;
    text-align: center;
    color: #6e6689;
    font-weight: 800;
}

.notice_w_table {
    table-layout: fixed;
}

.notice_w_table th {
    width: 170px;
}

.notice_w_table input,
.notice_w_table textarea {
    width: 100%;
    border: 1px solid #241653;
    background: #fff;
    color: #241653;
    font-size: 17px;
    font-weight: 700;
    outline: none;
}

.notice_w_table input {
    height: 44px;
    padding: 0 12px;
}

.notice_w_table textarea {
    height: 260px;
    padding: 14px 12px;
    line-height: 1.5;
}

.notice_view td {
    text-align: left;
}

.notice_view td.fl {
    min-height: 260px;
}

.password_wrap {
    position: relative;
}

.password_wrap input {
    padding-right: 72px;
}

.toggle_pw {
    position: absolute;
    top: 50%;
    right: 8px;
    min-width: 52px;
    height: 30px;
    transform: translateY(-50%);
    border-radius: 4px;
    background: #241653;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.btn_box {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 36px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    height: 52px;
    padding: 0 24px;
    border-radius: 6px;
    background: #5e31d9;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
}

.btn.big {
    min-width: 190px;
}

.pagenation {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 45px;
}

.pagenation span,
.pagenation button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #241653;
    background: #fff;
    color: #241653;
    font-weight: 900;
}

.pagenation .active {
    background: #5e31d9;
    color: #fff;
}

.b_popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.72);
}

.b_popup.is-open {
    display: flex;
}

.b_popup_inner {
    position: relative;
    width: min(460px, 100%);
    padding: 44px 34px 36px;
    border-radius: 8px;
    background: #eeebff;
    color: #241653;
    text-align: center;
}

.b_popup_inner h2 {
    margin-bottom: 26px;
    font-size: 24px;
    font-weight: 900;
}

.btn_close_popup {
    position: absolute;
    top: 10px;
    right: 14px;
    color: #241653;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}

.b_popup .password_wrap input {
    width: 100%;
    height: 48px;
    border: 1px solid #241653;
    padding: 0 70px 0 12px;
    font-size: 18px;
    outline: none;
}

#popup02 .b_popup_inner {
    width: min(560px, 100%);
    padding: 0;
    overflow: hidden;
    text-align: left;
}

.b_popup_title {
    position: relative;
    min-height: 70px;
    padding: 22px 58px 20px 28px;
    background: #261658;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.25;
}

.b_popup_title .btn_close_popup {
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    color: #fff;
}

.b_popup_content {
    padding: 30px 34px 34px;
}

.b_popup_content .form_group {
    margin-top: 14px;
}

.b_popup_content .form_group:first-child {
    margin-top: 0;
}

.b_popup_content .form_group > .label {
    flex: 0 0 118px;
    font-size: 20px;
}

.b_popup_content .btn_box {
    display: flex;
    justify-content: center;
    margin-top: 26px;
}

.popup_confirm_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    min-height: 48px;
    color: #241653;
    font-size: 20px;
    font-weight: 900;
}

.popup_confirm_btn img {
    display: block;
    max-width: 180px;
}



@media (max-width: 1600px) {
    .aside {
        width: 112px;
    }

    .aside_inner a,
    .aside_inner button {
        font-size: 19px;
    }
}

@media (max-width: 1024px) {
    .aside {
        display: none;
    }

    .event_main {
        height: 720px;
        background-position: center top;
    }

    .top_logo {
        top: 40px;
        width: 136px;
    }

    .main_title {
        top: 106px;
        width: min(540px, calc(100% - 48px));
        max-width: calc(100% - 34px);
    }

    .main_title_ring {
        width: 100%;
    }

    .main_title_text {
        left: 9%;
        width: 82%;
    }

    .main_cha_ttoah {
        top: 380px;
        width: 352px;
        margin-left: -128px;
    }

    .main_cha_fire {
        top: 572px;
        width: 80px;
        margin-left: -172px;
    }

    .main_cha_rabbit {
        top: 374px;
        width: 164px;
        margin-left: -222px;
    }

    .airshow_trail {
        top: 382px;
        width: 174px;
        margin-left: 80px;
    }

    .left_people,
    .left_meteo,
    .right_people,
    .left_ufo_light,
    .right_moon,
    .right_meteo {
        display: none;
    }

    .left_planet {
        display: none;
    }

    .left_ufo {
        top: auto;
        left: 42px;
        bottom: 176px;
        width: 78px;
    }

    .left_alian {
        top: auto;
        left: 16px;
        bottom: 48px;
        width: 110px;
    }

    .right_ufo {
        top: 100px;
        right: 20px;
        bottom: auto;
        width: 114px;
    }

    .right_alian {
        top: auto;
        right: 12px;
        bottom: 46px;
        width: 154px;
    }

    .main_cloud {
        left: 50%;
        width: 132%;
        bottom: -30px;
        transform: translateX(-50%);
    }

    .section_overview {
		min-height: 2200px;
        padding: 0 0 80px;
    }

    .overview_phara {
        margin-bottom: 50px;
    }

    .overview_cloud {
        bottom: -360px;
    }

    .overview_deco {
        display: none;
    }

    .section_judge {
        padding-bottom: 105px;
    }

    .judge_title {
        margin-top: -72px;
    }

    .judge_btns {
        gap: 18px;
        margin-top: 64px;
    }

    .apply_section {
        min-height: 0;
        padding-bottom: 230px;
    }

    .sns_section {
        padding: 58px 20px 100px;
    }

    html.has-mobile-quick .sns_section {
        padding-bottom: calc(58px + var(--mobile-quick-height, 64px));
    }

    .footer_section {
        padding-bottom: 46px;
    }

    html.has-mobile-quick body {
        padding-bottom: var(--mobile-quick-height, 84px);
    }

    .mobile_quick {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 900;
        width: 100%;
        margin: 0;
        border-right: 0;
        border-left: 0;
        background: #fff;
        box-shadow: 0 -8px 20px rgba(24, 12, 60, 0.16);
    }

    .mobile_quick.is-docked {
        position: absolute;
        left: 50%;
        right: auto;
        bottom: 100%;
        width: min(690px, calc(100% - 40px));
        border-right: 1px solid #241653;
        border-left: 1px solid #241653;
        box-shadow: none;
        transform: translateX(-50%);
    }
}

@media (max-width: 750px) {
    .section_inner,
    .apply_inner,
    .notice_inner {
        width: calc(100% - 28px);
    }

    .event_main {
        height: 625px;
    }

    .top_logo {
        top: 34px;
        width: 120px;
    }

    .main_title {
        top: 94px;
        width: min(472px, calc(100% - 34px));
    }

    .main_cha_ttoah {
        top: 342px;
        width: 302px;
        margin-left: -108px;
    }

    .main_cha_fire {
        top: 505px;
        width: 68px;
        margin-left: -148px;
    }

    .main_cha_rabbit {
        top: 336px;
        width: 134px;
        margin-left: -180px;
    }

    .airshow_trail {
        top: 344px;
        width: 140px;
        margin-left: 62px;
    }

    .right_ufo {
        top: auto;
        width: 96px;
        bottom: 92px;
    }

    .left_alian {
        left: 12px;
        bottom: 42px;
        width: 88px;
    }

    .right_alian {
        right: 8px;
        bottom: 42px;
        width: 112px;
    }

    .main_cloud {
        width: 156%;
        bottom: -24px;
    }
	
    .overview_phara {
        width: min(616px, 90%);
        margin-bottom: 36px;
    }

    .overview_cloud {
        bottom: -350px;
    }

    .judge_title {
        width: 220px;
        margin-bottom: 38px;
    }

    .judge_btns {
        align-items: center;
        gap: 10px;
        margin-top: 42px;
    }
	
	.section_overview {
		min-height: 300vw;
	}
	
	.overview_item.item02 {
		margin-top: 3.6vw;
	}

    .image_link {
        flex: 0 1 calc((100% - 10px) / 2);
        width: calc((100% - 10px) / 2);
        max-width: 324px;
    }

    .apply_title_img {
        width: 280px;
        margin-bottom: 48px;
    }

    .apply_form_title {
        margin-bottom: 24px;
        font-size: 26px;
    }

    .form_group {
        flex-direction: column;
        margin-top: 12px;
    }

    .form_group > .label {
        justify-content: flex-start;
        width: 100%;
        min-height: 42px;
        flex-basis: auto;
        padding: 0 14px;
        font-size: 20px;
    }

    .form_group input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
    .form_group select,
    .form_group textarea,
    .file_label,
    .choice_group {
        border-left: 1px solid #241653;
    }

    .file_control {
        width: 100%;
    }

    .file_selected {
        min-height: 46px;
    }

    .selected-file-name {
        padding: 0 14px;
        font-size: 17px;
    }

    .file-remove {
        flex-basis: 72px;
        font-size: 16px;
    }

    .field_note {
        position: static;
        margin-top: 8px;
        font-size: 14px;
    }

    .form_group.is-password {
        margin-bottom: 0;
    }

    .form_group.is-file,
    .form_group.is-link {
        margin-top: 24px;
        padding-top: 26px;
    }

    .term_zone {
        margin-top: 36px;
        padding-top: 36px;
    }

    .term {
        height: 180px;
    }

    .term_inner {
        padding: 20px 16px;
        font-size: 14px;
    }

    .agree {
        align-items: center;
        justify-content: center;
        flex-direction: row;
        flex-wrap: wrap;
        column-gap: 18px;
        row-gap: 8px;
        font-size: 16px;
        text-align: center;
    }

    .agree > span {
        flex-basis: 100%;
    }

    .apply_btns {
        gap: 12px;
        margin-top: 50px;
        padding-top: 28px;
    }

    .image_btn,
    .image_btn.submit_btn {
        width: min(244px, 46%);
    }

    .notice_inner h2 {
        margin-bottom: 36px;
        font-size: 23px;
    }

    .notice_list {
        gap: 16px;
    }

    .notice_list li {
        grid-template-columns: 32px 1fr;
        gap: 10px;
        font-size: 15px;
        line-height: 1.65;
    }

    .notice_subbox {
        margin: 10px 0 8px;
        padding: 9px 12px;
    }

    .notice_subbox p,
    .notice_subnote {
        font-size: 14px;
        line-height: 1.6;
    }

    .notice_contact {
        padding-left: 42px;
        font-size: 15px;
    }

    .sns_links {
        width: min(640px, 100%);
    }

    .footer_logo {
        width: 280px;
    }

    .footer_inner p {
        font-size: 13px;
    }

    .mobile_quick {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mobile_quick.is-docked {
        width: calc(100% - 28px);
    }

    .mobile_quick a,
    .mobile_quick button {
        min-height: 58px;
        padding: 6px 2px;
        border-bottom: 0;
        font-size: 11px;
        line-height: 1.12;
        letter-spacing: 0;
    }

    .mobile_quick > *:nth-child(2n) {
        border-right: 1px solid #241653;
    }

    .mobile_quick > *:last-child {
        border-right: 0;
    }

    .board_section {
        padding: 70px 14px 90px;
    }

    .board_title {
        font-size: 32px;
    }

    .notice_table.pc {
        display: none;
    }

    .notice_table.mo {
        display: block;
        margin-top: 32px;
        border-top: 3px solid #241653;
    }

    .notice_table.mo li {
        display: grid;
        grid-template-columns: 42px 1fr 76px;
        gap: 10px;
        align-items: center;
        padding: 14px 0;
        border-bottom: 1px solid #241653;
        background: #fff;
        color: #241653;
        font-size: 13px;
    }

    .notice_table.mo li.empty {
        display: block;
        padding: 34px 10px;
    }

    .notice_table.mo .title {
        margin-bottom: 4px;
        text-align: left;
        font-size: 15px;
        font-weight: 900;
    }

    .notice_table.mo .flex {
        display: flex;
        gap: 8px;
        color: #6e6689;
    }

    .notice_table.mo .answer span {
        min-width: 0;
        padding: 4px 6px;
        font-size: 12px;
    }

    .notice_w_table.pc,
    .notice_w_table {
        display: table;
        font-size: 14px;
    }

    .notice_w_table th {
        width: 92px;
    }

    .notice_w_table th,
    .notice_w_table td {
        padding: 10px 8px;
    }

    .b_popup_inner {
        padding: 40px 20px 30px;
    }

    .b_popup_title {
        min-height: 60px;
        padding: 19px 52px 17px 20px;
        font-size: 18px;
    }

    .b_popup_content {
        padding: 24px 18px 28px;
    }

    .b_popup_content .form_group > .label {
        font-size: 17px;
    }
}

@media (min-width: 751px) and (max-width: 860px) {
    .event_main {
        height: 680px;
    }

    .top_logo {
        width: 128px;
    }

    .main_title {
        top: 98px;
        width: min(500px, calc(100% - 44px));
    }

    .main_cha_ttoah {
        top: 362px;
        width: 330px;
        margin-left: -120px;
    }

    .main_cha_fire {
        top: 540px;
        width: 74px;
        margin-left: -162px;
    }

    .main_cha_rabbit {
        top: 356px;
        width: 152px;
        margin-left: -204px;
    }

    .airshow_trail {
        top: 364px;
        width: 158px;
        margin-left: 72px;
    }

    .left_ufo {
        left: 34px;
        top: auto;
        bottom: 106px;
        width: 70px;
    }

    .left_alian {
        left: 10px;
        bottom: 44px;
        width: 94px;
    }

    .right_ufo {
        top: auto;
        right: 12px;
        bottom: 98px;
        width: 106px;
    }

    .right_alian {
        right: 8px;
        bottom: 42px;
        width: 126px;
    }
}

@media (max-width: 640px) {
    .event_main {
        height: 580px;
    }

    .top_logo {
        top: 30px;
        width: 108px;
    }

    .main_title {
        top: 84px;
        width: min(410px, calc(100% - 28px));
    }

    .main_cha_ttoah {
        top: 322px;
        width: 270px;
        margin-left: -96px;
    }

    .main_cha_fire {
        top: 472px;
        width: 60px;
        margin-left: -132px;
    }

    .main_cha_rabbit {
        top: 318px;
        width: 120px;
        margin-left: -158px;
    }

    .airshow_trail {
        top: 326px;
        width: 124px;
        margin-left: 52px;
    }

    .left_ufo {
        top: auto;
        left: 20px;
        bottom: 84px;
        width: 62px;
    }

    .left_alian {
        left: 4px;
        bottom: 38px;
        width: 76px;
    }

    .right_ufo {
        top: auto;
        right: 4px;
        bottom: 82px;
        width: 82px;
    }

    .right_alian {
        right: 2px;
        bottom: 36px;
        width: 96px;
    }

    .main_cloud {
        width: 176%;
        bottom: -20px;
    }
}

@media (max-width: 520px) {
    .event_main {
        height: 530px;
        background-position: center top;
    }

    .top_logo {
        top: 26px;
        width: 98px;
    }

    .main_title {
        top: 76px;
        width: min(358px, calc(100% - 24px));
    }

    .main_cha_ttoah {
        top: 302px;
        width: 238px;
        margin-left: -86px;
    }

    .main_cha_fire {
        top: 434px;
        width: 52px;
        margin-left: -116px;
    }

    .main_cha_rabbit {
        top: 300px;
        width: 104px;
        margin-left: -138px;
    }

    .airshow_trail {
        top: 305px;
        width: 108px;
        margin-left: 42px;
    }

    .left_ufo {
        display: block;
        left: 8px;
        bottom: 76px;
        width: 54px;
    }

    .right_ufo {
        display: block;
        right: -2px;
        bottom: 72px;
        width: 72px;
    }

    .left_alian {
        bottom: 36px;
        width: 66px;
    }

    .right_alian {
        bottom: 34px;
        width: 82px;
    }

    .main_cloud {
        width: 195%;
        bottom: -16px;
    }
	
	.section_overview {
		min-height: 320vw;
	}
}

@media (max-width: 430px) {
    .event_main {
        height: 500px;
    }

    .top_logo {
        width: 90px;
    }

    .main_title {
        top: 70px;
        width: min(326px, calc(100% - 22px));
    }

    .main_cha_ttoah {
        top: 292px;
        width: 218px;
        margin-left: -78px;
    }

    .main_cha_fire {
        top: 412px;
        width: 48px;
        margin-left: -106px;
    }

    .main_cha_rabbit {
        top: 290px;
        width: 96px;
        margin-left: -126px;
    }

    .airshow_trail {
        top: 294px;
        width: 96px;
        margin-left: 36px;
    }

    .left_alian {
        left: -4px;
        width: 58px;
    }

    .right_alian {
        right: -8px;
        width: 72px;
    }

    .left_ufo {
        left: -2px;
        bottom: 70px;
        width: 50px;
    }

    .right_ufo {
        right: -8px;
        bottom: 66px;
        width: 64px;
    }

    .main_cloud {
        width: 215%;
        bottom: -14px;
    }
}

@media (max-width: 380px) {
    .event_main {
        height: 470px;
    }

    .top_logo {
        top: 24px;
        width: 84px;
    }

    .main_title {
        top: 66px;
        width: min(300px, calc(100% - 18px));
    }

    .main_cha_ttoah {
        top: 280px;
        width: 202px;
        margin-left: -72px;
    }

    .main_cha_fire {
        top: 392px;
        width: 44px;
        margin-left: -98px;
    }

    .main_cha_rabbit {
        top: 278px;
        width: 88px;
        margin-left: -116px;
    }

    .airshow_trail {
        top: 282px;
        width: 88px;
        margin-left: 32px;
    }

    .left_alian {
        display: block;
        left: -10px;
        bottom: 28px;
        width: 52px;
    }

    .right_alian {
        display: block;
        right: -12px;
        bottom: 28px;
        width: 62px;
    }

    .left_ufo {
        left: -8px;
        bottom: 62px;
        width: 44px;
    }

    .right_ufo {
        right: -12px;
        bottom: 58px;
        width: 56px;
    }

    .main_cloud {
        width: 230%;
        bottom: -12px;
    }
	
	.section_overview {
		min-height: 340vw;
	}
}

/* Motion */
.event_main .top_logo {
    opacity: 0;
    animation: logoLand 0.75s 0.1s cubic-bezier(0.2, 0.82, 0.24, 1) both;
}

.event_main .main_title {
    opacity: 0;
    animation: titleArrive 0.9s 0.75s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.event_main .main_title_ring {
    transform-origin: 50% 50%;
    animation: ringWake 1.05s 1.05s ease-out both, ringBreath 6s 2.2s ease-in-out infinite;
}

.event_main .main_title_item.item_1 {
    animation: titleSatelliteOne 5.5s 2.15s linear infinite;
}

.event_main .main_title_item.item_2 {
    animation: titleSatelliteTwo 7s 2.2s linear infinite;
}

.event_main .left_ufo {
    opacity: 0;
    animation: ufoPop 0.7s 1.65s cubic-bezier(0.17, 0.84, 0.44, 1) both, softFloat 4.8s 2.5s ease-in-out infinite;
}

.event_main .left_ufo_light {
    opacity: 0;
    transform-origin: 50% 0;
    animation: beamOpen 0.8s 2.05s ease-out both, beamPulse 3.4s 3s ease-in-out infinite;
}

.event_main .left_alian {
    opacity: 0;
    animation: alienReveal 0.75s 2.55s ease-out both, alienFloat 4.6s 3.35s ease-in-out infinite;
}

.event_main .right_ufo {
    opacity: 0;
    animation: ufoPop 0.7s 1.85s cubic-bezier(0.17, 0.84, 0.44, 1) both, softFloat 5.2s 2.7s ease-in-out infinite;
}

.event_main .right_alian {
    opacity: 0;
    animation: alienReveal 0.75s 2.65s ease-out both, alienFloatAlt 4.8s 3.45s ease-in-out infinite;
}

.event_main .left_meteo {
    opacity: 0;
    animation: meteorDrop 1.25s 2.2s ease-in both, meteorLoop 5.2s 4s linear infinite;
}

.event_main .right_meteo {
    opacity: 0;
    animation: meteorDropRight 1.15s 2.35s ease-in both, meteorLoopRight 5.6s 4.25s linear infinite;
}

.event_main .main_cha_ttoah {
    opacity: 0;
    transform-origin: 50% 70%;
    animation: ttoahOrbitIn 1.25s 1.55s cubic-bezier(0.14, 0.88, 0.26, 1) both, rocketFloat 4.2s 2.9s ease-in-out infinite;
}

.event_main .main_cha_rabbit {
    opacity: 0;
    transform-origin: 50% 70%;
    animation: rabbitFollowIn 1.25s 1.62s cubic-bezier(0.14, 0.88, 0.26, 1) both, rabbitFloat 4.6s 3s ease-in-out infinite;
}

.event_main .main_cha_fire {
    opacity: 0;
    transform-origin: 100% 50%;
    animation: fireArrive 0.7s 2.35s ease-out both, fireFlicker 1.05s 3s ease-in-out infinite;
}

.event_main .airshow_trail {
    opacity: 0;
    animation: airshowLift 1.2s 2.2s cubic-bezier(0.14, 0.88, 0.26, 1) both, softFloatTiny 4.5s 3.5s ease-in-out infinite;
}

.event_main .left_people,
.event_main .left_planet,
.event_main .right_people,
.event_main .right_moon {
    opacity: 0;
    animation: spaceFade 0.8s 2.25s ease-out both, softFloat 5.8s 3.15s ease-in-out infinite;
}

.event_main .main_cloud.cloud_b {
    animation: cloudDriftBack 11s ease-in-out infinite;
}

.event_main .main_cloud.cloud_f {
    animation: cloudDriftFront 9s ease-in-out infinite;
}

.scroll_reveal {
    opacity: 0;
    transform: translate3d(0, 46px, 0);
    transition: opacity 0.78s ease, transform 0.78s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--reveal-delay, 0s);
    will-change: opacity, transform;
}

.scroll_reveal.from-left {
    transform: translate3d(-58px, 12px, 0);
}

.scroll_reveal.from-right {
    transform: translate3d(58px, 12px, 0);
}

.scroll_reveal.zoom-in {
    transform: scale(0.86);
}

.scroll_reveal.drop-in {
    transform: translate3d(0, -42px, 0) scale(0.92);
}

.scroll_reveal.meteor-in {
    transform: translate3d(-90px, -110px, 0) rotate(-18deg);
}

.scroll_reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0);
}

.deco_elephant.is-visible {
    animation: elephantBob 4.8s 0.85s ease-in-out infinite;
}

.deco_left_meteoshower.is-visible {
    animation: meteorShower 2.8s 0.45s ease-in-out both, meteorShowerLoop 5.4s 3.1s linear infinite;
}

.deco_center_ufo.is-visible {
    animation: ufoHover 4.2s 0.8s ease-in-out infinite;
}

.deco_center_ufo_light.is-visible {
    transform-origin: 50% 0;
    animation: scrollBeam 0.85s 0.35s ease-out both, beamPulse 3.2s 1.2s ease-in-out infinite;
}

.judge_title.is-visible {
    animation: judgeTtoahAppear 0.85s var(--reveal-delay, 0s) cubic-bezier(0.16, 1, 0.3, 1) both, softFloatTiny 4.8s 1.5s ease-in-out infinite;
}

@keyframes logoLand {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-28px) scale(0.92);
    }
    100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

@keyframes titleArrive {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(28px) scale(0.86);
        filter: blur(8px);
    }
    100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes ringWake {
    0% {
        opacity: 0;
        transform: scale(0.65) rotate(-22deg);
        filter: blur(4px);
    }
    65% {
        opacity: 1;
        transform: scale(1.05) rotate(8deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0);
        filter: blur(0);
    }
}

@keyframes ringBreath {
    0%, 100% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(1.018) rotate(2deg);
    }
}

@keyframes titleSatelliteOne {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    25% {
        transform: translate3d(13px, 9px, 0) rotate(90deg);
    }
    50% {
        transform: translate3d(0, 18px, 0) rotate(180deg);
    }
    75% {
        transform: translate3d(-13px, 8px, 0) rotate(270deg);
    }
}

@keyframes titleSatelliteTwo {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    25% {
        transform: translate3d(-18px, 11px, 0) rotate(-90deg);
    }
    50% {
        transform: translate3d(-2px, 24px, 0) rotate(-180deg);
    }
    75% {
        transform: translate3d(18px, 9px, 0) rotate(-270deg);
    }
}

@keyframes ufoPop {
    0% {
        opacity: 0;
        transform: translate3d(0, -36px, 0) scale(0.55) rotate(-10deg);
    }
    70% {
        opacity: 1;
        transform: translate3d(0, 4px, 0) scale(1.06) rotate(4deg);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1) rotate(0);
    }
}

@keyframes beamOpen {
    0% {
        opacity: 0;
        transform: scaleY(0.08) scaleX(0.34);
        clip-path: polygon(45% 0, 55% 0, 55% 0, 45% 0);
    }
    100% {
        opacity: 1;
        transform: scaleY(1) scaleX(1);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

@keyframes beamPulse {
    0%, 100% {
        opacity: 0.86;
    }
    50% {
        opacity: 0.45;
    }
}

@keyframes alienReveal {
    0% {
        opacity: 0;
        transform: translate3d(0, 30px, 0) scale(0.82);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes alienFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(0, -12px, 0) rotate(-2deg);
    }
}

@keyframes alienFloatAlt {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(0, -10px, 0) rotate(2deg);
    }
}

@keyframes meteorDrop {
    0% {
        opacity: 0;
        transform: translate3d(-150px, -160px, 0) rotate(-24deg) scale(0.75);
    }
    20%, 75% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
}

@keyframes meteorDropRight {
    0% {
        opacity: 0;
        transform: translate3d(130px, -145px, 0) rotate(22deg) scale(0.75);
    }
    20%, 75% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
}

@keyframes meteorLoop {
    0%, 70%, 100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    78% {
        opacity: 0;
        transform: translate3d(90px, 110px, 0);
    }
    79% {
        opacity: 0;
        transform: translate3d(-120px, -130px, 0);
    }
    88% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes meteorLoopRight {
    0%, 68%, 100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    76% {
        opacity: 0;
        transform: translate3d(-90px, 120px, 0);
    }
    77% {
        opacity: 0;
        transform: translate3d(120px, -130px, 0);
    }
    88% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes ttoahOrbitIn {
    0% {
        opacity: 0;
        transform: translate3d(260px, 160px, 0) rotate(18deg) scale(0.62);
    }
    55% {
        opacity: 1;
        transform: translate3d(42px, -28px, 0) rotate(-7deg) scale(1.03);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
}

@keyframes rabbitFollowIn {
    0% {
        opacity: 0;
        transform: translate3d(230px, 150px, 0) rotate(14deg) scale(0.64);
    }
    55% {
        opacity: 1;
        transform: translate3d(35px, -18px, 0) rotate(-6deg) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
}

@keyframes rocketFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(0, -12px, 0) rotate(-1.5deg);
    }
}

@keyframes rabbitFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(-4px, -14px, 0) rotate(1.5deg);
    }
}

@keyframes fireArrive {
    0% {
        opacity: 0;
        transform: translate3d(28px, 0, 0) scaleX(0.4);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scaleX(1);
    }
}

@keyframes fireFlicker {
    0%, 100% {
        opacity: 0.78;
        transform: translate3d(0, 0, 0) scaleX(0.9);
    }
    45% {
        opacity: 1;
        transform: translate3d(-8px, 1px, 0) scaleX(1.08);
    }
    75% {
        opacity: 0.28;
        transform: translate3d(10px, -1px, 0) scaleX(0.48);
    }
}

@keyframes airshowLift {
    0% {
        opacity: 0;
        transform: translate3d(-120px, 95px, 0) rotate(-8deg) scale(0.76);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
}

@keyframes spaceFade {
    0% {
        opacity: 0;
        transform: translate3d(0, 22px, 0) scale(0.92);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes softFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(0, -10px, 0);
    }
}

@keyframes softFloatTiny {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }
    50% {
        transform: translate3d(0, -7px, 0);
    }
}

@keyframes cloudDriftBack {
    0%, 100% {
        transform: translateX(-50%) translate3d(0, 0, 0);
    }
    50% {
        transform: translateX(-50%) translate3d(-16px, -4px, 0);
    }
}

@keyframes cloudDriftFront {
    0%, 100% {
        transform: translateX(-50%) translate3d(0, 0, 0);
    }
    50% {
        transform: translateX(-50%) translate3d(18px, -6px, 0);
    }
}

@keyframes elephantBob {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(0, -14px, 0) rotate(-1.5deg);
    }
}

@keyframes meteorShower {
    0% {
        opacity: 0;
        transform: translate3d(-120px, -140px, 0) rotate(-20deg);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0);
    }
}

@keyframes meteorShowerLoop {
    0%, 70%, 100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
    76% {
        opacity: 0;
        transform: translate3d(90px, 120px, 0);
    }
    77% {
        opacity: 0;
        transform: translate3d(-110px, -130px, 0);
    }
    88% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes ufoHover {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(0, -12px, 0) rotate(2deg);
    }
}

@keyframes scrollBeam {
    0% {
        opacity: 0;
        transform: scaleY(0.08) scaleX(0.35);
    }
    100% {
        opacity: 1;
        transform: scaleY(1) scaleX(1);
    }
}

@keyframes judgeTtoahAppear {
    0% {
        opacity: 0;
        transform: translate3d(0, 34px, 0) scale(0.86);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    .scroll_reveal {
        opacity: 1;
        transform: none;
    }
}
