@charset "utf-8";


@media screen and (min-width:768px){
/*pc・タブレットcss*/


#top-main{
	position:relative;
	overflow:hidden;
	width:100%;
	height:100%;
	margin-bottom:200px;
	background-size:cover;
	background-position:center left;
}
#top-main .full div {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height:100vh;
	margin: 0;
}
#top-main .full div.img01 {  background-image: url(../img/top/main_bg01.jpg);}
#top-main .full div.img02 {  background-image: url(../img/top/main_bg02.jpg);}
#top-main .full div.img03 {  background-image: url(../img/top/main_bg03.jpg);}
#top-main .full div.img04 {  background-image: url(../img/top/main_bg04.jpg);}
#top-main .full div.img05 {  background-image: url(../img/top/main_bg05.jpg);}
#top-main .full div.img06 {  background-image: url(../img/top/main_bg06.jpg);}

.top-main-inner{
	position:absolute;
	z-index:2;
	width:100%;
	height:100%;
	-js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
	-webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-justify-content: center; justify-content: center;
	-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
	-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.top-main-inner .inner{
	text-align:center;
	color:#fff;
}
.top-main-ttl{
	font-size:70px;
	line-height:1.2;
	margin-bottom:20px;
	font-family: 'YuMincho', serif;
}
.top-main-copy{
	font-size:20px;
	line-height:1.8;
}

#top-main .copy{
	-webkit-animation: main_copy 2s ease-in 0s both;
	animation: main_copy 2s ease-in 0s both; 
}
@keyframes main_copy {
  0% {
		opacity:0;
	}
  100% {
		opacity:1;
  }
}


/* ++++++++++++++++++++++ */



#top-about{
	padding:30px 0 80px;
	margin-bottom:100px;
}
#top-about .ttl01{
	position:relative;
	top:-75px;
}
#top-about .con{
	color:#fff;
}
#top-about .con .ph{
	width:48%;
}
#top-about .con .txt{
	width:48%;
}
#top-about .con .ttl{
	margin-bottom:30px;
	font-size:27px;
	font-family: 'YuMincho', serif;
}

	

/* ++++++++++++++++++++++ */

#top-service{
	padding:30px 0 80px;
	margin-bottom:100px;
}
#top-service .ttl01{
	position:relative;
}
.service-list{
	
}
.service-list li{
	width: 50%;
	border-bottom: solid 1px #fff;
	background-color: #3C3C3C;
}
.service-list li:nth-child(odd){
	border-right: solid 1px #fff;
}
.service-list li > a{
	text-decoration: none;
	-js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
}
.service-list li > a:hover{
	opacity:1; 
}
.service-list .ph{
	position: relative;
	overflow: hidden;
	width: 30%;
}
.service-list .ph img{
	object-fit:cover;
	width: 100%;
	height: 100%;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.service-list li > a:hover .ph img{
	 transform:scale(1.1,1.1);
}
.service-list .ph:before{
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.35);
}
.service-list .txt{
	width: 70%;
	padding:0 40px;
	background-color: #3C3C3C;
	color: #fff;
	-js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
	-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
	-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
	
}
.service-list .ttl{
	font-size:25px;
	font-family: 'YuMincho', serif;
}
.service-list .sub-ttl{
	margin-bottom: 10px;
	font-size:12px;
	color: #3B80C0;
}
.service-list .more-btn{
	position:relative;
	display:inline-block;
	padding:7px 45px;
	border: solid 1px #fff;
	color:#fff;
	font-size:12px;
	text-decoration:none;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.service-list .more-btn:before{
	content:"";
	position:absolute;
	top:50%;
	right:-35%;
	height:1px;
	width:50%;
	background-color:#fff;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.service-list .more-btn:after{
	content:"";
	position:absolute;
	top:calc(50% - 9px);
	right:calc(-35% + 3px);
	height:12px;
	width:1px;
	background-color:#fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: all .4s;
	transition: all .4s;
}

.service-list li:hover  .more-btn{
	opacity:1; 
	background-color:rgba(255,255,255,0.3);
}

.service-list li:hover  .more-btn:before{
	right:-40%;
}
.service-list li:hover .more-btn:after{
	right:calc(-40% + 3px);
}	
	
/* ++++++++++++++++++++++ */

#top-staff{
	padding:30px 0 80px;
	margin-bottom:150px;
}
#top-staff .ttl01{
	position:relative;
	top:-75px;
}
#top-staff .staff-list{
	width: 100%;
    max-width: 1100px;
	padding:0 75px;
    margin-left: auto;
    margin-right: auto;
	margin-bottom:50px;
}
#top-staff .staff-list ul{
}
#top-staff .staff-list li{
	margin: 0 15px;
	color:#fff;
}
#top-staff .staff-list .ph{
}
#top-staff .staff-list .position{
	width:70%;
	padding-bottom:5px;
	margin-bottom:5px;
	border-bottom: solid 1px #fff;
}
#top-staff .staff-list .name{
}

