@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

*:focus {
outline: none;
}

body{
    margin: 0 auto;
    padding: 0;
}

#st_wrap{
	width: 100%;
    display: block;
    text-align: center;
    margin: 0 auto;
    padding: 0;
    position: relative;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1.7em;
    overflow: hidden;
    font-family: "Noto Sans JP", serif;
  background-color: white;
}

#st_wrap img{
    width: 100%;
    border: 0;
	vertical-align: bottom;
    line-height: 0;
}
#st_wrap ul,#st_wrap li{
	padding: 0;
	margin: 0;
    list-style: none;
}
#st_wrap a,#st_wrap a:hover,#st_wrap a:link{
	text-decoration: none;
    opacity: 1;
}

#st_wrap a:hover{
	opacity: 0.8;
}

.bk01 {
    margin: 0% 0 0;
    background-color: #dce9f1;
    padding: 4% 3% 3%;
}
.bk02 {
    margin: 0% 0 0;
    background-color: #b5b6b6;
    padding: 4% 3% 3%;
}
.bk03 {
    margin: 0% 0 0;
    background-color: #efe8d8;
    padding: 4% 3% 3%;
}
.t_P{
	font-size: 13px;
	line-height: 1.9;
	letter-spacing: 0.05em;
	color: white;
}
.t_P2{
	text-align: left;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color: white;
	line-height: 1.7;
}
.t_P3{
	text-align: left;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: black;
}
.t_P4{
	font-size: 12px;
	line-height: 1.7;
	text-align: right;
	letter-spacing: 0.05em;
	color: white;
}
.t_P5{
	text-align: left;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: black;
}
#st_contents .section .t_P2 a{
	color: white;
}
#st_contents .section .t_P3 a{
	color: black;
}
#st_contents .section .t_P5 a{
	color: white;
}
.style_box{
	position: relative;
	width: 90%;
	margin: 0 auto 8%;	
}
.style_box2{
	position: relative;
	width: 90%;
	margin: 0 auto 0%;	
}
.style_01_logo{
	position: absolute;
	width: 70%;
	top:55%;
	left:15%;	
}
.style_01_1{
	position: absolute;
	width: 90%;
	top:69%;
	left:5%;	
}
.style_01_2{
	position: absolute;
	width: 75%;
	top:80%;
	left:13%;	
}
.style_01_3{
	position: absolute;
	width: 70%;
	top:87%;
	left:-17%;	
}	
.style_02_1{
	position: absolute;
	width: 95%;
	top:85%;
	left:6.5%;	
}
.style_02_2{
	position: absolute;
	width: 80%;
	top:1%;
	left:64%;	
}
.stye_02_3{
	position: absolute;
	width: 28%;
	bottom:8%;
	left:68%;	
}
.style_02_4{
	position: absolute;
	width: 80%;
	top:7%;
	left:5%;	
}
.style_02_5{
	position: absolute;
	width: 70%;
	top:21%;
	left:-14%;	
}
.style_03_1{
	position: absolute;
	width: 90%;
	top:60%;
	left:28%;
	 transform: rotate(90deg);
}
.stye_03_2{
	position: absolute;
	width: 28%;
	bottom:12%;
	left:36%;	
}
.style_03_3{
	position: absolute;
	width: 80%;
	top:60%;
	left:0%;	
}
.style_03_4{
	position: absolute;
	width: 80%;
	top:-2%;
	left:5%;	
}
.style_tiktok{
	width: 50%;
	margin: 0 auto 8%;
}
.w70{
	width: 75%;
}
.w50{
	width: 63%;
	margin-top: -7%;
}
.w50_2{
	width: 63%;
}

.Roboto{
    font-family: "Roboto", sans-serif;
}
.NotoSans{
    font-family: "Noto Sans JP", serif;
}
.Inter{
    font-family: "Inter", serif;
}

