@charset "utf-8";

/* カルーセルの外枠 */
#main-slide {
	width: 100vw;
	height: 100svh;
	display: flex;
	position: relative;
	background-color: #CF3714;
	color: #fff;
	font-family: 'Shippori Mincho', serif;
}

.carousel.left {
	width: 50vw;
	height: 100svh;
	display: flex;
	flex-flow: row;
	overflow: hidden;
	margin: 0 auto;
}
.carousel.right {
  width: 50vw;
  height: 100svh;
  display: flex;    /* 子要素を横に並べる */
	flex-flow: row-reverse;
  overflow: hidden; /* はみ出た部分は表示しない */
  margin: 0 auto;   /* 水平方向中央寄せ */
}
/* カルーセル内の画像 */
.carousel img {
	margin: 0;
	padding: 0;
	width: 100%;
	filter: brightness(.7);
}
/* スクロールアニメーションのキーフレーム */
@keyframes scroll-left {
	/* 初期位置は1個目の画像が左端 */
	0% { margin-left: 0; }      
	/* 1個分左の位置に進めて2個目の画像を左端にする */
	20% { margin-left: -100%; }
	/* 少しの間上と同じ位置 */  
	25% { margin-left: -100%; }
	/* 2個分左の位置に進めて3個目の画像を左端にする */
	45% { margin-left: -200%; }
	/* 少しの間上と同じ位置 */  
	50% { margin-left: -200%; }
	/* 以降は上と同様に繰り返し */
	/* 以降は上と同様に繰り返し */
	70% { margin-left: -300%; }
	75% { margin-left: -300%; }
	95% { margin-left: -400%; }
	100% { margin-left: -400%; }
}
@keyframes scroll-right {
	/* 初期位置は1個目の画像が左端 */
	0% { margin-right: 0; }      
	/* 1個分左の位置に進めて2個目の画像を左端にする */
	20% { margin-right: -100%; }
	/* 少しの間上と同じ位置 */  
	25% { margin-right: -100%; }
	/* 2個分左の位置に進めて3個目の画像を左端にする */
	45% { margin-right: -200%; }
	/* 少しの間上と同じ位置 */  
	50% { margin-right: -200%; }
	/* 以降は上と同様に繰り返し */
	70% { margin-right: -300%; }
	75% { margin-right: -300%; }
	95% { margin-right: -400%; }
	100% { margin-right: -400%; }
}

/* カルーセルの子要素にスクロールアニメーションを設定 */
.carousel.left > :first-child {
	animation-name: scroll-left;    /* キーフレーム名 */
	animation-duration: 20s;  /* 再生時間全体は20秒 */
	animation-delay: 0s;      /* 読込直後から遅延無しで開始 */
	animation-iteration-count: infinite;  /* 無限に繰り返す */
}
.carousel.right > :first-child {
	animation-name: scroll-right;    /* キーフレーム名 */
	animation-duration: 20s;  /* 再生時間全体は20秒 */
	animation-delay: 0s;      /* 読込直後から遅延無しで開始 */
	animation-iteration-count: infinite;  /* 無限に繰り返す */
}

.fv_contWrap  {
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	z-index: 6;
}
#main-slide h1 img  {
	width: 35vw;
	margin-bottom: 2.3rem;
}

.fv_contWrap > p:first-of-type {
	font-size: 1rem;
	margin-bottom: 1.2rem;
}
.fv_contWrap > p:last-of-type {
	font-size: 0.6rem;
}
#main-slide h2 {
	position: absolute;
	top: 3.3%;
	left: 5%;
	font-size: 0.6rem;
	line-height: 0.75rem;
	z-index: 6;
}



/*--------------------------------
    statement
--------------------------------*/
#statement {
	position: relative;
	padding: 2.5rem 0 45% 12.5%;
	background: url("../img/top/bg_statement_01.png") top 15% right -30vw / 100% no-repeat #E1E3D9;
}

#statement h2 {
	position: relative;
	font-family: initial;
	margin-bottom: 4rem;
	color: #CF3714;	
	font-weight: 700;
}
#statement h2::before {
	content: "";
	width: 1rem;
	height: 1px;
	background-color: #CF3714;
	position: absolute;
	top: -0.5rem;
	left: 0;
}

#statement h3 {
	font-family: 'Shippori Mincho', serif;
	font-size: 1.4rem;
	line-height: 2rem;
}

#statement div:nth-of-type(1) p {
	font-size: 0.9rem;
	line-height: 1.8rem;
	writing-mode: vertical-rl;
	margin-bottom: 7rem;
}
#statement div:nth-of-type(2) p {
	font-size: 0.8rem;
	margin-top: 3rem;
	line-height: 1.8rem;
}

.statement__img--1 {
  position: absolute;
	top: 44.5%;
	right: 0;
	width: 30%;
	/*min-width: 120px;*/
	aepect-ratio: 2 / 3;
}
.statement__img--2 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 48%;
	/*min-width: 204px;*/
	aepect-ratio: 3 / 2;
}



/*--------------------------------
    kind
--------------------------------*/
#kind {
	color: #F5F5F5;
	padding: 3.5rem 0;
	position: relative;
}
#kind h2 span {
	display: block;
	font-size: 0.8rem;
}