#top-staff .staff-list .slick-prev,
#top-staff .staff-list .slick-next {
    width: 30px;
    height: 30px;
	z-index:2;
}
#top-staff .staff-list .slick-prev:hover,
#top-staff .staff-list .slick-next:hover{
	opacity: 0.5;
}
#top-staff .staff-list .slick-prev {
    left: -40px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
#top-staff .staff-list .slick-next {
    right: -40px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#top-staff .staff-list .slick-prev:before {
	content:"";
	position:absolute;
	left: 0;
	top:0;
	width:30px;
	height:30px;
	border-top:1px solid #fff;
	border-right: 1px solid #fff;
}
#top-staff .staff-list .slick-next:before {
	content:"";
	position:absolute;
	left: 0;
	top:0;
	width:30px;
	height:30px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

	

/* ++++++++++++++++++++++ */

#top-recruit{
	padding:30px 0 80px;
	margin-bottom:100px;
}
#top-recruit .ttl01{
	position:relative;
	top:-75px;
}
#top-recruit .con{
	color:#fff;
}
#top-recruit .con .ph{
	width:48%;
}
#top-recruit .con .txt{
	width:48%;
}

/* ++++++++++++++++++++++ */

#footer-contact{
	padding:100px 0;
	background-color:#3276C4;
	color:#fff;
}
#footer-contact .content-area{
	position:relative;
	width:100%;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}
#footer-contact .content-area:before{
	content:"";
	position:absolute;
	left: 50%;
	top:50%;
	width: 160px;
	height: 160px;
	margin-top:-80px;
	margin-left:-120px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: scaleX(0.4) rotate(45deg);
	transform: scaleX(0.4) rotate(45deg);
}
#footer-contact .left{
	width:45%;
	text-align:center;
}
#footer-contact .right{
	width:45%;
}
#footer-contact .ttl{
	margin-bottom:10px;
	font-size:35px;
	line-height:1;
	font-family: 'YuMincho', serif;
}
#footer-contact .tel{
	font-size:42px;
	line-height:1;
	font-family: 'YuMincho', serif;
}
#footer-contact .tel span{
	font-size:30px;
}
#footer-contact .contact-btn a{
	display:inline-block;
	padding:10px 45px;
	background-color:#fff;
	color:#3C3C3C;
	text-decoration:none;
}


}

@media screen and (min-width:768px) and ( max-width:1110px) {
}

