@charset "utf-8";

.page_header {
	background: rgba(66, 103, 178, .2);
}
.page_header_text h1 {
	text-align: center;
	font-size: 11px;
	font-weight: normal;
	color: #333;
	max-width: 100%;
	width: 960px;
	margin: auto;
}
.page_header .header_inner {
	width: 960px;
	margin: auto;
	padding: 10px 0;
	text-align: center;
}
@media only screen and (min-width: 768px){
	.page_header .header_inner {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.header_logo {
		-ms-flex-preferred-size: 33.33%;
		flex-basis: 33.33%;
	}
	.header_btn {
		-ms-flex-preferred-size: 250px;
		flex-basis: 250px;
	}
	.header_info {
		-ms-flex-preferred-size: 264px;
		flex-basis: 264px;
	}
}

.header_logo a,
.header_logo img {
	display: block;
}
.header_logo img {
	width: 100%;
}
.header_logo .logo_text {
	font-size: 13px;
	color: #444;
	display: block;
	margin-top: 2px;
	font-weight: normal;
}
.header_tel {
	font-size: 37px;
	position: relative;
	padding-left: 30px;
	color: rgb(66, 103, 178);
	font-family: 'Crimson Text', serif;
	line-height: 1;
	display: inline-block;
}
.header_tel::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 5px;
	width: 22px;
	height: 30px;
	background: url(../img/common/ico_tel.png) 0 0 no-repeat;
	background-size: 22px auto;
}
.header_mail {
	margin: 2px 0;
}
.header_mail a {
	display: block;
	border: 1px solid #4267b2;
	color: #4267b2;
	padding: 2px;
}
.header_mail a span {
	position: relative;
	display: inline-block;
	padding: 2px 30px;
}
.header_mail a:hover {
	display: block;
	background: #4267b2;
	color: #fff;
	padding: 2px;
}
.header_text01 {
	font-size: 11px;
	vertical-align:  middle;
	text-align: right;
	margin-top: 0;
}
.header_text01 img {
	vertical-align: bottom;
}
.header_cre_img {
	text-align: right;
}
.header_cre_img img {
	display: inline-block;
}
.header_text02 {
	font-size: 11px;
	text-align: left;
	margin-top: 3px;
}

.header_btn {
}
.header_btn_text {
	font-size: 11px;
}
.header_btn ul::after {
	content: "";
	display: block;
	clear: both;
}
.header_btn li {
	margin-bottom: 5px;
	width: 220px;
	position: relative;
}
.header_btn li a {
	background: #fff;
	color: #000;
	border: 2px solid #81bf24;
	padding: 5px 5px 5px 30px;
	display: block;
}
.header_btn li:nth-child(1) a {
	background: #fae7f2;
}
.header_btn li:nth-child(2) a {
	background: #cef7ff;
}
.header_btn li a:hover {
	opacity: .7;
}
.header_btn li::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -95px;
	margin-top: -15px;
	width: 30px;
	height: 30px;
}

.header_btn > a {
	color: #000;
	border: 2px solid rgb(66, 103, 178);
	padding: 5px;
	display: block;
	width: 250px;
	max-width: 100%;
	position: relative;
	background: rgba(66, 103, 178,0.2);
	text-align: center;
}
.header_btn > a::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: -15px;
	width: 30px;
	height: 30px;
}
.header_btn > a::before {
}
.header_btn > a:hover {
	opacity: .7;
}
@media only screen and (max-width: 959px) and (min-width: 768px) {
	.page_header .header_inner {
		width: 100%;
	}
	.header_logo {
		width: 33.33%;
	}
	.header_logo img {
		max-width: 100%;
		height: auto;
	}
	.header_btn {
		width: 33.33%;
		max-width: 250px;
		padding: 0 10px;
	}
	.header_info {
		width: 33.33%;
		max-width: 245px;
	}
	.header_info .header_tel {
		font-size: 3.5vw;
	}
}
@media only screen and (max-width: 767px) {
	.page_header_text {
		display: none;
	}
	.page_header_text h1 {
		padding: 0 2%;
		text-align: left;
	}
	.page_header .header_inner {
		width: 100%;
	}
	.header_info,
	.header_btn {
		display: none;
	}

	.header_logo {
		max-width: 90%;
		float: none;
		margin: 0px auto 10px;
		padding: 0 0;
		text-align: center;
		width: auto;
	}
	.header_logo img {
		display: inline-block
	}
	.header_logo .logo_text {
		text-align: center;
	}
	@media only screen and (max-width: 450px) {
		.header_logo .logo_text {
			margin-top: 2px;
		}
	}
	.header_logo img {
		max-width: 100%;
	}
	.sp_header_tel {
		padding: 0 2%;
		width: 385px;
		margin: 0 auto 10px;
	    max-width: 100%;
	}
	.sp_header_tel a {
		background: #81bf24;
		color: #fff;
		padding: 10px;
		display: block;
		text-align: center;
		position: relative;
		font-size: 18px;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
		box-shadow: 0 0 2px 1px #fff inset;
		border: 1px solid rgba(255, 255, 255, 0.2);
	}
	.sp_header_tel a::before {
		content: "";
		position: absolute;
		top: 50%;
		width: 20px;
		height: 40px;
		margin: -17px 0 0 -30px;
	}
	.header_btn > a {
		margin-top: 0;
		margin-bottom: 15px;
		width: 280px;
	}
	
}


