@charset "utf-8";
/* ======================================================

	structure CSS

========================================================= */


/* ======================================================

	body

========================================================= */
body {
	z-index:20000;
	position:relative;
	height:100%;
	min-width:1000px;
	border-right:#163b5f 6px solid !important;
	border-bottom:#163b5f 6px solid !important;
	border-left:#163b5f 6px solid !important;
	font-size:16px;
	color:#333;
	line-height:22.5px;
	line-height:2.25rem;/*150%*/}

.container{
	width:100%;
	min-width:960px;}

.contents_inner section {
	margin-bottom:50px;
	}

@media screen and (max-width: 768px) {
	body{
		min-width:100%;
		word-wrap:break-word;
		font-size:16px;
		border:none;}

	.container{
		min-width:100%;}
		
	.contents_inner section {
		margin-bottom: 20px;
	}

}


/* ======================================================

	header

========================================================= */
.header{
	width:100%;}

.headerArea{
	margin:0 auto;
	width:960px;
	padding: 15px 0 10px;
	}

.h_logo{
	float:left;
	margin: 10px;}

.h_logo a:hover{
	opacity:0.7;}

.h_info{
	float:right;
	font-size:14px;}

.h_info li{
	display:inline-block;
	vertical-align:middle;}
	
li.h_address {
	padding-right: 10px;
}

.h_info a{
	color:#333;
	text-decoration:none;}

.h_info a:hover{
	opacity:0.7;}
	
.top_headnav_fix {
	position:fixed;
	z-index: 10000;
	width:100%;
	margin-left:-6px;
	min-width:1000px;
	background-color:rgba(255,255,255,0.9);
	border-top: #163b5f 6px solid;
	border-right: #163b5f 6px solid;
	border-left: #163b5f 6px solid;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}

/* clear */
.headerArea:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;}

@media screen and (max-width:768px){
	.header{}
		
	.headerArea{
		width:100%;
		height:auto;}

	.h_logo{
		float:none;
		margin:10px 0;
		text-align:center;}

	.h_info{
		float:none;
		text-align:center;}
		
	.h_info li {
		display:block;
		}
		
	.top_headnav_fix {
		position: static;
		width: 100%;
		min-width:100%;
		margin-top: 0;
		margin-left:0;
		border-left:none;
		border-right:none;
	}
	
	
}

@media screen and (max-width: 599px) {
	.h_info li{
		display:block;
		margin-bottom:5px;}
		
	.h_logo {
		margin: 30px 5px 10px;
	}

}

@media screen and (max-width: 380px) {
	.h_logo img{
		width:90%;}
		
	
}

/* ======================================================

	gnav

========================================================= */
.gnav{
	}

.gnav ul{
	margin:0 auto;
	width:768px;}

.gnav ul li{
	float:left;}
	

/* clear */
.gnav ul:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;}

