@charset "utf-8";

/*******************
	common
*******************/
.fv__area{
	height: 900px;
}
.fv__area p{
	width: 100%;
	height: 100%;
    position: relative;
    clip-path: inset(0);
}
.fv__area p img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.circle img{
  animation:6s linear infinite rotation;
}
@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
@media (max-width: 750px) {
	img{
		width:100%;
		height: auto;
	}
	.fv__area{
		height: 500px;
	}
}


/*******************
	top contents
*******************/
.top__contents{
	text-align: center;
	padding-bottom: 240px;
}
.top__contents .text__area{
	padding: 190px 0 70px;
}
.top__contents .image{
	margin: 0 0 130px;
}
.top__contents .text__area dt{
	font-weight: bold;
}
.top__contents .text__area dd p{
	padding: 0 0 40px;
}
.top__contents .text__area dd small{
	font-size: 18px;
}

.top__slider{
	width: 100%;
	overflow: hidden;
	padding-bottom: 40px;
}
.top__slider .slick-list{
	width: calc( 100% + 50px );
	margin-left: -25px;
}
.top__slider .slide__box{
	margin: 0 25px;
}
.top__slider .slide__box img{
	width: 100%;
	height: auto;
}
.top__slider .slick-dots{
	bottom: 0;
}
.top__slider .slick-dots li{
	width: 15px;
	height: 15px;
	margin: 0 10px;
}
.top__slider .slick-prev,
.top__slider .slick-next{
	display: inline-block;
    width: 16px;
    height: 24px;
	z-index: 2;
}
.top__slider .slick-prev:before,
.top__slider .slick-next:before,
.top__slider .slick-prev:after,
.top__slider .slick-next:after{
	content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 0;
    width: 12px;
    height: 3px;
    border-radius: 9999px;
    background-color: #323232;
    transform-origin: calc(100% - 1px) 50%;
}
.top__slider .slick-prev:before,
.top__slider .slick-next:before{
	transform: rotate(45deg);
	opacity: 1;
}
.top__slider .slick-prev:after,
.top__slider .slick-next:after{
	transform: rotate(-45deg);
	opacity: 1;
}
.top__slider .slick-prev{
    left: calc(50vw - 300px);
    top: auto;
    bottom: 2px;
    transform: translate(0) scale(-1, 1);
}
.top__slider .slick-next{
	right: calc(50vw - 300px);
    top: auto;
    bottom: 2px;
    transform: translate(0);
}
.top__slider .slick-dots li button{
	width: 15px;
	height: 15px;
	background: #cccccc;
	border-radius: 100%;
}
.top__slider .slick-dots li.slick-active button{
	background: #323232;
}
.top__slider .slick-dots li button:before{
	display: none;
}

.top__fabric .sub__title{
	padding: 50px;
	text-align: center;
}
.top__fabric .sub__title p{
	margin-bottom: 10px;
}
.top__fabric.top__contents .text__area dt{
	padding-bottom:40px;
}

@media (max-width: 750px) {
	.top__contents{
		padding-bottom: 80px;
	}
	.top__contents .text__area{
		padding: 50px 0 25px;
	}
	.top__contents .image{
		padding: 0 15%;
		margin: 0 0 50px;
	}
	.top__contents .text__area dt{
		margin-bottom: 15px;
	}
	.top__contents .text__area dd p{
		padding: 0 0 15px;
	}
	.top__contents .text__area dd small{
		font-size: 9px;
	}

	.top__slider .slick-list{
		width: calc( 100% + 50px );
		margin-left: -25px;
	}
	.top__slider .slide__box{
		margin: 0 10px;
	}
	.top__slider .slick-dots {
		bottom: 6px;
	}
	.top__slider .slick-dots li{
		width: 12px;
		height: 12px;
		margin: 0 8px;
	}
	.top__slider .slick-prev{
		left: 5%;
	}
	.top__slider .slick-next{
		right:5%;
	}
	.top__slider .slick-dots li button{
		width: 12px;
		height: 12px;
	}

	.top__fabric .sub__title{
		padding: 0 20% 5%;
		text-align: center;
	}
	.top__fabric .sub__title .circle{
		width: 40%;
		margin: 0 auto 10px;
	}
	.top__fabric.top__contents .text__area dt{
		padding-bottom:20px;
	}
}


