@charset "UTF-8";
/*==============
    index
================*/
#p_index{
}
body{
}


/* ------------------------------
    mv
------------------------------ */
.mv{
	overflow: hidden;
	position: relative;
	z-index:1;
	height: 100vh;
}
.mv .txt{
	position: absolute;
	/*top: 50%;*/
	left: 50%;
  bottom: 85px;
	transform: translate(-50%,0);
	padding-top: 64px;
	white-space: nowrap;
	z-index:2;
}
.mv .txt span{
	text-align: center;
	display: block;
	color: #fff;
	line-height: 1;
}

.mv .txt .en{
	font-size: 4.4rem;
	letter-spacing: 0.03em;
}
.mv .txt .jp{
	font-size: 1.8rem;
	margin-top: 35px;
	letter-spacing: 0.25em;
}
.mv .mv_ph{
 	overflow:hidden;
	width: 100%;
	height: 100%;
}
.mv_ph *{
	height: 100%;
}
.mv_ph li{
	position: relative;
	transform-origin: center;
	overflow: hidden;
}
.mv_ph li.moving{
	animation: mv_fade 15s ease 0s 1 alternate none;
  	transform-origin: center;
}

	@keyframes mv_fade {
	  from {
	    transform: scale(1.0);
	  }

	  to {
	    transform: scale(1.1);
	  }
	}



