@charset "UTF-8";
@import url(cmn.css);
@import url(base.css);

header nav ul li:nth-of-type(1) a{
	color: #6d6d6d !important;
}

/*-------mv--------*/

#mv{
	display: block;
	margin: 0 auto 200px;
	position: relative;
	z-index: 1;
}
#mv .inner{
	width: 100%;
	position: relative;
	z-index: 2;
	margin: 0 auto;
}
#mv .inner .slick-list{
	position: relative;
	display: block;
	overflow: hidden;
}
#mv .inner .slick-track{
	position: relative;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#mv .inner .slick-slide img{
	width: 100%;
	height: 50vw;
	max-height: 704px;
	object-fit: cover;
	object-position: 75% 20%;
	font-family: 'object-fit: cover; object-position: 75% 20%;';
}
#mv .inner .slick-slide.slide2 img{
	object-position: 70% 20%;
	font-family: 'object-fit: cover; object-position: 70% 20%;';
}
#mv .inner .slick-slide.slide3 img{
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
#mv .inner .slick-slide.slide4 img{
	object-position: 60% 50%;
	font-family: 'object-fit: cover; object-position: 60% 50%;';
}
#mv .txt{
	width: 100%;
	max-width: 1860px;
	height: 100%;
	position: absolute;
	top: 32%;
	right: 0;
	left: 0;
	z-index: 99;
	pointer-events: none;
	box-sizing: border-box;
	margin: 0 auto;
	padding-left: 60px;
}
#mv .txt img{
	width: 28%;
	max-width: 350px;
	display:block;
}
#mv .slick-list{
	position: relative;
}
#mv .pointer{
	position: absolute;
	bottom: 15px;
	right: 15px;	
}
#mv .pointer li{
	display: table-cell;
	padding: 0 5px;
}
#mv .pointer li button{
	display: block;
	text-indent: -10000px;
	outline: none;
	line-height: 1px;
	font-size: 1px;
	background-color: #ddd;
	border: none;
	width: 30px;
	height: 2px;
	cursor: pointer;
	transition: 1.5s ease-in-out;
}
#mv .pointer li.slick-active button{
	background-color: #999;
	width: 60px;
}
@media screen and (max-width: 800px){
	#mv .txt{
		padding-left: 25px;
	}
	#mv{
		margin-bottom: 120px;
	}
	#mv .inner .slick-slide img{
		height: 70vw;
	}
	#mv .txt img{
		width: 33%;
		max-width: 380px;
	}
	#mv .txt{
		top: 46%;
	}
	#mv .inner .slick-slide.slide3 img{
	object-position: 0% 50%;
		font-family: 'object-fit: cover; object-position: 0% 50%;';
	}

	#mv .inner .slick-slide.slide4 img{
		object-position: 97% 50%;
		font-family: 'object-fit: cover; object-position: 97% 50%;';
	}
}

@media screen and (max-width: 500px){
	#mv{
		margin-bottom: 40px;
	}


	#mv .pointer li.slick-active button{
		width: 40px;
	}
	#mv .txt img{
		width: 40%;
		max-width: 380px;
	}
	#mv .txt{
		top: 33%;
	}
}


/*-------mission--------*/
#mission{
	background: url("/images/index/bg_mission.jpg") no-repeat center bottom;
	background-size: auto 82%;
	padding-bottom: 130px;
}
#mission .wrapper{
	max-width: 1400px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	
}
#mission h2,
#mission p{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	padding-top: 150px;
	margin-bottom: 0;
	padding-bottom: 0;
	letter-spacing: 0.4rem;
}
#mission h2 span{
	padding-bottom: 0;
	padding-left: 16px;
}
#mission p{
	line-height: 2.3;
}
#mission figure{
	width: 70%;
}
#mission figure img{
	object-fit: cover;
	width: 100%;
	height: 640px;
	object-position: 60% 50%;
}
#mission .delay2,
#mission .delay-Parent > *{
	opacity: 0;
	transition-delay: 0.3s;
	transition-duration: 1.2s;
}
#mission .delayActive2{
	opacity: 1.0;
}
#mission .delay3,
#mission .delay-Parent > *{
	opacity: 0;
	transition-delay: 1s;
	transition-duration: 1.2s;
}
#mission .delayActive3{
	opacity: 1.0;
}
@media screen and (min-width: 1921px){
	#mission{
		background-size: 100% 82%;
	}
}

