body{
	margin:0;
	font-family: "Helvetica Neue",
    	Arial,
    	"Hiragino Kaku Gothic ProN",
    	"Hiragino Sans",
    	"Noto Sans JP",
    	sans-serif;
	color:#666;

}


#header{
	height: 8vmax;
	border-bottom: 1px solid #222;
    	background-image: url(content/logo.png);
    	background-repeat: no-repeat;
    	background-size: auto 80%;
    	background-position: center center;
	text-align:right;
	display:flex;
	align-items: flex-end;
    	justify-content: end;
    	font-size: 1.8vmax;
	position: fixed;
    	width: 100%;
    	background-color: white;
    	z-index: 5;
}

#header img{
	height: 4.5vmax;
	filter: brightness(0) saturate(100%) invert(29%) sepia(4%) saturate(12%) hue-rotate(55deg) brightness(99%) contrast(89%);
    	margin-right: 1vmin;
	margin-bottom: 1vmin;
}

#container{

	scroll-snap-type: y mandatory;
    padding-top: 8vmax;
	scroll-behavior: smooth;
}

#scroll_guide{
text-align: center;
    top: 73vh;
    position: relative;
	color:#333;
	font-size:1.5vmax;
}

.content{
    box-sizing: border-box;


	min-height:10vh;
    	border-style: solid;
    	border-width: 0.1vh 0 0 5vmin;    	
	background-repeat: no-repeat;
   	background-size: 25vmax auto;
	background-position: 2vmax 2vmax;
  	scroll-snap-align: start;

}


 .title_img{
margin:1vmax;
}


#kuto_title{
position: absolute;
    z-index: 2;
    height: 30vmin;
    bottom: 15vw;
    right: 12vw;

}

.content#news{
overflow:hidden;
}

#news_container{
display:flex;
width:calc(100vw - 7vmin);

}

#news_container img{
width:calc((100vw - 6.5vmin) / 2)
}


.content:nth-child(1){
/*
    	background-image: url('content/kuto_title.png');
background-position:center center;*/
	border-color: #3ab;    
height:calc(100vh - 8vmax);

border-top:none;   
background-size: 35vh;
overflow:hidden;
}

#title_logo{
position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
margin: 45vh auto;
    width: 60vmin;
	z-index:2;
}

.top_movie{
position:relative;
z-index:1;

}

.movie_video{
width:100vmax;
position:relative;
z-index:1;
filter: opacity(0.5);
}

.content:nth-child(2){
    border-color: #FF5722;
}

.content:nth-child(3){
    border-color: #ab3;
    align-items: start;
justify-content: space-between;
}

.content_title{
	width: 50vmin;
	margin: 2vmax;
}

.content:nth-child(4){
    border-color: #a3b;

    justify-content: space-between;
    align-items: flex-start;
}



.content:nth-child(5){

	border-color: #3a3;
}

.content:nth-child(6){
    border-color: #33b;
    align-items: center;
    background-position-x: 1vmax;
    background-position-y: top 1vmax;
}
.content:nth-child(7){

	border-color: #b33;
}

.content:nth-child(8){
	    min-height: 1vh;
	height:20vh;
    border-left: none;
    border-top: 0.1vh solid #aaa;
}


#main_title{
	width: 100vw;
	text-align: center;
	vertical-align: bottom;
	position: relative;
	top: 20vw;
	font-size: xxx-large;
}



.goods_base{
padding: 6vmin;
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
    background-color: #fffcf1;
    margin-bottom: 3vmin;
}

.goods_base img{
    display: block;
    height: 18vmax;
    margin: auto;
    position: relative;
}

#goods_scroller .scroll_box{
border-top: none;
    border-bottom: none;
    border-right: none;
margin: 2vmax;
}

goods_category{
text-align: center;
    display: block;
    font-size: 2vmin;
}
goods_title{
display: block;
    text-align: center;
    font-size: 2.2vmin;

}

.vertical_scroller{


    display: flex;
    overflow-x: scroll;
    scrollbar-color: #aaa #ffffff;

}

.scroll_box {

    border-top: 1px solid #33b;
    border-bottom: 1px solid #33b;
    border-right: 2px dashed #33b;

}

.chara_caption{
display: inline-block;
    text-align: justify;
    margin: 0px 3vmin 3vh;
    font-size: 2vmin;
}



#last{
border-right:none;
}

.scroll_box img{

    max-height: 50vh;
}

#youtube{

}

#youtube_window{

margin: 0 0 0 0;
  width: calc(100vw - 7vmin);
    height: calc((100vw - 7vmin) * 0.6);
}





#footer{
	height:10vh;
}

#about_separator{
    display: flex;
padding: 0 2vmax 0px 2vmax;
	line-height:3vmin;
    margin-top: 3vh;
padding-bottom: 5vh;
}

#about_separator div{
	flex:1;
}

#about subtitle{
    display: inline-block;
    font-size: 3.5vmin;
    margin: 1vh auto 2vh;
}

#about note{
    display: block;
   text-align: justify;
    text-justify: inter-ideograph;
    margin-bottom: 2vh;
    font-size: 2vmin;
}

#about_separator img{
    display: inline-block;
	width:5vw;
    margin-left: 1vw;
}

#about_separator div:nth-child(1){
	border-right:1px solid #aaa;
	padding-right: 4vw;
}
#about_separator div:nth-child(2){
	margin-left:4vw;
}
#footer{
text-align:center;
}

#footer img{
	height: 4.5vmax;
	filter: brightness(0) saturate(100%) invert(29%) sepia(4%) saturate(12%) hue-rotate(55deg) brightness(99%) contrast(89%);
    	margin-right: 1vmin;

}

#topics_image{
max-width: 45vw;

}

#topic_container{
width: calc(100vw - 7vmin);
    display: flex;
    flex-wrap: wrap;
    align-items: end;


}

#topic_container div{
width: calc((100vw - 7vmin) / 4);
    height: calc((100vw - 7vmin) / 4);
/*	border-left: 1px solid #aa3;
    border-bottom: 1px solid #aa3;
    border-top: 1px solid #aa3;*/
    overflow: hidden;
    box-sizing: border-box;

}

#topic_container div img{
width: 100%;
}

#scroll_down{
width: 25vmin;
    position: relative;
    top: 75vh;
}

.insta:before{
 content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(content/insta_icon.png);
    background-position: center;
    background-size: contain;
    position: absolute;
    margin: 1vmin;
}

.youtube:before{
 content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(content/youtube_icon.png);
    background-position: center;
    background-size: contain;
    position: absolute;
    margin: 1vmin;
}

.info:before{
 content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(content/info_icon.png);
    background-position: center;
    background-size: contain;
    position: absolute;
    margin: 1vmin;
}


#top_to{
text-decoration: none;
    border: 1px solid #aaa;
    display: inline-block;
    padding: 1vh 5vw;
    margin: 5vmax;
    color: #333;
}