.mv .mv_ph img{
	position: absolute;
 	z-index:-1;
	width:  auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

@keyframes mvimg {
    0% {transform: scale(1.05);}
    100% {transform: scale(1);}
}
@media screen and (max-width: 768px) {

	.mv .txt{
    bottom: 14vw
	}
	.mv .txt span{
	}

	.mv .txt .en{
		font-size: 6vw;
		letter-spacing: 0.03em;
	}
	.mv .txt .jp{
		font-size: 3.2vw;
		margin-top: 3vw;
		letter-spacing: 0.25em;
	}
	.mv .mv_ph img{
	}

}


/* ------------------------------
    index_sec1
------------------------------ */
.index_sec1{
	padding-top: 96px;
	padding-bottom: 160px;
	position: relative;
	z-index:2;
	align-items: center;
	flex-flow: row-reverse;
}
.index_sec1 .linebox{
	position: absolute;
	z-index: -1;
}
.index_sec1 .linebox1{
	width: 50.1%;
	height: calc(100% - 87px);
	top: 0;
	left: 0;
}
.index_sec1 .linebox1.move .line_r{
 	animation: rightAnim 0.3s ease 0.8s both;
}
.index_sec1 .linebox1.move .line_bottom{
 	animation: bottomAnim 0.3s ease 1.1s both;
}

.index_sec1 .linebox2{
	width: 42.3%;
	height: 370px;
	right: 0;
	bottom: -110px;
}
.index_sec1 .linebox2.move .line_l{
	animation: leftAnim 0.3s ease 1.5s both;
}
.index_sec1 .linebox2.move .line_bottom{
 	animation: bottomAnim 0.3s ease 1.2s both;
}


.index_sec1 .txt{
	width: 424px;
	padding-left: 80px;
}
.index_sec1 .ttl_line{
	letter-spacing: 0.2em;
	line-height: 1.8;
	margin-bottom: 30px;
}
.index_sec1 .img{
	position: relative;
	width: calc(100% - 554px);
}
.index_sec1 .img p{
	position: absolute;
	top: -75px;
	right: 43px;
	transform: rotate(90deg) translateX(100%);
	transform-origin:right top;
	line-height: 1;
	font-size: 4.7rem;
}

.index_sec1 .linebox3{
	width: 1px;
	height: 100px;
	right: 20px;
	top: -96px;
	z-index:-2;
}

.index_sec1 .linebox4{
	width: 84px;
	height: 150px;
	right: 170px;
	top: -96px;
	z-index:2;
}


.index_sec1 .btn_line{
	margin-left: 10px;
	margin-top: 30px;
	width: 160px;
}

@media screen and (min-width: 769px) {
	.index_sec1 .img{
		min-width: 756px;
	}
	.index_sec1 .txt{
	}
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
	.index_sec1 .img{
	}
	.index_sec1 .txt{
		max-width: 404px;
		padding-right: 30px;
		padding-left: 2%;
	}
}

@media screen and (max-width: 768px) {
	.index_sec1{
		padding-top: 10vw;
		padding-bottom: 16vw;
	}
	.index_sec1 .linebox1{
		width: 93vw;
		height: calc(100% - 47vw);
		top: 50vw;
		left: 0;
	}
	.index_sec1 .linebox2{
		width: 57vw;
		height: 13vw;
		right: 0;
		top: 60vw;
	}

	.index_sec1 .txt{
		width: 90vw;
		margin-right: 0;
		padding-left: 5vw;
		margin-top: 10vw;
	}
	.index_sec1 .ttl_line{
		letter-spacing: 0.2em;
		line-height: 1.8;
		margin-bottom: 4vw;
	}
	.index_sec1 .ttl_line span{
		font-size: 5vw;
	}
	.index_sec1 .img{
		position: relative;
		width: 95vw;
		margin: 0vw 0 0 auto;
	}
	.index_sec1 .img p{
		top: -8vw;
		left: auto;
		right: 9vw;
		line-height: 1;
		font-size: 5.3vw;
	}
	.index_sec1 .linebox3{
		width: 1px;
		height: 10vw;
		top: -10vw;
		right: 5vw;
	}
	.index_sec1 .linebox4{
		width: 8vw;
		height: 30vw;
		right: 14vw;
		top: -10vw;
		z-index:2;
	}
	.index_sec1 .btn_line{
		margin-left: 2vw;
		margin-top: 4vw;
		width: 34vw;
	}

}

/* ------------------------------
    index_sec2
------------------------------ */
.index_sec2{
	background: #fff;
	padding-top: 64px;
	padding-bottom: 92px;
}
.index_sec2 .ttl_line{
	margin-bottom: 82px;
}
.sec2Li{
	flex-wrap: wrap;

}
.sec2Li li{
	width:31.2%;
}

.sec2Li li .img{
	position: relative;
	padding-left: 42px;
	z-index:1;
}
.sec2Li li .txt{
	margin-top: 36px;
}
.sec2_name{
	text-align: center;
	font-size: 1.8rem;
	line-height: 1;
	margin-bottom: 24px;
	letter-spacing: 0.15em;
}
.sec2_name .sm {
  font-size: 1.2rem;
}
.sec2Li li .txt p{
	padding-left: 0.5em;
	letter-spacing: 0.03em;
}

.sec2Li li .txt p span {
  font-size: 1rem;
}
.sec2Li li .bg{
	position: absolute;
	width: calc(100% - 10px);
	height: 100%;
	top: -10px;
	left: 0;
	background: #F5F3ED;
	z-index:-1;
	transition: .6s;
}
.sec2Li li .bg p{
	transform: rotate(-90deg) translateX(-100%);
	transform-origin:left top;
	width: 100%;
	text-align: right;
	padding-top: 10px;
	padding-right: 10px;
	line-height: 1;
}
.index_sec2 .btn_line{
	margin: 64px auto 0;
}

@media screen and (min-width: 769px) {
	.index_sec2 .ttl_line .en{
		font-size: 2.6rem;
	}
	.sec2Li li:nth-child(n+4){
		margin-top: 83px;
	}
	.sec2Li li a:hover img{
		opacity: 1;
	}
	.sec2Li li a:hover .bg{
		color: #fff;
		background: #C89EA0;
	}
	.sec2Li  .hoverline{
		display: inline-block;
		position: relative;
	}
	.sec2Li .hoverline:before{
		content: "";
		display: block;
		position: absolute;
		height: 3px;
		width: 0;
		background: #C89EA0;
		bottom: -0.5em;
		left: 0;
		transition: .4s;
	}
	.sec2Li li a:hover .hoverline:before{
		width: 100%;
	}

	.index_sec2 .btn_line:before{
		display: flex;
		content: "商品一覧をみる";
		opacity:0;
	}
	.index_sec2 .btn_line:hover:before{
		opacity: 1;
	}
}
@media screen and (max-width: 768px) {
	.index_sec2{
		padding-top: 12vw;
		padding-bottom: 12vw;
	}
	.index_sec2 .ttl_line{
		margin-bottom: 10vw;
	}
	.sec2Li{
	}
	.sec2Li li{
		width:48.5%;
	}
	.sec2Li li:nth-child(n+3){
		margin-top: 8vw;
	}

	.sec2Li li .img{
		position: relative;
		padding-left: 4vw;
		z-index:1;
	}
	.sec2Li li .txt{
		margin-top: 4vw;
	}
	.sec2_name{
		text-align: center;
		font-size: 3.7vw;
		line-height: 1.2;
		margin-bottom: 2.6vw;
		letter-spacing: 0.1em;
	}
	.sec2Li li .txt p{
	}
	.sec2Li li .bg{
		position: absolute;
		width: calc(100% - 3vw);
		top: -3vw;
	}
	.sec2Li li .bg p{
		font-size: 2.6vw;
		padding-top: 0.5vw;
		padding-right: 3vw;
		line-height: 1;
		width: 120%;
		white-space: nowrap;
	}
	.index_sec2 .btn_line{
		margin: 8vw auto 0;
	}

}


/* ------------------------------
    index_sec3
------------------------------ */
.index_sec3{
	margin-bottom: 68px;
}
.index_sec3 .btn_ph .small{
	letter-spacing: 0.2em;
	margin-top: 1.2em;

}
.sec3btn1{
	padding-bottom: 10px;
	background: #fff;
}
.sec3btn1 a{
	justify-content: flex-start;
	flex-flow:row-reverse;
	align-items: center;
	background: #F5F3ED;
}
.sec3btn1 .btn_ph{
	width: calc(50% + 120px);
}

.sec3btn1 .btn_line{
	/*margin-top: 20px;*/
	margin-left: 10px;
	width: 184px;
}
.sec3btn1 .sec3btn1_txt{
	width: 430px;
	padding-left: 8px;
	padding-right: 90px;
}
.sec3btn2{
	width: calc(50% - 5px);
}


@media screen and (min-width: 769px) {
	.index_sec3:hover img{
		opacity: 1;
	}
	footer .sec3btn1:hover .a_ico{fill:#fff;}
	.sec3btn1 .btn_ph .txt{
		padding-top: 20px;
	}

}
@media screen and (max-width: 768px) {
	.index_sec3{
		margin-bottom: 10vw;
	}
	.index_sec3 .btn_ph .txt{
		font-size: 5.3vw;
	}
	.index_sec3 .btn_ph .txt span.small{
		letter-spacing: 0.2em;
		margin-top: 0.5em;
		font-size: 3.7vw;
	}
	.sec3btn1{
		padding-bottom: 1.3vw;
	}
	.sec3btn1 a{
		display: block;
	}
	.sec3btn1 .btn_ph{
		width: 100%;
	}
	.index_sec3 .btn_ph:before{
		background: rgba(0,0,0,0.5);
	}

	.sec3btn1 .btn_line{
		margin-top: 3vw;
		margin-left: 2vw;
		width: 40vw;
	}
	.sec3btn1 .sec3btn1_txt{
		width: 100%;
		padding: 5vw;
	}
	.sec3btn2{
		width: 100%;
	}
	.sec3btn2 + .sec3btn2{
		margin-top: 1.3vw;
	}
}


/* ------------------------------
    index_sec4
------------------------------ */
.index_sec4{
	margin-bottom: 105px;
}
.sec4li{flex-wrap: wrap;}
.sec4li li{
	width: 25%;
}
.sec4li .btn_ph {
  height: 0;
  width: 100%;
  padding-bottom: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sec4li .btn_ph .txt{
	font-size: 1.4rem;
	letter-spacing: 0.15em;
	opacity: 0;
	transition: .6s;
}
.sec4li .btn_ph .btn{
	border:1px solid #fff;
	width: 155px;
	line-height: 30px;
	font-size: 1.2rem;
	margin: 18px auto 0;
}
.sec4li .btn_ph:before{
	opacity: 0;
}

.index_sec4 .btn_line{
	margin: 60px auto 0;

}
@media screen and (min-width: 769px) {
	.index_sec4 .ttl_line .en{
		font-size: 2.6rem;
	}
	.index_sec4 .btn_line:before{
		display: flex;
		content: "インスタグラムを見る";
		opacity:0;
	}
	.index_sec4 .btn_line:hover:before{
		opacity: 1;
	}
	.sec4li .btn_ph:hover:before, .sec4li .btn_ph:hover .txt{
		opacity: 1;
	}
}
@media screen and (max-width: 768px) {
	.index_sec4{
		margin-bottom: 12vw;
	}
	.sec4li{
	}
	.sec4li li{
		width: 50%;
	}
	.index_sec4 .btn_line{
		margin: 5vw auto 0;
	}
}