@media screen and (max-width: 1000px){
	#mission{
		padding-bottom: 90px;
	}
	#mission h2 span{
		padding-left: 8px;
	}
	#mission figure{
		width: 60%;
	}
}
@media screen and (max-width: 800px){
	#mission{
		background-size: auto 80%;
	}
	#mission .wrapper{
		display: block;
	}
	#mission h2,
	#mission p{
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		-o-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		padding-top: 0;
		margin-bottom: 30px;
		text-align: center;
		letter-spacing: 0.2rem;
	}
	#mission h2 span{
		padding-left: 0;
		padding-bottom: 5px;
	}
	#mission figure{
		width: 100%;
	}
	#mission figure img{
		height: auto;
	}
	#mission p i{
		display: inline-block;
	}
}

/*-------strength--------*/
#strength{
	padding: 150px 0;
}
#strength .wrapper{
	max-width:1400px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
#strength  h2 i{
	font-size: 160%;
	font-style: italic;
}
#strength .circle{
	position: relative;
	width: 100%;
	max-width: 1000px;
	background: url("/images/index/bg_strength.jpg") center no-repeat;
	height: 590px;
}
#strength .circle div{
	position: absolute;
	transition:  all .3s ease-in-out;
	transform-origin: center;
}
#strength .circle div:first-child{
	top: 188px;
	left: 0;
}

#strength .circle div:first-child.ani-fadeInUp2{
	animation-delay: 0.2s;
}
#strength .circle div:nth-child(2){
	top: 0;
	left: 245px;
}
#strength .circle div:nth-child(2).ani-fadeInUp2{
	animation-delay: 0.4s;
}
#strength .circle div:nth-child(3){
	top: 0;
	left: 570px;
}
#strength .circle div:nth-child(3).ani-fadeInUp2{
	animation-delay: 0.6s;
}
#strength .circle div:nth-child(4){
	top: 376px;
	left: 245px;
}
#strength .circle div:nth-child(4).ani-fadeInUp2{
	animation-delay: 1.2s;
}
#strength .circle div:nth-child(5){
	top: 376px;
	left: 570px;
}
#strength .circle div:nth-child(5).ani-fadeInUp2{
	animation-delay: 1s;
}
#strength .circle div:nth-child(6){
	top: 188px;
	left: 790px;
}
#strength .circle div:nth-child(6).ani-fadeInUp2{
	animation-delay: 0.8s;
}

