@charset "UTF-8";
/* CSS Document */

/* ========================= [ base ] */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
margin: 0 auto;
padding: 0;
overflow-x: hidden;
overflow: visible;
}

ul,
ol,
dl {
list-style: none;
}

img {
vertical-align:top;
}

body {
text-align: center;
font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
-webkit-text-size-adjust:100%;
overflow-x: hidden;
}

a:hover, button:hover {
    filter: brightness(120%);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;	
}
a:hover img, button:hover img {
    transform:scale(1.05,1.05);
    transition: 0.5s;
}

#sec04 a:hover img, #sec04 button:hover img {
    transform:scale(1.00,1.00);
    transition: 0.5s;
}

a,a:hover,a:visited{
    color: inherit;
	cursor: pointer;
	text-decoration: none;
}

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

body {
    opacity: 0; /* 最初は完全に透明 */
    animation: fadeIn 2s ease-in-out forwards; /* fadeInアニメーションを1秒かけて実行し、終了状態を維持 */
}
@keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
}

main {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#dmm_ntgnavi {
    position: relative;
    z-index: 999;
    background: url(../images/bg_navimain.gif) center center repeat-x;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
    font-size: 12px;
    font-family: 'メイリオ', 'Meiryo', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', Verdana, sans-serif;
    display: flex;
    justify-content: space-between;
}

#dmm_ntgnavi ul {
    list-style: none;
    margin: 2px 0;
    padding: 0;
    display: flex;
    width: 50%;
}

#dmm_ntgnavi ul li {
    margin: 0 6px 0 0;
    line-height: 15px;
}

#dmm_ntgnavi .navi_left li > a {
    display: block;
    padding: 0 3px 0 8px;
    text-decoration: none;
    border: 1px solid #eee;
    border-radius: 3px;
}

#dmm_ntgnavi .navi_left li > a:hover {
    background: #eee;
    border: 1px solid #666;
    border-radius: 3px;
}

#dmm_ntgnavi .navi_left li > a span {
    display: block;
    padding: 9px 10px 7px 28px;
    color: #333;
    font-weight: bold;
}

#dmm_ntgnavi .navi_left li.dmm_top img {
    margin: 8px 5px 8px 0
}

#dmm_ntgnavi .navi_left li.ntg_top {
    margin-left: 10px;
}

#dmm_ntgnavi .navi_left li.ntg_top span {
    background: url(../images/bg_bt_olgtop.gif) 0 center no-repeat;
    font-size: min(2.9vw,12px);
}

#dmm_ntgnavi .navi_right {
    justify-content: flex-end;
    font-size: 10px;
}

#dmm_ntgnavi .navi_right li {
    margin: 0 10px 0 0;
    padding: 8px 5px;
}

#dmm_ntgnavi .arrow {
    padding-left: 14px;
    background: url(../images/arrow_common.gif) no-repeat left center;
}

#dmm_ntgnavi .tx-point {
    font-size: 16px;
    font-weight: bold;
    color: #ff4b4b !important;
}

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

#dmm_ntgnavi p {
    margin: 0;
    line-height: 2.6em;
}

#dmm_ntgnavi .clear {
    clear: both;
}



@media (min-width: 1024px) {

.invisible-pc {
display: none;
}

}






/*bgvideo*/
.bg_media {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index:-2;
    text-align: center;
    background-size: cover;
    object-fit: cover;
    overflow: hidden;
    opacity: 0.5;
    background: #fff;
}
        
    
.bg_media video {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -o-object-fit: cover;
        object-fit: cover;
}

.video-wrapper {
    position: relative;
    width: 100%;
    height: 100vh; /* 必要に応じて調整 */
    overflow: hidden;
  }
  .video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .bg_dot {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    background: url('../images/pc/bg_dot.webp');
    opacity: 0.5;
    z-index: 1;
  }
  
  
@media (min-width: 1024px) {


header{
margin: 0 auto 0 auto;
position:fixed;
top:-100px;
height:93px;
width:100%;
background:url("../images/pc/menu_bg.jpg") repeat-x center;
color:#fff;
text-align: center;
z-index:20;
display: block;
transition: .3s;
border-bottom:solid #9995ef 2px;
}

#header_box{
margin:0px auto 0px auto;
width:1000px;
height:93px;
overflow: hidden;

}

nav ul {
margin:0px auto 0px auto;
float:left;
display: flex;

}

nav li{
margin:15px 0px 0px 50px;
color:#FFFFFF;
display:inline-block;
}	
		
@keyframes slideIn {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}


#header_box li:hover{
    filter: brightness(120%);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;	
}

	
	}

#fv {
    background: url(../images/pc/fv_bgbg2.webp) no-repeat center;
    background-size: 1920px auto;
    height: 700px;
    top: -0px;
    position: relative;
    z-index: 0; /* z-index を 0 に変更 */
	overflow: hidden;
    display: flex;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center;    /* 垂直方向の中央揃え */
}
/*
#fv .title .idol03 {
    position: relative;
    z-index: 10;
    margin: 0px auto;
    top: 100px;
    left: -1%;
    margin-left: -50px;
    width : 100%;
}    
#fv .title .idol03 img {
    width: 1250px;
}   
#fv .title .idol01 {
    position: relative;
    z-index: 20;
    margin: 0px auto;
    top: -200px;
    left: -1%;
    margin-left: -300px;
    width : 100%;
}    
#fv .title .idol01 img {
    width: 700px;
}  
#fv .title .idol02 {
    position: relative;
    z-index: 15;
    margin: 0px auto;
    top: -980px;
    right: -1%;
    margin-right: -280px;
    width : 100%;
}    
#fv .title .idol02 img {
    width: 800px;
}    
#fv .title .capt01 {
    position: relative;
    z-index: 100;
    margin: 0px auto 0px auto;
    top: -1750px;
}    
#fv .title .capt01 img {
    width: 530px;
}    
#fv .title h1 {
    position: relative;
    z-index: 200;
    margin: 0px auto 0px auto;
    top: -1920px;
    right: -450px;
}     
*/
#fv .title h1 img {
    width: 400px;
}   


