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


.main{
  position: relative;
	width: 100%;
    z-index: 10; 
	    background-color: #ece7d3;
	padding-top: 50px;
	font-family: "bodoni-urw","游明朝","游明朝体","ヒラギノ明朝 ProN", serif;
	 overflow: hidden; 
}

.fs-l-main {
	margin: 0 auto;
	padding: 0;
	max-width: 1100px;
}
.fs-l-page {
	margin-top: 90px;
}

#lp_wrap {
/*    position: relative; */
	-webkit-text-size-adjust: 100%;
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
    color: #14447b;
    background-color: #ece7d3;
    font-family: "bodoni-urw", "游明朝", "游明朝体", "ヒラギノ明朝 ProN", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: .35em;
    box-sizing: border-box;
}

#lp_wrap a {
    color: #14447b;
    font-size: 1.4rem;
}

#lp_wrap ul {
    list-style: none;
    text-align:right;
}
#lp_wrap a {
    transition: .3s;
    display: block;
}
#lp_wrap a:hover {
    opacity: .7;
}
#lp_wrap img {
    vertical-align: bottom;
}

.fv_title_img {
	width: 70%;
/*	margin: 0 auto;*/
    position: absolute;
    top: 70%; /* 画面の2/3センターの位置に調整 */
    left: 15%;
/*    transform: translateX(-50%);  */
    z-index: 20; /* 他の画像より前面に表示 */
}


.parallax_content {
    position: sticky;
	top: 0; 
    height: calc(100vh - 90px);
    overflow: hidden; 
	margin: 0; 
padding-left: 0.5px;
}

.parallax_img {
    position: absolute;
    top: 50%;
    left:50;
    width: 100%;
    height: auto;
    transform: translate(0, -50%);
    object-fit: cover;
	margin: 0; 
padding: 0;
}

/* .scroll {
    position  : absolute;
    font-size : 13px;
    writing-mode : vertical-rl;
    top : -70%;
    left : 50%;
    transform: translateX(-50%) translateY(-50%);
}
.scroll::after {
    content : '';
    display : inline-block;
    position : absolute;
    background-color: #14447b;
    right : 50%;
    bottom : -115px;
    transform : translateX(-50%);
    width : 1px;
    height : 60px;
    animation: scroll 3s infinite;
} */

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


.main_imagetext1{
		width: 75%;
	position: absolute;
	top: -10%;
	left: -3%;
	animation: fadeIn 2.5s ease 1.5s 1 normal backwards;
	z-index: 2;

}

.main_image{
	position: relative;
    margin: 100px auto 0px;
    animation: fadeIn 1s ease 2s 1 normal backwards;
    width: 58%;
}
.main_imagetext2{
	width: 11%;
	position: absolute;
	top: 0;
	right: -13%;
	z-index: 2;
}

/*ラインナップ*/
.lp_wrap_lineup {
    max-width: 440px;
    width: 100%;
    margin: 0 auto 120px;
	border-bottom: 1px solid #14447b;
	border-top: 1px solid #14447b;
	padding-bottom: 20px;
}
.lineup ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
	margin-top: 13px;
}
.lineup ul li {
    width: 32%;
    margin-top: 8px;
}

/*
#lp_wrap_24aw_styling .lp_wrap_lineup .lineup li[data-inview] {
opacity: 0;
translate: 0 20px;
transition: opacity 1s 0s cubic-bezier(0.165, 0.84, 0.44, 1), translate 2s 0s cubic-bezier(0.165, 0.84, 0.44, 1);
will-change: opacity;
}
#lp_wrap_24aw_styling .lp_wrap_lineup .lineup li[data-inview].inview {
opacity: 1;
translate: 0 0;
}
*/

@keyframes fadeIn {
  0% {
     opacity: 0;
/*     transform: translateY(-100px);*/
  }
  100% {
     opacity: 1;
/*     transform: translateY(0);*/
  }
}


.insta {
    width: 60%;
    margin: 5px auto 22%;
    text-align: right;
    letter-spacing: 0.1em;
font-family: "bodoni-urw", serif;
font-weight: 400;
font-style: normal;
}
.main_comment{
	position: relative;
	text-align: center;
	margin-bottom: 12%;
}
.main_comment span {
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 2.5em;
}