#strength .circle div a{
	display: table-cell;
	width: 210px;
	height: 210px;
	border-radius: 100%;
	background: url("/images/index/strength01.jpg") center / cover no-repeat;
	vertical-align: middle;
	text-align: center;
	color: #fff;
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 3.5rem;
	letter-spacing: 8px;
	text-indent: 8px;
	position: relative;
	overflow: hidden;
	box-shadow: 10px 15px 40px rgba(0,0,0,0.35);
	transition:  all .3s ease-in-out;
	transform-origin: center;
}
#strength .circle div a p{
	z-index: 9;
	position:relative;
}
#strength .circle div a::after{
	content:"";
	display: block;
	width: 210px;
	height: 210px;
	border-radius: 100%;
	background: rgba(0,0,0, 0.8);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: all 0.4s cubic-bezier(.25, .46, .45, .94);
	transform-origin: center;
}
#strength .circle div:nth-child(2) a{
	background-image: url("/images/index/strength02.jpg");
}
#strength .circle div:nth-child(3) a{
	background-image: url("/images/index/strength03.jpg");
}
#strength .circle div:nth-child(4) a{
	background-image: url("/images/index/strength04.jpg");
}
#strength .circle div:nth-child(5) a{
	background-image: url("/images/index/strength05.jpg");
}
#strength .circle div:nth-child(6) a{
	background-image: url("/images/index/strength06.jpg");
}
#strength .circle div a:hover,
#strength .circle div a:hover::after{
	transform: scale(1.08);
}
#strength .circle div a:hover::after{
	background: rgba(0,0,0,0.3);
}
@media screen and (max-width: 1300px){
	#strength .circle{
		margin: 0 auto;
		
	}
}
@media screen and (max-width: 1070px){
	#strength{
		padding: 80px 0;
	}

	#strength .circle div a,
	#strength .circle div a::after{
		width: 140px;
		height: 140px;
	}
	#strength .circle div a{
		font-size: 2.6rem;
	}
	#strength .circle div:first-child{
		top: 120px;
		left: 0;
	}
	#strength .circle div:nth-child(2){
		top: 0;
		left: 180px;
	}
	#strength .circle div:nth-child(3){
		top: 0;
		left: 400px;
	}
	#strength .circle div:nth-child(4){
		top: 260px;
		left: 180px;
	}
	#strength .circle div:nth-child(5){
		top: 260px;
		left: 400px;
	}
	#strength .circle div:nth-child(6){
		top: 120px;
		left: 585px;
	}
	#strength .circle{
		height: 400px;
		background-size: auto 350px;
		max-width: 780px;
	}
	#strength  h2{
		margin-bottom: 0;
	}
}
@media screen and (max-width: 780px){
	#strength{
		padding: 45px 0;
	}

	#strength .circle div a,
	#strength .circle div a::after{
		width: 100px;
		height: 100px;
	}
	#strength .circle div a{
		font-size: 2.4rem;
		line-height: 1.2;
		letter-spacing: 5px;
		text-indent: 5px;
	}
	
	#strength .circle div:first-child{
		top: 75px;
		left: 0;
	}
	#strength .circle div:nth-child(2){
		top: 0;
		left: 100px;
	}
	#strength .circle div:nth-child(3){
		top: 0;
		left: 230px;
	}
	#strength .circle div:nth-child(4){
		top: 150px;
		left: 100px;
	}
	#strength .circle div:nth-child(5){
		top: 150px;
		left: 230px;
	}
	#strength .circle div:nth-child(6){
		top: 75px;
		left: 330px;
	}
	#strength .circle{
		height: 265px;
		background-size: auto 200px;
		max-width: 470px;
	}
}
@media screen and (max-width: 500px){
	#strength .circle div a,
	#strength .circle div a::after{
		width: 80px;
		height: 80px;
	}
	#strength .circle div a{
		font-size: 1.8rem;
		line-height: 1.2;
		letter-spacing: 0.6rem;
	}
	#strength .circle div:first-child{
		top: 60px;
		left: 0;
	}
	#strength .circle div:nth-child(2){
		top: 0;
		left: 80px;
	}
	#strength .circle div:nth-child(3){
		top: 0;
		left: 190px;
	}
	#strength .circle div:nth-child(4){
		top: 120px;
		left: 80px;
	}
	#strength .circle div:nth-child(5){
		top: 120px;
		left: 190px;
	}
	#strength .circle div:nth-child(6){
		top: 60px;
		left: 270px;
	}
	#strength .circle{
		height: 215px;
		background-size: auto 160px;
		max-width: 350px;
		min-width: 350px;
	}
}


/*-------photo--------*/
#photo{
	margin-bottom: 120px;
}
#photo .conveyor .slick-list{
	overflow: hidden;
}
#photo .conveyor .slick-track{
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 800px){
	#photo{
		margin-bottom: 40px;
	}
}

/*-------service--------*/
#service{
	position: relative;
	padding-bottom: 85px;
}
#service .title{
	width: 85%;
	background: url("/images/logo_ptn.jpg") repeat;
	padding: 80px 15px;
}
#service .title h2{
	width: calc(100% + 15%);
	text-align: center;
	padding-bottom: 0;
	margin-botttom: 0;
	color:#fff;
}
#service .wrapper:after{
	content:"";
	display: block;
	width: 100%;
	height: calc(100% - 205px);
	background: #e5e4e4;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
