@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Lora&display=swap"; 
@font-face { font-family: 'BodoniFLF-Roman'; src: url("../font/BodoniFLF-Roman.ttf") format('truetype'); }
@font-face { font-family: 'FOT-TsukuMinPro-D'; src: url("../font/FOT-TsukuMinPro-D.otf") format('truetype'); }

body { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", sans-serif; background: url("../images/bg.jpg") fixed top repeat; background-size: 30%; }
body , input , textarea , select { font-size:17px; }
a { color: #000000; }
a:hover { opacity: .5; text-decoration: none; transition: all .2s linear; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.view_sp { display: none ; }

#header-recruit { padding: 0; position: absolute; top:0; left: 0; width: 100%; z-index: 999; transition: all .5s ease-in; }
.fixed_top { position: fixed; top:0; left: 0; width: 100%; z-index: 999; background: rgba(255,255,255,0.80); }
.header_link { font-size:.9rem !important; position: relative; }
.header_link .user_menu { padding: 0; margin: 0; }
.header-fixed { position: fixed !important; 999;　top:0; left: 0; padding: 0; /*background: rgba(255,255,255,0.50);*/ transition: all .5s ease-in; }
ul.user_menu { float: right; display: flex;justify-content: space-between; }
ul.user_menu i { padding: 0 5px 0 0; }
.logo { width: 240px; line-height: 0; padding: 0 0 0 40px; }
.fixed_top .logo { width: 230px; padding: 0px 0 0 40px;  transition: all .3s ease-in; }
.user_menu li { padding: 30px 20px 0 20px; }
.user_menu li a { position: relative !important; }
.user_menu li a::after {  position: absolute; bottom: -20px; left: 25%; content: ''; width: 50%; height: 1px; background: #51D7DF; transform: scale(0, 1); transform-origin: center top; transition: transform .3s; }
.user_menu li a:hover::after { transform: scale(1, 1);}
.user_menu li:last-child { background: #51D7DF; padding: 30px; color: #FFF; position: relative; }  
.user_menu li:last-child a { color: #FFF; }
.user_menu li:last-child::after,.h_header_entry a::after { content:""; display: block; background: url("../images/ic-1.svg") no-repeat; background-size: 100%; width: 20px; height: 10px; position: absolute; top:45%; right: 5%;  transition: all .2s ease-in; }  
.user_menu li:last-child:hover::after,.h_header_entry a:hover::after { right: 2%; }
.h_header_entry { position: fixed; top:0; right: 0; z-index: 1; }
.h_header_entry a { display: inline-block; font-size: 12px; background: #000; padding: 25px; color: #FFF; position: relative; } 
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before { background-color: #000; }
.drawer-open .drawer-hamburger-icon:before,.drawer-open .drawer-hamburger-icon:after { background-color: #FFF; }
.drawer-menu h1 {background: #000; padding: 10% 15%;}
.drawer-menu h2 { padding: 5% 0; margin: 5% 0 0 0; font-weight: bold; font-size: 1.2em;}
.drawer_content { padding: 0 5%; }
.drawer-btn-content div { margin: 2% 0; }
.drawer_content ul { margin: 15% 5%; }
.drawer_content ul li a { color: #FFF; display: block;font-size: 12px; padding:0 0 5% 0; }
.drawer-hamburger { top:10px; right: 110px !important; }
.drawer-open .drawer-hamburger { right: 16.25rem !important; }


#FV { position: relative; line-height: 3; opacity: 1; transition: all .5s ease-in; z-index: -1; }
.flyer_wrap { width: 1200px; margin: auto; }
#wrap { width: 1200px; margin: auto; }
.video { width: 100%; position: fixed; opacity: .4; z-index: -2; top:0; left: 0; }
.video video { display: block; width: 100%; }
.cp_title,.sub_title { display: inline-flex; z-index: 1; align-items: end; }
.cp_title { font-size: 60px; font-weight: 600; }
.sub_title { font-size: 25px;  padding: 0 0 0 2%; font-weight: 600; }
.none { opacity: 0 !important; }
.about_cont { padding: 5% 0; }
.about_title { font-size: 30px; padding: 0 0 2% 0; }
.about_title::after { content:""; background: #000; display: block; width: 100px; height: 1px; margin: 2% auto;}
.about_title,.about_cont p { text-align: center;  }

.box_txt { padding: 0 5%; margin: 0 0 5% 0;}
.prf_txt_area .profile-name { color: #FFF; padding: 25px 0 0 0; font-weight: bold; text-align: center; }
.prf_txt_area .profile-name::after { content: ""; display: block; width: 100px; height: 1px; background: #FFF; margin: 25px auto;}
.prf_des_txt { padding: 0 2%; color: #FFF; }
.prf_des_txt a { color: #00FDFF }
.member_list h4 { padding: 0 2% 2% 2%; }
.artist_name { font-size: 16px; font-weight: 100; text-align: center; padding: 5% 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member_list h4::before { content:""; display: inline-block; width: 5px; height: 100%; background: #EEE; padding:0 2% 0 0; }
.float_box ul, .member_list ul { margin: 0 !important; padding: 0 !important; }
.member_list li { padding:2% 5%; }
.box_txt { height: auto; }
.sns_list div { display: inline-block; margin: 0 0 5px 0; }
.sns_list i { position: absolute; top:23%; left: 5%; }
.sns_list a { display: block; }
.flowbtn12 { font-family: 'Verdana', sans-serif; border-radius: 4px; text-align: center; padding: 0px 20px; text-align: center; vertical-align: middle; transition: .4s; text-decoration: none; position: relative; }
.flowbtn12:hover { color: #fff !important; text-decoration: none; }
.flowbtn12.fl_tw2 { border: solid 1px #55acee; color: #55acee; }
.flowbtn12.fl_tw2:hover { border: solid 1px #55acee; background: #55acee; }
.flowbtn12.insta_btn2 { border: solid 1px #c6529a; color: #c6529a; }
.flowbtn12.insta_btn2:hover { border: solid 1px #c6529a; background: #c6529a; }
.flowbtn12.fl_pf12 { border: solid 1px #000; color: #000; }
.flowbtn12.fl_pf12:hover { border: solid 1px #000; background: #000; }
.flowbtn12 span { font-size: 14px; position: relative; }
ul.snsbtniti2 { padding: 0 !important; }
.snsbtniti2 { display: flex; flex-flow: row wrap; }
.snsbtniti2 li { flex: 0 0 48%; text-align: center !important; }
.fa-tiktok { top:15% !important; }
.fa-tiktok::before { content:""; background: url(https://freaks.link/images/fa-tiktok-b.png) no-repeat; background-size: 100%; width:12px; height: 16px; display: inline-block; margin: 0 5px 0 0; }
.flowbtn12:hover .fa-tiktok::before { content:""; background: url(https://freaks.link/images/fa-tiktok-w.png) no-repeat; background-size: 100%; width:12px; height: 16px; display: inline-block; margin: 0 5px 0 0; }  
.member_list h5 { font-size: 20px; }
.romaji { font-size: 12px; color: #CCC; padding: 0 0 0 5px; }
.message_img { margin: 2% auto; }
.portfolio-modal .close-modal { position: absolute; top: -35px; right: 35px; width: 25px; height: 25px; cursor: pointer; background-color: transparent; }
.portfolio-modal .close-modal:hover { opacity: 0.3; }
.close-modal .lr { /* Safari and Chrome */ z-index: 1051; width: 2px; height: 25px; margin-left: 35px; /* IE 9 */ -webkit-transform: rotate(45deg); transform: rotate(45deg); background-color: #FFF; }
.close-modal .lr .rl { /* Safari and Chrome */ z-index: 1052; width: 2px; height: 25px; /* IE 9 */ -webkit-transform: rotate(90deg); transform: rotate(90deg); background-color: #FFF; }
.profile-thum { width: 100%; margin: auto; }

#footer-recruit { margin: 0; padding:0 0 15px 0; background: #000; color: #FFF; position: relative; }
#footer-recruit .scroll-text { font-size: 14px; color: #000; }
#footer-recruit .scroll { top:25px; }
.footer_top { background: #E8E8E8; padding: 50px 0; margin-bottom: 2%; }
#footer-recruit  a { color: #FFF; font-size: .9rem; }
.footer_link_a { margin: 5% 0; }
.footer_link_a ul { margin: 0 0 10px 0; }
.footer_link_a ul::after { content:""; display: block; clear: both; } 
.footer_link_a li { float: left; padding: 0 25px 0 0; }
.cppy img { width: 150px; vertical-align: middle; }
.cppy p { font-size: .7rem; display: inline-block; margin: 0 0 0 10px; }
.external::before { content:""; display: inline-block; background: url("../images/ic-2.svg") no-repeat; background-size: 100%; width: 13px; height: 13px; margin: 0 5px 0 0; }
#page_top { position: fixed; z-index: 1; bottom: 35%; right:10px; }
#page_top a { display: block; color: #000; font-size: 14px; transform: rotate(90deg);  }  
#page_top::before { content:""; display: block; background: url("../images/ic-3.svg") no-repeat; background-size: 100%; width: 10px; height: 25px; margin:0 auto 15px; }

.cont section { padding: 5% 0; }
.cont h2 { font-size: 50px; padding: 0 0 2% 0; }
.cont h2::after { content: ""; display: block; width: 100px; height: 1px; background: #000; margin: 1%;}
.cont h2 span { letter-spacing: -10px; }
.cont2 { padding: 10% 0 5% 0; }
.cont2 h2 { font-size: 25px; }
.cf_txt { font-weight: 600; line-height: 2; }
.scroll { position: relative; width: 75px; margin: auto; text-align: center; }
.scroll-line { position: absolute; top: 40px; left: 50%; width: 1px; height: 80px; overflow: hidden; background-color: #000 ; }
.scroll-line::after { content: ""; position: absolute; width: 1px; height: 80px; background-color: #CCC; animation: scrolldown 3s ease-in-out infinite; }
.scroll-line2 { position: absolute; top: 30px; left: 50%; width: 1px; height: 80px; overflow: hidden; background-color: #000 ; }
.scroll-line2::after { content: ""; position: absolute; width: 1px; height: 80px; background-color: #CCC; animation: scrollup 3s ease-in-out infinite; }
@keyframes scrolldown { 
  0% {   transform: translateY(-100%); }
  100% {   transform: translateY(100%); }
}
@keyframes scrollup { 
  0% {   transform: translateY(100%); }
  100% {   transform: translateY(-100%); }
}
.sns_frame { position: fixed; right: -30px; top: 30%; z-index: 1; }
.sns_frame_in { position: relative; }
.sns_title_1 p { font-weight: normal; font-size: 12px; transform: rotate(90deg); padding: 0 40px 5px 0; }
.sns_title_1 span { content:""; display: block; width: 1px; height:30px; background: #000; margin: 10px auto; }
.sns_frame ul { position: absolute; position: absolute; right: 46px; bottom: -55px; }
.ic-sns { border-radius: 50%; position: relative; display: inline-block; width: 23px; height: 23px; font-size: 13px; text-decoration: none; transition: .5s; }
.ic-sns i { position: absolute; top: 50%; left: 70%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.ic-twitter { color: #FFF; background: #000; }
.ic-twitter:hover { color: #FFF; background: #55acee; }
.ic-facebook { color: #FFF; background: #000; }
.ic-facebook:hover { color: #FFF; background: #3b5998; }
.ic-instagram { color: #FFF; background: #000; }
.ic-instagram:hover { color: #FFF; background: #FF0069; }
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

#cont { padding: 20% 0 5% 0; }
#cont h1 { font-size: 40px; color: #0050AA; font-weight: 600; }
#cont h1::after { content:""; display: block; background: #000; width: 40%; height: 1px; margin: 5% 0; }
.txt-frame h2 { font-size: 34px; font-weight: 600; }
.txt-frame h3 { font-size: 25px; font-weight: 600; padding: 3% 0; }
.txt-frame p { padding: 3%; }
.txt-frame p b { font-size: 16px; }
.txt-frame p strong { font-size: 20px; }
.cont_bg2 .txt-frame  { margin: 10% 0; }
.cont-img-1 { width: 100%; margin: 3% auto; border-radius: 50px; overflow: hidden; box-shadow: 10px 10px 28px -17px rgba(0, 0, 0, 0.10); }
.cont-img-2 { width: 100%; margin: 3% auto; }
.cont-img-3 { width: 60%; margin: 3% auto; }
.float_box_1 { margin: 1% 0; padding: 5%; background: #FFF; border-radius: 50px; overflow: hidden; box-shadow: 10px 10px 28px -17px rgba(0, 0, 0, 0.10);  }
.float_box_2 { margin: 1% 0; padding: 5%;}
.float_box_1 div,.float_box_2 div { float: left; }
.float_box_1::after,.float_box_2::after { content:""; display: block; clear: both; }
.float_box_1 div:nth-child(1) { width: 35%; padding: 2%; }
.float_box_1 div:nth-child(2) { width: 65%; }
.float_box_2 div:nth-child(1) { width: 25%; padding: 2%; }
.float_box_2 div:nth-child(2) { width: 75%; }
.txt-box { margin: 1% 0 5% 0; padding: 5% 0 0 0; background: #FFF; border-radius: 50px; overflow: hidden; box-shadow: 10px 10px 28px -17px rgba(0, 0, 0, 0.10);  }
.txt-box h3 { font-size: 25px; font-weight: 600; text-align: center; }
.txt-box .float_box_2 { padding: 0 3% 3% 3%; }
.txt-box .float_box_2 div:nth-child(1) { width: 50%; padding:10% 5% 5% 5%; }
.txt-box .float_box_2 div:nth-child(2) { width: 50%; }
.btn_col_1 { margin: 2% auto 5%; }
.btn_col_2 { margin: 5% auto; }
.btn_col_2 li { float: left; width: 50%;  padding: 0 10px; }
.btn_col_1 li { width: 60%; margin: auto;}
.btn_col_1::after,.btn_col_2::after { content:""; display: block; clear: both; }  
.clause .detail-title { border-left: solid 5px #0050AA !important; }
.p-company-overview th { font-weight: 600; }
.second_main_title h2 .en { font-size: 40px !important; }
.modal-content .table_wrap_1 { padding: 20px; }
.table_wrap_1 table {  margin: 1em auto 2.5em; border: 1px solid #CCC; line-height: 2; }
.table_wrap_1 th { width: 30%; text-align: center; padding: 1em; font-weight: 600; background: #EFEFEF; border: 1px solid #CCC; }
.table_wrap_1 td { padding: 1em 1em 1em 2em; border: 1px solid #CCC; background: #FFF; }
.table_wrap_1 td span { font-size: 12px; }
.table_wrap_2 { font-size: 12px; }
.table_wrap_2 th { width: auto; padding: 5px; }
.table_wrap_2 th:nth-child(1) { width: 10%; }
.table_wrap_2 td { padding: 5px; text-align: center; }
.time_table_txt { font-size: 14px; border-top:1px solid #EEE; border-bottom:1px solid #EEE; padding: 5px 0; }
.time_table_txt dt,.time_table_txt dd { display: inline-block; padding: 5px; }
.time_table_txt dt { border-right:1px solid #EEE; }
.txt-right { text-align: right;}
.txt-center { font-size: 16px; text-align: center; padding: 15px; margin-bottom: 20px; line-height: 2; }
.txt-small { font-size: 12px; }  
.txt-small2 { font-size: 14px; }
#content h3 { font-size: 25px; text-align: center; font-weight: 600; margin: 15px 0; }
#content h3::after { content:""; display: block; width: 50px; height: 1px; background: #000;; margin: 15px auto;  }
.cont-img-title { font-size: 25px; text-align: center; font-weight: bold; padding: 0; color: #163562; }
.map_wrap iframe { width: 100%; aspect-ratio: 16/9; }
.notice_area { background: #FAFEFF; border:1px solid #51D7DF; padding:0 5% 5% 5%; }
.notice_area h1 { color: #51D7DF; text-align: center; padding: 5% 0; font-size: 35px;  }
.notice_area  h1::after { content:""; display: block; width: 100px; height: 1px; background: #51D7DF; margin: 2% auto 0;  }
.notice_area table {  width: 100%; margin: 1em auto 2.5em; border: 1px solid #CCC; line-height: 2; }
.notice_area th { width: 30%; text-align: center; padding: 1em; font-weight: 600; background: #FAFEFF; border: 1px solid #A9ECF0; }
.notice_area td { padding: 1em 1em 1em 2em; border: 1px solid #A9ECF0; background: #FFF; }
.notice_note { padding: 3%; line-height: 2;  border: 1px solid #A9ECF0; background: #FFF; }
.common_btn a { display: block; background: rgb(77,175,200); background: linear-gradient(87deg, rgba(77,175,200,1) 0%, rgba(105,198,214,1) 100%); color: #FFF; text-align: center; border-radius: 50px; width: 300px; margin: 5% auto 0; padding: 20px 0;  }
.tab-group { display: block; justify-content: center; border:solid 1px #00B9FF; font-size: 13px; }
.tab-group::after { content:""; display: block; clear: both; }
.tab { flex-grow: 1; padding:5px; margin: 5px; list-style:none; border-left:solid 1px #00B9FF; text-align:center; cursor:pointer; width: 24%; float: left; }
.tab-group li:nth-child(1),.tab-group li:nth-child(5) { border-left:solid 1px rgba(255,255,255,0.00); }
.tab-group li img { display: block; width: 80%; margin: auto; }
.panel-group{ padding: 25px; border:solid 1px #00B9FF; border-top:none; background:#FFF; }
.panel{ display:none; }
.tab.is-active { background: #EEE; transition: all 0.2s ease-out; }
.panel.is-show{ display:block; }
.point_img { display: block; width: 50%; }
.tab-inner h3 { font-weight: bold; }
.tab_item { display: inline-block; padding: 0 20px; background: #FFF; border:solid 1px #00B9FF; border-radius: 50px; font-size: 1em; color: #00B9FF; font-weight: normal; margin: 0; }
.tab-inner h4 { padding: 0 0 0 10px; margin: 10px 0; font-weight: bold; border-left: 2px solid #00B9FF}
.box_2 {
  background-color: skyblue;
  transform-origin: top left;
}
.box_2:hover {
  cursor: zoom-in;
}
@media screen and (min-width: 769px) {
  .job_tab li { width: 440px !important;}
}
/* ///////////////////////////////////////////////////////////////////// 
// Media Queries
/////////////////////////////////////////////////////////////////////*/
.grid-padding-x > .cell { max-width: 1000px; }
@media (min-width: 768px) {
  .drawer {display: none;}
}
@media (max-width: 768px) {
  .drawer {display: none;}
}
@media (max-width: 480px) { 
  
  .view_pc { display: none; }  
  .view_sp { display: block; }
  .drawer { display: block; }
  .cont-img-title { font-size: 20px;}
  #FV .video { width: 200%; position: fixed; z-index: -1; top:0; left: -50%; }
  .flyer_wrap , #wrap { width: 100%; overflow: hidden; }  
  .logo { width: 180px; padding: 20px 0 0 20px; }
  .fixed_top .logo { width: 150px; padding: 15px 0 0 20px; }
  .cp_title { font-size: 40px; }
  .sub_title { font-size: 20px; padding: 0; }
  .sns_frame { top: 25%; }
  #FV h1 { position: fixed; top:20%; left: 5%; width: 100%; z-index: -1: }
  .cont section { padding: 5%; }
  .cont2 { padding: 30% 0 10% 0; }
  .cont2 h2 { font-size: 25px; }
  .cont-block h2 { font-size: 25px; }
  .cont-in { display: block; padding: 10%; }
  .cont-thum { width: 90%; margin: auto; }
  .cont-txt { width: 100%; }
  .cont-txt p { font-size: 14px; padding: 5% 0; }
  .cont-in .comingsoon, .cont-in .cont-btn a { float: none; margin: auto; }
  .entry_title { font-size: 14px; width: 100%; }
  .entry_btn_box div { float: none; width: auto; padding: 3% 0; }
  .footer_link_a { margin: 15% 0; }
  #footer-recruit  a { font-size: 12px; }
  .cppy img { display: block; margin: 2% auto; }
  .cppy p {  display: block; text-align: center;}
  .sns_title_1 span { margin: 10px auto 0; }
  .new_block .btn_radius.btn_radius_entry { display: block !important; margin: auto;  }
  .btn_radius.btn_radius_entry .btn_radius-inner{ display: block ; text-align: center; padding-top: 15px !important; }
  .second_main_title h2 .en { font-size: 30px !important; }
  .cont-sub-title { font-size: 14px; }
  .txt-frame h2 { font-size: 20px; }
  .txt-frame h3 { font-size: 16px; }
  .txt-frame p { font-size: 13px; padding: 5%; }
  .txt-frame p b { font-size: 14px; }
  .txt-frame p strong { font-size: 16px; }  
  #cont h1 { font-size: 30px; }
  .cont-img-1,.cont-img-2 { margin: 5% auto;}
  .cont-img-3 { width: 80%; margin: 5% auto; }
   .btn_col_2 li ,.btn_col_1 li { float: none; padding: 0; width: 100%; margin: 5% auto; }
  .cf_txt { padding: 5% 0; }
  .cont h2 { font-size: 35px; }
  .cont p { font-size: 14px;     word-wrap: break-word; overflow-wrap: break-word; }
  .artist_cont .grid-x > .large-2 { width: 33.3%; }
  .artist_cont .grid-x > .large-4 { width: 50%; }
  .history_cont .grid-x > .medium-6 { width: 100%; margin: 2% auto; }
  .artist_name { font-size: 10px; }
  .notice_area h1 { font-size: 25px; }
  .notice_area { font-size: 13px; }
  .history_wrap .grid-x > .large-3 { width: 50%; }
  .sponser_wrap .grid-x > .medium-2 { width: 20%; }
  .about_title, .about_cont p { text-align: left; }
  .tab-group { display: block; }
  .tab-group::after { content:""; display: block; clear: both; }
  .tab-group li { float: left; width: 47%; font-size: 12px; }
  .point_img { display: block; width: 100%; }
  .table_wrap_1 table { line-height: 1; }
  .table_wrap_1 th { font-size: 12px; }
  .table_wrap_1 td { word-wrap: break-word; }
  .table_wrap_2 { font-size: 10px; }
  .table_wrap_2 th:nth-child(1) { width: 11%; }
  .time_table_txt { font-size: 12px; }
  .time_table_txt dt,.time_table_txt dd { padding: 0px; }  
}
/* ///////////////////////////////////////////////////////////////////// 
// common
/////////////////////////////////////////////////////////////////////*/
i { padding: 0 .5rem 0 0 !important; }
.owl-nav { display: none; }
.center_col { width: 100%; margin: 0 auto; padding: 1px; }
.modal-content { padding: 0; font-weight: 100; }

/* YOUFES 2026 ARTIST LIST ALIGNMENT */
.artist_cont .grid-x { justify-content: flex-start; }
.artist_cont .grid-x > .center_col { margin-left: 0; margin-right: 0; }

/* YOUFES 2026 TIMETABLE */
.timetable_comingsoon { display: flex; align-items: center; justify-content: center; min-height: 360px; background: #EEE; color: #BBB; text-align: center; }
.timetable_comingsoon span { font-size: 32px; letter-spacing: .08em; }
@media (max-width: 480px) {
  .timetable_comingsoon { min-height: 220px; }
  .timetable_comingsoon span { font-size: 22px; }
}

/* YOUFES 2026 ARTIST LAZY LOAD */
.lazy-artist-media { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: transparent; }
.lazy-artist-img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .65s ease; }
.lazy-artist-img.is-loaded { opacity: 1; }
.artist-img-loader { position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #d3d3d3; box-shadow: 0 -12px 0 #d3d3d3, 8.5px -8.5px 0 rgba(211,211,211,.85), 12px 0 0 rgba(211,211,211,.72), 8.5px 8.5px 0 rgba(211,211,211,.60), 0 12px 0 rgba(211,211,211,.48), -8.5px 8.5px 0 rgba(211,211,211,.38), -12px 0 0 rgba(211,211,211,.28), -8.5px -8.5px 0 rgba(211,211,211,.20); animation: artistDotLoading .9s linear infinite; z-index: 2; pointer-events: none; }
.lazy-artist-media.is-loaded .artist-img-loader { display: none; }
@keyframes artistDotLoading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
.artist-img-loader { animation: none; }
.lazy-artist-img { transition: none; }
}

/* YOUFES 2026 GOODS */
.goods-section { padding-top: 20px; }
.goods-grid { margin-top: 30px; }
.goods-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.15); border-radius: 16px; overflow: hidden; height: 100%; box-shadow: 0 10px 30px rgba(0,0,0,0.18); margin: 5px; }
.goods-thumb { overflow: hidden; background: rgba(255,255,255,0.02); }
.goods-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.goods-body { padding: 18px 16px 20px; }
.goods-title { color: #fff; font-size: 22px; font-weight: 700; line-height: 1.4; margin-bottom: 10px; }
.goods-price { display: inline-block; margin-top: 12px; padding: 6px 12px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); color: #fff; font-size: 14px; letter-spacing: 0.04em; }
.goods-note { font-size: 15px; line-height: 1.9; }
.goods-lead { text-align: center; max-width: 960px; margin: 0 auto 10px; }
@media screen and (max-width: 640px) {
.goods-title { font-size: 18px; }
.goods-note { font-size: 14px; line-height: 1.8; }
.goods-body { padding: 14px 14px 18px; }
}

/* YOUFES 2026 STAMP RALLY */
.stamp-rally-section { padding-top: 20px; }
.stamp-rally-wrap { max-width: 1100px; margin: 0 auto; text-align: center; }
.stamp-rally-image { max-width: 920px; margin: 28px auto 0; }
.stamp-rally-image img { display: block; width: 100%; height: auto; }
.stamp-rally-copy { max-width: 920px; margin: 26px auto 0; padding: 28px 32px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.04); }
.stamp-rally-lead { margin: 0 0 22px; font-size: 30px; font-weight: 700; line-height: 1.7; text-align: center; }
.stamp-rally-text { margin: 0; font-size: 20px; line-height: 2; }
@media (max-width: 768px) {
.stamp-rally-image { margin-top: 20px; }
.stamp-rally-copy { margin-top: 18px; padding: 20px 18px; border-radius: 12px; }
.stamp-rally-lead { margin-bottom: 16px; font-size: 18px; line-height: 1.7; text-align: left; }
.stamp-rally-text { font-size: 14px; line-height: 1.9; }
}