#fv .title .idol001 {
    position: relative;
    z-index: 20;
    margin: 0px auto;
    top: 425px;
    left: -1%;
    margin-left: 0px;
    width : 100%;
}    
#fv .title .idol001 img {
    width: 1340px;
}  
#fv .title .idol002 {
    position: relative;
    z-index: 25;
    margin: 0px auto;
    top: 115px;
    right: 0;
    margin-left: 55px;
    width : 100%;
}    
#fv .title .idol002 img {
    width: 1390px;
}    
#fv .title h1 {
    position: relative;
    z-index: 200;
    margin: 0px auto 0px auto;
    top: -410px;
    right: 0px;
}    
#fv .title h1 img {
    width: 350px;
}    
#fv .title .capt01 {
    position: relative;
    z-index: 250;
    margin: 0px auto 0px auto;
    top: -490px;
    width: 530px;
}    
#fv .title .capt01 a {
    width: 530px;
    height: 122px;
}    
#fv .title .capt01 img {
    width: 530px;
    box-shadow: 5px 5px 5px -2px #333;
}    



#sec06 {
    /*
    background: #000;
    */
    background: url(../images/pc/sec06_bgblack.webp) no-repeat center;
    background-size: 1920px auto;
    width : 100%;
    height: 850px;
    top: 0px;
    position: relative;
    z-index: 10; /* z-index を 0 に変更 */
	overflow: hidden;  
}

#sec06 h3 {
    padding-top: 140px;
}
#sec06 h3 img {
    width: 750px;
}
#sec06 .text {
    padding-top: 30px;
}

#sec06 .text img {
    width: 500px;
}

#sec06 .p9 {
    padding-top: 210px;
}
#sec06 .p9 img {
    width: 750px;
}
#sec06 .p9btn {
    padding-top: 50px;
}

#sec06 .p9btn img {
    width: 500px;
}


#sec06 #countdown {
    padding-top: 20px;
    font-family: 'M PLUS 1p', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /*
    min-height: 100vh;
    background-color: #f4f4f4;
    margin: 0;
    */

    font-size: 6.5em;
    font-weight: bold;
    line-height: 1.2em;
    /*
    */
    letter-spacing: -1.2px;
    color: #fff;
}
#sec06 .message {
    display: none;
    margin-left: -20px;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: bold;
    font-size: 1.7em;
    letter-spacing: 1.1px;
    /*
    */
    color: #fff;
}
#sec06 .dhms {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#sec06 .dhms ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 840px;
}
#sec06 .dhms ul li {
    margin-left: 0px;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: bold;
    font-size: 1.7em;
    letter-spacing: 1.1px;
    /*
    */
    color: #fff;
}
#sec06 .dhms ul li.d {
    width: 150px;
}
#sec06 .dhms ul li.h {
    width: 120px;
}
#sec06 .dhms ul li.m {
    width: 150px;
    padding-left: 35px;
}
#sec06 .dhms ul li.s {
    width: 150px;
    padding-left: 45px;
}


#sec06 .bgleft {
    position: relative;
    top: -760px;
    left: -580px;
    width: 210px;
}
#sec06 .bgleft img {
    width: 210px;
}
#sec06 .bgright {
    position: relative;
    top: -1550px;
    right: -580px;
    width: 210px;
}
#sec06 .bgright img {
    width: 210px;
}






#sec01 {
    background: url(../images/pc/sec01_bgblack.webp) no-repeat center;
    background-size: 1920px auto;
    width : 100%;
    height: 850px;
    top: 0px;
    position: relative;
    z-index: 10; /* z-index を 0 に変更 */
	overflow: hidden;  
}

#sec01 .bgflex {
    position: relative;
    width : 100%;
    display: flex;
    align-items: center; 
    justify-content: center; 
    /*
    */
}
#sec01 .bgflex3 {
    position: relative;
    top: -850px;
    width : 100%;
    display: flex;
    align-items: center; 
    justify-content: center; 
    /*
    */
}

@media (min-width: 1024px) {
	
#sec01 .bgflexsp {
    display: none;
}
#sec01 .bgflex3sp {
    display: none;
}
}



#sec01 .blackbox {
    position: relative;
    top: 0;
    margin: 0px auto;
}
#sec01 .bgflex .blackbox img, #sec01 .bgflex3 .blackbox img  {
    height: 850px;
}
#sec01 .bgleft {
    position: relative;
    top: 75px;
    left: -690px;
    width: 92px;
}
#sec01 .bgleft img {
    width: 252px;
}
#sec01 .bgright {
    position: relative;
    top: -600px;
    right: -540px;
    width: 92px;
}
#sec01 .bgright img {
    width: 252px;
}