.header02 {
	position: relative;
	background: rgb(66, 103, 178);
}
.header02 .header_inner {
	position: relative;
	width: 960px;
	margin: auto;
}
.header02 li {
	background: #fff;
}
.header02 .nav_list > li > a {
	display: block;
	text-align: center;
	height: 45px;
	line-height: 45px;
	font-size: 14px;
	color: #fff;
	font-weight: bold;
	position: relative;
	background: #4267b2;
}
.header02 .nav_list > li > a::before {
	font-family: FontAwesome;
	font-size: 18px;
	margin-right: 5px;
	position: absolute;
	top: 50%;
	margin: -1.2em 0 0 -25px;
}
.nav_list > li .nav_line_2 {
	display: inline-block;
	text-align: left;
	line-height: 1.2;
	vertical-align: middle;
}
.header02 li a:hover {
	opacity: .7;
}
.nav_sub,
.nav_sub02 {
	display: none;
}
@media only screen and (min-width: 960px) {
	.header02 {
		min-width: 960px;
	}
}
@media only screen and (min-width: 768px) {
	.header02 {
		min-width: 100%;
	}
	.header02 .panel {
		display: block !important;
	}
	.header02 a.menu {
		display: none;
	}
	.header02 .nav_list > li {
		float: left;
		width: 16.66%;
		height: 45px;
		line-height: 45px;
		position: relative;
	}
	.header02 .nav_list > li > a {
		height: 45px;
		vertical-align: middle;
	}
	.header02 .nav_list > li > a {
		display: block;
	}
	.nav_list > li a:hover + .nav_sub,
	.nav_sub:hover{
		display: block;
		position:relative;
		z-index: 10;
	}
	.nav_sub > li {
		position: relative
	}
	.nav_sub li {
		display: table;
		width: 100%;
	}
	.nav_sub li > a {
		display: table-cell;
		height: 55px;
		vertical-align: middle;
		line-height: 1.4;
		width: 100%;
		padding: 5px;
	}
	.nav_sub > li > a {
		background: #e6f2d3;
		color: #81bf24;
		text-align: left;
		position: relative;
		border-bottom: 1px solid #81bf24;
	}
	.nav_sub02 {
		position: absolute;
		left: 100%;
		top: 0;
		width: 150px;
		-webkit-box-shadow: 1px 1px 3px 0px #ddd;
		-moz-box-shadow: 1px 1px 3px 0px #ddd;
		box-shadow: 1px 1px 3px 0px #ddd;
	}
	.nav_sub02 a {
		color: #81bf24;
		text-align: left;
		border-bottom: 1px solid #81bf24;
	}
	.nav_sub > li > a:hover + .nav_sub02,
	.nav_sub02:hover {
		display: block;
	}
	.nav_sub > li:last-child > a,
	.nav_sub02 > li:last-child > a {
		border-bottom: 0
	}
}
@media only screen and (max-width: 767px) {
	.header02 .inner {
		width: 100%;
	}
	.header02 {
		position: relative;
		z-index:999;
		top:0;
		width:100%;
		background:#fff;
	}
	.header02 a.menu {
		 width:100%;
		 display:block;
		 height:50px;
		 line-height:50px;
		 font-weight: bold;
		 font-size:14px;
		 font-size:1.4rem;
		 text-align:left;
		 color: #333;
		 border-top: 1px solid #ccc;
		 border-bottom: 1px solid #ccc;
	}
	.header02 a#menu span {
		padding-left:10px;
		height:40px;
		font-size:18px;
		font-size:1.8rem;
	}
	.header02 ul li {
		float: left;
		width: 50%;
		display: table;
		line-height:1.2;
		border-bottom: 1px solid #ccc;
	}
	.header02 .nav_list > li > a {
		display: table-cell;
		background: #fff;
		padding: 5%;
		text-align:left;
		color: #333;
		font-size: 14px;
		font-size: 1.4rem;
		height: 45px;
		line-height: 1.2;
		text-decoration:none;
		vertical-align:middle;
	}
	.header02 ul li:nth-child(2n+1) a {
		border-right: 1px solid #ccc;
	}
	.header02 div.panel {
		float:none;
		position: absolute;
		width: 100%;
	}
	
	.header02 .panel ul li a::before {
		content: none;
	}
}