.markdown{
	width: 75%;
	margin: 0 auto 15%;
}



.item_top {
	margin-top: 100px;
}

.item_top2{
	margin-top: 120px;
}


/*下から上にフェードイン*/
.down-to-top {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s;
    transition-delay: .3s;
}
.down-to-top.inview {
    opacity: 1;
    transform: translateY(0);
}

/*フェードイン*/
.fade-in {
    opacity: 0;
    transition: all 1s;
    transition-delay: .3s;
}

.fade-in.inview {
    opacity: 1;
}




#lp_wrap .slick-slide {
	margin: 0;
	position: relative;
}


#lp_wrap .slick-slide {
	transition: all ease-in-out .3s;
	opacity: 1;
}

#lp_wrap .slick-active {
	opacity: 1;
}

#lp_wrap .slick-current {
	opacity: 1;
}

/*アイテムクレジット*/

.item_comment{
		width: 75%;
		margin: 0 auto;
	padding-top: 30px;

	}

#item04 .item_comment{
	margin-top: 40px;
}

.item_name_flex{
	width: 100%;
	display:flex;
	justify-content: space-between;
	align-items: center;
/*    margin: 10px 0px 10px 10px;*/
    letter-spacing: 0.1em;
	  border-bottom: 1px solid #14447b; /* 下線の色と太さ */
  padding-bottom: 10px; /* 下線と要素の間に余白をつける（調整可） */
}

.item_name_flex_inner img {
	max-width: 90px;
	display: block;
}


.item_name_flex_inner p{
	padding-right: 20px;
	display: inline-block;
	    font-size: 20px;
    letter-spacing: 0.1rem;
	font-family: "bodoni-urw";
}

.item_name_flex_inner span{
	font-size: 18px;
	
}

.slick-prev, .slick-next {
    top: 50%;
}


.main_comment p.fff{
    font-size: 1.5rem;
    letter-spacing: 3.5px;
}
.main_comment p.fff img{
    width: 18%;
}

.main_comment2{
	width: 100%;
}
.main_comment2 p.fff{
    width: 100%;
    margin:0 auto;
}
.main_comment2 p.fffcomment{
    width: 100%;
    margin:auto;
    padding-top:10px;
    text-align: left;
    font-size: 2rem;
    letter-spacing: 0.1rem;
}
.main_comment2 p.fff:last-child{
	text-align: left;
/*    padding-top: 10px;*/
    letter-spacing:3px;
    font-size: 1.5rem;
}

/*背景色*/

#item01 .item_slider_box,
.item_slider_box5,
#item04,
.item4_section2,
#item06
{
	position: relative;
}

.item1_bk,
.item4_bk,
.item4_bk2,
.item3_bk,
.item5_bk,
.item6_bk
{
	position: absolute;
	z-index: -1;
	width:80%;
	background-color: #a0b4bb;
}
.item3_bk {
		left: 0;
	top: 10%;
	width:78%;
	height: 50%;
}

.item5_bk{
	width:60%;
	height: 80%;
	top: -5%;
	right: -10%
	
}

.item4_bk{
		right:  0;
	top: -2%;
	height: 21%;
	width: 80%;
}

.item6_bk{
	width: 85%;
	height: 33%;
	top: 17%;
	left: -10%;
	
}
.item4_bk2{
	top: 10%;
	left: 0;
	height: 65%;
}

#item04{
	margin-top: 160px;
}

 .item1_bk{
	left: -13%;
	top: -5%;
	width:55%;
	height: 80%;
}
.item4_main{
	width: 85%;
	margin-right: auto;
}

.item6_main{
	width: 37%;
margin: 50px 50px 0 auto;
}

.item6_main2{
	width: 60%;
	margin: 80px auto 0;
}

.item1_title,
.item2_title,
.item3_title,
.item4_title,
.item5_title,
.item6_title
{
	position: absolute;
	z-index: 3;
}

.item1_title{
		top: -15%;
	left: -30%;
	width: 60%;
    margin-top: 30%;
}

.item2_title{
	top: -20px
}

.item3_title{
	width: 55%;
	top: 10%;
	right: 4%;
}

