@charset("UTF-8");

.index-main-visual{
	height:calc(100vh - 97px);
	background:#dfdfdf;
}

.index-main-visual .sp-slide{
	background-repeat:no-repeat;
	background-position:center top;
	background-size:cover;
}
.index-main-visual .sp-slide:nth-of-type(1){
	background-image:url(../images/index-main-visual01.jpg);
}
.index-main-visual .sp-slide:nth-of-type(2){
	background-image:url(../images/index-main-visual02.jpg);
}
.index-main-visual .sp-slide:nth-of-type(3){
	background-image:url(../images/index-main-visual03.jpg);
}
.index-main-visual .sp-slide:nth-of-type(4){
	background-image:url(../images/index-main-visual04-2.jpg);
}
.index-main-visual .sp-slide p{
	color:#fff;
	text-align:center;
	font-size:26px;
	line-height:1.8;
	//font-weight:500;
	text-shadow:0 1px 5px rgba(0,0,0,1);
}

.sp-slides-container{
	height:100%;
}
.sp-slides{
	height:100%;
}
.sp-layer{
	//height:100%;
}

.slider-pro p.sp-layer{
	font-size:36px;
}


#googlemap{
	height:460px;
}
.map-btn{
	color:#fff;
	display:block;
	width:300px;
	line-height:60px;
	margin:auto;
	text-align:center;
	background:#234a83;
}
.date{
	width:10%;
	font-weight:600;
	color:#234a83;
}
.news-area a.u-line{
	width:75%;
	color:#333;
}
.news-area li{
	line-height:1.5;
	padding-bottom:30px;
}
.news-area{
	padding-top:30px;
	padding-bottom:30px;
	height:100px;
}
.news-area>div{
	position:relative;
	height:100%;
}
.news-area ul{
	height:100%;
}
.open-btn{
	position:absolute;
	right:40px;
	top:0;
	width:127px;
	line-height:3.38;
	color:#fff;
	background:#234a83;
	font-weight:600;
	text-align:center;
	font-size:13px;
	cursor:pointer;
	display:block;
}
.max1280{
	width:100%;
	max-width:1280px;
	margin:auto;
}
.outline{
	padding-top:60px;
	padding-bottom:60px;
	background:#0363b5;
	color:#fff;
}
.outline .txt{
	width:50%;
	padding-left:40px;
	padding-right:40px;
	padding-bottom:60px;
}
.outline .p-txt01{
	padding-bottom:60px;
}
.outline .pic{
	display:block;
	width:50%;
	margin-top:-120px;
	padding-bottom:100px;
}
.outline h4{
	font-size:18px;
	line-height:2;
	padding-bottom:24px;
}
.sec01 .sec-title{
	margin-bottom:85px;
}
.outline::after{
	content:"";
	display:block;
	width:0;
	height:0;
	clear:both;
}
.outline .map-btn{
	border:2px solid #fff;
	background:transparent;
}
.service{
	margin-top:-60px;
}
.service li{
	width:480px;
	background:#fff;
}
.service li *{
	display:block;
	width:100%;
}
.service h5{
	padding-top:12px;
	padding-bottom:5px;
	color:#234a83;
	font-size:18px;
}
.service p{
	line-height:2;
}

.sec02{
	padding-top:40px;
	margin-top:80px;
	padding-bottom:40px;
}
.works-slider02-outer{
	width:60%;
	height:400px;
	overflow:hidden;
}
.works-slider02,.works-slider01{
	width:100%;
}
.works-slider02 img{
	display:block;
	width:100%;
}
.works-slider01-outer{
	width:40%;
	padding-bottom:60px;
}