/*******************
	top__bottom
*******************/
.top__bottom{
	padding-bottom:240px;
}
.top__bottom .logo__area{
	width: 70%;
	max-width: 662px;
	text-align: center;
	margin: 0 auto;
	padding: 35px;
	background: #94a59d;
	color: #FFF;
	font-size: 18px;
}
.top__bottom .logo__area a{
	color: #FFF;
}
.top__bottom .logo__area .circle{
	margin: 100px 0;
}
.top__bottom .logo__area .circle img{
	max-width: 416px;
}
@media (max-width: 750px) {
	.top__bottom{
		padding-bottom:100px;
	}
	.top__bottom .logo__area{
		padding: 3%;
		font-size: 9px;
	}
	.top__bottom .logo__area .circle{
		margin: 30px 0;
	}
	.top__bottom .logo__area .circle img{
		width: 70%;
	}
}


/*******************
	about__contents
*******************/
.about__contents .text__area dt{
	margin-bottom: 60px;
}
.about__contents .text__area dt h2{
	font-size: 1.0em;
	margin-bottom: 60px;
}

.about__list{
	max-width: 1140px;
	margin: 180px auto 0;
}
.about__list dl{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 160px;
}
.about__list dl dt{
	width: 37.545%;
}
.about__list dl dt img{
	width: 100%;
	height: auto;
}
.about__list dl dd{
	width: 56%;
	font-size: 18px;
	text-align: left;
}
.about__list dl dd h3{
	font-weight: normal;
	font-size: 18px;
	line-height: 2.6;
	margin-bottom: 20px;
}
.about__list dl dd h3 b{
	font-size: 24px;
	display: block;
}
@media (max-width: 750px) {
	.about__contents .text__area dt{
		margin-bottom: 20px;
	}
	.about__contents .text__area dt h2{
		margin-bottom: 20px;
	}

	.about__list{
		margin: 80px auto 0;
	}
	.about__list dl{
		display: block;
		margin-bottom: 60px;
	}
	.about__list dl dt{
		width: 45%;
		margin: 0 auto 20px;
	}
	.about__list dl dd{
		width: 100%;
		font-size: 11px;
		padding: 0 5%;
	}
	.about__list dl dd h3{
		font-size: 11px;
		margin-bottom: 10px;
	}
	.about__list dl dd h3 b{
		font-size: 13px;
	}
}



/*******************
	other__contents
*******************/
.other__contents{
	max-width: 860px;
	margin: 100px auto 240px;
}
.other__contents dl dt{
	margin-bottom: 100px;
}
.other__contents dl dt h2{
	text-align: center;
	font-size: 48px;
}

.company__contents .text__info{
	letter-spacing: 0.05em;
}
.company__contents .text__info dd p{
	line-height: 2.5;
}

.information h3{
	font-size: 1em;
	font-weight: normal;
	padding: 5px 0;
}
.information ul li{
	list-style:decimal;
	margin-left: 1em;
    padding-left: 0.2em;
}

.contact__contents .text__info dd p{
	margin-bottom: 40px;
	line-height: 2.5;
}
.contact__contents .text__info dd p:last-child{
	margin-bottom: 0;
}
@media (max-width: 750px) {
	.other__contents{
		margin: 60px auto 100px;
		padding: 0 5%;
	}
	.other__contents dl dt{
		margin-bottom: 50px;
	}
	.other__contents dl dt h2{
		font-size: 24px;
	}
	.information h3{
		padding: 5px 0;
	}
	.contact__contents .text__info dd p{
		margin-bottom: 20px;
	}
}