@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: #e2e1de;
}

#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,#st_wrap a:hover{
	text-decoration: none;
    opacity: 0.6;
}
a{
	color:white;
}

.Roboto{
    font-family: "Roboto", sans-serif;
}
.NotoSans{
    font-family: "Noto Sans JP", serif;
}
.Inter{
    font-family: "Inter", serif;
}
.fixed_banner1 {
position: fixed; /* 追従させる為にfixedの値を記述します */
z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */
top: 20%; 
right: 2%; 
width: 4%;
}
.fixed_banner1 a {
text-decoration: none;
	border: none;
}
.fixed_banner2 {
position: fixed; /* 追従させる為にfixedの値を記述します */
z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */
top: 29%; 
right: 2%; 
width: 4%;
}
.fixed_banner2 a {
text-decoration: none;
	border: none;
}
.fixed_banner3 {
position: fixed; /* 追従させる為にfixedの値を記述します */
z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */
top: 38%; 
right: 2%; 
width: 4%;
}
.fixed_banner3 a {
text-decoration: none;
	border: none;
}


.floating-banner:hover {
opacity: .8; /* マウスが重なった時に少し透過させます */
}

/************************************************************
inner
************************************************************/
#st_wrap .inner{
    max-width: 600px;
    width: 100%;
    text-align: center;
    margin: 0 auto;
    background: #edece6;
    display: inline-block;
    padding: 0 0 0%;
}
#st_wrap .inner .lead{
    margin: 11% auto 15%;
	font-size: 13px;
	line-height: 2.2;
}
/************************************************************
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;
}
@keyframes blurFadeIn {
  0% {
    filter: blur(15px);
    opacity: 0;
  }
  100% {
    filter: blur(0px);
    opacity: 1;
  }
}
#st_head .visual_box .title{
    position: absolute;
    width: 20%;
    left: 0;
    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;
    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 .main01{
    width: 100%;
    position: relative;
}
#st_contents .section .main01_1{
    width: 100%;
    position: absolute;
	top:0%;
	left:0%;	
}
#st_contents .section .main01_2{
    width: 42%;
    position: absolute;
	bottom:5%;
	left:8%;	
}
#st_contents .section .main02_1{
    width: 100%;
    position: absolute;
	top:35%;
	left:0%;	
}
#st_contents .section .main02_2{
    width: 45%;
    position: absolute;
	bottom:23%;
	right:8%;	
}
#st_contents .section .main03_2{
    width: 45%;
    position: absolute;
	bottom:5%;
	left:8%;	
}

 .all{
    width: 70%;
	margin: 15% auto;
}
.sub{
 width: 100%;
	max-width: 400px;
	margin: 25% auto;
}

.item_box{
	width: 100%;
	max-width: 550px;
	margin: 5% auto 8%;
}

.item_ts {
	width: 100%;
	max-width: 380px;
	font-size: 14px;
	color: #111111;
	font-weight: 500;
	text-align: left;
	line-height: 2.3;
	letter-spacing: 0.02em;	
	margin: 0% auto 0%;
}
.item_ts .sml {
    font-size: 80%;
}

	


#st_contents .section .left {
    float: left;
}
#st_contents .section .right {
    float: right;
}
#st_contents .section .sml {
    font-size: 8px;
}

#st_contents .section .check1 {
	width: 80%;	
	margin-top: 5%;
}

/************************************************************
footer
************************************************************/
#st_foot{
    width: 100%;
    display: block;
    position: relative;
    text-align: center;
    margin: 0 auto;
    padding: 5% 0;
}
#st_foot .btn{
    width: 50%;
    text-align: center;
    margin: 10% auto 5%;
}
#st_foot .line{
    width: 100%;
    margin: 10% auto;
}
#st_foot .ig_box{
    width: 30%;
    text-align: center;
    display: inline-block;
    position: relative;
    margin: 0 auto;
	margin-left: 40%;
}
#st_foot .ig_box .ttl{
    width: 25%;
    text-align: center;margin: 0 auto;
}
#st_foot .ig_box ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    column-gap: 10%;
    margin: 10% auto 12%;
}
#st_foot .ig_box ul li{
    position: relative;
}
#st_foot .pblogo{
    width: 40%;
    text-align: center;
    margin: 17% auto 0%;
}
#st_foot .cp{
    font-size: 15px;
	font-weight: bold;
    text-align: center;
    margin: 2% auto 1%;
    letter-spacing: 0px;
    
}
#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 {
	border: none;
	font-family: inherit;
	font-size: 12px;
	color: inherit;
	background: none;
	cursor: pointer;
	padding: 3px 0;
	display: inline-block;
	margin: 4% auto;
	text-transform: uppercase;
	letter-spacing: 1px;
    line-height: 1.4em;
	font-weight: 500;
	outline: none;
	position: relative;
	text-align: center;
	color: white;
	
}


/* Button 1 */
.Btn-111 {
    width: 22%;
	padding: 2px 10px;
    margin: 1% 0 0 0%;
	font-size: 13px;
	text-align: center;
	color: black;
	float: right;
text-transform:lowercase;
}

a.Btn-111 {
    color: black;
    text-decoration: none;
}



.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%;
    }
.fixed_banner1 {
position: fixed; /* 追従させる為にfixedの値を記述します */
z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */
top: 50%; 
right: 2%; 
width: 11%;
	}
.fixed_banner2 {
position: fixed; /* 追従させる為にfixedの値を記述します */
z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */
top: 57%; 
right: 2%; 
width: 11%;
	}
.fixed_banner3 {
position: fixed; /* 追従させる為にfixedの値を記述します */
z-index: 99999; /* 他の要素の下に隠れないように全面配置させます */
top: 64%; 
right: 2%; 
width: 11%;
	}	
#st_contents .section .left {
    float: left;
	margin-top: -6%;
}
#st_contents .section .right {
    float: right;
	margin-top: -6%;	
}
#st_contents .section .sml {
    font-size: 6px;
	margin-top: -6%;	
}
#st_contents .section .check1 {
	width: 80%;	
	margin-top: 3%;
}

#st_contents .section .main01_2{
    width: 60%;
    position: absolute;
	bottom:1.7%;
	left:4%;	
}	
#st_contents .section .main02_2{
    width: 65%;
    position: absolute;
	bottom:21%;
	right:3%;	
}	
#st_contents .section .main03_2{
    width: 65%;
    position: absolute;
	bottom:-2%;
	left:4%;	
}		
.sub{
 width: 80%;
	margin: 25% auto;
}	
	
    #st_foot .btn{
        width: 60%;
    }
#st_foot .cp{
    font-size: 13px;
    margin: 2% auto 1%;
    
}	
#st_foot .cp_link{
    font-size: 12px;
}	
#st_foot .pblogo{
    width: 40%;
    text-align: center;
    margin: 18% 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;
    }
.Btn-111 {
    width: 22%;
	padding: 2px 5px 2px;
    margin: 1% 0 0 0%;
	font-size: 12px;
}

a.Btn-111 {
    text-decoration: none;
}	
    
 .item_box{
	width: 85%;
	margin: 8% auto 12%;
}

.item_ts {
	width: 100%;
	font-size: 12px;
	font-weight: 500;
	text-align: left;
	line-height: 2.2;
	letter-spacing: 0.05em;	
	margin: 0% auto 0%;
}	   
    
    
    .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;
}
.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%); /* 全体の半分まで移動 */
    }
}