@media screen and (max-width:768px){
	.sp_gnav_btn_wrap {
		background-color:#163b5f;
		}
	
	.sp_gnav_btn{
		z-index: 1002;
		position: absolute;
		top: 10px;
		right: 5px;
		width: 65px;
		background: #fff;
		border: 1px solid #163b5f;
		box-sizing: border-box;
		color: #163B5F;
		cursor: pointer;
		line-height: 30px;
		text-align: center;
		font-size:14px;
		border-radius: 5px;
		}

	.sp_gnav_btn.open {
		position: fixed;
		top: 10px;
		right: 11px;
}

	.sp_gnavArea {
		z-index: 1001;
		background: rgba(80, 80, 80, 0.9);
		display: none;
		height: 100%;
		left:0;
		position: fixed;
		width: 100%;
		text-align: center;
		top: 0;}

	.sp_gnav {
		width: 70%;
		margin: 10vh auto 0;
		}
	
	.sp_gnav li {
		border-bottom: 1px solid #fff;}
	
	.sp_gnav li a {
		display:block;
		padding:20px 0;
		color:#fff;
		text-decoration:none;}

	.sp_gnav li a:hover{
		opacity:0.7;}

}

@media screen and (max-width:599px){
	.sp_gnav li a {
		padding:15px 0;}
}



/* ======================================================

	mv

========================================================= */
.top_mvArea{
	overflow: hidden;
	position: relative;
	margin: 0 auto 50px;
	width: 100%;
	padding-top: 146px;
	}
	
.top_mvArea img {
	width: 100%;
	}

.sub_mvArea{
	position:relative;
	}
	
.sub_mvArea img {
	width: 100%;
	}

.sub_mv_text {
	position: absolute;
	top: 70%;
	right: 0;
	left: 0;
	padding: 20px 0 16px;
	background-color: rgba(255,252,252,0.7);
	border-bottom: 3px solid #163b5f;
	color: #163b5f;
	letter-spacing: 4px;
	text-align: center;
	font-size: 36px;
	font-weight: normal;
	/*font-family:游ゴシック;*/
	}

@media screen and (max-width:768px){
	.top_mvArea {
		padding-top:0;
		}

	.top_mvArea_sp{
		margin-bottom:20px;}

	.top_mvArea_sp img {
		margin: 0 auto;
		width: 100%;
		position:relative;
	}
	
	.top_mvArea_sp p {
		padding:10px;
		color:#163b5f;
	}

	.sub_mv_text {
		font-size:2.2rem;
		top:60%;
	}

}


/* ======================================================

	contents

========================================================= */
.contents{
	margin:0 auto;
	width:100%;}

.contents_inner{
	margin:0 auto;
	width:960px;}

section {
	width: 960px;
	margin:0 auto;}

.top_personArea, .top_greetingArea,
.top_conditionsArea, .top_companyArea,
.top_newsArea{
	/*font-family:游ゴシック;*/
	}

/* entry */
.top_entry {
	position: fixed;
	right:0;
	top: 152px;
	z-index: 100;
	}
	
.top_entry a:hover {
	opacity:0.7;
	}

/* greeting */
.top_greetingArea {
	position:relative;
	margin-bottom: 260px;
	}

.top_greeting_text {
	border:#d5c9af 1px solid;
	padding:25px;
	line-height:1.5em;
	width:480px;
	}
	
.top_greeting_tlt {
	position:absolute;
	top:40px;
	right:0;
	}
	
.top_greeting_text h3 {
	font-size:2.2rem;
	color:#fb7c3d;
	font-weight:normal;
}

.top_greeting_text p {
	font-size:1.8rem;
	font-weight:normal;
	width: 350px;
	color:#434343;
}

.top_greeting_img {
	position:absolute;
	top:120px;
	right:0;
	}

/* system */
.top_systemArea {
	position:relative;
	margin-bottom: 200px;
	}

.top_system_imgBox {
	overflow:hidden;
	margin:40px auto;
	}
	
.top_system_imgBox li {
	float:left;
	width:33%
	}
	
.top_system_imgBox li img {
	width:100%
	}

.system_right_more {
	position:absolute;
	right:0;
	bottom:-70px;
	}

/* person */
.top_personArea {
	position:relative;
	line-height: 1.5em;
	}

.top_person_tlt {
	position:absolute;
	right:0;
	top:-50px;
	}

.top_person_text {
	width:480px;
	background-color:#FFFFFF;
	box-shadow:1px 1px 2px 1px rgba(0,0,0,0.2);
	padding:25px;
	}

.top_personArea h3 {
	font-size:1.8rem;
	color:#094682;
	font-weight:normal;
	border-bottom: #094682 1px solid;
	padding-bottom: 5px;
	margin-bottom: 15px;
	}
	
.top_personArea p {
	font-size:1.6rem;
	}
	
.top_person_img {
	position: absolute;
	top: 84px;
	right: 0;
	z-index: -100;
	width: 100%;
	max-width: 500px;
	}
	
.top_person_img img {
	width: 100%;
	margin:0 auto;
	display:block;
	}

.top_person_name_box {
	margin: 30px 0 150px;
	padding:20px;
	background:url(images/bg_person_name_box.jpg) left top repeat;
	color: #fff;
	}
	
.top_person_name_box p {
	display:block;
	margin:0 auto;
	width:960px;
	padding: 10px 0;
	}
	
.top_person_name {
	font-size:1.8rem;
	position:relative;
	}
	
/* .top_person_name::after {
	content:url(images/top_person_it01.png);
	position:absolute;
	right:0;
	bottom:-20px;
	} */
	
.top_person_name {
	font-size:2.8rem;
	line-height: 1.2;
	}
	
.person_more_left {
	margin-top:30px;
	}
	
/* conditions */
.top_conditionsArea {
	position:relative;
	margin-bottom: 150px;
	overflow:hidden;
	padding-bottom: 80px;
	}

.top_conditions_text {
	float:right;
	border:#d5c9af 1px solid;
	padding:25px 20px 80px 25px;
	line-height:1.5em;
	width:480px;
	margin-top:60px;
	}
	
.top_conditions_tlt {
	position:absolute;
	top:0;
	left:0;
	}
	
.top_conditions_text h3 {
	font-size:2.2rem;
	color:#fb7c3d;
	font-weight:normal;
	margin-left:80px;
	}

.top_conditions_text ul {
	font-size:1.8rem;
	font-weight:normal;
	list-style:url(images/top_conditons_dot.png) outside;
	color:#434343;
	margin-left: 100px;
	}

.top_conditions_text ul li {
	margin-bottom:15px;
	}

.top_conditions_img {
	position:absolute;
	top:90px;
	left:0;
	}
	
.conditions_right_more {
	position:absolute;
	right:0;
	bottom:10px;
	}

/* company */
.top_companyArea {
	position:relative;
	overflow:hidden;
	padding-bottom: 62px;
	}

.top_company_tlt {
	position:absolute;
	top:0;
	right:0;
	}
	
.top_company_text {
	border:#d5c9af 1px solid;
	padding:25px;
	line-height:1.5em;
	width:520px;
	margin-top: 50px;
	margin-bottom:20px;
	background-color:#FFFFFF;
	}
	
.top_company_img {
	position: absolute;
	top: 190px;
	right: 0;
	z-index:-100;
	}
	
.top_company_list li {
	border-bottom:#7091b1 1px solid;
}
	
.top_company_list dl {
	display:table;
	padding:20px;
	}
	
.top_company_list dt {
	display:table-cell;
	width:120px;
	}
	
/* access_googlemap */
.access_googlemap {
	position: relative;
	padding-bottom: 22%;
	height: 0;
	overflow: hidden;
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	-o-filter:grayscale(100%);
	-ms-filter:grayscale(100%);
	margin-bottom:100px;
	}
	
.access_googlemap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}

	
@media screen and (max-width:768px){
	.contents{
		padding:10px;
		width:100%;}

	.contents_inner{
		padding:0 10px;
		width:100%;}
	
	section {
	width:100%;
	}
	
	.top_tlt_sp {
		font-size:1.8rem;
		color:#fb7c3d;
		font-weight:normal;
		border-bottom:#163b5f 1px solid;
		margin-bottom:10px;
		}
	
	/* greeting */
	.top_greetingArea, .top_systemArea {
		margin-bottom: 50px;
		}
	
	.top_greeting_text {
		border:none;
		padding:0 0 10px;
		width:100%;
		}
	.top_greeting_text h3 {
		font-size:1.6rem;
	}	
	
	.top_greeting_text p {
		width:100%;
		font-size:1.6rem;
	}
	
	.top_greeting_img {
		position: static;
		}
		
	.top_greeting_img img {
		margin:0 auto;
		display: block;
		}
	
	/* system */
	.top_system_imgBox {
		margin: 0px auto;
	}

	.system_right_more {
		position: static;
		margin-top:20px;
		}
		
	.system_right_more img {
		margin:0 auto;
		display:block;
		}

	/* person */
	.top_person_text {
		width: 100%;
		box-shadow: none;
		padding: 0;
	}
	
	.top_person_name::after {
		content: normal;
	}
	
	.top_person_name_box p {
		width:100%;
		padding: 0;
		}
		
	.top_personArea p {
		margin-bottom: 15px;
	}
	
	.top_person_name_box {
		padding: 10px;
		margin: 0 0 20px;
	}
	
	.top_person_name {
		font-size: 1.8rem;
	}
	
	.top_person_img {
		position: static;
		margin: auto;
	}
	
	.top_person_img img {
		margin:0 auto;
		display:block;
	}
	
	.top_more_sp img {
		margin: 0 auto;
		display: block;
		margin-bottom:50px;
	}
	
	/* conditions */
	.top_conditionsArea {
		margin-bottom: 50px;
		padding-bottom: 5px;
	}
	
	.top_conditions_img {
		position: static;
		}
		
	.top_conditions_img img  {
		margin:0 auto;
		display:block;
	}
		
	.top_conditions_text {
		float: none;
		border: none;
		padding: 0;
		width: 100%;
		margin-top: 0;
	}
	
	.top_conditions_text h3 {
		font-size:1.6rem;
		margin: 0;
		}
	
	.top_conditions_text ul {
		font-size:1.6rem;
		margin-left: 20px
		}
		
	.top_conditions_text ul li {
		margin-bottom: 5px;
	}
	
	.conditions_right_more {
		position: static;
		margin-top:20px;
		}
		
	.conditions_right_more img {
		margin:0 auto;
		display:block;
		}
		
		
	/* company */
	.top_companyArea {
		padding-bottom: 10px;
	}
	
	.top_company_text {
		border: none;
		padding: 0;
		width: 100%;
		margin-top: 0;
	}
	
	.top_company_img {
		position: static;
		margin: 10px 0 0;
	}
	
	.top_company_img img {
		margin: 0 auto;
		display: block;
	}

	.company_left_more {
		position: static;
		margin-top:20px;
		margin-bottom:20px;
		}
		
	.company_left_more img {
		margin:0 auto;
		display:block;
		}

	
	/* access_googlemap */
	.access_googlemap {
		padding-bottom: 60%;
		margin-bottom:50px;
		}
	
}
@media screen and (max-width: 599px) {
	/* greeting */
	.top_greeting_img img {
		width:100%;
		}
		
	/* system */	
	.top_system_imgBox li {
		float: none;
		width: 100%;
		margin-bottom: 10px;
	}
	
	/* person */
	.top_person_img img {
		width:100%;
		}
		
	/* conditions */
	.top_conditions_img img {
		width:100%;
		}
	
	/* company */	
	.top_company_img img {
		width:100%;
	}
	
	.top_company_list dl {
		display: block;
		padding: 0;
	}
	
	.top_company_list dt {
		display: block;
		width: 100%;
	}
	
	.top_company_list li {
		display: block;
		padding: 10px 0;
	}
	
	.top_company_list li:first-child {
		padding:0 0 10px;
		display: block;
	}
}