#service .list{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-top: -50px;
}
#service .list .ani-fadeInUp2{
	animation-delay: 1s;
}
#service .list>div:nth-of-type(2){
	animation-delay: 1.2s;
}
#service .list>div:nth-of-type(3){
	animation-delay: 1.4s;
}
#service .list>div{
	width: 31.6%;
	background: #fff;
}
#service .list>div div{
	padding: 25px;
}
#service .btn{
	text-align: center;
	margin-top: 55px;
}
@media screen and (max-width: 1000px){
	#service{
		position: relative;
		padding-bottom: 60px;
	}
	#service .title{
		padding: 50px 15px;
	}
	#service .wrapper:after{
		height: calc(100% - 150px);
	}
}
@media screen and (max-width: 800px){
	#service .list{
		display: block;
	}
	#service .list>div{
		display: flex;
		width: 100%;
	}
	#service .list>div:nth-child(2){
		margin: 30px 0;
	}
	#service .list>div figure{
		width: 40%;
		overflow: hidden;
	}
	#service .list>div figure img{
		object-fit: cover;
		object-position: 25% 50%;
		width: 100%;
		height: 100%;
	}
	#service .list>div:nth-child(2) figure img{
		object-position: 30% 50%;
	}
	#service .list>div div{
		width: 60%;
		padding: 25px 15px;
	}	
}

/*-------company--------*/
#company{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 0;
}
main #company{
	padding-top: 0px;
}
#company .officeimg{
	display: flex;
	width: 50%;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company figure{
	overflow: hidden;
	max-height: 440px;
}
#company figure:nth-of-type(1),
#company figure:nth-of-type(2){
	width: 49%;
}
#company figure:nth-of-type(3){
	width: 100%;
	padding-top: 2%; 
}
#company figure img{
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
}
#company figure:nth-child(2) img{
	object-position: 50% 95%;
}
#company .info{
	width: 50%;
	padding: 5%;
}
#company .info dl{
	display: table;
	width: 100%;
	min-height: 100px; 
}
#company .info dl dt,
#company .info dl dd{
	display: table-cell;
	vertical-align: middle;
	padding: 15px 15px;
	border-bottom: 1px solid #ddd;
}
#company .info dl dt{
	border-bottom-width: 2px;
	border-bottom-color: #ccc;
	width: 25%;
	font-weight: bold;
}
#company .info dl dd{
	padding-left: 25px;
}
#company .btn{
	text-align: center;
	margin-top: 30px;
}
#company .info a[href*="tel"]{
	pointer-events: none;
	color: #333!important;
}
@media screen and (max-width: 1200px){
	#company .info{
		padding: 2.5%;
	}
	#company .info dl{
		min-height: 80px;
		font-size: 1.45rem;
	}
}

@media screen and (max-width: 1000px){
	#company{
		flex-wrap: wrap;
		padding-top: 0;
	}
	#company .officeimg{
		width: 100%;
	}
	#company figure{
		width: 50%;
	}
	#company .info{
		width: 100%;
		padding: 40px 5%;
	}
	#company figure img{
		object-position: 50% 95%;
	}
	#company figure:nth-child(2) img{
		object-position: 50% 85%;
	}	
}
@media screen and (max-width: 500px){
	#company .info a[href*="tel"]{
		pointer-events: auto;
	}
	#company .info dl dt{
		white-space: nowrap;
	}
}

/*-------aside--------*/
aside{
	padding: 125px 20px;
	background: url("/images/index/bg_policy.jpg") no-repeat center;
	background-size: cover;
}

aside p{
	font-family:  "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 3.4rem;
	text-align: center;
	color: #fff;
}
aside p.fadeinup2{
	animation-delay: 0.5s;
	animation-duration: 3s;
}
aside p:nth-child(2).fadeinup2{
	animation-delay: 0.7s;
}
aside p:nth-child(3).fadeinup2{
	animation-delay: 1.0s;
}
@media screen and (max-width: 1000px){
	aside{
		padding: 60px 20px;
	}
	aside p{
		font-size: 3.0rem;
	}
}
@media screen and (max-width: 500px){
	aside{
		padding: 40px 20px;
	}
	aside p{
		font-size: 1.9rem;
	}
}