#sec01 .title {
    position: relative;
    top: -1670px;
}
#sec01 h2 {
    position: relative;
    left: 0px;
    margin: 20px auto 15px auto;
}
#sec01 h2 img {
    width: 500px;
}
#sec01 p img {
    width: 620px;
}
#sec01 .idolflexbox {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center; 
    justify-content: center; 
    /*
    */
}
#sec01 .idolflex {
    position: relative;
    top: -700px;
    width: 100%;
    max-width : 1400px;
    min-width : 1400px;
    /*
    left: 50%;
    margin-left: -700px;
    margin: 0px auto;
    min-width : 1050px;
    */
    display: flex;
    align-items: center; 
    justify-content: center; 
    /*
    */
}
#sec01 .idol01 {
    position: relative;
    z-index: 17;
    top: 0px;
    left: 120px;
    width: 25%;
}
#sec01 .idol01 img {
    width: 320px;
}
#sec01 .idol02 {
    position: relative;
    z-index: 20;
    top: 0px;
    left: 40px;
    width: 25%;
}
#sec01 .idol02 img {
    width: 240px;
}
#sec01 .idol03 {
    position: relative;
    z-index: 19;
    top: 0;
    right: 50px;
    width: 25%;
}
#sec01 .idol03 img {
    width: 270px;
}
#sec01 .idol04 {
    position: relative;
    z-index: 18;
    top: 20px;
    right: 160px;
    width: 25%;
}
#sec01 .idol04 img {
    width: 240px;
}


.sec0304 {
    position: relative;
    z-index: 19;
    top: 0px;
    background: url(../images/pc/sec03_bg.webp) no-repeat center 0px;
    background-size: 1920px auto;
    width : 100%;
}



#sec03 {
    position: relative;
    z-index: 20;
    margin: 0 auto 0 auto;
    top: 0px;
    width: 100%;
    height: 600px;
}
#sec03 h2 {
    margin: 0px auto 20px auto;
    padding-top: 130px;
}
#sec03 h2 img {
    width: 280px;
}

#sec03 .cont {
    display: flex;
    width: 900px;
    flex-wrap: wrap;
}
#sec03 .cont .info {
    width: 500px;
    margin: 30px auto;
}
#sec03 .cont .infobox {
    background: url(../images/pc/sec03_box01.webp) no-repeat center;
    background-size: 500px 238px;
    width: 500px;
    padding: 5px 0 5px 5px;
    margin: 10px auto;
}
#sec03 .cont .info ul {
    width: 480px;
    height: 220px;
    padding: 0px 0px 0 5px;
    margin: 10px auto;
      overflow-y: scroll;
}
#sec03 .cont .info ul li {
    background: url(../images/pc/sec03_newarrow.webp) left 0px top 6px no-repeat;
    background-size: 14px auto;
    border-bottom: 1px dotted #ff5faa;
    width: 440px;
    padding-left: 20px;
    margin: 10px 3px;
    line-height: 2.2em;
    font-size: 14px;
    color: #333;
    text-align: left;
}
#sec03 h3 {
    margin: 20px auto 0 auto;
}
#sec03 h3 img {
    width: 280px;
}
#sec03 .cont .x {
    width: 350px;
    margin: 20px auto;
}
#sec03 .cont .xbox {
    background: url(../images/pc/sec03_box02.webp) no-repeat center;
    background-size: 350px 238px;
    width: 350px;
    height: 248px;
    padding: 5px 0 5px 0px;
    margin: 17px auto 0 auto;
}
#sec03 .cont .xbox .txt {
    width: 320px;
    padding: 5px 0 5px 0px;
    margin: 10px auto;
}
#sec03 .xbox .txt img {
    width: 320px;
}

#sec03 .cont .xbox .btn {
    width: 320px;
    padding: 5px 0 5px 0px;
    margin: 10px auto;
}
#sec03 .xbox .btn img {
    width: 320px;
}



#sec03 .bgleft {
    position: relative;
    top: -490px;
    left: -530px;
    width: 160px;
}
#sec03 .bgleft img {
    width: 160px;
}
#sec03 .bgright {
    position: relative;
    top: -1000px;
    right: -530px;
    width: 160px;
}
#sec03 .bgright img {
    width: 160px;
}


@media screen and (min-width:768px) and (max-width:1024px) {

#sec04 .invisible-pc {
display: none;
}
#sec04 .invisible-sp {
display: block;
}
}

#sec04 {
    position: relative;
    z-index: 30;
    margin: 0 auto 0 auto;
    top: 0px;
    width: 100%;
    height: 1000px;
}
#sec04 h2 {
    margin: 0px auto 20px auto;
    padding-top: 90px;
}
#sec04 h2 img {
    width: 280px;
}

#sec04 .txt {
    margin: 0px auto 20px auto;
    padding-top: 40px;
}
#sec04 .txt img {
    width: 800px;
}


/*------------------------------------------------------------------------------
  system
------------------------------------------------------------------------------*/

.sect-features {
    padding-top: 7.6875vw;
}

@media screen and (min-width: 1280px) {
    .sect-features {
        padding-top: 50px;
    }
}

@media screen and (min-width: 2000px) {
    .sect-features {
        padding-top: 3.125vw;
    }
}

.sect-features .slick-slide {
    padding-left: 4.29688vw;
    padding-right: 4.29688vw;
}

@media screen and (min-width: 1280px) {
    .sect-features .slick-slide {
        padding-left: 15px;
    }
}