.item5_title{
	width: 68%;
	top: 9%;
	left: 55%;
	
}
.item4_title
{
		width: 43%;
	top: -70px;
	right: 4%;
}

.item6_title{
	width: 50%;
	top: 31%;
	left: 15%;
}


#item01 .item_flex{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-top: -5%;
}

#item01 .item_flex_inner1{
	width: 40%;
	padding-top: 38%;
}
#item01 .item_flex_inner2{
	width: 58%;
	padding-left: 25px;
}
#item02{
	margin-top: 130px;
}
#item02 .item_flex{
	width: 94%;
/*	float: left;*/
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	
}

#item02 .item_flex_inner1
{
	width: 60%;
}
#item02 .item_flex_inner2{
	width: 37%;
   padding-top: 40%;
}

.item02_section2{
	position: relative;
	width: 100%;
	z-index: 1;
}


.item02_section2::after {
	  content: "";
  position: absolute;
  top: 50px; /* 背景の高さをずらす */
  left: 0;
  width: 100%;
  height:80%;
  background-color: #a0b4bb; /* ずらした背景色 */
  z-index: -1; /* 背景を後ろに */
}

.item02_section2_inner{
	width: 50%;
	margin: 10px 0 0 7%;

}

.item03_item_flex{
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.item03_item_flex .item_flex_inner1,
.item03_item_flex .item_flex_inner2{
	width: 49%;
	padding: 5px
}

.item03_item_flex .item_flex_inner2{
	
}

.item03_item_flex2,
#item04 .item_flex
{
		width: 93%;
	display: flex;
	margin-left: auto;
	position: relative; /* 親要素を相対配置に */
	margin-top: 70px;
}

.item03_item_flex2 .item_flex2_inner1,
#item04 .item_flex_inner1{
width: 63%;	
	    position: relative; /* 必要なら追加 */
    z-index: 2; /* 画像が上にくるように調整 */
}


.item03_item_flex2 .item_flex2_inner2,
#item04 .item_flex_inner2{
	width: 45%;
	    position: absolute;
    right: 0; /* 右側に配置 */
    z-index: 5; /* 背景側に配置 */
}
.item03_item_flex2 .item_flex2_inner2{
	top: 35%;
}

#item03 .fffcomment span{
	    font-size: 1.5rem;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

#item04 .item_flex_inner2{
	top: 45%;
}

.item4_section2_inner{
	width: 33%;
	margin: 10% 0 0 18%;
}


.item_flex_inner2{
	margin-top: 15%;
}

.item3_section3{
	position: relative;
	margin-top: 50px;
}
.item3_section3_inner{
/*	float: right;*/
	margin-left: auto;
	width: 72%;
}

.item3_section3 .item_flex{
		width: 90%;
/*	margin-left: auto;*/
/*	float: right;*/
	display: flex;
	justify-content: space-between;
}

.item3_section3 .item_flex .item_flex_inner1{
	width: 65%;
}

.item3_section3 .item_flex .item_flex_inner2{
	width: 45%;
}


#item06 .item_flex{
	width: 96%;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
}

#item06 .item_flex_inner1{
	margin-top: 38%;
	width: 35%;
	padding-right: 13px
}

#item06 .item_flex_inner2{
	width: 65%;
}

#item06 .item_flex_inner1 ul li{
	padding-bottom: 15px;
}

.slick-dotted.slick-slider{
	margin-bottom: 0;
}

.item_link{
	padding-left: 10px;
	padding-top: 10px;
	float: left;
	font-size: 16px;
	letter-spacing: 0.1rem;
}

.item_link span{
	margin-left: 10px;
	border-bottom: solid 1px #14447b;
}


#item_list .bottom_slider_title img{
	margin-bottom: 6%;
}

#last{
	width: 100%;
}

.introduction_text{
	position: relative;
	width: 75%;
	margin: 0 auto;
	background-color: #a0b4bb;
	text-align: center;
}

.introduction_text_inner{
	margin: 0px auto;
	padding: 40px 0;
	width: 75%;
	font-size: 15px;
	letter-spacing: 0.1em
}


.introduction_flex{
		display: flex;
	justify-content: center;
	}

.introduction_flex li{
	font-size: 18px;
	padding: 0 10px;
}

