@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}

body {
	background: #FFF;
	color: #333;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 2;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover, a:focus {
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1;
	margin: 0;
	padding: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}


/* clearfix */
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

@media screen and (max-width: 767px) {
	html, body {
		width: 100%;
		min-width: 100%;
		overflow-x: hidden;
	}

	a {
		-webkit-tap-highlight-color: rgba(0, 0, 0, .3);
	}

	img {
		max-width: 100%;
		height: auto;
	}
}


/* header */
.header {
	width: 1000px;
	height: 100px;
	margin: 0 auto;
}

.header_logo {
	display: block;
	margin: 23px 0 0;
	float: left;
}

.header_logo > img {
	display: block;
}

.headerNav {
	float: right;
	text-align: right;
}

.headerNav_menu {
	display: inline-block;
	vertical-align: middle;
}

.headerNav_ul {
	display: table;
	width: auto;
	height: 100%;
}

.headerNav_ul > li {
	display: table-cell;
	position: relative;
	height: 100%;
	padding: 25px 10px;
}

.headerNav_ul > li > a {
	display: block;
	height: 50px;
	padding: 0 10px;
	color: #525252;
	font-size: 14px;
	font-weight: bold;
}

.headerNav_ul > li > a:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.headerNav_text {
	display: inline-block;
	vertical-align: middle;
}

.headerNav_ul > li:hover > .headerNav_sub, .headerNav_ul > li:focus > .headerNav_sub {
	display: block;
}

.headerNav_sub {
	display: none;
	position: absolute;
	width: 220px;
	left: 50%;
	top: 100px;
	margin-left: -110px;
	border: solid 2px currentColor;
	border-top: 0;
	border-radius: 0 0 2px 2px;
	background: #0068C2;
	color: #FFF;
	z-index: 2000;
}

.headerNav_sub:before {
	content: "";
	position: absolute;
	top: -14px;
	left: 97px;
	width: 0;
	height: 0;
	border-bottom: 14px solid #0068C2;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
}

.headerNav_sub > li + li {
	border-top: solid 1px #66A4DA;
}

.headerNav_sub > li > a {
	display: block;
	padding: 7px 10px;
	font-size: 13px;
	font-weight: bold;
	text-align: left;
	line-height:1.4;
}

.headerNav_sub > li > a:hover, .headerNav_sub > li > a:focus {
	color: #FFF;
}

.headerNav_sub > li > a > small {
	font-size: 12px;
}


.headerNav_shiryou {
	display: inline-block;
	width: 110px;
	margin: 0 0 0 10px;
	padding: 17px 0;
	border-radius: 4px;
	background: #00ADEE;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
}

.headerNav_shiryou:hover, .headerNav_shiryou:focus {
	color: #FFF;
}

.headerNav_btn {
	display: none;
}


.headerLang {
	display: inline-block;
	vertical-align: middle;
}

.headerLang_li {
	width: 75px;
	height: 35px;
	float: left;
	border: solid 1px #00ADEE;
	line-height: 1;
	text-align: center;
}

.headerLang_li > a {
	display: block;
	height: 100%;
}

.headerLang_li--on > a {
	background: #00ADEE;
	cursor: default;
}

.headerLang_li > a:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.headerLang_li:first-child {
	border-radius: 3px 0 0 3px;
}

.headerLang_li:last-child {
	border-radius: 0 3px 3px 0;
}

.headerLang_li > img {
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.header {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 10px 60px 10px 10px;
	}

	.header_logo {
		display: block;
		margin: 0;
		float: none;
	}

	.header_logo > img {
		display: block;
	}

	.headerNav {
		display: none;
		position: absolute;
		width: 100%;
		height: auto;
		top: 70px;
		left: 0;
		float: none;
		background: #FFF;
		text-align: left;
		z-index: 20000;
	}

	.headerNav--show {
		display: block;
	}

	.headerNav_menu {
		display: block;
		vertical-align: middle;
	}

	.headerNav_ul {
		display: block;
		width: 100%;
		height: auto;
	}

	.headerNav_ul > li {
		display: block;
		position: relative;
		height: auto;
		padding: 0;
		border-top: solid 1px #00ADEE;
	}

	.headerNav_ul > li > a {
		display: block;
		height: auto;
		padding: 10px 20px;
	}

	.headerNav_ul > li > a:after {
		content: none;
	}

	.headerNav_sub {
		display: block;
		position: static;
		width: 100%;
		margin-left: 0;
		border: none;
		background: #FFF;
		color: #525252;
	}

	.headerNav_sub:before {
		content: none;
	}

	.headerNav_sub > li {
		border-top: solid 1px #00ADEE;
	}

	.headerNav_sub > li > a {
		display: block;
		padding: 10px 20px 10px 50px;
		font-size: 12px;
		font-weight: bold;
		text-align: left;
	}

	.headerNav_sub > li > a:hover, .headerNav_sub > li > a:focus {
		color: #525252;
	}


	.headerNav_shiryou {
		display: block;
		width: 100%;
		margin: 0;
		padding: 10px 20px;
		border-radius: 0;
		line-height: 2;
		text-align: left;
	}

	.headerNav_shiryou:hover, .headerNav_shiryou:focus {
		color: #FFF;
	}

	.headerNav_btn {
		display: block;
		position: absolute;
		top: 15px;
		right: 10px;
		width: 40px;
		height: 40px;
		color: #00ADEE;
		font-size: 40px;
		line-height: 40px;
	}

	.headerNav_btn:before {
		content: "\2261";
	}
}