/************************************************************
inner
************************************************************/
#st_wrap .inner{
    max-width: 600px;
    width: 100%;
    text-align: center;
    margin: 0 auto;
    background: #DDE0E3;
    display: inline-block;
    padding: 0 0 5%;
}

/************************************************************
header
************************************************************/
#st_head{
    width: 100%;
	position:relative;
    display: block;
    text-align: center;
    margin: 0 auto;
}
#st_head .head{
    width: 100%
}
#st_head .visual_box{
    width: 100%;
    position: relative;
    display: inline-block;
}
#st_head .visual_box .visual{
    width: 100%;
    float: right;
    filter: blur(15px);
    opacity: 0;
    animation: blurFadeIn 1.0s ease-out forwards;
    margin: auto;
}
.lead{
	width: 80%;
	margin: 5% auto;
	font-size: 14px;
	line-height: 1.9;
}
@keyframes blurFadeIn {
  0% {
    filter: blur(15px);
    opacity: 0;
  }
  100% {
    filter: blur(0px);
    opacity: 1;
  }
}
#st_head .visual_box .title{
    position: absolute;
    width: 75%;
    left: 13%;
    top: 2%;
}
 .title{
    width: 85%;
	margin: 3% auto 2%;
}

#st_head .line-up_box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    margin: 8% auto;
}
#st_head .line-up-title {
    margin-right: 5%;
    margin-top: 2%;
    width: 3.5%;
    height: auto;
}
#st_head .line-up-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
#st_head .line-up-list li {
    padding: 2.5% 0;
}


/************************************************************
contents
************************************************************/
#st_contents{
    width: 100%;
	position:relative;
    display: block;
    margin: 5% auto 0;
    text-align: center;
}
#st_contents .section{
    width: 100%;
    position: relative;
    padding: 5% 0;
    display: inline-block;
}
#st_contents .section:nth-of-type(2){
    background:#014d1c;
}
#st_contents .section:nth-of-type(3){
    background:#9e0120;
}

#st_contents .section .ttl{
    width:40%;
    text-align: center;
    margin: 5% auto;
}
#st_contents .section ul li{
    width: 100%;
    position: relative;
    box-sizing: border-box;
    display: inline-block;
}
#st_contents .section .img{
	position: relative;
    width: 100%;
}
#st_contents .section ul:nth-of-type(2) li:nth-of-type(2){
    width: 90%;
    text-align: center;
    margin: 5% auto;
}
#st_contents .section:nth-of-type(1) ul:nth-of-type(3) li:nth-of-type(2){
    width: 90%;
    float: right;
}
#st_contents .section:nth-of-type(1) ul:nth-of-type(3) li:nth-of-type(3){
    width: 70%;
    text-align: center;
    margin: 5% auto;
}
#st_contents .section:nth-of-type(2) ul:nth-of-type(2) li:nth-of-type(2){
    width: 100%;
}
#st_contents .section:nth-of-type(3) ul:nth-of-type(1) li:nth-of-type(2){
    width: 95%;
    float: right;
    margin: 5% auto;
}
#st_contents .section .credit_l{
    width: 100%;
    float: left;
    margin-left: 3%;
    position: relative;
    display: inline-block;
    letter-spacing: 0px;
    font-size: 13px;
    color:#9b001f;
    text-align: left;
}
#st_contents .section .credit_r{
    width: 100%;
    float: right;
    margin-right: 3%;
    position: relative;
    display: inline-block;
    letter-spacing: 0px;
    font-size: 13px;
    color:#9b001f;
    text-align: right;
}
#st_contents .section .credit_l a,#st_contents .section .credit_r a{
    margin-right: 2%;
}
#st_contents .section a{
    font-weight: 500;
    text-align: left;
    color:#9b001f;
    
}
#st_contents .section:nth-of-type(2) a{
    color: #FFFFFF;
}
#st_contents .section:nth-of-type(2) p{
    color: #FFFFFF;
}
#st_contents .section:nth-of-type(3) a{
    color: #FFFFFF;
}
#st_contents .section:nth-of-type(3) p{
    color: #FFFFFF;
}