@media screen and (min-width: 2000px) {
    .sect-features .slick-slide {
        padding-left: 2.86458vw;
    }
}

@media screen and (min-width: 1280px) {
    .sect-features .slick-slide {
        padding-right: 15px;
    }
}

@media screen and (min-width: 2000px) {
    .sect-features .slick-slide {
        padding-right: 2.86458vw;
    }
}

.sect-features .slick-slide > div {
    background: #faf6ea;
}

.sect-features .slick-slide img {
    width: 100%;
    height: auto;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.sect-features .slick-slide.slick-current img {
    opacity: 1;
}

.sect-features .slick-arrow.slick-prev {
    left: calc(50% - 430px);
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 1040px) {
    .sect-features .slick-arrow.slick-prev {
        transform: translate(0, -50%);
    }
}

.sect-features .slick-arrow.slick-next {
    right: calc(50% - 430px);
    transform: translate(50%, -50%);
}

@media screen and (max-width: 1040px) {
    .sect-features .slick-arrow.slick-next {
        transform: translate(0, -50%);
    }
}


.sect-features__button {
    margin-bottom: 6.25vw;
}

@media screen and (min-width: 1280px) {
    .sect-features__button {
        margin-bottom: 80px;
    }
}

@media screen and (min-width: 2000px) {
    .sect-features__button {
        margin-bottom: 4.16667vw;
    }
}

.slick-arrow {
    z-index: 1;
    width: 5.3125vw;
    height: 6.79688vw;
}

@media screen and (min-width: 1280px) {
    .slick-arrow {
        width: 98px;
    }
}

@media screen and (min-width: 2000px) {
    .slick-arrow {
        width: 3.54167vw;
    }
}

@media screen and (min-width: 1280px) {
    .slick-arrow {
        height: 97px;
    }
}

@media screen and (min-width: 2000px) {
    .slick-arrow {
        height: 4.53125vw;
    }
}

.slick-arrow:before {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 1;
    content: '';
}

.slick-arrow:hover {
    margin-top: 1px;
}
.slick-arrow.slick-prev {
    left: 0;
}

.slick-arrow.slick-prev:before {
    background: url(../images/pc/sec04_arrow_back.webp) no-repeat center/contain;
}

.common-wrapper--r .slick-arrow.slick-prev:before {
    background: url(../images/pc/sec04_arrow_back.webp) no-repeat center/contain;
}

.slick-arrow.slick-next {
    right: 0;
}

.slick-arrow.slick-next:before {
    background: url(../images/pc/sec04_arrow_next.webp) no-repeat center/contain;
}

.common-wrapper--r .slick-arrow.slick-next:before {
    background: url(../images/pc/sec04_arrow_next.webp) no-repeat center/contain;
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -75px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li
{
    position: relative;
    display: inline-block;
    width: 50px;
    height: 50px;
    margin: 0 7px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 50px;
    height: 50px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
    background: url(../images/pc/sec04_star.webp) no-repeat center/contain;
}
.slick-dots li.slick-active button
{
    background: url(../images/pc/sec04_star_on.webp) no-repeat center/contain;
}

.slick-dots li button:before
{
    opacity: .25;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #fff;
}


button {
    cursor: pointer;
    border: none;
    background: none;
}


.js-slick .dots_name button {
  display: none;
}
.js-slick .slick-slider button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
.js-slick .dots_name {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.js-slick .dots_name li {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border: 1px solid #000066;
  border-radius: 50%;
  margin-right: 10px;
}
.js-slick .dots_name li.slick-active {
  background-color: #000066;
}
.js-slick .dots_name li:last-child {
  margin-right: 0;
}/*# sourceMappingURL=style.css.map */


#sec02 {
    position: relative;
    z-index: 19;
    margin: 0 auto 0 auto;
    top: 0px;
    width: 100%;
    height: 1620px;
}
#sec02 h2 {
    margin: 50px auto 20px auto;
}
#sec02 h2 img {
    width: 370px;
}
#sec02 .moviearea {
    margin: 20px auto 20px auto;
}
#sec02 h3 {
    margin: 20px auto;
}
#sec02 h3 img {
    width: 350px;
}
#sec02 ul {
    display: flex;
    width: 1000px;
    flex-wrap: wrap;
}
#sec02 ul li {
    margin-bottom: 50px;
}
#sec02 ul li img {
    width: 470px;
}
#sec02 .btn {
    margin: 0px auto 50px auto;
}
#sec02 .btn img {
    width: 420px;
}
#sec02 .bgleft {
    position: relative;
    top: -1600px;
    left: -570px;
    width: 122px;
}
#sec02 .bgleft img {
    width: 122px;
}
#sec02 .bgright {
    position: relative;
    top: -2950px;
    right: -570px;
    width: 122px;
}
#sec02 .bgright img {
    width: 122px;
}



#sec05 {
    position: relative;
    z-index: 20;
    background: url(../images/pc/sec05_bg.webp) no-repeat center 0px;
    background-size: 1920px auto;
    margin: 0 auto 0 auto;
    top: 0px;
    width: 100%;
    height: 1000px;
}
#sec05 h2 {
    margin: 50px auto 20px auto;
    padding-top: 70px;
}
#sec05 h2 img {
    width: 320px;
}

#sec05 .txt {
    margin: 0px auto 20px auto;
    padding-top: 25px;
}
#sec05 .txt img {
    width: 900px;
}

