@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 {
	line-height: 0;
	position: relative;
}


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

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

}

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

#by .read{
	width: 100%;
    padding: 20px 0 50px;
	background-color: #C5BAB0;
}
#by .read p{
	width: 90%;
	margin: 0 auto;
}

@media only screen and (min-width: 768px){
	#by .read{
	text-align: center;
	width: 100%;
    padding: 50px 0 70px;
    background-color: #C5BAB0;
	}
}


#by section {
	margin: 0% auto;
}

#by .block{
	position: relative;
	line-height: 0;
}

#by .block .block_ttl{
	position: absolute;
	width: 48%;
	top: 73%;
    left: 27%;
	transform: translate(-50%, -50%);
	font-family: helvetica-neue-lt-pro, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	line-height: 1;
}
#by .block .block_ttl span{
	display: block;
}
#by .block .block_ttl .block_item{
	font-style: italic;
	font-size: 21px;
}
#by .block .block_ttl .block_no{
	font-size: 37px;
}
#by .block .block_ttl .block_name{
	font-size: 45px;
	font-weight: 600;
}
#by .look_area .detail{
	position: relative;
}
#by .look_area .detail .item_name{
	margin: 0 auto;
	padding-top: 20px;
}
#by .look_area .detail .item_name .item_name_ttl{
	margin: 0 auto;
	font-size: 15px;
	text-align: center;
	font-weight: 600;
}
#by .look_area .detail .item_name .item_name_no{
	position: absolute;
    font-size: 70px;
   	right: 5%;
    top: 30%;
    font-family: helvetica-neue-lt-pro, sans-serif;
    font-weight: 400;
    font-style: italic;
    color: rgba(255, 255, 255, 0.3);
	transform: translate(-50%, -50%);
}
#by .look_area .detail .item_name_star{
	width: 54%;
    margin: 5% auto 10%;
}




@media only screen and (min-width: 768px){
	#by section {
		margin: 0% auto;
	}
	#by .block{
	/*max-width: 750px;*/
    margin: 0 auto;
	width: 100%;
	}
	#by .item_name {
   
	}

	#by .block .block_ttl .block_item {
    font-size: 36px;
	}
	#by .block .block_ttl .block_no {
    font-size: 64px;
	}
	#by .block .block_ttl .block_name {
    font-size: 72px;
	}
	#by .block .block_ttl {
    top: 82%;
    left: 42%;
	}
}

#by .look_area{
	background-color: #B8A391;
    padding: 5% 0 16%;
}
#by section:nth-of-type(even) .look_area{
	background-color: #C5BAB0;
    padding: 10% 0 20%;
}
#by .look_area .item_txt_area{
	margin: 10% auto;
}
#by .look_area .item_txt_area .item_txt{
	width: 90%;
	margin: 0 auto;
}
#by .look_area .item_txt_area .credit{
	width: 90%;
	display: flex;
	margin: 5% auto;
	align-items: center;
	justify-content: space-between;
}
#by .look_area .item_txt_area .credit .buy{
	display: flex;
    justify-content: center;
    align-items: center;
    width: 150px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 25px;
    background-color: #000000;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
	height: 36px;
}
#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{
	margin: 0 auto;
	padding-top: 5%;
	padding-bottom: 10%;
	}
	#by section:nth-of-type(even) .look_area{
	flex-direction: row-reverse;
	}
	#by .look_area .look_m{
	width: 100%;
	}
	#by .look_area .look_s{
	width: 100%;
    }
	#by .block .block_pc{
	background-color: #B8A391;
	}
	#by .block .block_pc .block_img{
	width: 70%;
	margin: 0 auto;
	padding: 5% 0 0;
	}
	#by .look_area .detail .item_name {
    padding-top: 0px;
	margin: 0 auto;
	}
	#by .look_area .detail .item_name .item_name_ttl {
    font-size: 26px;
	}
	#by .look_area .detail .item_name .item_name_no {
    font-size: 100px;
    right: 30%;
    top: 5%;
    }
	#by .look_area .detail .item_name_star {
    width: 22%;
    margin: 3% auto 5%;
	}
}

#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 .look_s{
	width: 90%;
    margin-left: auto;
}

#by .card {
  position: relative; /* 子要素の位置基準になります */
  display: inline-block; /* 画像のサイズに収める場合など */
  width: 90%;
  max-width: 600px;
}
#by section:nth-of-type(even) .card {
  width: fit-content !important;
  margin: 0 !important;
}
#by .card_img {
  margin-left: 20px; /* 左から少し離す（お好みの距離に調整） */
  margin-bottom: 30px; /* 下にパーツが突き出る分の余白を確保 */
  width: fit-content; /* または写真自体の幅を指定 */
  
}
#by section:nth-of-type(even) .card_img {
  margin-left: 0;
  margin-right: 0;
  text-align: left; /* 中身の位置関係をリセット */
}
#by section:nth-of-type(even) .card_img img {
  width: 303px !important;     /* 画像の大きさを指定（280pxや250pxなどお好みで調整） */
  height: auto !important;
  margin-left: auto !important;  /* 右寄せ */
  margin-right: 20px !important;
}
#by section:nth-of-type(even) .right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important; /* 右揃えはそのまま維持 */
  padding-right: 0 !important;       /* 余白をリセット */
}
/* -------------------------------------
   あしらいパーツ全体の配置設定
   ------------------------------------- */