#st_contents .section .main01{
    width: 100%;
    position: relative;
}

#st_contents .section .parent {
    display: flow-root;
	position: absolute;
	width: 45%;	
	bottom:15%;
	left:0%;
	font-size: 12px;
	color: black;
	letter-spacing: 0.01em;
	line-height: 1.7;
}
#st_contents .section .parent_free {
	margin: -5% auto 8%;
	width: 50%;	
	font-size: 12px;
	color: black;
	letter-spacing: 0.01em;
}
#st_contents .section .parent_free2 {
	margin: 0% auto 3%;
	width: 60%;	
	font-size: 12px;
	color: black;
	letter-spacing: 0.01em;
		line-height: 1.7;
}
#st_contents .section .parent_free3 {
	margin: -4% auto 2%;
	margin-left: 30%;
	width: 55%;	
	font-size: 12px;
	text-align: left;
	color: black;
	letter-spacing: 0.01em;
	line-height: 1.7;
}
#st_contents .section .parent2 {
    display: flow-root;
	position: absolute;
	width: 40%;	
	top:10%;
	left:0%;
	font-size: 12px;
	color: black;	
	letter-spacing: 0.01em;
}
#st_contents .section .parent3 {
    display: flow-root;
	position: absolute;
	width: 60%;	
	top:0%;
	right:6%;
	font-size: 12px;
	color: white;	
	letter-spacing: 0.01em;
}
#st_contents .section .parent4 {
    display: flow-root;
	position: absolute;
	width: 50%;	
	top:13%;
	left:0%;
	font-size: 12px;
	color: black;	
	letter-spacing: 0.01em;
}
#st_contents .section .parent a{
	color: black;
}
#st_contents .section .parent_free a{
	color: black;
}
#st_contents .section .parent_free2 a{
	color: black;
}
#st_contents .section .parent_free3 a{
	color: white;
}
#st_contents .section .parent2 a{
	color: black;
}
#st_contents .section .parent3 a{
	color: black;
}
#st_contents .section .parent4 a{
	color: black;
}
#st_contents .section .parent_half {
	position: absolute;
	width: 34%;	
	bottom:3%;
	left:6%;
	font-size: 12px;
	color: black;	
	letter-spacing: 0.01em;
}
#st_contents .section .left {
    float: left;
	margin-top: -1%;
}
#st_contents .section .right {
    float: right;
	margin-top: -1%;	
}
#st_contents .section .sml {
    font-size: 8px;
}

#st_contents .section .check1 {
	color: black;
	font-weight: bold;
	width: 40%;	
	margin-top: 3%;
}
#st_contents .section .check2 {
	color: black;
	font-weight: bold;
	width: 35%;	
	margin-top: 5%;
}
.style_tiktok{
	text-align: center;
	width: 50%;
	margin: 0 auto 12%;
}

/************************************************************
footer
************************************************************/
#st_foot{
    width: 100%;
    display: block;
    position: relative;
    text-align: center;
    margin: -16% auto 0;
    padding: 5% 0;
}
#st_foot .btn{
    width: 30%;
    text-align: center;
    margin: 4% auto 5%;
}
#st_foot .line{
    width: 100%;
    margin: 10% auto;
}
#st_foot .ig_box{
    width: 12%;
    text-align: center;
    display: inline-block;
    position: relative;
    margin: 0 auto;
}
#st_foot .ig_box .ttl{
    width: 25%;
    text-align: center;margin: 0 auto;
}
#st_foot .ig_box ul{
    display: grid;
    grid-template-columns: 1fr ;
    grid-template-rows: auto;
    column-gap: 10%;
    margin: 10% auto;
}
#st_foot .ig_box ul li{
    position: relative;
}
#st_foot .pblogo{
    width: 40%;
    text-align: center;
    margin: 15% auto 0%;
}
#st_foot .cp{
    font-size: 13px;
	font-weight: 500;
    text-align: center;
    margin: 0% auto 1%;
    letter-spacing: 0px;
    
}
#st_foot .cp a{
color:black;
}
#st_foot .cp_link{
    font-size: 13px;
	font-weight: bold;
    color: #000;
    text-align: center;
    margin: 8% auto 5%;
    letter-spacing: 0px;
    
}
#st_foot .cp_link a{
    color: #000;
	text-decoration: underline;
	text-underline-offset: 10px;
    
}