.tate{ position: relative;
margin-bottom: 22%}

.tate::after{
	 position: absolute;
  content: "";
  top: 50%;
  width: 1px;
  height: 40px;
  background-color: #14447b;
	margin-top: 4%
}


.introduction_text_inner span{
	font-size: 14px;
}

.last_text{
	width: 65%;
	margin: 0 auto 100px;;
}

.item_slider_box{
    width: 70%;
margin-left: auto;
/*    margin-left:33px;*/
}

.item_slider_box2 {
  width: 90%;
max-width: 650px;
  overflow: visible !important; 
  position: relative;
	margin: 0 auto;
}

.item_slider_box2 .item_slider {
width: 80%;
margin: 0 auto;
  overflow: visible !important; /* 画像が見切れるように */
	  position: relative;
}
.item_slider_box2 .slick-list{
	  overflow: visible !important;
}


.item_slider_box2 .slick-slide {
  transition: transform 0.2s ease;
}


.item_slider_box2 .item_slider_image{
	padding: 0 10px;
}


.item_slider_box4{
	width: 58%;
	margin: 70px auto 0px;
}


.item_slider_box5{
	    width: 78%;
margin-right: auto;
}

.item_slider_box5_2{
	width: 50%;
	margin: 50px auto 0px;
}

.item_slider_box6{
	margin: 120px 0px 0px 50px;
    width:55%;
}


.slider{
    width: 100%;
    top: 10px;
}
.item_box{
	display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
}
.item-box-in{
	    width: 46%;
}
.item-box-in .item_name {
    width: 70%;
    margin: 2% auto 20%;
}
.other_box div,
.view_all div{
    margin-top: 3%;
}
.other_box div p,
.view_all div p{
    font-size: 17px;
}
.other_box {
        margin: 15% auto 25%;
}
.other_box a,
.other_box div p,
.view_all a,
.view_all div p{
    letter-spacing: 2px;
    font-size:15px;
}
.other_features,
.view_all_btn{
    text-align: center;
    border-width: 1px;
    border-style: solid;
    padding: 1.5%;
}

.other_features{
	 margin: 8% auto 5%;
	width: 45%;
}
.view_all_btn{
	 margin: 20px auto 0;
	width: 78%;
} 
/*
.item_slider{
	position: relative;
}
*/
.slick-dots {
  position: absolute!important;
  bottom: 8px; 
  left: 5px;   
  z-index: 10;  /* 画像より前面に表示 */
  display: flex;
  justify-content: flex-start; /* 左寄せ */
  padding: 0; /* 余白を削除 */
  margin: 0; /* 余白を削除 */
  width: auto; /* 必要なら指定 */
}
.slick-dots li{
    margin: 0 4px;
}

/* アクティブなドットの色 */
.slick-dots li.slick-active button:before {
  background: #1e66a9;
  opacity: 1;
}

/* 通常のドットの色 */
.slick-dots li button:before {
  background: #bbbbbb;
  opacity: 0.7;
}

.lp_wrap_lineup {
	position: relative;
    width: 85%;
    margin: 0 auto 100px;
}
/*
*/
.lineuptext{

	position: absolute;
	top: 22%;
	right: -8%;
	z-index: 1;
}
.lineuptext img {
	width: 63%;
}


.insta_ac{
		width: 75%;
		margin: 0 auto 10px;
	letter-spacing: 0.1em
	}
.insta_ac img{
	width: 25px;
	padding: 0 10px 3px 0;
	}

	



/***************▼スマホ大▼*****************/
@media screen and (max-width: 640px) {
	.fs-l-main {
		margin: 0 auto;
		padding: 0;
		width: 100%;
	}
	.fs-l-page {
		margin-top: 80px;
	}
	
.parallax_content {
  padding: 0;
  height: calc(100vh - 80px);
}

	
    #item02 .item_recommend_point {
    padding: 0 3% 35%;
}
	  .parallax_content {
    background-attachment: scroll;  /* モバイルでのパララックスを無効にする */
    background-size: cover; /* サイズ調整 */
  }
	
/**/
	
.lineuptext{
	top: 29%;

}
.lineuptext img {
	width: 42%;
}

	.introduction_flex{
		display: block;
		text-align: center!important;
	}
	
	.introduction_flex li{
	font-size: 18px;
	padding: 0;
}

	.introduction_text{
	width: 83%;
}