#by .point-badge {
  position: absolute;
  /* 右下へ押し出す指定 */
  right: -20px;  /* 右側にはみ出させたい分だけマイナス指定（または 0 にして調整） */
  bottom: -10px; /* 下側にはみ出させたい分だけマイナス指定 */
  
  /* 幅が変わって崩れないように元のサイズを固定 */
  width: 90%;          /* または固定幅 width: 300px; など */
  max-width: 320px;    /* デザインに合わせたサイズを設定 */
  
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
#by section:nth-of-type(even) .point-badge {
  left: 0 !important;           /* 左寄せ（必要に応じて -10px などへ調整） */
  right: auto !important;
}
/* 1. 上の「NEW POINT」タグ */
#by .point-tag {
  	position: absolute;
    top: -15px;
    right: 20px;
    background-color: transparent;
    font-size: 34px;
    padding: 0;
    margin: 0;
    color: #0e70d5;
    letter-spacing: 0.05em;
    z-index: 2;
    font-family: ff-market-web, sans-serif;
    font-weight: 700;
    font-style: normal;
}
#by section:nth-of-type(even) .point-tag {
  margin-right: 0;
  margin-left: 20px;    /* 左端からのずらし量 */
}
/* 2. 下のテキストが入る白ボックス */
#by .point-content {
  background-color: #ffffff;
  /*border: 1.5px solid #000000;*/ /* 黒い細枠 */
  color: #000000;
  padding: 20px 24px;
  width: 100%;
  box-sizing: border-box;
  font-size: 12px;
  text-align: center;
  z-index: 1;
}
@media only screen and (min-width: 768px){
	#by section:nth-of-type(even) .card_img img {
    width: 428px !important;
    margin-right: 20px !important;
	}
	#by section:nth-of-type(even) .card {
    margin: -10% !important;
	}
}
#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 .look_area .pc_flex{
	display: flex;
	width: 1200px;
    margin: 0 auto;
	justify-content: space-between;
	}
	#by .look_area .pc_flex .left{
	width: 45%;
	}
	#by .look_area .pc_flex .right{
	width: 45%;
	}
	#by .card {
    margin-top: -10%;
	margin-left: -10%;
	width: 83%;
	}
	#by section:nth-of-type(even) .look_area .pc_flex {
    flex-direction: row-reverse;
    }
}

#by .look_area .styling_area{
	margin: 15% auto;
}
#by .look_area .styling_area .styling_img{
	margin: 10% auto 7%;
	width: 90%;
}
#by .look_area .styling_area .styling_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 25px;
    background-color: #000000;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
}
@media only screen and (min-width: 768px){
	#by .look_area .styling_area{
	margin: 7% auto 0;
	}
	#by section:nth-of-type(even) .look_area .styling_area{
	margin: 12% auto 0;
	}
	#by .look_area .styling_area .styling_img {
    margin: 0% auto 3%;
    width: 40%;
	}
}
#by section:nth-of-type(even){
	position: relative;
}
#by .or{
	font-family: helvetica-neue-lt-pro, sans-serif;
    font-weight: 400;
    font-style: italic;
	font-size: 42px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media only screen and (min-width: 768px){
	#by .or{
	font-size: 62px;
	}
	#by .look_area .styling_area .styling_btn {
    width: 300px;
	}
}
@media only screen and (max-width: 768px){
	#by section:nth-of-type(3) .block .block_ttl {
		top: 67%;
	}
}
#by section:nth-of-type(even) .point-tag {
  margin-right: 0 ; /* タグを左に押して内側にズラす */
  margin-left: 0 !important;
}
/*=== 画像の表示エリア ================================= */
#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 9s ease infinite;;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
#by section .slide3 img:nth-of-type(1) { animation-delay: 0s }
#by section .slide3 img:nth-of-type(2) { animation-delay: 3s }
#by section .slide3 img:nth-of-type(3) { animation-delay: 6s }
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime3{
   0% { opacity: 0 }
   16% { opacity: 1 }
  33% { opacity: 1 }
  49% { opacity: 0 }
 100% { opacity: 0 }
}


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


@media only screen and (min-width: 768px){
	#by section .slide4 {
    height: 750px;
    margin: 15% 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%;
		}
	}