#sec05 .movie {
    margin: 0px auto 20px auto;
    padding-top: 40px;
}
#sec05 .movie img {
    width: 600px;
}

#sec05 .btn {
    margin: 40px auto 50px auto;
}
#sec05 .btn img {
    width: 420px;
}


.popup {
    display: none; /* 最初は非表示 */
    position: fixed; /* 画面全体に固定 */
    z-index: 900;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
    justify-content: center;
    align-items: center;
  }
  
  .popup-content {
    /*
    background: none;
    border-radius: 5px;
    background-color: #000;
    */
    padding: 0px 0px;
    position: relative; /* closeボタンの配置基準 */
  }
  
  #close-popup {
    position: absolute;
    top: -40px;
    right: -40px;
    cursor: pointer;
    color: #ddd;
    font-size: 48px;
    font-weight: inherit;
  }
  
  #youtube-player {
    width: 960px; /* ポップアップの動画サイズ */
    height: 540px;
  }


@media screen and (max-width:768px){
   
    #sec02 {
        position: relative;
        height: auto;
    }
    #sec02 .bgleft {
        display: none;;
    }
    #sec02 .bgright {
        display: none;;
}    
    .popup {
        display: none; /* 最初は非表示 */
        position: fixed; /* 画面全体に固定 */
        z-index: 900;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: 0 auto;
        background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
        justify-content: center;
        align-items: center;
    }
  
    .popup-content {
        padding: 0px 0px;
        position: relative; /* closeボタンの配置基準 */
        width: 90%;
        height: auto;
    }
    #sec04 .popup-content {
        padding: 0px 0px;
        position: relative; /* closeボタンの配置基準 */
        width: 90%;
        height: 90%;
    }
  
  
    #close-popup {
        position: absolute;
        top: -30px;
        right: -10px;
        cursor: pointer;
        color: #fff;
        font-size: 24px;
        font-weight: inherit;
    }
  
    #youtube-player {
        width: 100%; /* ポップアップの動画サイズ */
        height: auto;
        &::before {
        content: '';
        display: block;
        padding-top: 56.25%;
        }
    & > iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }
    }
}
    


/*追従BTN*/
#page_btn {
    position: fixed;
    right: 20px;
    bottom: 0;
    z-index: 99;
}
    
#page_btn:hover{
    filter: brightness(120%);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;	
}

.common-footer .copy{
    position: relative;
    top: 30px;
    color: #757575;
    font-size: 14px;
    z-index: 2;
}

footer{
    position: relative;
    z-index: 98;
    background: #fff;
    border-top: 1px solid #aaa;
    height: 80px;
    }

    
@media screen and (max-width:768px){
    .common-footer{
        flex-direction: column;
        text-align: center;
    }
    .common-footer p{
        margin-top:20px;
        font-size:10px;
    }
}

    


/*:: ■■ SP ■■ ::*/

* {
    box-sizing: border-box; /* すべての要素にbox-sizingを適用 */
}

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


    /*bgvideo*/
    .bg_media {
	    max-width: 1024px;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index:-2;
	    overflow: hidden;
        opacity: 0.5;
	    background: #FFFFFF;
    }	

    .bg_media video {
        width:100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -o-object-fit: cover;
        object-fit: cover;
	    overflow: hidden;
    }
	
	
    .menu-container {
        position: relative;
        width: 100%;
        opacity: 0;                  
        pointer-events: none;         
        transition: opacity 0.6s ease;
        z-index:200;
    }

    .menu-container.show {
        opacity: 1;                   
        pointer-events: auto;        
    }
	

    .menu-button {
        width: 45px;
        height: 45px;
        border: none;
        cursor: pointer;
        position: fixed;
        top: 50px;
        right: 10px;
    }

    .menu {
        margin: 0;
        padding: 0;
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        background: url("../images/sp/menu_bg.jpg") repeat center;
        background-size:20%;
        border-bottom:solid #9995ef 2px;
    }

    .menu.open {
        display: block;
        animation: slideIn 0.3s ease;
    }

    .menu-button {
        width: 40px;
        height: 40px;
        background-color: #333;
        border: none;
        cursor: pointer;
        position: fixed;
        top: 1%;
        right: 10px;
    }
	
    .close-button {
        width: 40px;
        height: 40px;
        background: url("../images/sp/menu_close.jpg") no-repeat center center;
        background-size: contain;
        border: none;
        cursor: pointer;
        position: fixed;
        top: 1%; /* 同じ位置に配置するための値を設定します */
        right: 5px; /* 同じ位置に配置するための値を設定します */
    }
	
    .menu_list img {
        width:100%;	
        height:auto;	
    }


    .menu_list li{
        margin:5% auto 0% auto;
    }

    .menu_list li:first-child{
        margin:16% auto 0% auto;
    }
	

    .menu_list li:last-child{
        margin:5% auto 8% auto;
        width: 100%;
    }	
	
	
    @keyframes slideIn {
        from {
            transform: translateY(-100%);
        }
        to {
            transform: translateY(0);
        }
    }	
	
		
	


    #fv {
	    overflow: hidden;
        background: url(../images/sp/fv_bg.webp) no-repeat center;
        background-size: cover;
        background-position: top;
        width: 100%;
        height: auto;
        margin: 0 auto;
        /*margin-top: 27px;*/
        }


    #fv .title .idol001 {
        display: none;
    }    
    #fv .title .idol002 {
        display: none;
    }    
    #fv .title h1 {
        position: relative;
        z-index: 200;
        margin: 100% auto 0px auto;
        top: 0;
        right: 0;
    }    

    #fv .title h1 img {
        width: 50%;
    }    
    #fv .title .capt01 {
        position: relative;
        z-index: 100;
        top: 0;
        margin: 0% auto 0px auto;
        padding-bottom: 7%;
        width: 92%;
        box-shadow: none;
    }  
    #fv .title .capt01 img {
        width: 100%;
        box-shadow: 3px 3px 3px -2px #333;
    }    

    #sec01 {
	    overflow: hidden;
        background: url(../images/sp/sec01_bgblack.webp) no-repeat center;
        background-size: cover;
        background-position: top;
        width: 100%;
        /*height: auto;*/
        height: calc(100vw * 1.24);
        margin: 0 auto;
    }

    #sec01 .bgflex {
        display: none;
    }    
    #sec01 .bgflex3 {
        display: none;
    }    
    #sec01 .bgflexsp {
        /*display: none;*/
        position: relative;
        z-index: 100;
        width: 100%;
        height: calc(100vw * 1.24);
    }    
    #sec01 .bgflex3sp {
        position: relative;
        z-index: 200;
        top: -124vw;
        width: 100%;
        height: calc(100vw * 1.24);
    }    
    
    #sec01 .bgflexsp .blackbox img, #sec01 .bgflex3sp .blackbox img  {
        height: calc(100vw * 1.24);
    }
    
    #sec01 .idolflex {
        display: none;
    }    

    #sec01 .title {
        position: relative;
        z-index: 300;
        top: -249vw;
    }
    #sec01 h2 {
        position: relative;
        top: 10px;
        left: 0px;
        margin: 20px auto 10px auto;
        width: 75%;
    }
    #sec01 h2 img {
        width: 100%;
    }
    #sec01 p {
        position: relative;
        top: 10px;
        left: 0px;
        margin: 0px auto;
        width: 90%;
    }
    #sec01 p img {
        width: 100%;
    }




