@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap');


/* カスタマイズ用 */

.pane-contents{
width: 100%;
max-width: none;
}

.pane-contents > .container{
margin: 0 auto;
width: 100%;
}

.block-page-block--frame + .block-page-block--frame{
margin: 0;
}

.block-page-block--frame:last-child{
margin-bottom: 0;
}

.goods-detail--storeinfo{
margin: 0;
}

.goods-detail--storeinfo .goods-detail--storeinfo--body{
width: calc(100% - 80px);
max-width: 1100px;
margin: 0 auto;
}

.pane-topic-path{
display: none;
}

#storeinfo_footerarea{
max-width: 1180px;
padding: 40px;
margin: 0 auto;
}


/* 全体 */

#special_contents{
width: 100%;
margin: 0 auto;
font-family: "BIZ UDPGothic", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 18px;
color: #fff;
}

#special_contents span{
display: initial;
font-size: 1em;
padding-left: 0;
position: initial;
}

#special_contents span:before{
content: none!important;
}


/* パララックス*/

#special_contents .background_area{
position: relative;
width: 100%;
height: calc(100vh - 170px);
min-height: calc(56.25vw - 170px);
}

#special_contents .background_inner{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
clip-path: inset(0);
background: #000;
}

#special_contents .background_image{
position: fixed;
top: 60px;
left: 0;
z-index: -1;
display: block;
width: 100%;
min-width: 1180px;
height: calc(100vh - 60px);
background-size: cover;
background-position: center;
background-image: url('/features/allstores/event/soundmesse/2026/bg02.webp');
}

#special_contents .background_area .stars{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
overflow: hidden;
background: linear-gradient(122deg,rgba(4, 6, 10, 0.3) 0%, rgba(19, 37, 56, 0.3) 66%, rgba(59, 68, 99, 0.3) 100%);
}

#special_contents .background_area .star{
position: absolute;
display: block;
background-color: #fff;
border-radius: 50%;
box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.2);
opacity: 0;
animation: twinkle 4s infinite;
padding-left: 0px;
}

@keyframes twinkle{
 0%{
  opacity: 0;
 }
 50%{
  transform: scale(1.1);
  opacity: 1;
 }
 100%{
   opacity: 0;
   transform: scale(1);
 }
}

#special_contents .background_area .shootingstar{
position: absolute;
width: 100%;
height: 100%;
}

#special_contents .background_area .shootingstar.star_bg1{
background-image: radial-gradient(2px 2px at 20% 30%, white, transparent), radial-gradient(2px 2px at 60% 70%, white, transparent), radial-gradient(2px 2px at 80% 20%, white, transparent);
background-size: 100% 100%;
animation: star1 30s ease-in-out infinite alternate;
}

@keyframes star1{
 from{
  transform: translateY(0) translateX(0);
 }
 to{
  transform: translateY(30px) translateX(20px);
 }
}

#special_contents .background_area .shootingstar.star_bg2{
background-image: radial-gradient(3px 3px at 40% 40%, white, transparent), radial-gradient(3px 3px at 70% 60%, white, transparent);
background-size: 100% 100%;
animation: star2 25s ease-in-out infinite alternate;
opacity: 0.8;
}

@keyframes star2{
 from {
  transform: translateY(0) translateX(0);
 }
 to {
  transform: translateY(60px) translateX(40px);
 }
}

#special_contents .background_area .shootingstar.star_bg3{
background-image: radial-gradient(4px 4px at 30% 50%, white, transparent), radial-gradient(4px 4px at 80% 80%, white, transparent);
background-size: 100% 100%;
animation: star3 20s ease-in-out infinite alternate;
opacity: 0.9;
}

@keyframes star3{
 from {
  transform: translateY(0) translateX(0);
 }
 to {
  transform: translateY(90px) translateX(60px);
 }
}

#special_contents .background_area .spaceship{
width: 10%;
height: auto;
aspect-ratio: 702 / 1513;
position: absolute;
bottom: -100%;
left: 5%;
animation-name: spaceship_animation;
animation-duration: 10s;
animation-timing-function: ease-in;
animation-iteration-count: infinite;
background-size: contain;
background-repeat: no-repeat;
background-position: center bottom;
background-image: url('/features/allstores/event/soundmesse/2026/spaceship.webp');
z-index: -1;
}

@keyframes spaceship_animation{
 0% {
  bottom: -100%;
 }
 100% {
  bottom: 100%;
 }
}

#special_contents .head_title{
width: 100%;
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
text-align: center;
}

#special_contents .head_title .main_logo{
width: 50%;
margin: 0 auto;
aspect-ratio: 500 / 191;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
background-image: url('/features/allstores/event/soundmesse/2026/2026sm_logo.webp');
}