.works .f-left h3{
	font-size:18px;
	line-height:1.5;
	font-weight:600;
	padding-left:20px;
	padding-bottom:40px;
	padding-right:20px;
}
.works dl{
	padding-left:20px;
	padding-right:20px;
	padding-bottom:10px;
}
.works dt{
	clear:left;
	width:22%;
	padding-bottom:20px;
}
.works dd::before{
	content:" /";
	display:inline-block;
	margin-right:1em;
	letter-spacing:0.075em;
}
.works dd{
	width:78%;
	padding-bottom:1em;
	font-weight:600;
	letter-spacing:0.075em;
}
.thumbs{
	padding:0 15px;
}
.thumbs li{
	width:25%;
	height:68px;
	overflow:hidden;
	padding:0 5px;
}
.thumbs li a{
	display:block;
}
.thumbs li img{
	width:100%;
	display:block;
}
.works-slider01 .data{
	background:#fff;
	padding:20px 0;
	height:340px;
}

.bx-controls-direction{
	right:0 !important;
	height:60px !important;
}
.bx-prev:hover,.bx-next:hover{
	opacity:0.6;
	filter:alpha(opacity=60);
	
}
.bx-prev,.bx-next{
	transition:0.3s all ease;
}

.sec03{
	padding-top:40px;
	margin-top:80px;
	color:#fff;
	position:relative;
}
.sec03::before{
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:auto;
	display:block;
	content:"";
	background:#0363b5;
	height:calc(100% - 180px);
	z-index:-1;
}
.sec03 .sec-title{
	color:#fff;
}
.sec03 .sec-title span{
	color:#fff;
}

.sec03 .txt {
    width: 50%;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 60px;
	//padding-top:20px;
}

.sec03 .pic {
    display: block;
    width: 50%;
}
.sec03 h4 {
    font-size: 18px;
    line-height: 2;
    padding-bottom: 24px;
}
.sec03 .map-btn{
	margin-top:40px;
}
.contact-banners{
	padding:0;
	margin:auto;
	height:360px;
}
.contact-banners>.f-right{
	width:60%;
	text-align:left;
	padding:60px 30px;
}
.contact-banners li{
	text-align:center;
}
.contact-banners h3{
	font-size:18px;
	letter-spacing:0.075em;
	padding-bottom:0.8em;
}
.contact-banners p{
	font-size:16px;
}
.contact-banners p.company-address{
	font-size:14px;
	padding-bottom:40px;
}
.contact-banners ul{
	margin-left:-10px;
}
.contact-banners::before{
	content:"";
	display:block;
	width:40%;
	height:100%;
	float:left;
	background:url(../images/index-pic05.jpg) no-repeat;
	background-position:left center;
	background-size:cover;
}
main.outer{
	margin-bottom:0;
}



/* ********************************************** */
/* **************レスポンシブスタイル************ */
/* ********************************************** */
@media screen and (max-width:1280px){
	.contact-banners li{
		width:100%;
		margin-bottom:10px;
	}
}



@media screen and (max-width:767px){
.index-main-visual{
	height:66vw;
}

.slider-pro p.sp-layer{
	font-size:2.4rem;
}


#googlemap{
	height:24rem;
	margin-bottom:0;
}
.map-btn{
	width:100%;
	line-height:5rem;
}

.date{
	width:100%;
	float:none;
	padding-bottom:0.4rem;
}
.news-area a.u-line{
	width:100%;
	float:none;
}
.news-area li{
	padding-bottom:0;
}
.news-area{
	padding-top:2.5rem;
	padding-bottom:2.5rem;
	height:auto;
}
.news-area>div{
	position:relative;
	height:100%;
}
.news-area ul{
	height:100%;
}
.open-btn{
	position:static;
	right:auto;
	top:auto;
	width:100%;
	line-height:3;
	font-size:1.4rem;
	margin-top:1.5rem;
}
.max1280{
	width:100%;
	max-width:100%;
	padding-left:1.5rem;
	padding-right:1.5rem;
}
.outline{
	padding-top:2.8rem;
	padding-bottom:2.5rem;

}
.outline .txt{
	width:100%;
	float:none;
	padding-left:0;
	padding-right:0;
	padding-bottom:0;
	clear:both;
}
.outline .p-txt01{
	padding-bottom:2.5rem;
}
.outline .pic {
    display: block;
    width: 100%;
    margin-top: -6rem;
    padding-bottom: 2rem;
	float:none;
}
.outline h4 {
    font-size: 1.6rem;
    line-height: 2;
    padding-bottom: 1.5rem;
}
.sec01 .sec-title {
    margin-bottom: 6rem;
}
.outline::after{
	content:"";
	display:block;
	width:0;
	height:0;
	clear:both;
}
.outline .map-btn{
	border:2px solid #fff;
	background:transparent;
}
.service{
	margin-top:3.5rem;
}
.service li{
	width:100%;
	float:none;
	padding-bottom:3.5rem;
}
.service li:last-of-type{
	padding-bottom:0;
}
.service h5{
	padding-top:1rem;
	padding-bottom:0.4rem;
	font-size:1.6rem;
}
.service p{
	line-height:2;
}