/* xxxx
========================================== */
.top_xxxArea{}

@media screen and (max-width:768px){
}


/* news
========================================== */
.top_newswrap {
	background-color:#fffaf0;
	padding:50px 0 100px;
	overflow: hidden;
}

.top_newsArea{
	position:relative;}

.top_news_list{
	padding-top: 20px;
	}

.top_news_list dl{
	border-bottom:1px dashed #ccc;}

.top_news_list dt,
.top_news_list dd{
	display:table-cell;
	vertical-align:top;
	padding: 20px 10px;
	}

.top_news_list dt{
	width:260px;}

.top_news_list dd a{
	color:#333;
	text-decoration:none;}

.top_news_list dd a:hover{
	color:#fb7c3d;
	text-decoration:underline;
	}
	
.news_cat {
	font-size:1.4rem;
	border:#fb7c3d 1px solid;
	margin-left:30px;
	padding:5px 15px;
	background-color:#FFFFFF;
	}
	
.top_news_list dl {
	border-bottom: 1px dashed #ccc;
	margin-bottom: 10px;
	padding-bottom: 5px;
}

.news_right_more {
	position:absolute;
	right:0;
	bottom:-70px;
	}


	

@media screen and (max-width:768px){
	.top_news_list dt,
	.top_news_list dd{
		display:block;
		width:100%;
		padding: 5px 0;}

	.top_news_list{
		padding-top: 0;
		}
	
	.top_news_list dt{
		padding:0;}
		
	.top_newswrap {
		padding: 15px 15px 20px;
		}
		
	.news_right_more {
		position: static;
	}
	
	.news_right_more img {
		margin:20px auto 0;
		display:block;
	}

}

@media screen and (max-width:599px){
	.news_cat {
		margin-left:10px;}

	.top_news_list dd{
		margin-top:5px;}

}



/* ======================================================

	footer

========================================================= */
.top_footer_line {
	width: 100%;
	padding:50px 0;
	background-color: #fff;
	border-bottom: 5px solid #163b5f;
	box-shadow: 0 1px 0 #fff;
	}

#footer{
	width:100%;
	background-color:#163b5f;
	color:#fff;
	border-top:#fff solid 1px;
	}