/* footer */
.footerContact {
	height: 240px;
	background: #F5F5F5;
	text-align: center;
}

.footerContact:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.footerContact_text {
	display: inline-block;
	vertical-align: middle;
}

.footerContact_btn {
	display: inline-block;
	width: 350px;
	margin: 0 0 0 74px;
	padding: 9px 0;
	border: solid 2px currentColor;
	border-radius: 4px;
	color: #00ADEE;
	font-size: 14px;
	text-align: center;
	vertical-align: middle;
}
.footerContact_btn:hover {
	background: #00ADEE;
	color: #FFF !important;
}

.footerContact_btn:hover, .footerContact_btn:focus {
	color: #00ADEE;
}

.footer {
	padding: 62px 0 0;
	text-align: center;
}

.footer_logo {
	display: block;
	margin: 0 auto;
}

.footerNav {
	margin: 40px 0 50px;
}

.footerNav_ul > li {
	display: inline-block;
	margin: 0 20px;
	font-size: 13px;
	vertical-align: middle;
}

.footerNav_ul > li > a:hover, .footerNav_ul > li > a:focus {
	color: #000;
	text-decoration: underline;
}

.footer_pageTopBtn {
	display: block;
	height: 50px;
	background: #555;
	text-align: center;
}

.footer_pageTopBtn:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.footer_pageTopBtn > img {
	vertical-align: middle;
}

.footer_copy {
	margin: 0;
	padding: 25px 0 35px;
	background: #333;
	color: #FFF;
	font-size: 13px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.footerContact {
		height: auto;
		padding: 20px;
	}

	.footerContact:after {
		content: none;
	}

	.footerContact_btn {
		display: block;
		width: 100%;
		margin: 10px 0 0;
	}

	.footer {
		padding: 25px 0 0;
		text-align: center;
	}

	.footerNav {
		margin: 20px 0 25px;
	}

	.footerNav_ul > li {
		margin: 0 10px;
	}

	.footer_copy {
		padding: 15px 0;
	}
}


/* common parts */
.pageHeader {
	height: 130px;
	background: url(../img/page_header_bg.png) no-repeat center center;
	background-size: cover;
	text-align: center;
}

.pageHeader:after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.pageHeader_title {
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}

.pageHeader_title > img {
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.pageHeader {
		height: 80px;
		padding: 0 10px;
	}
}


.breadCrumb {
	margin: 1px 0 0;
	padding: 12px 0;
	background: #EFF8FF;
}

.breadCrumb_ol {
	width: 1000px;
	margin: 0 auto;
}

.breadCrumb_ol > li {
	display: inline-block;
	color: #525252;
	font-size: 12px;
	line-height: 1.2;
	vertical-align: middle;
}

.breadCrumb_ol > li + li:before {
	content: "\203a";
	display: inline-block;
	margin: 0 5px 0 4px;
	vertical-align: middle;
}

.breadCrumb_ol > li > a:hover, .breadCrumb_ol > li > a:focus {
	color: #525252;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.breadCrumb {
		padding: 10px;
	}

	.breadCrumb_ol {
		width: 100%;
		margin: 0;
	}
}


.commonTitle01 {
	position: relative;
	display: inline-block;
	margin: 0;
	font-size: 20px;
	line-height: 1.2;
}

.commonTitle01:before, .commonTitle01:after {
	content: "";
	display: block;
	position: absolute;
	width: 140px;
	height: 1px;
	background: #DDD;
	top: 50%;
	margin-top: -1px;
}

.commonTitle01:before {
	left: -163px;
}

.commonTitle01:after {
	right: -163px;
}

@media screen and (max-width: 767px) {
	.commonTitle01 {
		font-size: 18px;
	}

	.commonTitle01:before, .commonTitle01:after {
		width: 50px;
	}

	.commonTitle01:before {
		left: -55px;
	}

	.commonTitle01:after {
		right: -55px;
	}
}


.serviceNav {
	width: 940px;
	margin: 40px auto 0;
	padding: 0 0 80px;
}

.serviceNav_ul {
	margin: 0 -10px -20px;
}

.serviceNav_li {
	padding: 0 10px 20px;
}

.serviceNav_li > a {
	display: block;
	position: relative;
	height: 60px;
	padding: 0 10px 0 0;
	border-radius: 5px;
	background: #00ADEE;
	color: #FFF;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.7;
	text-align: center;
}

.serviceNav-sm .serviceNav_li > a {
	height: 50px;
	font-size: 13px;
}

.serviceNav_li > a:hover, .serviceNav_li > a:focus {
	opacity: .7;
}

.serviceNav_li > a:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	vertical-align: middle;
}

.serviceNav_li > a:after {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	top: 50%;
	right: 13px;
	margin-top: -8px;
	border-radius: 50%;
	background: url(../img/menu_arrow.png) no-repeat center center;
}

.serviceNav_text {
	display: inline-block;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.serviceNav {
		width: 100%;
		margin: 40px 0 0;
		padding: 0 15px 40px;
	}

	.serviceNav_li {
		padding: 0 10px 10px;
	}

	.serviceNav_li > a {
		height: 40px;
		font-size: 14px;
	}

	.serviceNav-sm .serviceNav_li > a {
		height: 40px;
		font-size: 12px;
	}
}