#sec06 {
    /*
    background: #000;
    */
    background: url(../images/sp/sec06_bgblack.webp) no-repeat center;
    background-size: contain;
    /*
    background-size: 1920px auto;
    */
    width : 100%;
    height: 120vw;
    /*
    */
    top: -2.5vw;
    position: relative;
    z-index: 10; /* z-index を 0 に変更 */
	overflow: hidden;  
}

#sec06 h3 {
    padding-top: 25vw;
    width: 80%;
}
#sec06 h3 img {
    width: 100%;
}
#sec06 .text {
    padding-top: 10vw;
    width: 85%;
}

#sec06 .text img {
    width: 100%;
}

#sec06 .p9 {
    padding-top: 25vw;
    width: 85%;
}
#sec06 .p9 img {
    width: 100%;
}
#sec06 .p9btn {
    padding-top: 10vw;
    width: 85%;
}

#sec06 .p9btn img {
    width: 100%;
}
#sec06 #countdown {
    padding-top: 20px;
    font-family: 'M PLUS 1p', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /*
    min-height: 100vh;
    background-color: #f4f4f4;
    margin: 0;
    */
    width: 100vw;

    font-size: 10.7vw;
    font-weight: bold;
    line-height: 1.2em;
    /*
    */
    letter-spacing: -1.2px;
    color: #fff;
}
#sec06 .message {
    display: none;
    margin-left: -20px;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: bold;
    font-size: 0.7em;
    letter-spacing: 1.1px;
    /*
    */
    color: #fff;
}
#sec06 .dhms {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#sec06 .dhms ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100vw;
}
#sec06 .dhms ul li {
    margin-left: 0px;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: bold;
    font-size: 3.5vw;
    letter-spacing: 1.1px;
    /*
    */
    color: #fff;
}
#sec06 .dhms ul li.d {
    width: 21%;
    padding-left: 10%;
    padding-right: 0%;
}
#sec06 .dhms ul li.h {
    width: 20%;
    padding-left: 6%;
    padding-right: 2%;
}
#sec06 .dhms ul li.m {
    width: 25%;
    padding-left: 1%;
}
#sec06 .dhms ul li.s {
    width: 25%;
    padding-left: 0%;
    padding-right: 8%;
}