.footerArea{
	margin:0 auto;
	padding:40px 0 0;
	width:960px;}

/* clear */
.footerArea:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;}

.f_logo{
	width: 100%;
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
	}
	
.f_logo dt{
	margin-bottom:10px;}

.f_logo dt a:hover{
	opacity:0.7;}

.f_logo dd{}

.f_tel{
	font-size:2.2rem;
	font-weight:normal;
	position:relative;
	width: 188px;
	margin: 15px auto;
	padding-left: 10px;
	}
	
.f_tel::before {
	content: url(images/f_tel_icon.png);
	position:absolute;
	top:0;
	left:0;
}

.f_tel a {
	color: #fff;
	text-decoration: none;
}

.fnav{
	display: table;
	margin: 30px auto;
	border-collapse: separate;
	border-spacing: 30px 0;
}

.fnav li{
	display:table-cell;
	padding-left:15px;
	background:url(images/arrow_fnav.png) 0 4px no-repeat;
	font-size:14px;}

.fnav li a{
	color:#fff;
	text-decoration:none;}

.fnav li a:hover{
	text-decoration:underline;}


@media screen and (max-width: 768px) {
	.footerArea{
		width:100%;
		padding: 15px 0 0;
		}

	.f_logo{
		float:none;
		padding:10px 10px;
		width:100%;
		text-align:center;
		font-size:14px;
		}

	.fnav{
		width:100%;
		margin-left:0;
		border-top:1px solid #fff;
		display: block;
		margin: 10px auto 0;
		}

	.fnav li{
		padding-left:15px;
		background:url(images/arrow_fnav.png) 10px 14px no-repeat;
		border-bottom:1px solid #fff;
		display: block;}

	.fnav li:last-child{
		margin-bottom:0;}

	.fnav li a{
		display:block;
		padding:10px 10px 10px 20px;
		min-height:25px;}
		
	.top_footer_line {
		padding: 10px;
	}

}