/************************************************************
               button
************************************************************/

.btn_01 a {
    display: flex; 
    justify-content: space-between;
    align-items: center;
    padding: 3% 4%;
    border: 2px solid #9e0120; 
    border-radius: 10px;
    width: 68%;
    letter-spacing: 0px;
    background-color: #FFFFFF;
    color: #9e0120; 
    text-decoration: none; 
    font-weight: bold;
    box-sizing: border-box;
    margin: 5% auto 10%;
    font-family: "Inter", serif;
    
}
.btn_01 .item-name {
  font-size: 20px;
}
.btn_01 .buy-button {
  font-size: 20px; 
}
#st_contents .section:nth-child(2) .btn_01 a{
    color: #014d1c; 
    border: 2px solid #014d1c;
}
#st_contents .section:nth-child(3) .btn_01 a{
    color: #9e0120; 
    border: 2px solid #9e0120;
}


.Right{
    float: right;
}
.Left{
    float: left;
}
.small{
	font-size:80%;
}
.clear {
	clear: both;
}
.pc{
	display: block;
}
.sp{
	display: none;
}


@media only screen and (max-width:768px){
	#st_wrap {
        width:100%;
        letter-spacing: 0.5px;
	}
    #st_contents .section .ttl{
        width: 50%;
    }
    #st_contents .section .credit_l{
        width: 90%;
    }
    #st_contents .section .credit_r{
        width: 90%;
    }
	
#st_contents .section .parent {
	width: 50%;	
	bottom:12%;
	left:1%;
	font-size: 11px;
	letter-spacing: 0.01em;
}
#st_contents .section .parent_free {
	margin: -1% auto 8%;
	width: 60%;	
	font-size: 11px;
	letter-spacing: 0.01em;
}	
#st_contents .section .parent_free2 {
	margin: -1% auto 0%;
	width: 88%;	
	font-size: 11px;
	letter-spacing: 0.01em;
}	
#st_contents .section .parent_free3 {
	margin: -1% auto 0%;
	margin-left: 20%;
	width: 70%;	
	font-size: 11px;
	letter-spacing: 0.01em;
}		
#st_contents .section .parent2 {
	width: 50%;	
	top:5%;
	left:2%;
	font-size: 11px;
	letter-spacing: 0.01em;
}	
#st_contents .section .parent3 {
	width: 40%;	
	bottom:0%;
	left:3%;
	font-size: 11px;
	letter-spacing: 0.01em;
}	
#st_contents .section .parent4 {
	width: 60%;	
	bottom:10%;
	left:2%;
	font-size: 11px;
	letter-spacing: 0.01em;
}		
#st_contents .section .left {
    float: left;
	margin-top: -2%;
}
#st_contents .section .right {
    float: right;
	margin-top: -2%;	
}
#st_contents .section .sml {
    font-size: 6px;
	margin-top: -2%;	
}
#st_contents .section .check1 {
	width: 43%;	
	margin-top: 6%;
}
#st_contents .section .check2 {
	width: 40%;	
	margin-top: 6%;
}	
.lead{
	width: 90%;
	margin: 6% auto 5%;
	font-size: 12px;
}	
.style_box{
	position: relative;
	width: 96%;
	margin: 0 auto 8%;	
}	
.style_box2{
	position: relative;
	width: 96%;
	margin: 0 auto 0%;	
}		
.t_P{
	font-size: 11px;
	line-height: 1.8;
	letter-spacing: 0.02em;
	color: white;
}
.t_P2{
	text-align: left;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: white;
}
.t_P3{
	text-align: left;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: black;
}	
.t_P4{
	text-align: right;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: white;
}	
.style_01_logo{
	position: absolute;
	width: 70%;
	top:52%;
	left:14%;	
}
.style_01_1{
	position: absolute;
	width: 98%;
	top:65%;
	left:4%;	
}	
.style_01_2{
	position: absolute;
	width: 80%;
	top:79%;
	left:10%;	
}	
.style_01_3{
	position: absolute;
	width: 75%;
	top:88%;
	left:-15%;	
}	
.style_02_1{
	position: absolute;
	width: 95%;
	top:78%;
	left:8%;	
}	
.style_02_2{
	position: absolute;
	width: 80%;
	top:2%;
	left:28%;
}	
.stye_02_3{
	position: absolute;
	width: 33%;
	bottom:8%;
	left:68%;	
}	
.style_02_4{
	position: absolute;
	width: 80%;
	top:4%;
	left:5%;	
}	
.style_02_5{
	position: absolute;
	width: 75%;
	top:22%;
	left:-12%;	
}
.style_03_1{
	position: absolute;
	width: 120%;
	top:48%;
	left:12%;	
}	
.stye_03_2{
	position: absolute;
	width: 33%;
	bottom:11%;
	left:33%;	
}	
.style_03_3{
	position: absolute;
	width: 80%;
	top:57%;
	left:0%;	
}	
.style_03_4{
	position: absolute;
	width: 80%;
	top:-5%;
	left:2%;
}		
.w70{
	width: 85%;
}	
.w50{
	width: 75%;
	margin-top: -10%;
}	
.w50_2{
	width: 75%;
}		
    #st_foot .btn{
        width: 33%;
    }