#sec06 .bgleft {
    display: none;
    position: relative;
    top: -710px;
    left: -580px;
    width: 210px;
}
#sec06 .bgleft img {
    width: 210px;
}
#sec06 .bgright {
    diasplay: none;
    position: relative;
    top: -1500px;
    right: -580px;
    width: 210px;
}
#sec06 .bgright img {
    width: 210px;
}







    .sec0304 {
        position: relative;
        top: -5.0vw;
        background: url(../images/sp/sec03_bg.webp) no-repeat center 0px;
        background-size: cover;
        width : 100%;
    }


    #sec03 {
        position: relative;
        z-index: 20;
        margin: 0 auto 0 auto;
        top: 0px;
        width: 100%;
        height: 600px;
    }
    #sec03 h2 {
        margin: 0px auto 20px auto;
        padding-top: 70px;
    }
    #sec03 h2 img {
        width: 250px;
    }

    #sec03 .cont {
        display:inherit;
        flex-wrap: wrap;
        width: 100%;
    }
    #sec03 .cont .info {
        width: 95%;
        margin: 30px auto;
    }
    #sec03 .cont .infobox {
        background: url(../images/pc/sec03_box01.webp) no-repeat center;
        background-size:contain;
        width: 100%;
        padding: 5% 0% 5% 0%;
        margin:5% auto 0% auto;
    }

    #sec03 .cont .info ul {
        width: 92%;
        height: 180px;
        margin: 0% auto 0% auto;
        overflow-y: scroll;
    }
    #sec03 .cont .info ul li {
        background: url(../images/pc/sec03_newarrow.webp) left 0px top 6px no-repeat;
        background-size: 10px auto;
        border-bottom: 1px dotted #ff5faa;
        width: 90%;
        padding-left: 17px;
        margin: 10px 3px;
        line-height: 2.2em;
        font-size: 11px;
        color: #333;
        text-align: left;
    }
    #sec03 h3 {
        margin: 20px auto 0 auto;
    }
    #sec03 h3 img {
        width: 270px;
    }
    #sec03 .cont .x {
        width: 350px;
        margin: 50px auto 0px auto;
    }
    #sec03 .cont .xbox {
        background: url(../images/pc/sec03_box02.webp) no-repeat center;
        background-size: 350px 238px;
        width: 350px;
        height: 248px;
        padding: 5px 0 5px 0px;
        margin: 20px auto 20px auto;
    }
    #sec03 .cont .xbox .txt {
        width: 320px;
        padding: 5px 0 5px 0px;
        margin: 10px auto;
    }
    #sec03 .xbox .txt img {
        width: 320px;
    }

    #sec03 .cont .xbox .btn {
        width: 320px;
        padding: 5px 0 5px 0px;
        margin: 10px auto;
    }
    #sec03 .xbox .btn img {
        width: 320px;
    }


    #sec03 .bgleft {
        display: none;
        position: relative;
        top: -490px;
        left: -530px;
        width: 160px;
    }
    #sec03 .bgleft img {
        width: 160px;
    }
    #sec03 .bgright {
        display: none;
        position: relative;
        top: -1000px;
        right: -530px;
        width: 160px;
    }
    #sec03 .bgright img {
        width: 160px;
    }


    #sec04 {
        position: relative;
        z-index: 20;
        margin: 0 auto 0% auto;
        top: 0px;
        width: 100%;
        height:100%;
        padding-top: 220px;
    }
    #sec04 h2 {
        margin: 0px auto 20px auto;
        padding-top: 50px;
    }
    #sec04 h2 img {
        width: 250px;
    }

    #sec04 .txt {
        margin: 0px auto 30px auto;
        padding-top: 10px;
    }
    #sec04 .txt img {
        width: 90%;
    }

    .sect-features {
        margin:0% 0% 0% 0%;
        padding-top: 3.6875vw;
        padding-bottom:20%;
    }


    #sec02 {
        position: relative;
        z-index: 20;
        margin: 2% auto 0 auto;
        top: 0px;
        width: 100%;
    }
    #sec02 h2 {
        margin: 20px auto;
    }
    #sec02 h2 img {
        width: 310px;
    }
    #sec02 .moviearea {
        margin: 0px auto 20px auto;
    }
    #sec02 h3 {
        margin: 20px auto 5px auto;
    }
    #sec02 h3 img {
        width: 70%;
    }
    #sec02 ul {
        display:inline-table;
        width: 100%;
        flex-wrap: wrap;
    }
    #sec02 ul li {
        margin-top: 10px;
        margin-bottom: 20px;
    }
    #sec02 ul li img {
        width: 90%;
    }
    #sec02 .btn {
        margin: 0px auto 50px auto;
    }
    #sec02 .btn img {
        width: 95%;
    }


    #sec05 {
        position: relative;
        z-index:19;
        background: url(../images/sp/sec05_bg.webp) no-repeat center 0px;
        background-size: cover;
        margin: 0 auto 0 auto;
        top: 0px;
        width: 100%;
        height:auto;
    }
    #sec05 h2 {
        margin: 50px auto 20px auto;
        padding-top: 40px;
    }
    #sec05 h2 img {
        width: 250px;
    }

    #sec05 .txt {
        margin: 0px auto 20px auto;
        padding-top: 30px;
    }
    #sec05 .txt img {
        width: 90%;
    }

    #sec05 .movie {
        margin: 0px auto 20px auto;
        padding-top: 0px;
    }
    #sec05 .movie img {
        width: 90%;
    }

    #sec05 .btn {
        margin: 40px auto 0px auto;
    }
    #sec05 .btn img {
	    margin:0% auto 15% auto;
        width: 90%;
    }


    #page_btn {
        display: none;
        position: fixed;
        right: 20px;
        bottom: 0;
        z-index: 99;
    }

    footer{
        position: relative;
        z-index: 98;
        background: #fff;
        border-top: 1px solid #ccc;
        height: 45px;
    }

    .common-footer .copy{
        position: relative;
        bottom: 0;
        top: 10px;
        color: #757575;
        font-size: 14px;
        z-index: 1000;
    }

    .common-footer a{
        color: #333;
    }

    .common-footer p{
        margin:0 auto 10px auto;
        color:#757575;
        font-size: 14px;
    }

}