#special_contents .head_title .zone{
margin: 50px auto 0;
text-align: center;
font-size: 24px;
font-weight: 400;
}

#special_contents .head_title .zone .pc_period{
display: inline-block;
margin: 0 0.5em;
}

#special_contents .head_title .zone .sp_period{
display: none;
}

#special_contents .head_title h3{
display: inline-block;
margin: 25px auto 0;
font-weight: 800;
padding: 0.5em 1em;
border-top: 1px solid;
border-bottom: 1px solid;
}

#special_contents .head_title .astronaut{
width: 13%;
height: auto;
aspect-ratio: 117 / 125;
position: absolute;
top: 12%;
right: 7%;
animation: astronaut_animation 3s ease-in-out infinite alternate;
transition: 1.5s ease-in-out;
background-size: contain;
background-repeat: no-repeat;
background-position: center bottom;
background-image: url('/features/allstores/event/soundmesse/2026/astronaut.webp');
z-index: -1;
}

@keyframes astronaut_animation{
 0%{
  transform:translate(0, 0) rotate(-7deg);
 }
 50%{
  transform:translate(0, -7px) rotate(0deg);
 }
 100%{
  transform:translate(0, 0) rotate(7deg);
 }
}


/* メイン*/

#special_contents .scroll_area{
display: flex;
align-items: center;
width: 100%;
min-height: calc(100vh - 60px);
box-sizing: border-box;
padding: 6rem 5%;
background: #231815;
}

#special_contents .text_area{
width: 100%;
max-width: calc(1180px - 10%);
margin: 0 auto;
}

#special_contents .text_area p{
margin: 1em auto 0;
}

#special_contents .text_area p:first-of-type{
margin: 0 auto;
}

#special_contents .text_area dl{
margin-top: 1em;
display: flex;
flex-wrap: wrap;
}

#special_contents .text_area dt{
margin-top: 1em;
white-space: wrap;
width: 10em;
padding: 1em 0;
text-align: center;
border: 1px solid #fff;
background: initial;
}

#special_contents .text_area dd{
margin-top: 1em;
width: calc(100% - 11.25em);
padding: 0 0 0 1em;
font-size: 16px;
display: flex;
align-items: center;
}

#special_contents .text_area dd a{
display: inline-block;
position: relative;
text-decoration: underline;
}

#special_contents .text_area dd a:hover{
text-decoration: none;
}

#special_contents .text_area dd a::after{
font-family: "Font Awesome 6 Free";
content: "\f08e";
font-size: 0.8em;
font-weight: 900;
background: none;
width: 1em;
height: auto;
margin: 0 0 0 0.5em;
}

#special_contents .big-font{
font-size: 1.5em;
font-weight: 800;
color: #eed9b3;
}

#special_contents .small-font{
font-size: 0.8em;
}


@media only screen and (max-device-width: 1000px){

/* SPカスタマイズ用 */

.block-global-search{
margin: 0;
}

.pane-contents{
margin: 0;
}

.pane-main{
max-width: 100%;
}

.block-page-block--frame{
margin-bottom: 0;
}

.block-page-block--freespace-top{
margin-bottom: 0;
}

.page-page .goods-detail--storeinfo{
margin-bottom: 0;
}

.goods-detail--storeinfo .goods-detail--storeinfo--body {
width: 100%;
max-width: none;
}

footer{
margin: 0;
}

#storeinfo_footerarea{
margin: 0 calc((100% - 100dvw) / 2) 3rem;
padding: 6.0rem 1.5rem 0;
}


/* SPパララックス*/

#special_contents .background_area{
height: calc(100vh - 11rem);
}

#special_contents .background_image{
min-width: auto;
top: 5.5rem;
height: calc(100vh - 5.5rem);
}

#special_contents .background_area .spaceship{
width: 18%;
}

#special_contents .head_title .astronaut{
width: 18%;
top: -28%;
right: 5%;
}

#special_contents .head_title .main_logo{
width: 70%;
}

#special_contents .head_title .zone{
margin: 3rem auto 0;
font-size: 1.6rem;
}

#special_contents .head_title .zone .pc_period{
display: none;
}

#special_contents .head_title .zone .sp_period{
display: block;
}

#special_contents .head_title h3{
font-size: 1.8rem;
margin: 3rem auto 0;
}


/* SPメイン*/

#special_contents .scroll_area{
padding: 6rem 2rem;
min-height: calc(100vh - 5.5rem);
}

#special_contents .text_area p{
font-size: 1.6rem;
}

#special_contents .text_area dt{
font-size: 1.3rem;
width: 9em;
}

#special_contents .text_area dd{
font-size: 1.3rem;
width: calc(100% - 9em);
display: block;
}
}