#st_foot .cp{
    font-size: 11px;
    margin: 0% auto 1%;
    
}	
	
#st_foot .cp_link{
    font-size: 12px;
}	
#st_foot .pblogo{
    width: 40%;
    text-align: center;
    margin: 13% auto 0%;
}	
 .title{
    width: 85%;
	margin: 3% auto 1%;
}	
    .btn_01 a{
        padding: 4%;
    }
    .btn_01 .item-name{
        font-size: 15px;
    }
    .btn_01 .buy-button{
        font-size: 15px;
    }
   .style_tiktok{
	width: 1%;
	margin: 0 auto 12%;
	margin-left: 8%;
}
 
    
    
    
    .pc {
		display:none;
	}
	.sp {
		display:block;
    }
    
    
    .Left{
        float: none;
    }
    .Right{
        float: none;
    }
}


/************************************************************
動き
************************************************************/

#st_head .visual{
    opacity: 0;
	transition: 2s all 0s ease;
}
#st_head.ac .visual{
  	opacity: 1;
}
#st_head .visual_box .title{
    position: absolute;
    width: 80%;
    left: 10%;
    top: 2%;
}

.fade {
	opacity: 0;
	transition: 1.0s all 0s ease;
}
.fade01 {
	opacity: 0;
	transition: 1.0s all 0.5s ease;
}
.fade02 {
	opacity: 0;
	transition: 1.0s all 0.7s ease;
}
.fade.ac, .fade01.ac, .fade02.ac{
	opacity: 1;
    transform: translate(0);
}

.anim {
	opacity:0 ;
	transform: translate(0,50px);
	transition: 1.5s all 0.2s ease;
}

.anim.ac{
	opacity:1 ;
	transform: translate(0);
}

.move-wrap {
    display: flex;
    align-items: center;
    overflow: hidden;
    margin: 2% 0;
    column-gap: 10px;
}

.slideshow {
    display: flex;
    column-gap: 10px;
    animation: loop-slide 15s linear infinite;
}

.content {
    width: 180px;
}

.content img {
    border-radius: 0px;
    box-sizing: border-box;
}

@keyframes loop-slide {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%); /* 全体の半分まで移動 */
    }
}