.introduction_text_inner{
	width: 80%;
	padding: 30px 0;

}
	
.item_name_flex_inner p{
	font-size: 17px;
	padding-right: 15px;
}

	.item_name_flex_inner span{
		font-size: 15px;
	}

.tate{ 
margin-bottom: 23%}

.tate::after{
	margin-top: 2%
}

}



/***************▼スマホ小▼*****************/
@media screen and (max-width: 479px) {
/*
#lp_wrap {
    margin: 77px auto 0;
}
*/

#lp_wrap a {
    font-size: 1.2rem;
}

.item_name_flex_inner p{
	font-size: 15px;
	padding-right: 10px;
	padding-top: 3px;
}
	
.item_name_flex_inner span{
	font-size: 14px; 
	}

	
.lp_wrap_lineup{
		width: 78%;
	}

	
.item_comment{
		width: 85%;
		margin: 0 auto;
	}
.lineuptext{
		right: -10%;
	}

#lp_wrap .slick-prev:before,  #lp_wrap .slick-next:before {
	width: 14px;
	height: 14px;
}
.slick-prev, .slick-next {
	width: 10px!important;
}
.main_imagetext1{
    width: 70%;
    margin: 10px auto 20px;
}
.insta{
 margin: 5px auto 25%;
	}
	
.parallax_img{
		top: -3%;
		left: 0;
		transform: none;
	}
	
.fv_title_img {
	top: 55%;	
	}
/*
.scroll{
		top: -65%;
	}
	
*/
.scroll::after{
		height: 50px;
	    bottom: -108px;
	}
.main{
		padding-top: 30px;
	}


.main_comment {
    width: 85%;
	margin: 0 auto 12%;
}    
.main_comment span {
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 2.5em;
}  
.main_comment p.fff {
    font-size: 1.2rem;
    letter-spacing: 2.5px;
}
.main_comment_buy{
	margin-left:10px;
    margin-bottom: 2px;
}
.main_comment2 p.fffcomment{
    font-size: 1.5rem;
}
	
#item03 .fffcomment span{
	    font-size: 1.1rem;
}
.main_comment p strong {
    font-size: 1.4rem;
}
.sp-w{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.slider{
    top: 20px;
}

.item_name_flex_inner img {
	max-width: 72px;
	}
#item01 .item_flex_inner1 {
    padding-top: 35%;
}
	
#item04{
	margin-top: 150px;
}

.item_slider_box4{
	margin: 60px auto 0px;
}

.item4_title
{
	top: -46px;
}
	
.item4_bk {
		height: 19%;
	}
	
.item4_section2_inner {
    margin: 15% 0 0 18%;
}	

.item2_title {
    top: -15px;
}
	
.item2_section2::after {
		height: 400px;
	}
	
	
.item_slider_box5_2 .item_link,
.item_slider_box6 .item_link,
.item_slider_box4 .item_link,
	.item6_main .item_link{
		padding-left: 0;
	}
	
	.item6_title {
    top: 29%;
	}
	
.item6_main {
	margin: 60px 35px 0 auto;}
	
.item_slider_box6 {
    margin: 120px 0px 0px 20px;

}

	
.item_name_flex{
	width: 100%;
	font-size: 8.5px!important;
/*    margin: 10px 0px 10px 25px;*/
}
/*
.item_lineup {
    padding: 20px 0 0;
}
*/
.item_wrap .main_comment {
    margin: 0 auto 25px;
    padding-top: 10px;
}
.main_comment2 p.fff{
	padding-top:20px;
}
.main_comment2 p.fff:last-child{
    padding: 0;
    letter-spacing: 2px;
    font-size: 13px;
/*    width: 85%;*/
}
.item_wrap {
    margin: 30% auto 0;
}

.other_box a, .other_box div p {
    font-size:13px;
}
.other_features {
    padding: 1.5%;
    width: 50%;
}
    
}

@media screen and (max-width: 376px) {
	
	.item_name_flex_inner img {
	max-width: 70px;
	}
	
	.item_name_flex_inner p {
        font-size: 14px;
        padding-right: 8px;

    }
}


