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

#by {
		font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;
		font-family:'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		font-size: 12px;
		line-height: 2.0em;
	    overflow: hidden;
		width: 100%;
	    margin: 0 auto;
		color: #000;
	}
img {
		width: 100%;
	    object-fit: cover;
}

a {
	text-decoration: none;
	color: #000;
}

ul,li {
	list-style: none;
	padding: 0;
	margin: 0;
}

#main_visual {
	margin: 0 auto 10%;
	position: relative;
}


#main_visual .main_v{
	width: 100%;
	margin: 0 auto;
	
}

#main_visual .main_ttl{
	width: 48%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

}

@media only screen and (min-width: 768px){
	#main_visual .main_ttl{
	width: 32%;
	top: 50%;
	}
}

#by .read{
	width: 94%;
	margin: 0 auto 12%;
}

@media only screen and (min-width: 768px){
	#by .read{
		text-align: center;
	}

}


#by section {
	margin: 0% auto 80px;
}

#by .block{
	position: relative;
}

#by .block .block_ttl{
	position: absolute;
	width: 48%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

}

#by .item_name{
	display: flex;
	justify-content: space-evenly;
    align-items: center;
	margin: 5% auto 10%;
}

#by .item_name .item_a{
	width: 27%;
}

#by .item_name .or{
	width: 5%;
}



@media only screen and (min-width: 768px){
	#by section {
		margin: 0% auto 5%;
	}
	#by .block{
	max-width: 750px;
    margin: 0 auto;
	}
	#by .item_name {
    margin: 2% auto 8%;
    max-width: 750px;
	}
	#by .item_name .item_a {
    width: 18%;
	}
	#by .item_name .or {
    width: 3%;
	}
}



/*
#by .look_area .look_s{
	width: 80%;
    margin-left: auto;
}
*/

#by section:nth-of-type(even) .look_area .look_s{
	margin-right: auto;
	margin-left: 0;
}

@media only screen and (min-width: 768px){
	#by .look_area{
	display: flex;
    width: 1200px;
    margin: 0 auto;
	align-items: flex-start;
	justify-content: space-between;
	}
	#by section:nth-of-type(even) .look_area{
	flex-direction: row-reverse;
	}
	#by .look_area .look_m{
	width: 48%;
    
	}
	#by .look_area .look_s{
	width: 40%;
    
	}
	
}

#by .detail .level{
	width: 50%;
	margin: 10% auto 5%;
}

#by .detail .credit{
	width: 90%;
	text-align: center;
	margin: 0 auto 5%;
	font-weight: 600;
	font-size: 13px;
}

#by .detail .text{
	width: 90%;
    margin: 0 auto 5%;
}

#by .detail .text{
	width: 90%;
    margin: 0 auto 5%;
}
#by .detail .buy{
	background: #000;/*背景色*/
  	padding: 10px 20px;/*文字まわり（上下左右）の余白*/
	width: 65%;
	margin: 10% auto;
}
#by .detail .buy p{
	color: #fff;
	text-align: center;
	font-weight: 600;
	font-size: 13px;
}

#by .up{
	position: relative;
	margin: 15% auto 0;
	max-width: 100%;
}

#by .up .levelimg{
	width: 80%;
	margin: 0 auto;
}

#by .up .levelup{
	width: 20%;
	position: absolute;
	top: -9%;
    right: 3%;
}


@media only screen and (min-width: 768px){
	#by .detail .level {
    width: 19%;
    margin: 7% auto 2%;
	}
	#by .detail .text {
    width: 500px;
	}
	#by .detail .buy{
	width: 200px;
	margin: 5% auto 15%;
	}
	#by .up{
	max-width: 650px;
	}
}

/*=== 画像の表示エリア ================================= */
#by section .slide {
  position   : relative;
  overflow   : hidden;
  width: 100%;
  height: 127vw; /* 画像のサイズに合わせて変更ください */
  margin     : 10% auto;      /* サンプルは中央寄せの背景：白 */
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
#by section .slide img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime1 12s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
#by section .slide img:nth-of-type(1) { animation-delay: 0s }
#by section .slide img:nth-of-type(2) { animation-delay: 3s }
#by section .slide img:nth-of-type(3) { animation-delay: 6s }
#by section .slide img:nth-of-type(4) { animation-delay: 9s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime1{
   0% { opacity: 0 }
   2% { opacity: 1 }
  25% { opacity: 1 }
  27% { opacity: 0 }
 100% { opacity: 0 }
}