@media (max-width: 768px) {
	
	#top-main{
		position:relative;
		overflow:hidden;
		width:100%;
		height:100%;
		margin-bottom:30vw;
		background-size:cover;
		background-position:center left;
	}
	#top-main .full div {
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		height:100vh;
		margin: 0;
	}
	#top-main .full div.img01 {  background-image: url(../img/sp/top/main_bg01.jpg);}
	#top-main .full div.img02 {  background-image: url(../img/sp/top/main_bg02.jpg);}
	#top-main .full div.img03 {  background-image: url(../img/sp/top/main_bg03.jpg);}
	#top-main .full div.img04 {  background-image: url(../img/sp/top/main_bg04.jpg);}
	#top-main .full div.img05 {  background-image: url(../img/sp/top/main_bg05.jpg);}
	#top-main .full div.img06 {  background-image: url(../img/sp/top/main_bg06.jpg);}
	
	.top-main-inner{
		position:absolute;
		z-index:2;
		width:100%;
		height:100%;
		padding:5vw;
		-js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
		-webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-justify-content: center; justify-content: center;
		-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
		-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
	}
	.top-main-inner .inner{
		margin-top:80vw;
		text-align:center;
		color:#fff;
	}
	.top-main-ttl{
		font-size:38px;
		line-height:1.2;
		margin-bottom:3vw;
		font-family: 'YuMincho', serif;
	}
	.top-main-copy{
		font-size:14px;
		line-height:1.8;
	}
	#top-main .copy{
		-webkit-animation: main_copy 2s ease-in 0s both;
		animation: main_copy 2s ease-in 0s both; 
	}
	@keyframes main_copy {
	  0% {
			opacity:0;
		}
	  100% {
			opacity:1;
	  }
	}
	
	
	/* ++++++++++++++++++++++ */
	
	
	
	#top-about{
		padding:3vw 0 10vw;
		margin-bottom:10vw;
	}
	#top-about .ttl01{
		position:relative;
		top:-12vw;
	}
	#top-about .con{
		color:#fff;
	}
	#top-about .con .ph{
		width:100%;
		margin-bottom:3vw;
	}
	#top-about .con .txt{
		width:100%;
	}
	#top-about .con .ttl{
		margin-bottom:3vw;
		font-size:22px;
		font-family: 'YuMincho', serif;
	}
	
		
	
	/* ++++++++++++++++++++++ */
	
	#top-service{
		padding:10vw 0 10vw;
		margin-bottom:20vw;
	}
	#top-service .ttl01{
		position:relative;
	}
	.service-list{
	}
	.service-list li{
		width: 100%;
		border-bottom: solid 1px #fff;
		background-color: #3C3C3C;
	}
	.service-list li > a{
		text-decoration: none;
		-js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
	}
	.service-list li > a:hover{
		opacity:1; 
	}
	.service-list .ph{
		position: relative;
		overflow: hidden;
		width: 30%;
	}
	.service-list .ph img{
		object-fit:cover;
		width: 100%;
		height: 100%;
		-webkit-transition: all .4s;
		transition: all .4s;
	}
	.service-list li > a:hover .ph img{
		 transform:scale(1.1,1.1);
	}
	.service-list .ph:before{
		content: "";
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.35);
	}
	.service-list .txt{
		width: 70%;
		padding:4vw;
		background-color: #3C3C3C;
		color: #fff;
		-js-display: flex; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
		-webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center;
		-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
		
	}
	.service-list .ttl{
		font-size:22px;
		line-height:1.2;
		font-family: 'YuMincho', serif;
	}
	.service-list .sub-ttl{
		margin-bottom: 2vw;
		font-size:12px;
		color: #3B80C0;
	}
	.service-list .more-btn{
		position:relative;
		display:inline-block;
		padding:2vw 10vw;
		border: solid 1px #fff;
		color:#fff;
		font-size:12px;
		text-decoration:none;
		-webkit-transition: all .4s;
		transition: all .4s;
	}
	.service-list .more-btn:before{
		content:"";
		position:absolute;
		top:50%;
		right:-35%;
		height:1px;
		width:50%;
		background-color:#fff;
		-webkit-transition: all .4s;
		transition: all .4s;
	}
	.service-list .more-btn:after{
		content:"";
		position:absolute;
		top:calc(50% - 9px);
		right:calc(-35% + 3px);
		height:12px;
		width:1px;
		background-color:#fff;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-webkit-transition: all .4s;
		transition: all .4s;
	}
	
	.service-list li:hover  .more-btn{
		opacity:1; 
		background-color:rgba(255,255,255,0.3);
	}
	
	.service-list li:hover  .more-btn:before{
		right:-40%;
	}
	.service-list li:hover .more-btn:after{
		right:calc(-40% + 3px);
	}	
		
	/* ++++++++++++++++++++++ */
	
	#top-staff{
		padding:3vw 0 10vw;
		margin-bottom:20vw;
	}
	#top-staff .ttl01{
		position:relative;
		top:-12vw;
	}
	#top-staff .staff-list{
		width: 100%;
		padding:0 15vw;
		margin-bottom:5vw;
	}
	#top-staff .staff-list ul{
	}
	#top-staff .staff-list li{
		margin: 0 3vw;
		color:#fff;
	}
	#top-staff .staff-list .ph{
		margin-bottom:2vw;
	}
	#top-staff .staff-list .position{
		width:70%;
		padding-bottom:2vw;
		margin-bottom:2vw;
		border-bottom: solid 1px #fff;
	}
	#top-staff .staff-list .name{
	}
	
	#top-staff .staff-list .slick-prev,
	#top-staff .staff-list .slick-next {
		width: 30px;
		height: 30px;
		z-index:2;
	}
	#top-staff .staff-list .slick-prev:hover,
	#top-staff .staff-list .slick-next:hover{
		opacity: 0.5;
	}
	#top-staff .staff-list .slick-prev {
		left: -5vw;
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	#top-staff .staff-list .slick-next {
		right: -5vw;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#top-staff .staff-list .slick-prev:before {
		content:"";
		position:absolute;
		left: 0;
		top:0;
		width:5vw;
		height:5vw;
		border-top:1px solid #fff;
		border-right: 1px solid #fff;
	}
	#top-staff .staff-list .slick-next:before {
		content:"";
		position:absolute;
		left: 0;
		top:0;
		width:5vw;
		height:5vw;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	
		
	
	/* ++++++++++++++++++++++ */
	
	#top-recruit{
		padding:3vw 0 10vw;
		margin-bottom:20vw;
	}
	#top-recruit .ttl01{
		position:relative;
		top:-12vw;
	}
	#top-recruit .con{
		color:#fff;
	}
	#top-recruit .con .ph{
		width:100%;
		margin-bottom:5vw;
		-webkit-box-ordinal-group: -1; -moz-box-ordinal-group: -1; -webkit-flex-order: -1; -moz-flex-order: -1; -webkit-order: -1; -moz-order: -1; order: -1;
	}
	#top-recruit .con .txt{
		width:100%;
	}
	
	/* ++++++++++++++++++++++ */
	
	#footer-contact{
		padding:10vw 0;
		background-color:#3276C4;
		color:#fff;
	}
	#footer-contact .content-area{
		position:relative;
		width:100%;
	}
	#footer-contact .left{
		width:100%;
		text-align:center;
	}
	#footer-contact .right{
		width:100%;
		text-align:center;
	}
	#footer-contact .ttl{
		margin-bottom:2vw;
		font-size:30px;
		line-height:1;
		font-family: 'YuMincho', serif;
	}
	#footer-contact .tel{
		font-size:35px;
		line-height:1;
		font-family: 'YuMincho', serif;
	}
	#footer-contact .tel span{
		font-size:20px;
	}
	#footer-contact .contact-btn a{
		display:inline-block;
		padding:10px 45px;
		background-color:#fff;
		color:#3C3C3C;
		text-decoration:none;
	}

}