@media screen and (min-width: 868px) and (max-width: 1024px) {
   
    #fv {
	    overflow: hidden;
        background: url(../images/sp/fv_bg.webp) no-repeat center;
        background-size: cover;
        background-position: top;
        width: 100%;
        height: auto;
        height: 115vw;
        margin: 0 auto;
    }

    #fv .title h1 {
        position: relative;
        z-index: 200;
        top: 45vw;
        margin: 0px auto 0px auto;
    }    
    #fv .title h1 img {
        width: 400px;
    }   

    .sec0304 {
        height: 195vw;
    }
    #sec03 {
        height: 75vw;
    }
    #sec03 .cont .infobox {
        background: url(../images/pc/sec03_box01.webp) no-repeat center;
        background-size:contain;
        width: 100%;
        padding: 4.5% 0% 4.5% 0%;
        margin:5% auto 0% auto;
    }

    #sec03 .cont .info ul {
        width: 480px;
        height: 180px;
        margin: 0% auto 0% auto;
        overflow-y: scroll;
    }
    #sec04 {
        height: 110vw;
    }

    #sec02 {
        height: 410vw;
    }

}

@media screen and (min-width: 500px) and (max-width: 768px){
 
    #sec03 .cont .infobox {
        background-size:contain;
        width: 68vw;
    }
 
}


@media screen and (min-width: 768px) and (max-width: 867px) {
   
    .sec0304 {
        position: relative;
        z-index: 19;
        top: 0px;
        background: url(../images/sp/sec03_bg.webp) no-repeat center 0px;
        background-size: cover;
        width : 100%;
        height: 230vw;
    }
    #sec03 {
        height: 120vw;
    }

    #sec03 .cont .info {
        width: 500px;
        margin: 30px auto;
    }

    #sec03 .cont .info ul {
        width: 480px;
        height: 220px;
        padding: 0px 0px 0 5px;
        margin: 10px auto;
        overflow-y: scroll;
    }
    #sec03 .cont .info ul li {
        background: url(../images/pc/sec03_newarrow.webp) left 0px top 6px no-repeat;
        background-size: 14px auto;
        border-bottom: 1px dotted #ff5faa;
        width: 440px;
        padding-left: 20px;
        margin: 10px 3px;
        line-height: 2.2em;
        font-size: 14px;
        color: #333;
        text-align: left;
    }
    #sec03 h2 {
        margin: 0px auto 20px auto;
        padding-top: 70px;
    }
    #sec03 h2 img {
        width: 50%;
    }

    #sec03 .cont .x {
        width: 350px;
        margin: 7px auto;
    }
    #sec03 .cont .xbox {
        background: url(../images/pc/sec03_box02.webp) no-repeat center;
        background-size: 350px 238px;
        width: 350px;
        height: 248px;
        padding: 5px 0 5px 0px;
        margin: 30px auto 0 auto;
    }
    #sec03 .cont .xbox .txt {
        width: 320px;
        padding: 5px 0 5px 0px;
        margin: 10px auto;
    }
    #sec03 .xbox .txt img {
        width: 320px;
    }

    #sec03 .cont .xbox .btn {
        width: 320px;
        padding: 5px 0 5px 0px;
        margin: 10px auto;
    }
    #sec03 .xbox .btn img {
        width: 320px;
    }


    #sec04 {
        position: relative;
        z-index: 20;
        margin: 0 auto 0 auto;
        top: 0px;
        width: 100%;
        height: 55vw;
        padding-top: 10px;
    }

    #sec04 h2 {
        margin: 0px auto 30px auto;
        padding-top: 50px;
    }
    #sec04 h2 img {
        width: 50%;
    }

    #sec05 {
        position: relative;
        z-index:19;
        background: url(../images/sp/sec05_bg.webp) no-repeat center 0px;
        background-size: cover;
        margin: 0 auto 0 auto;
        top: 0px;
        width: 100%;
        height:auto;
    }

    #sec02 {
        height: 440vw;
    }
    #sec02 h2 {
        margin: 0px auto 30px auto;
        padding-top: 50px;
    }
    #sec02 h2 img {
        width: 60%;
    }


    #sec05 {
        position: relative;
        z-index: 20;
        background: url(../images/pc/sec05_bg.webp) no-repeat center 0px;
        background-size: cover;
        margin: 0 auto 0% auto;
        top: 0px;
        width: 100%;
        height:200vw;
    }
    #sec05 h2 {
        margin: 0px auto 0px auto;
        padding-top: 50px;
    }
    #sec05 h2 img {
        width: 50%;
    }

    #sec05 .btn {
        width:100%;;
        padding:0% 0% 20% 0%;
    }



    /*bgvideo*/
    .bg_media {
	    max-width: 100%;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index:-2;
	    overflow: hidden;
        opacity: 0.5;
	    background: #FFFFFF;
    }	
}

@media screen and (min-width: 580px) and (max-width: 767px){
    #sec03 {
        height: 140vw;
    }
    #sec04 {
        padding-top: 10px;
    }
}

 
@media screen and (min-width: 450px) and (max-width: 579px){
    #sec03 {
        height: 170vw;
    }
    #sec04 {
        padding-top: 10px;
    }
}

@media (max-width: 449px) {
    #sec03 {
        height: 200vw;
    }
    #sec04 {
        padding-top: 10px;
    }
}



@media (max-width: 550px) {
	
    #sec03 .cont .infobox {
        background: url(../images/pc/sec03_box01.webp) no-repeat center;
        background-size:contain;
        width: 100%;
        padding: 5% 0% 5% 0%;
        margin:5% auto 0% auto;
    }

    #sec03 .cont .info ul {
        width: 80%;
        min-width: 250px;
        height: 33vw;
        padding: 3% auto 3% auto;
        overflow-y: scroll;
    }

}