@media only screen and (min-width: 768px){
	#by section .slide {
    height: 680px;
    margin: 52% auto 0;
    }
}

/*=== 画像の表示エリア ================================= */
#by .slide2 {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 122vw; /* 画像のサイズに合わせて変更ください */
  margin: auto;      /* サンプルは中央寄せの背景：白 */
  background: #fff;
}
 /*=== 画像の設定 ======================================= */
#by section .slide2 img {
  display: block;
  position: absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width: inherit;
  height: inherit;
  opacity: 0;
  animation: slideAnime2 12s ease infinite;
}
 /*=== スライドのアニメーションを段差で開始する ========= */
#by section .slide2 img:nth-of-type(1) { animation-delay: 0s }
#by section .slide2 img:nth-of-type(2) { animation-delay: 4s }
#by section .slide2 img:nth-of-type(3) { animation-delay: 8s }
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime2{
	0% { opacity: 0 }
   3% { opacity: 1 }
  33% { opacity: 1 }
  36% { opacity: 0 }
 100% { opacity: 0 }
}

@media only screen and (min-width: 768px){
	#by .slide2 {
    height: 800px;
	}
}

/*=== 画像の表示エリア ================================= */
#by section .slide3 {
  position   : relative;
  overflow   : hidden;
  width: 100%;
  height: 127vw; /* 画像のサイズに合わせて変更ください */
  margin: 10% auto;      /* サンプルは中央寄せの背景：白 */
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
#by section .slide3 img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime3 6s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
#by section .slide3 img:nth-of-type(1) { animation-delay: 0s }
#by section .slide3 img:nth-of-type(2) { animation-delay: 3s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime3{
   0% { opacity: 0 }
   5% { opacity: 1 }
  50% { opacity: 1 }
  55% { opacity: 0 }
 100% { opacity: 0 }
}

@media only screen and (min-width: 768px){
	#by section .slide3 {
    height: 680px;
    margin: 52% auto 0;
    }
}

/*=== 画像の表示エリア ================================= */
#by section .slide4 {
  position   : relative;
  overflow   : hidden;
  width: 100%;
  height: 122vw; /* 画像のサイズに合わせて変更ください */
  margin: auto;      /* サンプルは中央寄せの背景：白 */
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
#by section .slide4 img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime3 8s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
#by section .slide4 img:nth-of-type(1) { animation-delay: 0s }
#by section .slide4 img:nth-of-type(2) { animation-delay: 4s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime4{
   0% { opacity: 0 }
   5% { opacity: 1 }
  50% { opacity: 1 }
  55% { opacity: 0 }
 100% { opacity: 0 }
}

@media only screen and (min-width: 768px){
	#by section .slide4 {
  height: 800px; /* 画像のサイズに合わせて変更ください */
	}
}

/*=== 画像の表示エリア ================================= */
#by section .slide5 {
  position   : relative;
  overflow   : hidden;
  width: 100%;
  height: 127vw; /* 画像のサイズに合わせて変更ください */
  margin: 10% auto;      /* サンプルは中央寄せの背景：白 */
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
#by section .slide5 img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime3 9s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
#by section .slide5 img:nth-of-type(1) { animation-delay: 0s }
#by section .slide5 img:nth-of-type(2) { animation-delay: 3s }
#by section .slide5 img:nth-of-type(3) { animation-delay: 6s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime5{
   0% { opacity: 0 }
   3% { opacity: 1 }
  33% { opacity: 1 }
  36% { opacity: 0 }
 100% { opacity: 0 }
}
@media only screen and (min-width: 768px){
	#by section .slide5 {
    height: 680px;
    margin: 52% auto 0;
    }
}
/*////pcview////*/
   .spview {
        display: none;
    }    
    .pcview {
        display: block;
    }
@media only screen and (max-width: 768px)  {
   .spview {
        display: block;
    }    
   .pcview {
        display: none;
    }    
}


.anim{
	opacity: 0;
	transition: 2.5s all 0s ease;
}
.anim.ac{
	opacity: 1;
}

.anim-left {
	opacity: 0;
}
	
.anim-left.acl {
	opacity: 1;
	width: 100%;
	height: 13px;
	white-space: nowrap;
	overflow: hidden;
	animation: paint 0.3s forwards linear;
}
@keyframes paint {
	 from {
		  width: 0%;
		}
		to {
			width: 100%;
		}
	}