.sec02{
	padding-top:2.8rem;
	margin-top:5.5rem;
	padding-bottom:2.8rem;
}
.works-slider02-outer{
	width:100%;
	float:none;
	height:auto;
}
.works-slider02,.works-slider01{
	width:100%;
}
.works-slider02 img{
	display:block;
	width:100%;
}
.works-slider01-outer{
	width:100%;
	padding-bottom:2.5rem;
}


.works .f-left h3{
	font-size:1.6rem;
	padding-left:2rem;
	padding-bottom:2rem;
	padding-right:2rem;
}
.works dl{
	padding-left:2rem;
	padding-right:2rem;
	padding-bottom:1rem;
}
.works dt{
	clear:left;
	float:none;
	width:100%;
	padding-bottom:0.5rem;
}
.works dd::before {
    display: none;
}
.thumbs{
	padding:0 1.8rem;
}
.thumbs li{
	width:25%;
	height:15vw;
	overflow:hidden;
	padding:0 0.2rem;
}
.thumbs li a{
	display:block;
}
.thumbs li img{
	width:100%;
	display:block;
}
.works-slider01 .data{
	padding:1.5rem 0;
	height:auto;
}

.bx-controls-direction{
	right:0 !important;
	height:4rem !important;
	position:absolute;
	top:-4rem;
	width:100%;
}
.bx-wrapper .bx-prev {
    right: auto;
    left: 0;
}
.bx-wrapper .bx-controls-direction a {
	width: 4rem;
	height: 4rem;
}

.sec03{
	padding-top:2.5rem;
	margin-top:5.5rem;	
	padding-bottom:2.5rem;
}
.sec03::before{
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:auto;
	display:block;
	content:attr(data);
	background:#0363b5;
	height:100%;
	z-index:-1;
}

.sec03 .txt {
    width: 100%;
	float:none;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 2.5rem;
	float:none;
}

.sec03 .pic {
    display: block;
    width: 100%;
	float:none;
}
.sec03 h4 {
    font-size: 1.6rem;
    line-height: 2;
    padding-bottom: 1.5rem;
	padding-top:2rem;
}
.sec03 .map-btn{
	margin:0 auto;
	width:calc(100% - 3rem);
    border: 2px solid #fff;
    background: transparent;
}
.contact-banners{
	padding:0;
	margin:auto;
	height:auto;
}
.contact-banners>.f-right{
	width:100%;
	text-align:center;
	padding:2.5rem 1.5rem;
	float:none;
}

.contact-banners h3 {
    font-size: 1.7rem;
    letter-spacing: 0.075em;
    padding-bottom: 0.4em;
}
.contact-banners p{
	font-size:16px;
}
.contact-banners p.company-address{
	font-size:14px;
	padding-bottom:2.5rem;
}
.contact-banners ul{
	margin-left:auto;
	margin-right:auto;
}
.contact-banners li{
	margin-bottom:0;
}
.contact-banners::before{
	display:none;
}



}

@media screen and (max-width:480px){
.slider-pro p.sp-layer{
	font-size:1.7rem;
}
}