@media screen and (max-width: 380px) {
	.footerArea img{
		width:90%;}
}


/* ==============================================

	entry_sp

================================================= */
.top_entry_sp{
	margin-top:30px;}

.top_entry_sp img{
	width:100%;}


/* ==============================================

	copyright

================================================= */
.copyright{
	clear:both;
	padding:5px;
	font-size:14px;
	text-align:center;
	background-color:#FFFFFF;
	color:#434343;
	line-height: 1.5rem;
	}


@media screen and (max-width: 768px) {

}

/* =======================================

	pageTop

========================================== */
#pageTop{
	position:fixed;
	right:30px;
	bottom:20px;
	z-index: 100;
	padding:20px 20px 17px 20px;
	box-shadow: 0 0 0 3px #fb8950 inset,
				0 0 0 4px #fff inset;
	background-color: #fb8950;}

#pageTop:hover{
	opacity:0.7;}

@media screen and (max-width: 768px) {
	#pageTop {
		bottom:10px;
		right:10px;
		padding:15px 15px 12px 15px;}
}


/* =======================================

	topicPath

========================================== */
#topicPath{
	padding:4px 0 0 10px;
	min-height:20px;
	font-size:16px;}

#topicPath li{
	display: inline;
	list-style-type: none;}

#topicPath li a {
	color:#6B7B0F;}

#topicPath li a:hover{
	color:#A6BF70;}

#topicPath li:before {
	content: " > ";}

#topicPath li:first-child:before {
	content: none;}


@media screen and (max-width: 768px) {
	#topicPath{
		padding:13px 0 0 10px;
		min-height:20px;
		font-size:16px;}
}

/* =======================================

	bxslider

========================================== */
.bx-controls.bx-has-controls-direction {
	display: none!important;
}