#kind > div {
	position: relative;
	margin-bottom: 6rem;
}
#kind > div:last-child {
	margin-bottom: 1.5rem;
}

.kind_txtWrap {
	position: absolute;
	top: 1.5%;
	left: 5%;
}
#kind > div:nth-child(2) .kind_txtWrap {
	left: initial;
	top: 8%;
	right: 5%;
}

.kind_imgWrap {
	position: relative;
	width: 100%;
}
.kind__imgWrapper--1 {
	display: flex;
	margin-left: 5%;
	margin-bottom: 5rem;
}
.kind__imgWrapper--2 {
	margin-right: 5%;
	margin-bottom: 5rem;
}
.kind__imgWrapper--3 {
	display: flex;
    margin-bottom: 5rem;
	padding-top: 13vw;
  }

.kind_box {
	background-color: #CF3714;
	max-width: 284px;
	width: 55vw;
	max-height: 218px;
	height: 20vw;
	position: absolute;
	right: 5%;
	bottom: -10.5%;
}
#kind > div:nth-child(2) .kind_box {
	width: 28.8vw;
	height: 48vw;
	left: 10%;
	bottom: -9.5vw;
}
#kind > div:nth-child(3) .kind_box {
	width: 45.2vw;
	height: 28.5vw;
	right: 6%;
	bottom: -9.5vw;
}

.kind__img--1 {
	width: 62%;
	margin-top: 37vw;
}
.kind__img--2 {
	width: 38%;
}
.kind__img--3 {
	width: 60%;
}
.kind__img--4 {
	width: 74%;
	right: 5%;
	margin-top: -50px;
	margin-left: auto;
}
.kind__img--5 {
	width: 63%;
	margin-top: 15vw;
}
.kind__img--6 {
	width: 37%;
}

.kindHeading__line--1,
.kindHeading__line--2 {
	position: absolute;
	overflow: hidden;
}
.kindHeading__line--1 {
	width: 8.5rem;
	height: 1px;
	top: 0;
	left: -13px;
}
.kindHeading__line--2 {
	width: 1px;
	height: 53px;
	top: -10px;
	left: -3px;
}
#kind > div:nth-child(2) .kindHeading__line--1 {
	left: initial;
	right: -13px;
	width: 5.5rem;
}
#kind > div:nth-child(2) .kindHeading__line--2 {
	left: initial;
	right: -3px;
}
#kind > div:nth-child(3) .kindHeading__line--1 {
	width: 6.5rem;
}
.kindHeading__line--1 span,
.kindHeading__line--2 span {
	background-color: #F5F5F5;
	display: block;
}
.kindHeading__line--1 span {
	width: 100%;
	height: 1px;
}
.kindHeading__line--2 span {
	width: 1px;
	height: 100%;
}

.kind_txt {
	width: 90%;
	margin: 0 auto;
	font-size: 0.8rem;
    line-height: 1.6rem;
}



/*--------------------------------
    BANNER
--------------------------------*/
#banner img {
	box-shadow: 0 0 10px 10px rgba(0, 0, 0, .2);
}



/*--------------------------------
    about
--------------------------------*/
#about {
	padding: 5rem 5%;
	background: linear-gradient(rgba(0,0,0,0.75),rgba(0,0,0,0.75)), url(../img/top/bg_about.jpg) center left 40% / 100% no-repeat;
	background-size: cover;
	color: #F5F5F5;
}
#about h2 {
	padding-bottom: 0.5rem;
	margin-bottom: 1.5rem;
	border-bottom: solid 1px #F5F5F5;
}

#about > p {
	font-size: 0.8rem;
}

#about .about__imgWrapper {
	position: relative;
	display: block;
	margin: 3rem auto;
	text-align: center;
	width: 70%;
}
#about .about__imgWrapper .about__img {
    width: 100%;
}

#about > div:nth-of-type(1) p {
	position: absolute;
	top: 0;
	right: -10%;
	font-size: 1rem;
	writing-mode: vertical-rl;
	font-family: "Yellowtail", serif;
}
#about h3 {
	text-align: center;
	font-size: 0.8rem;
}

#about a {
	font-size: 1rem;
	width: 11rem;
	display: block;
	text-align: center;
	position: relative;
	margin: 0 auto;
	border: solid 1px #F5F5F5;
	border-radius: 10px;
	padding: 0.7rem 0;
	margin-top: 1rem;
}



/*--------------------------------
    SP-SS
--------------------------------*/
@media screen and (max-width: 374px) {
	
	#statement {
		padding-left: 6.25%
	}
	
	#statement h3 {
		font-size: 1.3rem;
		line-height: 2rem;
	}
	
}



/*--------------------------------
    SMART PHONE
--------------------------------*/
@media screen and (max-width: 767px) {
		
	#main-slide {
		flex-flow: column;
	}
	
	.carousel.left {
		width: 100vw;
		height: 50svh;
		display: flex;
		overflow: hidden;
		margin: 0 auto;
	}	
	.carousel.right {
		width: 100vw;
		height: 50svh;
		display: flex;
		overflow: hidden;
		margin: 0 auto;
	}
}



/*--------------------------------
    TABLET
--------------------------------*/
@media screen and (min-width: 768px) {
	
}



/*--------------------------------
    PC
--------------------------------*/
@media screen and (min-width: 961px) {}