@import url("reset.css");
@import url("slick.css");
@import url("swiper.css");

@font-face {font-family:"Paperlogy"; font-style:normal; font-weight:400; font-display:swap; src:url(font/Paperlogy-4Regular.woff2) format("woff2");}
@font-face {font-family:"Paperlogy"; font-style:normal; font-weight:500; font-display:swap; src:url(font/Paperlogy-5Medium.woff2) format("woff2");}
@font-face {font-family:"Paperlogy"; font-style:normal; font-weight:700; font-display:swap; src:url(font/Paperlogy-7Bold.woff2) format("woff2");}
@font-face {font-family:"Cafe24Ssurround"; font-style:normal; font-weight:700; font-display:swap; src:url(font/Cafe24Ssurround.woff2) format("woff2"), url(font/Cafe24Ssurround.woff) format("woff");}

:root{
    --width:1320px;
    --padding:0 20px;
    --point-color-1:#7821A2;
    --point-color-2:#FFE397;
    --point-color-3:#809745;
    --header_h:90px;


    --cont-width:1680px;
    --font-point:"Cafe24Ssurround","Pretendard","sans-serif";
    --font-body:"Paperlogy","Pretendard","sans-serif";
    --font-en:"Pretendard","sans-serif";
    --point-yellow:#ffe628;
    --navy-deep:#15043c;
    --navy-mid:#26277b;
}
@media screen and (max-width: 768px) {
:root{--header_h:60px;}
}
body{background-color:#fff;}
html,body{overflow-x:clip;}

.cont{margin:0 auto; padding:0 20px; width:100%; max-width:var(--cont-width); box-sizing:border-box;}
/* reset.css names Pretendard on a/button, which stops the section font from
   reaching link and button text - let them inherit the section instead */
a,
button{font-family:inherit;}

/* CSS firework burst - 24 rays, no image asset */
.fx{position:absolute; z-index:1; border-radius:50%; pointer-events:none; background:repeating-conic-gradient(from 0deg, rgba(255,255,255,0.9) 0deg 1.4deg, rgba(255,255,255,0) 1.4deg 15deg); -webkit-mask:radial-gradient(circle closest-side, rgba(0,0,0,0) 26%, #000 32%, #000 100%); mask:radial-gradient(circle closest-side, rgba(0,0,0,0) 26%, #000 32%, #000 100%); animation:firework_pop 2.6s ease-out infinite;}
.fx.fx_warm{background:repeating-conic-gradient(from 0deg, rgba(255,230,40,0.95) 0deg 1.8deg, rgba(255,230,40,0) 1.8deg 11.6deg);}
@keyframes firework_pop{
0%{transform:scale(0.35); opacity:0;}
25%{opacity:1;}
70%{transform:scale(1); opacity:0.85;}
100%{transform:scale(1.12); opacity:0;}
}
/* firework burst - rings, rays and a rocket trail, markup built in main.js */
.fx_rich{position:absolute; z-index:1; pointer-events:none; --anim-dur:2600ms; --ease-out-cubic:cubic-bezier(0.33,1,0.68,1); --ease-out-sine:cubic-bezier(0.61,1,0.88,1);}
.fx_rich svg{width:100%; height:100%; display:block; overflow:visible;}
.fx_rich .fw_particle,
.fx_rich .fw_ring,
.fx_rich .fw_rocket{animation-duration:var(--anim-dur); animation-timing-function:linear; animation-iteration-count:infinite;}
.fx_rich .fw_dot{animation-name:dot_scale; animation-timing-function:var(--ease-out-cubic);}
.fx_rich .fw_dashed{animation-name:dashed_rotate_ccw, dashed_explode; animation-timing-function:linear, var(--ease-out-cubic);}
.fx_rich .fw_ray{animation-name:ray;}
.fx_rich .fw_ray_flip{animation-name:ray_fade, ray_flip;}
.fx_rich .fw_ring_cw{animation-name:ring_rotate_cw; animation-timing-function:var(--ease-out-cubic);}
.fx_rich .fw_ring_ccw{animation-name:ring_rotate_ccw; animation-timing-function:var(--ease-out-cubic);}
.fx_rich .fw_rocket{animation-name:rocket_fade, rocket_fire; animation-timing-function:linear, var(--ease-out-sine);}
.fx_pause{animation-play-state:paused;}
.fx_rich.fx_pause *{animation-play-state:paused;}
@keyframes dot_scale{
0%,25%{transform:scale(1);}
100%{transform:scale(0);}
}
@keyframes ring_rotate_cw{
0%,25%{transform:scale(0) rotate(0);}
100%{transform:scale(1) rotate(22.5deg);}
}
@keyframes ring_rotate_ccw{
0%,25%{transform:scale(0) rotate(0);}
100%{transform:scale(1) rotate(-22.5deg);}
}
@keyframes dashed_explode{
0%,25%{transform:scale(0);}
100%{stroke-width:0; transform:scale(2);}
}
@keyframes dashed_rotate_ccw{
0%,25%{transform:rotate(0); visibility:visible;}
100%{transform:rotate(-22.5deg); visibility:hidden;}
}
@keyframes ray{
0%,25%{transform:scale(1,0); visibility:visible;}
40%,100%{transform:scale(1,1); visibility:hidden;}
}
@keyframes ray_fade{
0%,50%{opacity:1;}
55%,100%{opacity:0;}
}
@keyframes ray_flip{
0%,40%{transform:scale(1,1); visibility:hidden;}
55%,100%{transform:scale(1,0); visibility:visible;}
}
@keyframes rocket_fade{
0%,25%{opacity:1;}
35%,100%{opacity:0;}
}
@keyframes rocket_fire{
25%,100%{stroke-dashoffset:0;}
}
@keyframes star_twinkle{
0%{transform:scale(0.75); opacity:0.35;}
50%{transform:scale(1); opacity:1;}
100%{transform:scale(0.75); opacity:0.35;}
}
@keyframes lantern_float{
0%{transform:translate3d(0,0,0) rotate(-2deg);}
50%{transform:translate3d(6px,-22px,0) rotate(2deg);}
100%{transform:translate3d(0,0,0) rotate(-2deg);}
}
@keyframes bulb_blink{
0%{opacity:1;}
50%{opacity:0.45;}
100%{opacity:1;}
}

/* header */
.header{font-family:var(--font-body); position:fixed; left:0; top:0; z-index:20; width:100%;}
.header:before{position:absolute; left:0; top:0; width:100%; height:100%; background-color:rgba(255,255,255,0.92); display:block; content:""; transition:all 0.3s ease-out; opacity:0; visibility:hidden;}
.header_inner{position:relative; margin:0 auto; padding:var(--padding); max-width:1680px; height:var(--header_h); display:flex; align-items:center; box-sizing:border-box;}
.header .logo{position:relative; z-index:3; }
.header .logo a{width:46px; aspect-ratio:46/62; background:url(../img/logo_main.svg) no-repeat center center; display:block; text-indent:-9999px; overflow:hidden;}
.header .gnb{position:relative; z-index:5; margin-left:340px; align-self:flex-start;}
.header .gnb>ul{position:relative; display:flex; align-items:stretch;}
.header .gnb>ul>li{position:relative; z-index:1; display:flex; flex-direction:column;}
.header .gnb>ul>li>a{position:relative; padding:0 53px; height:var(--header_h); display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.5; font-size:1.125rem; font-weight:500; letter-spacing:-0.025em; color:#fff; transition:all 0.3s ease-out; font-family:var(--font-body); font-weight:500;}
.header .gnb>ul>li>a span{display:block;}
/* mega panel - the white sheet spans the viewport and its height follows the tallest column */
.header .gnb>ul:before{position:absolute; left:-100vw; right:-100vw; top:var(--header_h); bottom:0; background-color:#fff; display:block; content:""; visibility:hidden; opacity:0; transition:all 0.3s ease-out;}
.header .s_gnb{max-height:0; overflow:hidden; flex-grow:1; visibility:hidden; opacity:0; transition:all 0.3s ease-out;}
.header .s_gnb>ul{padding:30px 14px 34px; display:flex; flex-direction:column; gap:16px; text-align:center;}
.header .s_gnb ul li a{display:block; text-align:center; line-height:1.5; font-size:1rem; font-weight:400; letter-spacing:-0.025em; color:#333; word-break:keep-all; transition:all 0.3s ease-out;}
.header .s_gnb ul li a:hover{font-weight:700; color:var(--point-yellow);}
.header .right_area{position:relative; z-index:3; margin-left:auto; display:flex; align-items:center; gap:10px;}
.header .sns_list{display:flex; align-items:center; gap:10px;}
.header .sns{width:33px; aspect-ratio:1/1; border:1px solid #fff; box-sizing:border-box; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.header .total_menu_open{position:relative; width:46px; aspect-ratio:46/33; background:url("../img/total_menu.svg") no-repeat center;}
.header .total_menu_open span{position:absolute; left:-9999px; top:0;}
.total_menu_wrap{position:fixed; left:0; top:0; z-index:30; width:100vw; background-color:var(--navy-deep); visibility:hidden; opacity:0; transition:all 0.3s ease-out;}
.total_menu_wrap.active{opacity:1; visibility:visible;}
.total_menu_wrap .mb_area{display:none;}
.total_menu{display:flex; padding-right:8%;}
.total_menu>li{position:relative; padding:30vh 60px 0; flex-grow:1; height:100vh; transition:all 0.3s ease-out;}
.total_menu>li:hover{background-color:rgba(255,255,255,0.06);}
.total_menu>li:hover>a{color:var(--point-yellow);}
.total_menu>li>a{position:relative; padding-bottom:30px; display:block; font-family:var(--font-point); font-size:1.875rem; font-weight:700; letter-spacing:-0.03em; color:#fff; transition:all 0.3s ease-out;}
.total_menu>li>a:before{position:absolute; left:0; bottom:0; width:0; border-top:1px solid var(--point-yellow); display:block; content:""; transition:all 0.3s ease-out 0.2s;}
.total_menu>li:hover>a:before{width:100%;}
.total_menu>li:before{position:absolute; right:0; top:0; width:1px; height:100%; background-color:rgba(255,255,255,0.15); display:block; content:"";}
.total_menu .s_menu{margin-top:30px;}
.total_menu .s_menu li{margin-bottom:20px;}
.total_menu .s_menu li a{position:relative; display:block; line-height:1.5; font-size:1.125rem; font-weight:400; letter-spacing:-0.025em; color:rgba(255,255,255,0.7); transition:all 0.3s ease-out;}
.total_menu .s_menu li a:hover{font-weight:700; color:#fff;}
.total_menu_close{position:absolute; right:5%; top:3%; width:32px; aspect-ratio:1/1;}
.total_menu_close span{position:absolute; left:-9999px; top:0;}
.total_menu_close:before,
.total_menu_close:after{position:absolute; left:4px; top:15px; width:24px; border-top:2px solid #fff; display:block; content:"";}
.total_menu_close:before{transform:rotate(45deg);}
.total_menu_close:after{transform:rotate(-45deg);}

.scroll .header:before{opacity:1; visibility:visible;}
/* white bar states - scrolled or menu open - flip the logo and icons to dark */
.scroll .header .logo a,
.header.on .logo a{background-image:url(../img/logo_v2_red.svg); background-size:contain;}
.scroll .header .sns,
.header.on .sns{border-color:#333;}
.scroll .header .sns img,
.header.on .sns img{filter:brightness(0);}
.scroll .header .gnb>ul>li>a,
.header.on .gnb>ul>li>a{color:#333;}

@media screen and (min-width: 1025px) {
.header.on:before{opacity:1; visibility:visible; background-color:#fff;}
.header.on .gnb>ul:before{visibility:visible; opacity:1;}
.header.on .s_gnb{max-height:600px; visibility:visible; opacity:1;}
.header .gnb>ul>li>a:before{position:absolute; left:50%; bottom:4px; width:0; border-top:1px solid #fff; display:block; content:""; transform:translateX(-50%); transition:all 0.3s ease-out;}
.header .gnb>ul>li:hover>a{background-color:var(--point-color-1); color:#fff;}
.header .gnb>ul>li:hover>a:before{width:64px;}
.header .gnb>ul>li:hover .s_gnb{background-color:var(--point-color-1);}
.header .gnb>ul>li:hover .s_gnb ul li a{font-weight:700; color:#fff;}
}
@media screen and (max-width: 1600px) {
.header_inner{padding:0 5%;}
.header .logo{margin-left:0;}
.header .gnb{margin-left:auto;}
.header .gnb>ul>li>a{padding:0 30px;}
}
@media screen and (max-width: 1200px) {
.header .gnb{display:none;}
.total_menu>li{padding:20vh 3% 0;}
.total_menu_close{right:3%;}
}
@media screen and (max-width: 768px) {
/* scale the whole box - shrinking width alone crops the 46x62 logo artwork */
.header .logo a{transform:scale(0.7); transform-origin:left center;}
.header .sns{width:26px;}
.header .sns img{max-width:12px;}
.header .total_menu_open{transform:scale(0.83); transform-origin:right center;}
.total_menu_wrap{height:100vh; overflow-y:auto;}
.total_menu_wrap .mb_area{padding:0 4.8%; height:var(--header_h); display:flex; align-items:center;}
.total_menu_wrap .mb_area .logo a{background-image:url(../img/logo_main.svg);}
.total_menu_close{right:4.8%; top:14px;}
.total_menu{padding:20px 4.8% 60px; display:block;}
.total_menu>li{padding:0; height:auto; border-bottom:1px solid rgba(255,255,255,0.1);}
.total_menu>li:before{display:none;}
.total_menu>li:hover{background-color:transparent;}
.total_menu>li>a{padding:17px 0; line-height:1.4; font-size:22px;}
.total_menu>li>a:before{display:none;}
.total_menu .s_menu{margin:0; padding:5px 2% 20px; display:none;}
.total_menu .s_menu li{margin-bottom:14px;}
.total_menu .s_menu li a{font-size:16px;}
}

/* back to top - ui_common.js toggles body.scroll past the first scroll step */
/* pre-inverted + difference: on a light backdrop the two cancel out to the original
   colours, on a dark one the inverted colours stay - so it flips itself per pixel */
.btn_top{position:fixed; right:40px; bottom:40px; z-index:50; width:110px; aspect-ratio:1/1; mix-blend-mode:difference; visibility:hidden; opacity:0; transition:opacity 0.3s ease-out, visibility 0.3s ease-out;}
.btn_top:before{position:absolute; left:0; top:0; width:100%; height:100%; background:url(../img/top.svg) no-repeat center center; filter:invert(1); display:block; content:"";}
.btn_top span{position:absolute; left:-9999px; top:0;}
.scroll .btn_top{visibility:visible; opacity:1;}

/* footer */
.footer{font-family:var(--font-body); position:relative; padding:140px 0; background-color:var(--navy-deep); overflow:hidden;}
.footer:before{position:absolute; left:0; top:0; width:100%; border-top:1px solid rgba(255,255,255,0.2); display:block; content:"";}
.footer_inner{position:relative; z-index:3; margin:0 auto; padding:var(--padding); max-width:1680px; display:flex; box-sizing:border-box;}
.footer .footer_logo{margin-right:clamp(40px,3.675vw,70px); align-self:flex-start; flex-shrink:0;}
.footer .footer_logo img{width:clamp(110px,9.029vw,172px);}
.footer .footer_cont{padding-top:13px; color:#fff;}
.footer .footer_cont .name{margin-bottom:11px; display:block; font-size:clamp(30px,2.625vw,50px); font-weight:700; line-height:1.4; letter-spacing:-0.025em;}
.footer .footer_cont .info p{font-size:clamp(13px,0.945vw,18px); font-weight:400; line-height:1.5; letter-spacing:-0.025em; color:#fff; white-space:pre-wrap;}
.footer .footer_cont .info ul{display:flex; align-items:center; gap:0 20px; flex-wrap:wrap;}
.footer .footer_cont .info ul li.w100p{width:100%;}
.footer .footer_cont .info li{font-size:clamp(13px,0.945vw,18px); font-weight:400; line-height:1.5; letter-spacing:-0.025em; color:#fff;}
.footer .copyright{display:block; font-size:clamp(13px,0.945vw,18px); font-weight:400; line-height:1.5; letter-spacing:-0.025em; color:#fff;}
.footer .footer_sns{margin-top:21px;}
.footer .footer_sns ul{display:flex; align-items:center; gap:10px;}
.footer .footer_sns ul li a{width:clamp(64px,5.25vw,100px); aspect-ratio:1/1; border:1px solid #fff; box-sizing:border-box; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; transition:all 0.3s ease-out;}
.footer .footer_sns ul li a:hover{background-color:rgba(255,255,255,0.12);}
.footer .footer_sns ul li a span{text-align:center; line-height:1.5; font-size:clamp(11px,0.787vw,15px); font-weight:400; letter-spacing:-0.025em; color:#fff;}

/* scene is exported at 2x - half it so one CSS pixel matches one design pixel */
.footer:after{position:absolute; right:0; bottom:0; z-index:1; width:clamp(0px,50.365%,967px); aspect-ratio:1933/1036; background:url(../img/footer_img.png) no-repeat center bottom; background-size:contain; display:block; content:"";}
.footer .lantern{position:absolute; z-index:2;}
/* the sky box mirrors the scene image exactly, so every object keeps the same spot
   relative to the hill no matter how the footer reflows */
.footer .footer_sky{position:absolute; right:0; bottom:0; z-index:2; width:clamp(0px,50.365%,967px); aspect-ratio:1933/1036;}
.footer .lantern_1{left:6%; top:5%; width:13.5%; animation:lantern_float 8s ease-in-out infinite;}
.footer .lantern_2{left:63%; top:2%; width:5.9%; animation:lantern_float 9.5s ease-in-out infinite 0.8s;}
.footer .lantern_3{left:36%; top:15%; width:5.9%; animation:lantern_float 7.5s ease-in-out infinite 1.6s;}
.footer .firework{position:absolute; z-index:2; animation:firework_pop 2.8s ease-out infinite;}
.footer .firework_1{left:20%; top:1%; width:17.6%;}
.footer .firework_2{left:48%; top:9%; width:11.4%; animation-duration:3.3s; animation-delay:1.4s;}
.footer .fx{z-index:2;}
.footer .fx_1{left:79%; top:13%; width:12.4%; aspect-ratio:1/1; animation-duration:3.1s; animation-delay:0.7s;}
.footer .star{position:absolute; z-index:2; animation:star_twinkle 3.2s ease-in-out infinite;}
.footer .star_1{left:3%; top:24%; width:5.9%;}
.footer .star_2{left:31%; top:4%; width:5.9%; animation-delay:1.1s;}
.footer .star_3{left:71%; top:26%; width:5.9%; animation-delay:2.2s;}
.footer .star_s1{left:27%; top:11%; width:3%; animation-delay:0.5s;}
.footer .star_s2{left:56%; top:2%; width:3%; animation-delay:1.5s;}
.footer .star_s3{left:89%; top:6%; width:3%; animation-delay:2.5s;}
@keyframes quick_float{
0%{transform:translate3d(0,0,0);}
50%{transform:translate3d(0,-11px,0);}
100%{transform:translate3d(0,0,0);}
}
/* below this the copy and the scene stop fitting side by side - stack them instead */
@media screen and (max-width:1280px) {
/* the scene drops below the copy and spans the full width - padding-bottom reserves exactly
   the image height (1036/1933), and the sky box follows it so object placement is unchanged */
.footer{padding:60px 0 53.596%;}
.footer_inner{display:block; width:100%;}
.footer .footer_logo{margin:0 0 24px;}
.footer .footer_cont{padding-top:0;}
.footer .footer_cont .name{margin-bottom:10px; font-size:2rem;}
.footer .footer_sns{margin-top:26px;}
.footer:after{left:0; right:auto; bottom:0; width:100%; background-position:center bottom;}
.footer .footer_sky{left:0; right:auto; width:100%;}
}
@media screen and (max-width:768px) {
.btn_top{right:20px; bottom:20px; width:64px;}
.footer .footer_cont .name{font-size:26px;}
.footer .footer_cont .info p,
.footer .footer_cont .info li,
.footer .copyright{font-size:14px;}
.footer .footer_sns ul li a{width:74px; gap:6px;}
.footer .footer_sns ul li a span{font-size:12px;}
}
/* layout */
.sub_container{padding-bottom:100px;}
.sub_cont{margin:0 auto; max-width:var(--width); padding:var(--padding); box-sizing:border-box; width:100%;}
.sub_visual{position:Relative; aspect-ratio: 1920/808;  display:Flex; align-items: center; justify-content: center; overflow:hidden;}
/* scene is exported at 2x - the box already sits at the 1920x808 design size, so 100% width halves it */
.sub_visual:before{position:absolute; left:50%; bottom:0; z-index:2; width:100%; height:100%;  background:url(../img/sub_visual_v2.png) no-repeat center bottom; background-size:100% auto; display:block; content:""; transform:translateX(-50%);}
.sub_vs_txt{position:relative; z-index:3; margin-top:-7%; max-width:var(--width); width:100%; padding:var(--padding); box-sizing:border-box; }
.sub_vs_txt h1{font-size:4.375rem; color:#fff; font-weight:700;}
.sub_vs_txt p{font-size:1.75rem; color:#fff;}
.sub_visual .lantern{position:absolute; z-index:3;}
.sub_visual .lantern_1{left:8.125%; top:21.535%; width:6.771%; animation:lantern_float 7.5s ease-in-out infinite;}
.sub_visual .lantern_2{left:94.089%; top:16.646%; width:2.969%; animation:lantern_float 8.5s ease-in-out infinite 0.7s;}
.sub_visual .lantern_3{left:49.974%; top:38.428%; width:2.969%; animation:lantern_float 9.5s ease-in-out infinite 1.5s;}
.sub_visual .fx_rich{z-index:3;}
.sub_visual .fx_1{left:73.464%; top:13.676%; width:8.906%; aspect-ratio:1/1;}
.sub_visual .fx_2{left:63.229%; top:28.837%; width:5.625%; aspect-ratio:1/1;}
.sub_visual .fx_3{left:2.604%; top:11.139%; width:7.552%; aspect-ratio:1/1;}
.sub_visual .fx_4{left:24.479%; top:16.955%; width:5.208%; aspect-ratio:1/1;}
.sub_visual .star{position:absolute; z-index:3; animation:star_twinkle 3.2s ease-in-out infinite;}
.sub_visual .star_1{left:6.224%; top:13.428%; width:2.969%;}
.sub_visual .star_2{left:55.651%; top:20.854%; width:2.969%; animation-delay:1s;}
.sub_visual .star_3{left:42.786%; top:43.626%; width:2.969%; animation-delay:2s;}
.sub_visual .star_s1{left:34.141%; top:20.111%; width:1.51%; animation-delay:0.6s;}
.sub_visual .star_s2{left:84.974%; top:13.181%; width:1.51%; animation-delay:1.6s;}
.sub_visual .star_s3{left:88.984%; top:28.404%; width:1.51%; animation-delay:2.4s;}
.navi{margin:30px auto 0; padding:var(--padding); box-sizing:border-box; max-width:690px; }
.navi{margin-bottom:80px; display:flex; align-items: center;}
.navi .home{width:40px;}
.navi>ul{margin-left:auto; position:relative; padding-left:20px; display:flex; align-items: center; width:calc(100% - 40px);}
.navi>ul:before{position:absolute; left:0; top:50%; margin-top:-10px; width:1px; height:20px; background-color:#ddd; display:block; content:"";}
.navi>ul>li.home{width:40px; }
.navi>ul>li{position:relative; width:49%; }
.navi>ul>li:nth-child(2n){margin-left:auto; }
/* 260813 sic 드롭다운 화살표 모션 */
.navi>ul>li:nth-child(2n) .s_navi_open{border-color:var(--point-color-1); background-color:#fff;}
.navi>ul>li .s_navi_open{position:relative; padding:0 40px 0 40px; width:100%; height:52px; line-height:52px; background-color:#F5F5F5; border:1px solid #D4D4D4; font-size:1.125rem; font-weight:500; color:#333; text-align:left; border-radius:2em;}
.navi>ul>li .s_navi_open::after{position:absolute; right:40px; top:50%; width:20px; height:20px; margin-top:-10px; background:url(../img/icon_down.svg) no-repeat center center; background-size:contain; display:block; content:""; transition:transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);}
.navi>ul>li .s_navi_open.active::after{transform:rotate(180deg);}
.s_navi{position:absolute; left:0; top:52px; z-index:10; padding-top:5px;  width:100%; box-sizing:border-box; display:none; }
.s_navi ul{padding:30px 40px; background-color:#fff; border-radius:20px; border:1px solid var(--point-color-1);}
.s_navi ul li{padding:5px 0;}
.s_navi ul li a{font-size:1rem;  line-height:1.6;}
.sub_title{margin-bottom:100px; text-align:center;}
.sub_title h1{margin-bottom:55px; font-size:3.125rem; font-weight:700; text-align:center; font-family:var(--font-body);}
.sub_title h1 strong{color:var(--point-color-1); font-weight:700;}
@media screen and (max-width:960px) {
.sub_container{padding-bottom:50px;}
.sub_visual{aspect-ratio: 375/424;  background:url(../img/sub_visual_v2_m.png) no-repeat center bottom; background-size:cover;}
.sub_visual:after,
.sub_visual:before{display:none;}
/* mobile artboard places the scene objects differently - every value is a ratio of the 375x424 box */
.sub_visual .fx_3,
.sub_visual .fx_4,
.sub_visual .star_s3{display:none;}
.sub_visual .lantern_1{left:1.1%; top:21.06%; width:15%;}
.sub_visual .lantern_2{left:36.85%; top:8.42%; width:6.3%;}
.sub_visual .lantern_3{left:86.45%; top:42.5%; width:5.9%;}
.sub_visual .fx_1{left:77.55%; top:11.91%; width:20.1%;}
.sub_visual .fx_2{left:63%; top:21.22%; width:12.4%;}
.sub_visual .star_1{left:25.55%; top:18.43%; width:4.9%;}
.sub_visual .star_2{left:57.55%; top:13.93%; width:4.9%;}
.sub_visual .star_3{left:15.35%; top:44.23%; width:4.9%;}
.sub_visual .star_s1{left:42.3%; top:28.01%; width:2%;}
.sub_visual .star_s2{left:48.3%; top:50.81%; width:2%;}
.sub_vs_txt h1{font-size:2.25rem;}
.sub_vs_txt p{font-size:1em;}
/* 260813 sic 드롭다운 모바일 디자인·오류 수정 */
.navi{margin-top:25px; margin-bottom:40px;}
.navi .home{display:none;}
.navi>ul{margin-left:0; width:100%; padding-left:0; background-color:#f5f5f5; border-radius:2em;}
.navi>ul>li{z-index:1;}
.navi>ul>li:hover,
.navi>ul>li:focus-within{z-index:2;}
.navi>ul:before{display:none;}
.navi>ul>li{width:50%; margin-left:0;}
.navi>ul>li:first-child:after{position:absolute; right:0; top:50%; margin-top:-10px; width:1px; height:20px; background-color:#ddd; display:block; content:"";}
.navi>ul>li:nth-child(2n) .s_navi_open,
.navi>ul>li .s_navi_open{padding:0 36px 0 16px; height:48px; line-height:48px; background-color:transparent; border:none; border-radius:0; font-size:1rem;}
.navi>ul>li .s_navi_open::after{right:12px; width:14px; height:14px; margin-top:-7px;}
.s_navi{top:48px;}
.s_navi ul{padding:15px;}
.sub_title{margin-bottom:35px;}
.sub_title h1{margin-bottom:35px; font-size:2.15rem;}
.sub_title img{margin:0 auto; max-width:72%;}
}
@media screen and (max-width:768px) {
.sub_vs_txt h1{font-size:clamp(28px, 10.667vw, 40px);}
}

/* festival */
.festival{display:flex; align-items: center;}
.festival .img_area{width:37.5%;}
.festival .txt_area{margin-left:auto; width:56.64%;}
.festival .txt_area h2{margin-bottom:20px; font-size:2.5rem; font-weight:700; font-family:var(--font-body);}
.festival .txt_area h2 strong{color:var(--point-color-1); font-weight:700;}
.festival .txt_area p{margin-bottom:40px; font-size:1.25rem; line-height:1.5; }
.festival .txt_area ul{border-top:2px solid var(--point-color-1);}
.festival .txt_area ul li{padding:16px 0; display:flex; align-items: center; border-bottom:1px solid #ddd;}
.festival .txt_area ul li .tit{width:18%; font-size: 1.25rem; font-weight:700; text-align:center;}
.festival .txt_area ul li .txt{position:relative; padding:0 20px; width:82%;font-size:1.25rem;  box-sizing:border-box;}
.festival .txt_area ul li .txt:before{position:absolute; left:0; top:50%; margin-top:-6px; width:1px; height:12px; background-color:#ddd; display:block; content:"";}
@media screen and (max-width:960px) {
.festival{display:block;}
.festival .img_area{margin:0 auto 50px; width:100%; text-align:center;}
.festival .txt_area{width:100%;}
.festival .txt_area h2{font-size:1.84rem;}
.festival .txt_area p{margin-bottom:30px; font-size:1.153rem;}
.festival .txt_area ul li .tit{width:25%; font-size: 1.153rem;}
.festival .txt_area ul li .txt{padding:0 10px;width:75%; font-size:1.153rem;}
}

/* festival_list */
.festival_top{margin-bottom:80px; padding:50px; background:url(../img/txt_bg.svg) no-repeat right 50px center; box-shadow:3px 3px 10px rgba(0,0,0,0.08); border-radius:15px; }
.festival_top h2{margin-bottom:30px; font-size:2.5rem; font-weight:700; font-weight:700; font-family:var(--font-body);}
.festival_top p{font-size:1.125rem;}
.festival_list ul{display:flex; flex-wrap:wrap; gap:70px 52px;}
.festival_list ul li{width:calc((100% - 104px)/3); }
.festival_list ul li:nth-child(3n){margin-right:0;}
.festival_list ul li .img_area>*{position:relative; width:100%; aspect-ratio: 392/554; display:block;  overflow:hidden; border-radius: 20px; box-shadow:3px 3px 10px rgba(0,0,0,0.1);}
.festival_list ul li .img_area img{position:absolute; left:50%; top:50%; max-width:100%; max-height:100%; object-fit: cover; transform: translate(-50%,-50%); }
.festival_list ul li .img_area.image_no button{background-color:#F9F9F9; border:1px solid #E1E1E1; }
.festival_list ul li .txt_area{padding-top:40px; text-align:center; }
.festival_list ul li .txt_area .title{font-size:1.75rem; font-weight:700; font-family:var(--font-body);}
.festival_list ul li .txt_area .date{margin-top:5px; font-size:1.125rem; color:#888;}
.festival_list ul li.noImage .img_area a{background-color:#F9F9F9; border:1px solid #E1E1E1;}
.festival_list ul li.noImage .img_area a span{position:absolute; left:50%; top:50%; width:100%; padding-top:100px; background:url(../img/no_image.svg) no-repeat center 0; font-size:1.75rem; color:#ccc; display:block; text-align:center; transform:translate(-50%, -50%);  font-weight:700;}
.festival_bottom{margin-top:80px; padding:40px 50px; text-align:center; border: 1px solid #D4D4D4; font-size:1.5rem; font-family:var(--font-body); border-radius:20px;}
.festival_bottom strong{font-weight:700;}
.festival_bottom strong span{color:var(--point-color-1);}
@media screen and (max-width:960px) {
.festival_top{padding:2%; }
.festival_top br{display:none;}
.festival_top h2{margin-bottom:15px; font-size:2rem;}
}
@media screen and (max-width:768px) {
.festival_list ul{gap:40px 25px;}
.festival_list ul li{width:calc((100% - 25px)/2); }
.festival_list ul li:nth-child(2n){margin-left:auto; }
.festival_list ul li .txt_area{padding-top:20px;}
.festival_list ul li .txt_area .title{font-size:1.38rem;}
.festival_list ul li .txt_area .date{font-size:1.07rem;}
.festival_list ul li.noImage .img_area a span{background-size:100px; padding-top:65px; font-size:1.125rem;}
.festival_bottom{margin-top:40px; padding:20px; font-size:14px;}
}

/* character_intro - every coordinate is a ratio of the 1280px content band */
.character_intro{position:relative; padding-bottom:17.188%; overflow:hidden; background:linear-gradient(180deg,#36276d 0%,#51207c 15%,#af4b7f 25%,#e8486c 45%,#e8486c 60%,#9c3475 70%,#3e1767 85%,#1b0742 100%);}
.character_intro::before{position:absolute; left:0; top:0; z-index:1; width:100%; aspect-ratio:1280/1507; background:url("../img/character_bg.png") no-repeat center top; background-size:cover; content:"";}
.character_intro .card{position:relative; z-index:3; box-sizing:border-box; padding:40px 6.25% 45px; background-color:rgba(255,255,255,0.7); border-radius:49px;}
.character_intro .plate{width:148px; height:88px; border-radius:17px; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.character_intro .plate strong{font-family:var(--font-body); font-size:2.125rem; font-weight:700; line-height:1.41; letter-spacing:-0.025em; color:#fff;}
.character_intro .plate em{font-size:1rem; font-weight:500; line-height:1.625; color:#fff;}
.character_intro .plate.umi{background-color:#e49e2c;}
.character_intro .plate.dami{background-color:#e46a53;}
.character_intro .plate.ruby{background-color:#c74d2a;}
.character_intro .plate.hae{background-color:#f5bc1a;}
.character_intro .plate.bow{background-color:#5f4197;}
.character_intro .plate.chorong{background-color:#1e873b;}
.character_intro .plate.cheong{background-color:#2a5aa8;}
.character_intro .ch{position:absolute; z-index:4;}

.character_intro .pair{position:relative; padding-bottom:43.281%;}
.character_intro .pair .card{margin:7.891% 7.813% 0; display:flex; gap:4.815%;}
.character_intro .pair .item{width:50%;}
.character_intro .pair h2{margin-top:42px; font-size:1.375rem; font-weight:700; line-height:1.45; letter-spacing:-0.025em; color:#333;}
.character_intro .pair p{margin-top:16px; font-size:1.25rem; font-weight:500; line-height:1.5; letter-spacing:-0.025em; color:#333;}
.character_intro .pair p+p{margin-top:14px;}
.character_intro .ch_umi{left:17.66%; top:0; margin-top:41.56%; width:24.22%;}
.character_intro .ch_dami{left:60.94%; top:0; margin-top:43.67%; width:23.52%;}

.character_intro .friends_title{position:relative; z-index:3; text-align:center; font-family:var(--font-body); font-size:3.125rem; font-weight:700; line-height:1.4; letter-spacing:-0.025em; color:#fff;}
.character_intro .friends{position:relative; z-index:3; margin-top:9.688%; padding:0 7.734%;}
.character_intro .friends>ul{display:flex; flex-wrap:wrap; gap:0 7.394%;}
.character_intro .friends>ul>li{position:relative; padding-top:14.5%; width:46.303%;}
.character_intro .friends>ul>li:nth-child(n+3){margin-top:11.276%;}
.character_intro .friends>ul>li:nth-child(5){margin-top:13.401%;}
.character_intro .friends .ch{left:50%; top:0; width:auto; height:220px; transform:translateX(-50%);}
.character_intro .friends .card{padding:66px 8% 30px; min-height:330px; text-align:center;}
.character_intro .friends .plate{margin:0 auto;}
.character_intro .friends h3{margin-top:36px; font-size:1.375rem; font-weight:700; line-height:1.45; letter-spacing:-0.025em; color:#333;}
.character_intro .friends p{margin-top:16px; font-size:1.25rem; font-weight:500; line-height:1.5; letter-spacing:-0.025em; color:#333;}
.character_intro::after{position:absolute; right:0; bottom:0; z-index:2; width:936px; height:512px; background:url("../img/character_village.png") no-repeat; content:"";}
@media screen and (max-width:1280px) {
.character_intro .plate{ height:auto; padding:14px 0;}
.character_intro .plate strong{font-size:1.75rem;}
.character_intro .pair h2{margin-top:30px; font-size:1.25rem;}
.character_intro .pair p{font-size:1.0625rem;}
.character_intro .friends .card{padding-top:52px; min-height:0;}
.character_intro .friends .ch{height:180px;}
.character_intro .friends h3{margin-top:24px; font-size:1.1875rem;}
.character_intro .friends p{font-size:1.0625rem;}
}
@media screen and (max-width:960px) {
.character_intro{padding-bottom:150px; background:linear-gradient(180deg,#e8486c 0%,#e8486c 60%,#ac3873 70%,#5c237c 80%,#15043c 100%);}
.character_intro .card{padding:20px; background-color:rgba(255,255,255,0.7); border-radius:20px;}
.character_intro .plate{height:65px; padding:0 20px; border-radius:15px; display:inline-flex; width:auto; }
.character_intro .pair{padding:0 5%; display:flex; flex-direction:column;}
.character_intro .pair .card{display:contents;}
.character_intro .pair .item{position:relative; z-index:3; order:2; padding:20px; box-sizing:border-box; width:100%; background-color:rgba(255,255,255,0.7); border-radius:20px;}
.character_intro .pair .item+.item{order:4;}
.character_intro .ch_umi,
.character_intro .ch_dami{position:relative; left:auto; top:auto; bottom:auto; margin:0 0 -24px; width:52%; align-self:center; display:block;}
.character_intro .ch_umi{order:1;}
.character_intro .ch_dami{order:3; margin-top:30px;}
.character_intro .friends{margin-top:40px; padding:0 5%;}
.character_intro .friends>ul{display:block;}
.character_intro .friends>ul>li{position:relative; padding-top:0; width:100%;}
.character_intro .friends>ul>li+li{margin-top:20px;}
.character_intro .friends>ul>li:nth-child(n+3),
.character_intro .friends>ul>li:nth-child(5){margin-top:20px;}
.character_intro .friends .ch{position:absolute; left:6.32%; top:0; bottom:auto; margin-top:8.36%; width:39.2%; height:auto; transform:none;}
.character_intro .friends .card{padding:8.36% 5.7% 8.36% 53.18%; min-height:0; width:100%; text-align:left;}
.character_intro .friends .plate{margin:0;}
}
@media screen and (max-width:768px) {
.character_intro::before{aspect-ratio:339/399; background-image:url("../img/character_bg_m.png");}
.character_intro .plate strong{font-size:22px;}
.character_intro .plate em{font-size:12px;}
.character_intro .pair h2{margin-top:24px; font-size:16px;}
.character_intro .pair p{margin-top:12px; font-size:clamp(10px,3.467vw,13px);}
.character_intro .pair p+p{margin-top:12px;}
.character_intro .friends_title{font-size:28px;}
.character_intro .friends h3{margin-top:16px; font-size:14px;}
.character_intro .friends p{margin-top:10px; font-size:12px;}
.character_intro::after{transform:scale(0.4); transform-origin:right bottom;}
}

/* cow_history */
.titleType_1{position:relative; margin-bottom:20px; padding-bottom:20px; color:#000; font-weight:700; text-align:center; font-size:2.5rem;  font-family:var(--font-body)}
.titleType_1 span{font-size:inherit; font-weight:inherit; color:#000;}
.titleType_1:before{position:absolute; left:50%; bottom:0; width:50px; height:2px; background-color:var(--point-color-1); display:block;  content:""; transform:translateX(-50%);}
.cow_history p{font-size:1.125rem; line-height:1.5;}
.cow_history .box{margin:0 auto 120px; max-width:1720px; padding:50px 0; min-height:548px; background:url(../img/cow_history_bg.png) no-repeat center center; background-size:cover; display:flex; align-items: center; box-sizing:border-box; ;}
.cow_history .box h2{color:#fff;}
.cow_history .box .txt_area{padding:0 20px; max-width:600px;}
.cow_history .box .txt_area p{margin-bottom:20px;  color:#fff; }
.cow_history .box .txt_area p:last-child{margin-bottom:0;}
.cow_history .box .sub_cont{width:100%;}
.cow_history h2{margin-bottom:40px; font-size:2.5rem; font-weight:700; }
.cow_history .cont_1{margin-bottom:70px; display:flex; }
.cow_history .cont_1>p{width:48%; font-size:1.125rem; }
.cow_history .cont_1>p:nth-child(2n){margin-left:auto;}
.cow_history .cont_2{display:flex; align-items:center; }
.cow_history .img_area{margin:50px 0 135px;}
.cow_history .cont_2{margin-bottom:135px;}
.cow_history .cont_2 .titleType_1{text-align:left;}
.cow_history .cont_2 .titleType_1:before{left:0; transform:translateX(0);}
.cow_history .cont_2 .sub_cont{display:flex; align-items: center;}
.cow_history .cont_2 .txt_area{width:40%;}
.cow_history .cont_2 .img_area{margin:0 0 0 auto; width:58%;}
.cow_history .cont_3{padding:80px 0 135px;}
.cow_history .cont_3 .d-flex{margin-bottom:20px; display:flex; align-items: flex-start;}
.cow_history .cont_3 .img_area{margin:0; width:45%; }
.cow_history .cont_3 .txt_area{margin-left:auto; width:50%; }
.cow_history .cont_3 .txt_area p{margin-bottom:20px; }
.cow_history .cont_4{padding:120px 0;background-color:#F8F8F8; }
.cow_history .cont_4 .txt_area p{margin-bottom:20px;}
.cow_history .cont_4 .txt_area p strong{font-weight:600; font-size:1.5rem; }
.cow_history .cont_4 .img_area_3{display:flex; margin-top:30px; }
.cow_history .cont_4 .img_area_3>div{width:49%;}
.cow_history .cont_4 .img_area_3>div:nth-child(2){margin-left:auto;}
.pc_only{display:block;}
.mb_only{display:none;}
@media screen and (max-width:960px) {
.pc_only{display:none;}
.mb_only{display:block;}
.cow_history h2{font-size:1.84rem;}
.cow_history .box{margin:0 3% 70px; padding:50px 8.8% 200px; min-height:628px; background:url(../img/cow_history_bg_m.png) no-repeat center bottom; background-size:cover; border-radius:20px;}
.cow_history .box .sub_cont{padding:0;}
.cow_history .box .txt_area{padding:0;}
.cow_history .box .txt_area h2{color:#fff;}
.cow_history .img_area{margin:35px 0 60px;}
.cow_history .cont_2 .titleType_1{text-align:center;}
.cow_history .cont_2 .titleType_1:before{left:50%; transform:translateX(-50%);}
.cow_history .cont_1{display:block;  margin-bottom:10px;}
.cow_history .cont_1>p{margin-bottom:20px; width:100%;}
.cow_history .cont_2{position:relative; background:none; margin-bottom:60px;}
.cow_history .cont_2 .sub_cont{position:relative; z-index:3; display:block;}
.cow_history .cont_2 .txt_area{width:100%;}
.cow_history .cont_2 .img_area{margin-top:30px; width:100%;}
.cow_history h2{margin-bottom:20px;}
.cow_history .cont_3{padding:0 0 70px; }
.cow_history .cont_3 .d-flex{display:block;}
.cow_history .cont_3 .img_area{width:100%; text-align:center;}
.cow_history .cont_3 .txt_area{margin-top:40px; width:100%;}
.cow_history .cont_4{padding:50px 0;}
.cow_history .cont_4 .img_area_2{text-align:center;}
.cow_history .cont_4 .img_area_3{display:block; }
.cow_history .cont_4 .img_area_3>div{margin-bottom:30px; width:100%; text-align:center;}
}

/* notice */
.notice_list{border-top: 2px solid var(--point-color-1);}
.notice_list .thead ul{display:flex; flex-wrap:wrap;}
.notice_list .thead li{padding:0 10px; box-sizing:border-box; height:60px; display:flex; align-items: center; justify-content: center; font-size:20px; color:#848484;}
.notice_list .num{width:9%;}
.notice_list .cate{width:10%;}
.notice_list .tit{width:62%;}
.notice_list .write{width:10%;}
.notice_list .date{width:11%;}
.notice_list .hit{width:8%;}
.notice_list .tit a{display:block; font-size:inherit; font-weight:inherit; color:#000;
text-overflow:ellipsis;
white-space:nowrap;
word-wrap:normal;
overflow:hidden;
}
.notice_list li .icon_notice{padding:8px 20px; background-color:#fff; border:1px solid #D4D4D4; border-radius:2em; text-align:center; display:inline-block; font-size:1.25rem; font-weight:500; letter-spacing:-0.035em; color:#333; line-height:1;}
.notice_list .thead{border-bottom:1px solid #000;}
.notice_list .thead li{color:#000;}
.notice_list .tbody li{box-sizing:border-box; height:70px; display:flex; align-items: center; justify-content: center; font-size:20px; color:#848484; text-align:center; flex-wrap:wrap;}
.notice_list .tbody li>div{padding: 0 10px; box-sizing:border-box;}
.notice_list .tbody li .tit{justify-content: flex-start; text-align:left;}
.notice_list .tbody li{border-bottom:1px solid #ddd;}
.notice_list .tbody .hit_txt{display:none;}
.notice_list .tbody .m_cate{display:none;}
.notice_list .tbody .cate{color:var(--point-color-1); }
.notice_list .tbody .cate span{padding:9px 15px; background-color:#F5EFF9; border-radius:2em; display:inline-block; line-height:1; font-size:1.25rem; font-weight:400; letter-spacing:-0.035em;}
.notice_list .tbody .cate.pc{display:block;}
.notice_list .tbody .cate.mo{display:none;}
.notice_list  .hit span{vertical-align:top;}
.notice_view .notice_list .tbody .cate.pc{width:auto; padding:0 10px 0 4px;}
.notice_view .notice_list .tbody li .tit{width:auto; flex:1;}
.notice_view .notice_list .tbody li>div.num{width:auto; padding:0 4px 0 40px;}

.page_list{padding-top:50px; display:flex; align-items: center; justify-content: center;}
.page_list ul{display:flex; align-items: center;}
.page_list ul li{position:relative; margin:0 4px; text-align:center;}
.page_list ul li a{width:50px; height:50px; line-height:50px; font-size:20px; background-color:#F6F6F6; display:inline-block; border-radius:50%; text-align:center;}
.page_list ul li:first-child:before{display:none;}
.page_list ul li span{width:50px; height:50px; line-height:50px; font-size:20px; background-color:#333; color:#fff; display:block; border-radius: 50%;}
.page_list .btn{margin:0 4px; width:50px; height:50px; line-height:50px; display:block; }
.page_list .first_prev{background:url(../img/page_prev2.svg) no-repeat no-repeat center center; background-size:100%;}
.page_list .prev{background:url(../img/page_prev.svg) no-repeat no-repeat center center; background-size: 100%;}
.page_list .last_next{background:url(../img/page_next2.svg) no-repeat no-repeat center center; background-size: 100%;}
.page_list .next{background:url(../img/page_next.svg) no-repeat no-repeat center center; background-size: 100%;}
.page_list .num>*{margin:0 4px; width:50px; height:50px; line-height:50px; text-align:center; background-color:#F6F6F6; font-size:20px; border-radius:50%; display:block;}
.page_list .num>span{background-color:#333; color:#fff; }
@media screen and (max-width: 960px) {
.page_list .num>*{margin:0 2px; width:30px; line-height:30px; height:30px; font-size:13px;}
.notice_view .notice_list .tbody li{flex-wrap:wrap;}
.notice_view .notice_list .tbody li .category{padding-right:10px; width:auto;}
.notice_view .notice_list .tbody li .tit{padding-left:0; margin-bottom:5px; width:100%;}
.notice_list .tbody .cate.pc{display:none;}
.notice_list .tbody .cate.mo{display:block; width:auto;}
.notice_list .tbody .cate.mo span{min-width:auto; width:auto; padding:0 20px; height:26px; line-height:26px;  font-size:13px;}
}
@media screen and (max-width: 640px) {
.page_list .num>*{width:26px; height:26px; line-height:26px; font-size:11px;  }
}

.search{margin-top:65px; padding:30px; display:flex; align-items: center; justify-content: center; background-color:#F8F8F8; border:1px solid #DEDEDE;}
.search>div{max-width:462px; position:relative; padding-right:80px; display:flex; align-items: center; box-sizing:border-box;}
.search select{width:33.5%; height:40px; line-height:38px;}
.search input[type=text]{margin-left:auto; width:65.4%; height:40px; line-height:38px;}
.search .btn_search{position:absolute; right:0; top:0; width:80px; height:40px; line-height:38px; text-align:center; background-color:#444444;  font-size:1.125rem; font-weight:500; color:#fff;}


@media screen and (max-width: 1200px) {
.notice_list .thead li,
.notice_list .tbody li{font-size:16px;}
.notice_list li .icon_notice{padding:7px 0; width:50px; font-size:14px;}
}

@media screen and (max-width: 960px) {
.notice_list .thead{display:none;}
.notice_list .tbody li{position:relative; height:auto; padding:20px 0 20px 65px; justify-content: flex-start;}
.notice_list .num{position:absolute; left:0; top:50%; transform: translateY(-50%); width:auto;}
.notice_view .notice_list .tbody li>div.num{padding:0;}
.notice_view .notice_list .tbody li .tit{width:100%; flex:none;}
.notice_list .tbody li .cate{width:100%; text-align:left; display:none;}
.notice_list .tbody li .tit{width:100%;}
.notice_list .tbody li .write,
.notice_list .tbody li .date,
.notice_list .tbody li .hit{position:Relative; width:auto; font-size: 13px;}
.notice_list .tbody li .hit:before{position:absolute; left:0; top:50%; margin-top:-6px; width:1px; height:12px; background-color:#ddd; display:block; content:"";}
.notice_list .tbody .hit_txt{display:inline-block;}
.notice_list .tbody .m_cate{margin-right:8px; padding:4px 10px; background-color:#F5EFF9; border-radius:2em; display:inline-block; line-height:1; display:inline-block;  color:var(--point-color-1);}

.page_list{padding-top:30px;}
.page_list ul li{width:26px;}
.page_list ul li span,
.page_list ul li a{font-size:16px;}

.search{margin-top:40px; padding:20px 30px; }
.search>div{padding-right:0; display: block;}
.search select{margin-bottom:10px; width:100%;}
.search input[type=text]{width:calc(100% - 80px);}
.search .btn_search{bottom:0; top:auto;}
}

/* notice_view */
.attachment_list{padding:20px 30px; border-bottom:1px solid #DEDEDE;}
.attachment_list li a{padding-left:30px; background:url(../img/icon_download.svg) no-repeat 0 center; font-size:16px; color:#848484; display:inline-block; }
.notice_view .tableType_1 .tbody li{border-bottom:1px solid #000;}
.notice_view_cont{margin-bottom:40px; padding:50px 0; min-height:200px; box-sizing:border-box; font-size:18px; line-height:1.66; border-bottom:1px solid #dedede;}
.notice_view_btm{position:relative; text-align:center; min-height:48px;}
.notice_view_btm .prev{position:absolute; left:0; top:50%; transform: translateY(-50%); padding-left:24px; display:inline-block; background:url(../img/prev_arrow.svg) no-repeat 0 center; font-size:18px;}
.notice_view_btm .next{position:absolute; right:0; top:50%; transform: translateY(-50%); padding-right:24px; display:inline-block; background:url(../img/next_arrow.svg) no-repeat right center; font-size: 18px;}
.btn_list{padding:14px 86px 14px 34px; text-align:center; border:1px solid #0B549A; color:#0B549A; font-size:20px; display:inline-block; border-radius:2em; background:url(../img/icon_list.svg) no-repeat right 30px center;}
.basic-btn01{width:130px; height:52px; line-height:52px; text-align:center; background-color:var(--point-color-1); color:#fff; font-size:20px; display:inline-block;  border-radius:2em;}
@media screen and (max-width: 960px) {
.attachment_list{padding:12px 20px;}
.attachment_list li a{font-size:12px;}
.notice_view_cont{margin-bottom:40px;padding:30px 0; font-size:15px;}
.btn_list{padding:12px 50px 12px 20px; font-size:15px; background: url(../img/icon_list.svg) no-repeat right 20px center; background-size:16px;}
.notice_view_btm .prev,
.notice_view_btm .next{font-size:14px;}
.basic-btn01{width:110px; height:40px; line-height:40px; font-size:15px;}
}

/* notice_write */
.notice_write>ul{margin-bottom:50px; border-top:2px solid var(--point-color-1);}
.notice_write>ul>li{display:flex; border-bottom:1px solid #DEDEDE;}
.notice_write>ul>li .tit{width:16%; display:flex; align-items: center; background-color:#F9F9F9; justify-content: center; font-size:18px; }
.notice_write>ul>li .txt{padding:10px 20px; width:84%; box-sizing:border-box; }
.notice_write>ul>li .txt input[type=password],
.notice_write>ul>li .txt input[type=text]{width:100%; height:40px; max-width:728px; box-sizing:border-box; font-size:20px;}
.notice_write>ul>li textarea{width:100%; height:400px; box-sizing:border-box; display:block; }
.notice_write>ul>li input[type=password].w400,
.notice_write>ul>li input[type=text].w400{max-width:400px;}
.notice_write>ul>li input[type=text].w300{max-width:300px;}
.notice_write>ul>li input[type=text].w200{max-width:200px;}
.notice_write>ul>li input[type=text].w620{max-width:620px;}
.notice_write>ul>li input[type=text]:disabled{background-color:#f8f8f8; border-color:#ccc;}
.notice_write>ul>li .custom_radio ul{display:flex;}
.notice_write>ul>li .custom_radio ul li{margin-right:30px;}
.custom_file{position:relative; padding-right:120px; max-width:620px; box-sizing:border-box;}
.custom_file input[type=file]{width:100%; height:40px; line-height:38px;}
.custom_file label{position:absolute; right:0; top:0; width:120px; height:40px; line-height:40px; text-align:center; display:block; cursor:pointer; background-color:#444; color:#fff; font-size:20px;}
.notice_write .btn_area{text-align:center;}
.notice_write .btn_area .basic-btn01{margin:0 5px;}
.basic-btn01.btn-gray-bd{border:1px solid #e0e0e0; background:transparent; color:#000;}
@media screen and (max-width: 960px) {
.notice_write>ul{margin-bottom:30px;}
.notice_write>ul>li{display:block;}
.notice_write>ul>li .tit{padding:15px 0 7px; width:100%; display:block; font-size:15px; background-color:transparent;}
.notice_write>ul>li .txt{padding:0 0 15px; width:100%;}
.custom_file{padding-right:94px;}
.custom_file label{width:94px; font-size:14px;}
}
.tab_title_open{display:none;}
.tab_list{margin-bottom:50px;  padding:6px 7%; background-color:#F6F6F6; border-radius:2em;}
.tab_list ul{margin:0; display:flex; }
.tab_list ul li a{padding:0 70px; height:60px; line-height:60px; font-size:1.125rem; font-weight:500; display:block;}
.tab_list ul li a#bo_cate_on,
.tab_list ul li.on a{background-color:var(--point-color-1); color:#fff; border-radius:2em;}
.table_top{margin-bottom:45px; display:flex; align-items: center;}
.table_top .total_num{font-size:1.125rem; color:#888888;}
.table_top .total_num strong{font-weight:700; color:#000;}
.table_top .search_area{position:relative; margin-left:auto; max-width:366px; width:100%; overflow:hidden;}
.table_top .search_area select{position:absolute; left:-100px; width:90px; }
.table_top .search_area input[type=text]{width:100%; padding-right:60px; border:1px solid #ddd; height:64px; line-height:62px; border-radius:3em; }
.table_top .search_area .btn_search{position:absolute; right:6px; top:6px; width:52px; height:52px; background:url(../img/btn_search.svg) no-repeat center center; border:none;}
@media screen and (max-width: 960px) {
.tab_title_open{margin-bottom:25px; display:block; width:100%; height:44px; line-height:42px; padding:0 10px; background:url(../img/icon_down_mo.svg) no-repeat right 3% center;; border:2px solid #000; box-sizing:border-box; font-size:1.153rem; border-radius:2em; text-align:left;}
.tab_list{display:none;}
.table_top{margin-bottom:25px;}
.table_top .total_num{display:none;}
.table_top .search_area{width:100%; margin-left:0; max-width:100%;}
.table_top .search_area input[type=text]{height:44px; line-height:44px; background-color:#F6F6F6; border:none;}
.table_top .search_area .btn_search{right:0; top:0; width:44px; height:44px;background-size:100%;}
.page_list ul li span,
.page_list .btn,
.page_list ul li a{width:30px; height:30px; line-height:30px;}
}

.btm_btn_list{display:flex; align-items: center; flex-wrap:wrap;}
.btm_btn_list ul{display:flex; align-items: center; flex-wrap: wrap; }
.btm_btn_list ul li{margin:5px;}
.btm_btn_list ul li:last-child{margin-right:0;}
.btm_btn_list ul li:first-child{margin-left:0;}
.btm_btn_list ul li .btn{padding:0 20px; height:45px; line-height:43px; border-radius:5px; text-align:center; display:inline-block; border:1px solid #ddd; font-size:1.125rem;}
.btm_btn_list ul li .btn-gray-bg{background-color:#F8F8F8; }
.btm_btn_list .ml-auto{margin-left:auto; }
@media screen and (max-width: 960px) {
.btm_btn_list ul li .btn{padding:0 10px; height:42px; line-height:40px; font-size:0.9375rem;}

}

.shouting .agree_terms{margin-bottom:40px; padding:0 30px 30px; border-bottom:1px solid #ddd;}
.shouting .agree_terms h2{margin-bottom:20px; font-size:1.625rem; font-weight:700;}
.shouting .agree_terms {font-size:1.125rem; color:#888;}
.shouting .agree{margin-bottom:50px; text-align:center;}
.shouting .agree strong{font-weight:400; color:var(--point-color-1);}
@media screen and (max-width: 960px) {
.shouting .agree_terms{padding:0 0 30px;}
}

/* certification */
.certification h2{margin-bottom:30px; font-size:2.5rem; font-weight:700; font-family: var(--font-body);}
.certification p{font-size:1.5rem; margin-bottom:40px;}
.certification .img_area{margin-bottom:40px;}
.certification .list_1{margin-bottom:120px; border-top:2px solid var(--point-color-1);}
.certification .list_1 ul li{padding:18px 0; display:flex; border-bottom:1px solid #ddd;}
.certification .list_1 ul li .tit{width:23.5%; text-align:center; font-size:1.375rem; font-weight:700;}
.certification .list_1 ul li .txt{padding:0 30px; width:76.5%; font-size:1.125rem; color:#888; box-sizing:border-box;}
.certification .list_2>ul{display:flex; flex-wrap:wrap;}
.certification .list_2>ul>li{margin:0 2.1875% 28px 0; width:31.875%; }
.certification .list_2>ul>li:nth-child(3n){margin-right:0;}
.certification .list_2>ul>li .box{border:1px solid #2B8D60; border-radius:20px; overflow:hidden;}
.certification .list_2>ul>li .title{position:relative;height:90px; display:flex; align-items: center; justify-content: center;}
.certification .list_2>ul>li .title:before{position:absolute; left:50%; top:0; width:164px; height:8px; background-color:#2B8D60; border-radius:0 0 10px 10px; display:block; content:""; transform: translateX(-50%);}
.certification .list_2>ul>li .title strong{font-size:1.75rem; font-weight:700;}
.certification .list_2>ul>li .txt_area{padding:30px; min-height:176px; height:calc(100% - 80px); background-color:#EEF6F2; box-sizing:border-box;}
.certification .list_2>ul>li .txt_area li{position:relative; margin-bottom:5px; padding-left:15px; font-size:1.375rem; }
.certification .list_2>ul>li .txt_area li:before{position:absolute; left:0; top:12px; width:5px; height:5px; background-color:#2B8D60; display:block; content:""; border-radius:1px;}
.certification .list_2>ul>li:nth-child(2) .box{border-color:#52BB77;}
.certification .list_2>ul>li:nth-child(2) .title:before{background-color:#52BB77;}
.certification .list_2>ul>li:nth-child(2) .txt_area{background-color:#F1FAF4;}
.certification .list_2>ul>li:nth-child(2) .txt_area li:before{background-color:#52BB77;}
.certification .list_2>ul>li:nth-child(3) .box{border-color:#57A2C4;}
.certification .list_2>ul>li:nth-child(3) .title:before{background-color:#57A2C4;}
.certification .list_2>ul>li:nth-child(3) .txt_area{background-color:#F2F8FB;}
.certification .list_2>ul>li:nth-child(3) .txt_area li:before{background-color:#57A2C4;}
.certification .list_2>ul>li:nth-child(4) .box{border-color:#E9476C;}
.certification .list_2>ul>li:nth-child(4) .title:before{background-color:#E9476C;}
.certification .list_2>ul>li:nth-child(4) .txt_area{background-color:#FEF0F3;}
.certification .list_2>ul>li:nth-child(4) .txt_area li:before{background-color:#E9476C;}
.certification .list_2>ul>li:nth-child(5) .box{border-color:#7821A2;}
.certification .list_2>ul>li:nth-child(5) .title:before{background-color:#7821A2;}
.certification .list_2>ul>li:nth-child(5) .txt_area{background-color:#F4EDF8;}
.certification .list_2>ul>li:nth-child(5) .txt_area li:before{background-color:#7821A2;}
.certification .list_2>ul>li:nth-child(6) .box{border-color:#26277B;}
.certification .list_2>ul>li:nth-child(6) .title:before{background-color:#26277B;}
.certification .list_2>ul>li:nth-child(6) .txt_area{background-color:#EEEEF5;}
.certification .list_2>ul>li:nth-child(6) .txt_area li:before{background-color:#26277B;}

@media screen and (max-width: 960px) {
.certification h2{font-size:1.84rem; margin-bottom:14px;}
.certification p{font-size:1.153rem;}
.certification .list_1 ul li .tit{width:40%; font-size:1.076rem;}
.certification .list_1 ul li .txt{padding:0 5px; width:60%; font-size: 1.076rem;}
.certification .list_1{margin-bottom:70px;}
.certification .list_2>ul{display:block;}
.certification .list_2>ul>li{margin-bottom:10px; width:100%;}
.certification .list_2>ul>li .txt_area{padding:15px; min-height:0;}
}


/* why */
.why h2{margin-bottom:30px; font-size:2.5rem; font-weight:700; font-family:var(--font-body);}
.why p{font-size:1.25rem; margin-bottom:40px;}
.why p span{margin-top:12px; font-size:1.125rem; color:#888; display:block}
.why .img_area2{margin-bottom:120px;}
.why .list ul{display:flex;}
.why .list ul li{width:31.7%; margin-left:2.45%; border-radius: 20px; overflow:hidden; background-color: #F8F8F8;}
.why .list ul li:first-child{margin-right:0;}
.why .list ul li .txt_area{padding:30px; }
.why .list ul li .txt_area .tit{font-size:1.5rem; font-weight:700;}
.why .list ul li .txt_area .txt{margin-top:10px; font-size:1.125rem; color:#888;}
.why .gray_bg{background-color:#F8F8F8; margin-top:120px; padding:120px 0;}
.why .gray_bg .list ul li{background-color:#fff;}
.why .cont_1{padding:120px 0;}
.why .cont_1 ul{display:flex;}
.why .cont_1 ul li{width:48.5%; }
.why .cont_1 ul li:nth-child(2n){margin-left:auto; }
.why .cont_1 ul li .txt_area{padding-top:30px;}
.why .cont_1 ul li .txt_area .tit{margin-bottom:10px; font-size:1.5rem; font-weight:700;}
.why .cont_1 ul li .txt_area .txt{font-size:1.125rem; color:#333;}
.why .cont_2{padding:110px 0; background-color:var(--point-color-1);}
.why .cont_2 ul{display:flex; flex-wrap:wrap;}
.why .cont_2 ul li{positioN:relative; width:49%; margin-bottom:30px; padding-right:60px; box-sizing:border-box;}
.why .cont_2 ul li:nth-child(2n){margin-left:auto;}
.why .cont_2 ul li:before{position:absolute; right:0; top:50%; width:20px; height:34px; background:url(../img/icon_step.svg) no-repeat center center; display:block; content:""; transform:translateY(-50%);}
.why .cont_2 ul li .box{border:1px solid #fff; border-radius:20px;}
.why .cont_2 ul li .box .num{margin:0 auto; width:114px; height:36px; line-height:36px; text-align:center; background-color:#fff; font-size:1.125rem; text-align:center;  border-radius:0 0 20px 20px;}
.why .cont_2 ul li .d-flex{display:flex; padding:40px; }
.why .cont_2 ul li .icon{width:100px;}
.why .cont_2 ul li .txt_area{width:calc(100% - 100px);}
.why .cont_2 ul li .txt_area .tit{margin-bottom:15px; font-size:1.5rem; font-weight:700; color:#fff;}
.why .cont_2 ul li .txt_area p{margin-bottom:0; font-size:1.125rem; color:#fff; }
.why .cont_2 ul li:last-child .box{background-color:#fff; border-color:var(--point-color-1);}
.why .cont_2 ul li:last-child .num{background-color:#C93947; color:#fff;}
.why .cont_2 ul li:last-child .txt_area .tit{color:#333;}
.why .cont_2 ul li:last-child .txt_area p{color:#333;}
.why .cont_2 ul li:last-child:before{display:none;}
.why .cont_2 ul li:last-child p strong{color:#E54A5B; font-weight:300;}

@media screen and (max-width: 960px) {
.why h2{margin-bottom:20px; font-size:1.84rem;}
.why p{margin-bottom:30px; font-size:1.153rem;}
.why .img_area2{margin-bottom:70px;}
.why .list ul{display:block; }
.why .list ul li{margin:0 0 10px; width:100%; }
.why .list ul li .txt_area{padding:25px;}
.why .list ul li .img_area img{width:100%;}
.why .gray_bg{margin-top:70px; padding:70px 0; }
.why .cont_1{padding:70px 0;}
.why .cont_1 ul{display:block;}
.why .cont_1 ul li{width:100%; margin-bottom:30px;}
.why .cont_1 ul li img{width:100%;}
.why .cont_1 ul li .txt_area{padding-top:20px;}
.why .cont_2{padding:60px 0;}
.why .cont_2 ul{display:block; }
.why .cont_2 ul li{padding:0 0 40px; width:100%; }
.why .cont_2 ul li:before{left:50%; right:auto; top:auto; bottom:-30px; transform:translateY(-50%) rotate(90deg);}
.why .cont_2 ul li .d-flex{padding:30px;  display:block; }
.why .cont_2 ul li .icon{margin-bottom:10px; width:100%; text-align:center;}
.why .cont_2 ul li .txt_area{width:100%;}
.why .cont_2 ul li:last-child{padding-bottom:0;}
}

/* schedule */
.schedule_table{border-top:2px solid var(--point-color-1);}
.schedule_table table{width:100%; table-layout:fixed; border-collapse:collapse;}
.schedule_table caption{position:absolute; left:-9999px; top:0;}
.schedule_table .col_time{width:11.33%;}
.schedule_table .col_place{width:11.41%;}
.schedule_table th,
.schedule_table td{padding:14px 10px; border:1px solid #d4d4d4; text-align:center; vertical-align:middle; word-break:keep-all;}
.schedule_table thead th{height:72px; box-sizing:border-box; font-size:1.25rem; font-weight:500; line-height:1.4; letter-spacing:-0.025em; color:#fff; background-color:var(--point-color-1);}
.schedule_table thead th:first-child,
.schedule_table thead th:nth-child(2){background-color:#333;}
.schedule_table tbody th{font-size:1rem; font-weight:700; line-height:1.4; letter-spacing:-0.025em; color:#333; background-color:#f9f9f9;}
.schedule_table tbody .group{background-color:#f8f3fa; color:var(--point-color-1);}
.schedule_table tbody td strong{display:block; font-size:0.9375rem; font-weight:700; line-height:1.4; letter-spacing:-0.025em; color:#212121;}
.schedule_table tbody td span{margin-top:4px; display:block; font-size:0.8125rem; font-weight:400; line-height:1.4; letter-spacing:-0.025em; color:#666;}
.schedule_table tbody td strong+strong{margin-top:14px;}
.schedule_table .always{padding:20px 30px; text-align:left;}
.schedule_table .always li{position:relative; padding-left:14px; font-size:0.9375rem; font-weight:400; line-height:1.8; letter-spacing:-0.025em; color:#333;}
.schedule_table .always li:before{position:absolute; left:0; top:10px; width:4px; height:4px; background-color:#D4D4D4; border-radius:50%; content:"";}
.schedule_table .always strong{display:inline; font-size:inherit; font-weight:700; color:#333;}
@media screen and (max-width:1280px) {
.schedule_table thead th{font-size:1.125rem;}
.schedule_table tbody th{font-size:0.9375rem;}
.schedule_table tbody td strong{font-size:0.875rem;}
}
@media screen and (max-width:960px) {
.schedule_table .col_time{width:12.09%;}
.schedule_table .col_place{width:11.8%;}
.schedule_table th,
.schedule_table td{padding:8px 4px; word-break:keep-all; overflow-wrap:break-word;}
.schedule_table thead th{height:auto; font-size:13px;}
.schedule_table tbody th{font-size:12px;}
.schedule_table tbody td strong{font-size:12px;}
.schedule_table tbody td span{margin-top:2px; font-size:11px;}
.schedule_table tbody td strong+strong{margin-top:8px;}
.schedule_table .always{padding:12px 14px;}
.schedule_table .always li{padding-left:11px; font-size:12px; line-height:1.7;}
}
@media screen and (max-width:768px) {
.schedule_table th,
.schedule_table td{padding:6px 2px;}
.schedule_table thead th{font-size:10px;}
.schedule_table tbody th{font-size:10px;}
.schedule_table tbody td strong{font-size:9px;}
.schedule_table tbody td span{font-size:8px;}
.schedule_table tbody td strong+strong{margin-top:6px;}
.schedule_table .always{padding:10px 8px;}
.schedule_table .always li{padding-left:9px; font-size:10px; line-height:1.6;}
.schedule_table .always li:before{top:0.75em; width:3px; height:3px;}
}

/* location */
.location_cont .map_area{margin-bottom:70px;}
.location_cont .map_area iframe{width:100%; height:600px; display:block; }
.location ul{border-top:2px solid var(--point-color-1);}
.location ul li{padding:16px 0; display:flex; flex-wrap:wrap; border-bottom:1px solid #ddd;}
.location ul li .tit{width:15%; text-align: center; font-size:1.375rem; font-weight:600;}
.location ul li .txt{width:85%;}
.location ul li .txt span{padding-left: 36px; line-height:27px; display:inline-block; font-size: 1.125rem;}
.location ul li .txt .icon_1{background:url(../img/location_icon1.svg) no-repeat 0 0; }
.location ul li .txt .icon_2{background:url(../img/location_icon2.svg) no-repeat 0 0; }
.location_img{margin-top:max(calc(70/1920*100vw), 30px);}
@media screen and (max-width: 960px) {
.location_cont .map_area iframe{height:350px;}
.location ul li .tit{width:30%;}
.location ul li .txt{width:70%;}
}

/* popup */
.popup{position:fixed; left:0; top:0; z-index:100; width:100%; height:100%; background:rgba(0,0,0,0.4); visibility: hidden; opacity:0; transition: all 0.3s ease-out;}
.popup.active{visibility: visible; opacity:1;}
.popup_content{position:fixed; left:50%; top:50%; z-index:20; max-width:1280px; width:90%; background-color:#fff; transform:translate(-50%, -50%); max-height:80vh; overflow:auto;}
.popup_title{position:relative; padding:0 80px 0 3.6%; height:90px; display:flex; align-items: center; background:url(../img/main_media_txt.svg) no-repeat right 136px center #15043C;}
.popup_title h1{position:relative; padding-left:60px; font-size:2.125rem; color:#fff; font-weight:700; }
.popup_title h1:before{position:absolute; left:0; top:0; width:48px; height:44px; background:url(../img/icon_cow.svg) no-repeat center center;  display:block; content:"";}
.popup_close{position:absolute; right:5.4%; top:50%; z-index:3; width:48px; height:48px; background:url(../img/m_btn_close.svg) no-repeat center center #fff; border-radius:50%; transform:translateY(-50%); cursor:pointer;}
.popup_inner{padding:60px 5%;}
.popup h2{padding-bottom:20px; margin-bottom:50px; border-bottom:1px solid #D4D4D4; font-size:1.875rem; font-weight:700; font-family:var(--font-body);}
.popup h2 strong{color:var(--point-color-1);}
.popup .summary{margin-bottom:60px; display:flex; }
.popup .summary .img_area{width:24%;}
.popup .summary .img_area .inner{position:relative; padding-bottom:136.8%; background-color:#f9f9f9;}
.popup .summary .img_area img{position:absolute; left:50%; top:50%; max-width:100%; max-height:100%; object-fit: cover; transform:translate(-50%,-50%)}
.popup .summary .info_table{margin-left:auto; width:71.5%; border-top:2px solid var(--point-color-1); border-bottom:1px solid #d4d4d4;}
.popup .summary .info_table ul li{display:flex; padding:16px 0; border-bottom:1px solid #D4D4D4;}
.popup .summary .info_table ul li:last-child{border-bottom:none;}
.popup .summary .info_table ul li .tit{width:184px; font-size:1.375rem; font-weight:700; text-align:center; font-family:var(--font-body);}
.popup .summary .info_table ul li .txt{margin-left:auto; width:calc(100% - 224px); font-size:1.25rem; color:#888888;}
.popup .gift_list{margin-bottom:60px;}
.popup .gift_list ul{display:flex;flex-wrap:wrap;}
.popup .gift_list ul li{margin:0 0.875% 10px 0; width:19.3%;}
.popup .gift_list ul li:nth-child(5n){margin-right:0;}
.popup .gift_list ul li .inner{position:relative; aspect-ratio: 217/145;  display:block; border:1px solid #ddd; box-sizing:border-box;}
.popup .gift_list ul li .inner img{position:absolute; left:0; top:0; width:100%; height:100%; object-fit: cover;}
.popup .gallery_list ul{display:flex; flex-wrap:wrap;}
.popup .gallery_list ul li{margin:0 3.425% 20px 0; width:31.05%; }
.popup .gallery_list ul li .inner{position:relative; padding-bottom:66.5%; overflow:hidden;}
.popup .gallery_list ul li img{position:absolute; left:50%; top:50%; width:100%; transform: translate(-50%,-50%);}
.popup .gallery_list ul li:nth-child(3n){margin-right:0;}
.popup.popup_20 .gift_list ul li .inner{aspect-ratio: 1/1; }
.popup .gift_list ul li .name{margin-top:10px; font-size:1.125rem; color:#333; display:block; text-align:center;}
.popup.popup_21 .gift_list ul li{margin:0 1.3% 20px 0; width:24%;}
.popup.popup_21 .gift_list ul li:nth-child(5n){margin-right:1.3%;}
.popup.popup_21 .gift_list ul li:nth-child(4n){margin-right:0;}
.popup.popup_21 .gift_list ul li .inner{aspect-ratio: 1/1; }
@media screen and (max-width: 960px) {
.popup .summary{margin-bottom:30px; display:block; }
.popup .summary .img_area{margin:0 auto 20px; max-width:266px; width:100%;}
.popup .summary .txt_area{width:100%;}
.popup .summary .info_table{margin:0 auto; width:100%;}
.popup .gift_list ul li{width:24%; margin:0 1.3% 10px 0;}
.popup .gift_list ul li:nth-child(5n){margin-right:1.3%;}
.popup .gift_list ul li:nth-child(4n){margin-right:0;}
.popup .gallery_list ul li{margin:0 0 10px; width:49%;}
.popup .gallery_list ul li:nth-child(2n){margin-left:auto;}
}
@media screen and (max-width: 640px) {
.popup_inner{padding:30px 5%;}
.popup .gift_list{margin-bottom:30px;}
.popup .summary .info_table ul li .tit{text-align:left; width:70px;}
.popup .summary .info_table ul li .txt{text-align:left; width:calc(100% - 70px);}
.popup h2{padding-bottom:10px; margin-bottom:20px;}
.popup .gift_list ul li{margin:0 0 5px; width:49%;}
.popup .gift_list ul li:nth-child(2n){margin-left:auto; }
.popup_title{min-height:60px; height:auto; padding:15px 60px 15px 3%; box-sizing:border-box;}
.popup_close{width:30px; height:30px;}
.popup_title h1{padding-left:40px; font-size:1.5rem;}
.popup_title h1:before{width:30px; height:32px; background-size:100%;}
.popup_title{background-image:none;}
}

/* festival_info_list */
.achor_list{padding:6px 20px; background-color:#F6F6F6; border-radius:2em; position:sticky; top:0;}
.achor_list ul{display:flex; align-items: center; justify-content: center; justify-content: safe center; overflow-x:auto; scrollbar-width:none;}
.achor_list ul::-webkit-scrollbar{display:none;}
.achor_list ul li a{padding:0 25px; height:60px; line-height:60px; font-family:var(--font-en); font-size:1.25rem; font-weight:500; letter-spacing:-0.025em; display:block; border-radius:2em; box-sizing:border-box; text-align:center; white-space:nowrap;}
.achor_list ul li.active a{background-color:var(--point-color-1); color:#fff;}
.festival_info_list>ul>li{padding-top:80px;}
.festival_info_list>ul>li h2{margin-bottom:35px; font-size:2.25rem; font-weight:700;  font-family:var(--font-body);}
.festival_info_list>ul>li h2 strong{color:var(--point-color-1); font-weight:700;}
.festival_info_list>ul>li .cont{padding:0; max-width:none; display:flex; }
.festival_info_list>ul>li .cont .img_area{width:35.2%; }
.festival_info_list>ul>li .cont .img_area img{border-radius:20px;}
.festival_info_list>ul>li .cont .txt_cont{margin-left:auto; width:63%; border-top:2px solid var(--point-color-1); border-bottom:1px solid #ddd;}
.festival_info_list>ul>li .cont .txt_cont>ul>li{padding:18px 0; display:flex; border-bottom:1px solid #ddd; flex-wrap:wrap;}
.festival_info_list>ul>li .cont .txt_cont>ul>li:last-child{border-bottom:none;}
.festival_info_list>ul>li .cont .txt_cont>ul>li .tit{width:184px; font-size:1.375rem; font-weight:700; text-align:center;}
.festival_info_list>ul>li .cont .txt_cont>ul>li .txt{margin-left:auto; width:calc(100% - 200px); font-size:1.25rem; color:#333;}
.festival_info_list>ul>li .cont .txt_cont>ul>li .list li{position:relative; margin-bottom:5px; padding-left:10px; }
.festival_info_list>ul>li .cont .txt_cont>ul>li .list li.c-red{color:#C93947; font-weight:700;}
.festival_info_list>ul>li .cont .txt_cont>ul>li .list li:before{position:absolute; left:0; top:10px; width:4px; height:4px; border-radius:1px; background-color:var(--point-color-1); display:block; content:"";}
.festival_info_list>ul>li .image_no .txt_cont>ul{display:flex; flex-wrap:wrap;}
.festival_info_list>ul>li .image_no .txt_cont{width:100%;}
.festival_info_list>ul>li .image_no .txt_cont>ul>li{width:50%;}
.festival_info_list>ul>li .image_no .txt_cont>ul>li.w100p{width:100%;}

/* see_lineup */
.see_lineup{margin-top:100px; padding:80px 40px 70px; background-color:#f5f5f5; border-radius:30px;}
.see_lineup h3{margin-bottom:52px; font-size:2.5rem; font-weight:700; font-family:var(--font-body); color:#111; text-align:center;}
.see_lineup h3 strong{color:var(--point-color-1); font-weight:700;}
.see_lineup>ul{position:relative; margin:0 auto; max-width:1106px; display:flex; justify-content:space-between; gap:64px;}
.see_lineup>ul:before{position:absolute; left:0; top:24px; width:100%; height:1px; background-color:var(--point-color-1); display:block; content:"";}
.see_lineup>ul>li{position:relative; z-index:1; width:170px;}
.see_lineup .date{margin:0 auto 20px; width:152px; height:48px; line-height:48px; font-size:1.375rem; font-weight:500; color:#fff; background-color:var(--point-color-1); border-radius:2em; display:block; text-align:center;}
.see_lineup>ul>li>ul>li{margin-bottom:25px; text-align:center;}
.see_lineup>ul>li>ul>li:last-child{margin-bottom:0;}
.see_lineup>ul>li>ul>li img{border-radius:50%;}
.see_lineup .name{margin-top:12px; font-size:1.375rem; font-weight:500; color:#333; display:block;}
.see_lineup .sub{margin-top:8px; padding:0 12px; height:26px; line-height:26px; font-size:1rem; font-weight:500; font-style:normal; color:#fff; background-color:#B1B1B1; border-radius:2em; display:inline-block;}

@media screen and (max-width: 1024px) {
.achor_list{background:#fff; border-radius:0;}
.achor_list ul{position:relative; overflow-x:auto; justify-content: flex-start; white-space: nowrap; gap:30px;}
.achor_list ul:before{position:absolute; left:0; bottom:0; width:100%; height:1px; background-color:#ddd; display:block; content:"";}
.achor_list ul li.active a{color:var(--point-color-1); background:transparent;}
.achor_list ul li{margin-right:10px;}
.achor_list ul li:last-child{margin-right:0;}
.achor_list ul li a{position:relative; padding:0 5px 10px; min-width:auto; height:auto; line-height:1.2; }
.achor_list ul li.active a:before{position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--point-color-1); display:block; content:"";}
.see_lineup{margin-top:70px; padding:60px 24px 50px; border-radius:24px;}
.see_lineup h3{margin-bottom:35px; font-size:1.875rem;}
.see_lineup>ul{gap:20px;}
.see_lineup>ul:before{top:20px;}
.see_lineup>ul>li{width:130px;}
.see_lineup .date{width:100%; height:40px; line-height:40px; font-size:1rem;}
.see_lineup .name{margin-top:8px; font-size:1.125rem;}
}
@media screen and (max-width: 960px) {
.festival_info_list>ul>li{padding-top:60px;}
.festival_info_list>ul>li .cont{display:block; }
.festival_info_list>ul>li .cont .img_area{margin-bottom:30px; width:100%; text-align:center;}
.festival_info_list>ul>li .cont .txt_cont{width:100%;}
}
@media screen and (max-width: 768px) {
.achor_list ul li.active a{font-size:15px;}
.festival_info_list>ul>li h2{margin-bottom:20px; font-size:1.76rem;}
.festival_info_list>ul>li .cont .txt_cont>ul>li{display:block; padding:10px 0; }
.festival_info_list>ul>li .cont .txt_cont>ul>li .tit{margin-bottom:5px; width:100%; text-align:left;}
.festival_info_list>ul>li .cont .txt_cont>ul>li .txt{width:100%;}
.festival_info_list>ul>li .image_no .txt_cont>ul{display:block; }
.festival_info_list>ul>li .image_no .txt_cont>ul>li{width:100%;}
.see_lineup{margin-top:50px; padding:32px 20px 28px; border-radius:16px;}
.see_lineup h3{margin-bottom:28px; font-size:20px;}
.see_lineup>ul{flex-direction:column; gap:0; max-width:100%;}
.see_lineup>ul:before{display:none;}
.see_lineup>ul>li{width:100%; margin-bottom:24px;}
.see_lineup>ul>li:last-child{margin-bottom:0;}
.see_lineup .date{margin:0 0 16px; width:100%; height:auto; padding:10px 0; line-height:1.4; font-size:16px; border-radius:2em;}
.see_lineup>ul>li>ul{display:grid; grid-template-columns:repeat(2, 1fr); gap:20px 16px;}
.see_lineup>ul>li>ul:has(li:nth-child(3)){grid-template-columns:repeat(3, 1fr); gap:16px 10px;}
.see_lineup>ul>li>ul>li{margin-bottom:0;}
.see_lineup>ul>li>ul>li img{width:100%; max-width:140px; margin:0 auto; aspect-ratio:1/1; object-fit:cover; display:block;}
.see_lineup .name{margin-top:8px; font-size:14px;}
.see_lineup .sub{margin-top:5px; padding:0 8px; height:22px; line-height:22px; font-size:11px;}
}

/* main visual */
.main_visual{font-family:var(--font-body); position:relative; z-index:5; height:1172px; background:linear-gradient(to right,#26277b 0%,#5c218e 51.88%,#7821a2 100%); clip-path:polygon(0 0,100% 0,100% 1073px,0 1174px); overflow:hidden;}
.main_visual .cont{position:relative; z-index:3; height:100%; max-width:1860px; display:flex; align-items:center;}
.main_visual .light{position:absolute; right:0; top:0; z-index:1; animation:bulb_blink 3.4s ease-in-out infinite;}
.main_visual .lantern{position:absolute; z-index:2;}
.main_visual .lantern_1{left:64.948%; top:11.775%; animation:lantern_float 7s ease-in-out infinite;}
.main_visual .lantern_2{left:13.281%; top:11.689%; animation:lantern_float 8.5s ease-in-out infinite 0.6s;}
.main_visual .lantern_3{left:47.083%; top:54.778%; animation:lantern_float 9.5s ease-in-out infinite 1.4s;}
.main_visual .fx_1{left:70.104%; top:4.608%; width:360px; aspect-ratio:1/1;}
.main_visual .fx_2{left:51.016%; top:37.329%; width:210px; aspect-ratio:1/1;}
.main_visual .fx_5{left:5.208%; top:2.56%; width:285px; aspect-ratio:1/1;}
.main_visual .fx_6{left:1.563%; top:45.222%; width:165px; aspect-ratio:1/1;}
.main_visual .fx_3{width:75px; aspect-ratio:1/1; animation-delay:1.7s;}
.main_visual .fx_4{width:120px; aspect-ratio:120/122; animation-delay:0.4s;}
.main_visual .star{position:absolute; z-index:1; animation:star_twinkle 3.2s ease-in-out infinite;}
.main_visual .star_1{left:9.531%; top:52.56%;}
.main_visual .star_2{left:14.479%; top:82.082%; animation-delay:0.5s;}
.main_visual .star_3{left:32.135%; top:7.85%; animation-delay:1s;}
.main_visual .star_4{left:46.823%; top:12.628%; animation-delay:1.5s;}
.main_visual .star_5{left:8.333%; top:25.427%; animation-delay:2s;}
.main_visual .star_6{left:47.5%; top:77.56%; animation-delay:2.6s;}
.main_visual .star_s1{left:21.563%; top:34.471%; animation-delay:0.8s;}
.main_visual .star_s2{left:38.802%; top:44.198%; animation-delay:1.8s;}
.main_visual .star_s3{left:43.958%; top:30.034%; animation-delay:2.4s;}
/* 1129px at 1920 and down to the 1600 breakpoint value, so the cow never crowds the title */
.main_visual .cow_set{position:absolute; right:-123px; bottom:-76px; z-index:2; width:clamp(888px, calc(75.3vw - 317px), 1129px);}
.main_visual .cow_set .cow{position:relative; width:100%; display:block;}
.main_visual .cow_set .fx_3{left:31.001%; top:37.732%; width:6.6%; z-index:3;}
.main_visual .cow_set .fx_4{left:4.96%; top:9.485%; width:21.7%; z-index:3;}
.main_visual .place{box-sizing:border-box; margin:30px auto 0; padding:16px 0; width:490px; line-height:1.5; background-color:var(--point-yellow); border-radius:2em; text-align:center; font-size:1.5625rem; font-weight:700; letter-spacing:-0.025em; color:#26277b;}
.main_visual .quick{margin:41.5px auto 0; width:fit-content;}
.main_visual .quick ul{display:flex; gap:40px; justify-content:center;}
.main_visual .quick ul li a{display:block; text-align:center;}
.main_visual .quick ul li a .icon{width:100%; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; background-color:rgba(255,255,255,0.15); border-radius:50%; transition:all 0.3s ease-out;}
.main_visual .quick ul li a:hover .icon{background-color:rgba(255,255,255,0.3);}
.main_visual .quick ul li a .icon img{width:54.5%;}
.main_visual .quick ul li{position:relative; width:110px; animation:quick_float 4.6s ease-in-out infinite;}
.main_visual .quick ul li:nth-child(2){animation-delay:0.3s;}
.main_visual .quick ul li:nth-child(3){animation-delay:0.6s;}
.main_visual .quick ul li:nth-child(4){animation-delay:0.9s;}
.main_visual .quick ul li:nth-child(5){animation-delay:1.2s;}
.main_visual .quick ul li a .icon+span{margin-top:25px; display:block; text-align:center; font-size:1.25rem; font-weight:400; line-height:1.5; letter-spacing:-0.025em; color:#fff; white-space:nowrap;}
.main_visual .vs_txt{position:relative; display:inline-block;}

/* main news */
.main_news{font-family:var(--font-body); position:relative; margin-top:-152px; height:420px; background:linear-gradient(to right,#26277b 0%,#5c218e 51.88%,#7821a2 100%); overflow:hidden;}
.main_news:before{position:absolute; left:-15%; top:248px; z-index:1; width:130%; height:500px; background:linear-gradient(to bottom,#dc6080,#e45073 175px); transform:rotate(-3.006deg); transform-origin:50% 0; display:block; content:"";}
.main_news .cont{position:relative; z-index:6;}
.main_news .head{position:absolute; left:20px; top:39.6px; display:flex; align-items:center; gap:16px; transform:rotate(-3deg); transform-origin:40.5px 40.5px;}
.main_news .letters{display:flex; align-items:center; gap:3px;}
.main_news .letters em{width:81px; aspect-ratio:1/1; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-en); text-align:center; font-size:2.3125rem; font-weight:600; line-height:1.55; letter-spacing:-0.02em; color:#fff;}
.main_news .letters em:nth-child(1){background-color:#5758b4;}
.main_news .letters em:nth-child(2){background-color:#854bb7; font-size:2.25rem;}
.main_news .letters em:nth-child(3){background-color:#dc6080;}
.main_news .letters em:nth-child(4){background-color:#e8486c;}
.main_news .head h2{line-height:0.938; font-family:var(--font-point); font-size:3rem; font-weight:700; letter-spacing:-0.03em; color:#fff;}
.main_news .band{position:absolute; left:-15%; top:100px; z-index:7; width:130%; transform:rotate(-3.006deg);}
.main_news .band:before,
.main_news .band:after{height:26px; background:url(../img/main_light.svg) repeat-x center center #b01119; border-top:3px solid #fbc900; border-bottom:3px solid #fbc900; display:block; content:""; animation:bulb_blink 2.2s ease-in-out infinite;}
.main_news .roll{height:94px; background:radial-gradient(ellipse 35.5% 779% at 50.2% 50%,#491c85 0%,#020e36 100%); overflow:hidden;}
.main_news .notice{margin:0 auto; width:76.92%; height:94px; display:flex; align-items:center; will-change:transform;}
.main_news .notice>li{width:100%; flex-shrink:0;}
.main_news .notice>li>a{box-sizing:border-box; margin:0 auto; padding:0 20px; max-width:var(--cont-width); height:94px; display:flex; align-items:center;}
.main_news .cate{box-sizing:border-box; padding:4px 0; width:78px; line-height:1.5; background-color:var(--point-yellow); border-radius:2em; text-align:center; font-size:1.625rem; font-weight:500; letter-spacing:-0.025em; color:#26277b; flex-shrink:0;}
.main_news .tit{margin-left:30px; overflow:hidden; font-size:1.875rem; font-weight:500; line-height:1.5; letter-spacing:-0.025em; color:#fff; white-space:nowrap; text-overflow:ellipsis;}
.main_news .notice>li>a:hover .tit{text-decoration:underline;}
.main_news .date{margin-left:auto; padding-left:30px; text-align:right; font-size:1.875rem; font-weight:500; line-height:1.5; letter-spacing:-0.025em; color:#fff; flex-shrink:0;}
/* main program */
.main_program{font-family:var(--font-body); position:relative; padding:0 0 145px; background:linear-gradient(to bottom,#e45073 0%,#e8486c 13.52%,#52207d 58.41%,#15043c 100%); overflow:hidden;}
.main_program .fx_1{left:84.583%; top:-1.752%; width:160px; aspect-ratio:1/1;}
.main_program .lantern{position:absolute; z-index:1;}
.main_program .lantern_1{left:1.19%; top:28.613%; animation:lantern_float 9s ease-in-out infinite;}
.main_program .lantern_2{left:92.143%; top:30.219%; animation:lantern_float 7.5s ease-in-out infinite 1.2s;}
.main_program .cont{position:relative; z-index:3;}
.main_program h2{margin-top:-17px; text-align:center; font-family:var(--font-point); font-size:5rem; font-weight:700; line-height:1.625; letter-spacing:-0.03em; color:#fff;}
.main_program .tab{margin-top:-10px;}
.main_program .tab ul{display:flex; justify-content:center; gap:10px;}
.main_program .tab ul li button{box-sizing:border-box; padding:10px 0; width:156px; background-color:rgba(255,255,255,0.2); border:2px solid rgba(255,255,255,0); border-radius:2em; text-align:center; line-height:1.5; font-size:1.375rem; font-weight:400; letter-spacing:-0.025em; color:#fff; transition:all 0.3s ease-out;}
.main_program .tab ul li.active button{background-color:rgba(255,230,40,0.1); border-color:#ffe628; font-weight:700; color:#ffe628;}
.main_program .list{margin-top:65px; display:none;}
.main_program .list.active{display:block;}
.main_program .list ul{padding-left:44px; display:flex; justify-content:center; gap:45px; transition:gap 0.5s cubic-bezier(0.2,0.8,0.2,1);}
.main_program .list ul li{width:378px;}
.main_program .list ul li a{position:relative; display:block;}
.main_program .list ul li .thumb{position:relative; width:378px; aspect-ratio:1/1; border-radius:50%; display:block; overflow:hidden;}
.main_program .list ul li .cate{box-sizing:border-box; position:absolute; left:50%; top:40px; z-index:3; padding:7px 0; width:112px; line-height:1.5; background-color:var(--point-yellow); border-radius:2em; transform:translateX(-50%); text-align:center; font-size:1.25rem; font-weight:400; letter-spacing:-0.025em; color:#26277b;}
/* the copy is pinned to the bottom of the circle - 94/378 clear of the edge,
   where the design's longest block ends - so a short line stays down there */
.main_program .list ul li .info{box-sizing:border-box; position:absolute; left:0; top:0; z-index:2; padding-bottom:24.9%; width:378px; aspect-ratio:1/1; display:flex; align-items:flex-end; justify-content:center; visibility:hidden; opacity:0; transition:all 0.35s ease-out;}
.main_program .list ul li .desc{box-sizing:border-box; padding:0 43px; width:378px; text-align:center; font-size:1.25rem; font-weight:500; line-height:1.5; letter-spacing:-0.025em; color:#15043c; word-break:keep-all;}
.main_program .list ul li .tit{margin-top:23px; display:block; text-align:center; font-size:1.75rem; font-weight:400; line-height:1.5; letter-spacing:-0.025em; color:#fff; transition:all 0.3s ease-out;}
.main_program .list ul li a:before{position:absolute; left:0; top:0; z-index:2; width:378px; aspect-ratio:1/1; background-color:rgba(255,230,40,0.9); border-radius:50%; display:block; content:""; visibility:hidden; opacity:0; transition:all 0.3s ease-out;}
.main_program .list ul li .thumb img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.7s cubic-bezier(0.2,0.8,0.2,1);}
.main_program .list ul:hover{gap:95px;}
.main_program .list ul li a:hover .thumb img{transform:scale(1.1);}
.main_program .list ul li a:hover:before{visibility:visible; opacity:1;}
.main_program .list ul li a:hover .info{visibility:visible; opacity:1;}
.main_program .list ul li a:hover .cate{background-color:#fff;}
.main_program .list ul li a:hover .tit{font-weight:700; color:#ffe628;}
/* rolling - main.js hands the row to swiper only when the cards overflow it.
   the row stays unclipped so the next cards peek past the content width */
.main_program .list.rolling{overflow:visible;}
.main_program .list.rolling>ul{padding-left:0; justify-content:flex-start; gap:0;}
.main_program .list.rolling>ul:hover{gap:0;}
.main_program .list.rolling>ul>li{flex-shrink:0;}

/* main lineup */
.main_lineup{font-family:var(--font-body); position:relative; padding:86px 0 0; background-color:var(--navy-deep); overflow:hidden;}
.main_lineup .fx_1{left:79.107%; top:2.812%; width:120px; aspect-ratio:120/122;}
.main_lineup .fx_2{left:10.595%; top:15.072%; width:75px; aspect-ratio:1/1; animation-delay:1.1s;}
.main_lineup .star{position:absolute; z-index:1; animation:star_twinkle 3.2s ease-in-out infinite;}
.main_lineup .star_1{left:12.76%; top:3.495%; animation-delay:0.37s;}
.main_lineup .star_2{left:21.25%; top:9.15%; animation-delay:0.74s;}
.main_lineup .star_3{left:92.708%; top:2.018%; animation-delay:1.11s;}
.main_lineup .star_4{left:88.021%; top:10.401%; animation-delay:1.48s;}
.main_lineup .star_5{left:7.292%; top:18.414%; animation-delay:1.85s;}
.main_lineup .star_6{left:19.427%; top:24.211%; animation-delay:2.22s;}
.main_lineup .star_7{left:75.521%; top:19.437%; animation-delay:2.59s;}
.main_lineup .star_8{left:85.26%; top:23.814%; animation-delay:2.96s;}
.main_lineup .star_9{left:11.875%; top:30.321%; animation-delay:0.13s;}
.main_lineup .star_10{left:83.125%; top:32.31%; animation-delay:0.5s;}
.main_lineup .star_11{left:22.396%; top:40.835%; animation-delay:0.87s;}
.main_lineup .star_12{left:89.167%; top:42.825%; animation-delay:1.24s;}
.main_lineup .star_13{left:9.375%; top:52.202%; animation-delay:1.61s;}
.main_lineup .star_14{left:78.125%; top:54.76%; animation-delay:1.98s;}
.main_lineup .star_15{left:20.417%; top:63.285%; animation-delay:2.35s;}
.main_lineup .star_16{left:86.458%; top:65.843%; animation-delay:2.72s;}
.main_lineup .star_17{left:12.917%; top:75.22%; animation-delay:3.09s;}
.main_lineup .star_18{left:81.25%; top:77.494%; animation-delay:0.26s;}
.main_lineup .star_19{left:23.75%; top:86.587%; animation-delay:0.63s;}
.main_lineup .star_20{left:88.75%; top:89.145%; animation-delay:1.0s;}
.main_lineup .lantern{position:absolute; z-index:1;}
.main_lineup .lantern_1{left:7.292%; top:34.868%; animation:lantern_float 9s ease-in-out infinite 0s;}
.main_lineup .lantern_2{left:86.875%; top:50.213%; animation:lantern_float 7.5s ease-in-out infinite 1.2s;}
.main_lineup .lantern_3{left:15.625%; top:68.968%; animation:lantern_float 8.5s ease-in-out infinite 2.1s;}
.main_lineup .lantern_4{left:81.25%; top:84.882%; animation:lantern_float 10s ease-in-out infinite 0.6s;}
.main_lineup .spark_area{position:absolute; left:0; top:0; z-index:1; width:100%; height:100%; display:block; pointer-events:none;}
.main_lineup .spark{position:absolute; background-color:#ffe9a8; border-radius:50%; display:block; box-shadow:0 0 10px 2px rgba(255,233,168,0.55); animation:bulb_blink 3.6s ease-in-out infinite;}
.main_lineup .cont{position:relative; z-index:3;}
.main_lineup h2{margin-top:-17px; text-align:center; font-family:var(--font-point); font-size:5rem; font-weight:700; line-height:1.625; letter-spacing:-0.03em; color:#fff;}
.main_lineup .list{position:relative; margin-top:17px;}
/* scattered timeline - every design coordinate is a ratio of the 1640px list,
   so the whole composition scales with the container instead of breaking at a breakpoint */
.main_lineup .list:before{position:absolute; left:50%; top:0; bottom:0; width:1px; background-color:rgba(255,255,255,0.45); display:block; content:"";}
.main_lineup .list>ul>li{position:relative; padding-bottom:2.439%;}
.main_lineup .list>ul>li:nth-child(5){padding-bottom:9.756%;}
.main_lineup .list .date{box-sizing:border-box; position:absolute; left:50%; top:0; z-index:3; padding:11px 0; width:257px; line-height:1.25; background-color:var(--navy-deep); border:1px solid rgba(255,255,255,0.6); border-radius:2em; transform:translateX(-50%); text-align:center; font-size:1.875rem; font-weight:700; letter-spacing:-0.025em; color:#fff;}
.main_lineup .list .artist_area{position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:flex-start; gap:17.073%;}
.main_lineup .list .artist{position:relative; z-index:2; flex-shrink:0; margin-top:5.61%; width:24.39%;}
.main_lineup .list .artist.extra{margin-top:1.829%;}
.main_lineup .list .artist img{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:50%; display:block;}
.main_lineup .list .artist strong{position:absolute; left:0; bottom:18%; z-index:2; width:100%; text-align:center; font-size:1.875rem; font-weight:500; line-height:1.5; letter-spacing:-0.025em; color:#fff; visibility:hidden; opacity:0; transition:all 0.3s ease-out;}
.main_lineup .list .artist:before{position:absolute; left:0; top:0; z-index:1; width:100%; height:100%; background-color:rgba(21,4,60,0.4); border-radius:50%; display:block; content:""; visibility:hidden; opacity:0; transition:all 0.3s ease-out;}
.main_lineup .list .artist:hover:before,
.main_lineup .list .artist:hover strong{visibility:visible; opacity:1;}
.main_lineup .list .left{margin-left:17.134%;}
.main_lineup .list .firework{position:absolute; z-index:1; animation:firework_pop 2.6s ease-out infinite;}
.main_lineup .list .fx_3{left:1.524%; top:3.529%; width:210px; aspect-ratio:1/1; transform:rotate(14deg);}
.main_lineup .list .firework_1{left:88.415%; top:57.983%; width:96px; animation-duration:3.2s; animation-delay:1.6s;}
.main_lineup .list .fx_4{left:43.354%; top:41.653%; width:132px; aspect-ratio:1/1; animation-duration:3.1s; animation-delay:0.4s;}
.main_lineup .list .fx_5{left:90.244%; top:8.104%; width:78px; aspect-ratio:1/1; animation-duration:2.2s; animation-delay:1.9s;}
.main_lineup .list .firework_2{left:2.439%; top:53.313%; width:176px; animation-duration:3.4s; animation-delay:0.7s;}
.main_lineup .list .fx_6{left:88.902%; top:6.928%; width:84px; aspect-ratio:1/1; animation-duration:2.4s; animation-delay:1.3s;}
.main_lineup .list .fx_7{left:44.024%; top:17.588%; width:158px; aspect-ratio:1/1; transform:rotate(-21deg);}
.main_lineup .list .fx_8{left:1.22%; top:67.671%; width:98px; aspect-ratio:1/1; animation-duration:2.9s; animation-delay:2.3s;}
.main_lineup .list .fx_9{left:86.585%; top:5.181%; width:186px; aspect-ratio:1/1; animation-duration:3.5s; animation-delay:0.9s;}
.main_lineup .list .firework_3{left:45.732%; top:55.06%; width:144px; animation-duration:2.5s; animation-delay:2.6s;}

/* main video */
.main_video{font-family:var(--font-body); position:relative; aspect-ratio:16/9; background-color:var(--navy-deep); overflow:hidden;}
.main_video .bg{position:absolute; left:0; top:0; z-index:1; width:100%; height:100%; overflow:hidden;}
.main_video .bg iframe{position:absolute; left:50%; top:50%; width:100vw; height:56.25vw; min-width:177.78vh; min-height:100%; border:0; transform:translate(-50%,-50%); pointer-events:none;}
.main_video:before{position:absolute; left:0; top:0; z-index:2; width:100%; height:100%; background-color:rgba(21,4,60,0.5); display:block; content:"";}
.main_video .cont{position:relative; z-index:3; height:100%;}
.main_video .txt{position:absolute; right:20px; top:72.13%; width:38%; max-width:555px;}
.main_video .tit{display:flex; align-items:center; gap:24px;}
.main_video .tit span{text-align:center; font-size:2.5rem; font-weight:700; line-height:1.4; letter-spacing:-0.025em; color:#fff; white-space:nowrap;}
.main_video .txt p{margin-top:20px; font-size:1.375rem; font-weight:400; line-height:1.5; letter-spacing:-0.025em; color:#fff;}

@media screen and (max-width:1600px) {
.main_visual{padding:200px 0 140px; height:auto; clip-path:polygon(0 0,100% 0,100% 94%,0 100%);}
.main_visual .cont{height:auto; display:block;}
.main_visual .light{width:259px;}
.main_visual .lantern_1{width:98px;}
.main_visual .lantern_2,.main_visual .lantern_3{width:43px;}
.main_visual .star{width:43px;}
.main_visual .star.sm{width:22px;}
.main_visual .fx_1{width:270px;}
.main_visual .fx_2{width:160px;}
.main_visual .fx_5{width:215px;}
.main_visual .fx_6{width:125px;}
.main_visual .cow_set{bottom:0; width:56%;}
.main_visual .tit img{width:100%;}
.main_visual .place{margin:30px auto 0; padding:19px 30px; width:auto; max-width:520px; line-height:1.28; font-size:1.375rem;}
.main_visual .quick{margin:40px auto 0; width:auto; justify-content:center;}
.main_visual .quick ul{gap:28px;}
.main_visual .quick ul li{width:88px;}
.main_visual .quick ul li a .icon+span{margin-top:16px; font-size:1.0625rem;}
.main_news{margin-top:-124px; height:340px;}
.main_news:before{top:204px; background:linear-gradient(to bottom,#dc6080,#e45073 140px);}
.main_news .head{top:30px; gap:12px;}
.main_news .letters em{width:66px; font-size:1.75rem;}
.main_news .letters em:nth-child(2){font-size:1.7rem;}
.main_news .head h2{padding-bottom:6px; font-size:2.375rem;}
.main_news .band{top:82px;}
.main_news .band:before,
.main_news .band:after{height:20px;}
.main_news .roll,
.main_news .notice,
.main_news .notice>li>a{height:80px;}
.main_news .notice>li{width:100%;}
.main_news .cate{width:66px; padding:5px 0; line-height:1.3; font-size:1.375rem;}
.main_news .tit,
.main_news .date{font-size:1.5rem;}
.main_program{padding:50px 0 100px;}
.main_program h2{font-size:3.75rem;}
.main_program .tab ul li button{width:140px; padding:15px 0; line-height:1.3; font-size:1.25rem;}
.main_program .list{margin-top:50px;}
.main_program .list ul{padding-left:0; gap:34px;}
.main_program .list ul li{width:31%; max-width:378px;}
.main_program .list ul li .thumb{width:100%; height:auto; aspect-ratio:1/1;}
.main_program .list ul li .thumb img{width:100%;}
.main_program .list ul li a:before{width:100%; height:auto; aspect-ratio:1/1;}
.main_program .list ul li .info{width:100%;}
.main_program .list ul li .desc{padding:0 11.4%; width:100%;}
.main_program .fx_1{width:120px;}
.main_program .lantern_1{width:43px;}
.main_program .lantern_2{width:98px;}
.main_lineup{padding:70px 0 120px;}
.main_lineup .list:before{bottom:-120px;}
.main_lineup h2{font-size:3.75rem;}
.main_lineup .fx_1{width:90px;}
.main_lineup .fx_2{width:56px;}
.main_lineup .list .fx_3{width:158px;}
.main_lineup .list .fx_4{width:99px;}
.main_lineup .list .fx_5{width:59px;}
.main_lineup .list .fx_6{width:63px;}
.main_lineup .list .fx_7{width:119px;}
.main_lineup .list .fx_8{width:74px;}
.main_lineup .list .fx_9{width:140px;}
.main_lineup .list .firework_1{width:72px;}
.main_lineup .list .firework_2{width:132px;}
.main_lineup .list .firework_3{width:108px;}
.main_lineup .star{width:22px;}
.main_lineup .lantern_1,.main_lineup .lantern_3{width:43px;}
.main_lineup .lantern_2,.main_lineup .lantern_4{width:98px;}
.main_video .tit{gap:18px;}
.main_video .tit img{width:52px;}
.main_video .tit span{font-size:2rem;}
.main_video .txt p{margin-top:16px; font-size:1.25rem;}
}
@media screen and (max-width:1280px) {
/* the card only starts shrinking here, so the type steps down with it - above
   1280 it stays at the 1920 design sizes */
.main_program .list ul li .cate{top:30px; width:100px; padding:8px 0; line-height:1.3; font-size:1.125rem;}
.main_program .list ul li .desc{font-size:1.0625rem;}
.main_program .list ul li .tit{margin-top:18px; font-size:1.5rem;}
.main_visual{padding:170px 0 120px;}
.main_visual .cow_set{width:52%;}
.main_visual .quick{margin-top:56px;}
.main_visual .quick ul{gap:18px;}
.main_lineup .list:before{left:50%;}
.main_lineup .list .date{left:50%;}
/* copy block gains lines as the stage narrows - pin it to the bottom instead */
.main_video .txt{top:auto; bottom:11.4%;}
.main_visual .vs_txt{width:50%;}
}
@media screen and (max-width:1024px) {
/* stacked layout - the cow oversizes past the right edge and is cropped by the news band */
.main_visual{padding:150px 0 0; display:flex; flex-direction:column; clip-path:none; overflow:visible;}
.main_visual .cont{order:1;}
.main_visual .cow_set{order:2; position:relative; right:auto; bottom:auto; margin:10px -10% -22px auto; width:82%;}
.main_visual .tit{margin:0 auto; max-width:78%;}
.main_visual .place{margin:22px auto 0; padding:15px 24px; font-size:1.25rem;}
.main_visual .quick ul{flex-wrap:wrap; justify-content:center; gap:16px;}
.main_news{margin-top:-96px; height:300px; overflow:hidden;}
.main_news:before{top:240px; background:linear-gradient(to bottom,#dc6080,#e45073 70px);}
.main_news .head{top:26px;}
.main_news .band{top:118px;}
.main_program .list ul{gap:30px;}
.main_program .list ul:hover{gap:30px;}
.main_lineup .list{margin-top:40px;}
.main_lineup .list:before{top:0;}
.main_lineup .list>ul>li{position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; height:auto; padding:80px 0 50px;}
.main_lineup .list>ul>li:nth-child(1),
.main_lineup .list>ul>li:nth-child(2),
.main_lineup .list>ul>li:nth-child(3),
.main_lineup .list>ul>li:nth-child(4),
.main_lineup .list>ul>li:nth-child(5){height:auto; aspect-ratio:auto; padding-bottom:50px;}
.main_lineup .list .artist_area{width:100%; justify-content:space-between; gap:0;}
.main_lineup .list>ul>li:nth-child(1) .artist,
.main_lineup .list>ul>li:nth-child(2) .artist,
.main_lineup .list>ul>li:nth-child(3) .artist,
.main_lineup .list>ul>li:nth-child(4) .artist,
.main_lineup .list>ul>li:nth-child(5) .artist{position:relative; left:auto; top:auto; margin:0; width:40%;}
.main_lineup .list .fx_3{left:2%; top:8%; width:180px;}
.main_lineup .list .firework_1{left:72%; top:62%; width:90px;}
.main_lineup .list .fx_4{left:40%; top:45%; width:130px;}
.main_lineup .list .fx_5{left:78%; top:6%; width:90px;}
.main_lineup .list .firework_2{left:3%; top:55%; width:130px;}
.main_lineup .list .fx_6{left:76%; top:5%; width:90px;}
.main_lineup .list .fx_7{left:38%; top:12%; width:150px;}
.main_lineup .list .fx_8{left:2%; top:68%; width:90px;}
.main_lineup .list .fx_9{left:68%; top:4%; width:170px;}
.main_lineup .list .firework_3{left:38%; top:58%; width:120px;}
.main_lineup .list>ul>li .date{left:50%; top:0; margin:0; padding:14px 26px; width:auto; line-height:1.3; font-size:1.5rem;}
.main_lineup .list>ul>li .right{margin-top:52px;}
.main_lineup .list .artist img{width:100%;}
.main_lineup .list .artist strong{bottom:12%; font-size:1.5rem;}
.main_lineup .list .artist:before{width:100%; height:100%;}
.main_visual .vs_txt{width:100%;}
}
@media screen and (max-width:960px) {
.main_program .list ul{flex-direction:column; align-items:center;}
.main_program .list ul li{width:100%; max-width:378px;}
.main_program .list.rolling>ul{flex-direction:row; align-items:flex-start;}
.main_program .list.rolling>ul>li{width:300px; max-width:none;}
}
@media screen and (max-width:768px) {
/* the cow runs past the section edge and is cropped by the news band, so let it overflow */
.main_visual{padding:110px 0 0; clip-path:none; overflow:visible;}
.main_visual .cow_set{margin:59px -14% -133px auto; width:92%;}
.main_news{overflow:hidden;}
.main_visual .tit{max-width:88%;}
.main_visual .place{margin-top:16px; padding:11px 16px; line-height:1.3; font-size:13px;}
.main_visual .quick{margin-top:30px;}
.main_visual .quick ul{flex-wrap:nowrap; gap:8px;}
.main_visual .quick ul li{width:auto; max-width:88px; flex:1;}
.main_visual .quick ul li a .icon+span{margin-top:8px; font-size:12px;}
.main_news{margin-top:-48px; height:267px;}
.main_news:before{top:255px; background:linear-gradient(to bottom,#dc6080,#e45073 30px);}
.main_news .head{position:relative; left:auto; top:auto; padding:76px 0 0; display:block; transform-origin:17.5px 17.5px;}
.main_news .letters{gap:2px;}
.main_news .letters em{width:35px; font-size:14px;}
.main_news .letters em:nth-child(2){font-size:14px;}
.main_news .head h2{padding:6px 0 0; font-size:20px;}
.main_news .band{top:147px; left:-20%; width:140%;}
.main_news .band:before,
.main_news .band:after{height:12px; background:url(../img/news_bulb_m.svg) repeat-x center center #b01119; border-top-width:2px; border-bottom-width:2px;}
.main_news .roll,
.main_news .notice,
.main_news .notice>li>a{height:76px;}
.main_news .notice>li{padding:0 16px; width:auto;}
.main_news .cate{width:48px; padding:4px 0; line-height:1.3; font-size:13px;}
.main_news .tit{margin-left:10px; overflow:visible; font-size:15px; text-overflow:clip;}
.main_news .date{display:none;}
.main_program{padding:34px 0 46px;}
.main_program h2{font-size:28px;}
.main_program .tab{margin-top:14px;}
.main_program .tab ul{gap:6px;}
.main_program .tab ul li button{width:auto; padding:10px 22px; line-height:1.4; font-size:16px;}
.main_program .list{margin-top:50px;}
.main_program .list ul{gap:20px;}
.main_program .list ul li{max-width:300px;}
.main_program .list.rolling>ul>li{width:270px;}
/* mobile card - the copy sits under the thumb instead of the hover sheet, so
   the anchor drives the order and the info block goes static */
.main_program .list ul li a{display:flex; flex-direction:column;}
.main_program .list ul li a:before{display:none;}
.main_program .list ul li .thumb{order:1;}
.main_program .list ul li .cate{top:22px; width:84px; padding:0; height:32px; line-height:32px; font-size:14px;}
.main_program .list ul li .tit{order:2; margin-top:20px; font-size:20px; font-weight:700; line-height:1.5; color:#ffe628;}
.main_program .list ul li .info{order:3; position:static; margin-top:9px; padding-bottom:0; width:100%; aspect-ratio:auto; visibility:visible; opacity:1;}
.main_program .list ul li .desc{padding:0; width:100%; font-size:14px; line-height:1.5; color:#fff;}
.main_lineup{padding:40px 0 46px;}
.main_lineup .list:before{bottom:-46px;}
.main_lineup h2{font-size:24px;}
.main_lineup .list{margin-top:26px;}
.main_lineup .list>ul>li{padding:52px 0 26px;}
.main_lineup .list>ul>li .date{padding:7px 20px; line-height:1.3; font-size:17px;}
.main_lineup .list>ul>li .right{margin-top:0;}
.main_lineup .list>ul>li:nth-child(5) .artist.extra{margin-top:20px;}
/* mobile artist - the name is printed under the portrait, so the hover sheet goes */
.main_lineup .list .artist:before{display:none;}
.main_lineup .list .artist strong{position:static; margin-top:26px; display:block; font-size:16px; font-weight:500; line-height:1.5; color:#fff; visibility:visible; opacity:1;}
.main_video{aspect-ratio:auto; height:auto; padding:0 0 36px;}
.main_video .bg{position:relative; height:auto; aspect-ratio:16/9;}
.main_video .bg iframe{width:100%; height:100%; min-width:0; min-height:0;}
.main_video .cont{height:auto;}
.main_video .txt{position:relative; right:auto; bottom:auto; margin-top:26px; width:100%;}
.main_video .tit{gap:12px;}
.main_video .tit img{width:34px;}
.main_video .tit span{font-size:19px; white-space:normal;}
.main_video .txt p{margin-top:12px; font-size:13px;}
.main_video .txt p br{display:none;}
}
@media screen and (max-width:500px) {
/* phone width - the cow reaches the design ratio from the mobile artboard */
.main_visual .cow_set{margin:55px -19% -129px auto; width:108%;}
.main_lineup .list>ul>li:nth-child(1) .artist,
.main_lineup .list>ul>li:nth-child(2) .artist,
.main_lineup .list>ul>li:nth-child(3) .artist,
.main_lineup .list>ul>li:nth-child(4) .artist,
.main_lineup .list>ul>li:nth-child(5) .artist{width:44.5%;}
.main_lineup .list .fx_3{width:110px;}
.main_lineup .list .firework_1{width:56px;}
.main_lineup .list .fx_4{width:80px;}
.main_lineup .list .fx_5{width:54px;}
.main_lineup .list .firework_2{width:82px;}
.main_lineup .list .fx_6{width:54px;}
.main_lineup .list .fx_7{width:92px;}
.main_lineup .list .fx_8{width:54px;}
.main_lineup .list .fx_9{left:64%; width:104px;}
.main_lineup .list .firework_3{width:76px;}
}
