@charset "UTF-8";

* {
	padding: 0;
	margin: 0;
}

body {
	border: 0;
	box-sizing: border-box;
	list-style: none;
	padding: 0;
	margin: 0;
	word-break: break-all;
	/* font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	font-family: /*Quicksand', */"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
div,
ul,
ol,
dl,
li,
dt,
dd,
table,
img,
form,
fieldset,
td,
th,
a {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}

ul,
ol,
dl {
	list-style: none;
}

a {
	color: #001d4f;
	text-decoration: none;
	cursor: pointer;
}

input,
textarea,
select {
	border: 1px solid #ddd;
	padding: 5px;
	margin-right: 5px;
}

button,
input[type="button"],
input[type="submit"] {
	overflow: visible;
	cursor: pointer;
}

/*---------------------------------------------
CleraFix
---------------------------------------------*/
.clfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clfix {
	min-height: 1px;
}

* html .clfix {
	height: 1px;
	/*\*/
	/*/height: auto;  overflow: hidden;/**/
}

/*---------------------------------------------
PC
---------------------------------------------*/
@media screen and (min-width: 769px) {

	a:hover img,
	input[type="image"]:hover {
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha( opacity=70 )";
		-moz-opacity: 0.7;
	}

	a:hover {
		opacity: 0.7;
	}

	.spOnly {
		display: none !important;
	}

	.nav li a {
		position: relative;
		padding-left: 20px;
	}

	.nav li a::before {
		position: absolute;
		content: '';
		width: 6px;
		height: 6px;
		border-top: solid 2px #cfcfcf;
		border-right: solid 2px #cfcfcf;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		left: 0;
		margin-top: -4px;
	}

	.arrow03 {
		position: relative;
		padding-left: 10px;
	}

	.arrow03::before {
		position: absolute;
		content: '';
		width: 5px;
		height: 5px;
		border-top: solid 2px #ffffff;
		border-right: solid 2px #ffffff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		left: 0;
		margin-top: -4px;
	}

	#header {
		position: relative;
		margin: 0 auto;
		width: 1000px;
	}

	#header .logo {
		height: 96px;
	}

	#header .logo img {
		padding: 15px 0;
	}

	#header .catch {
		position: absolute;
		left: 235px;
		top: 38px;
		color: #001d4f;
		font-size: 14px;
		font-weight: bold;
		line-height: 120%;
	}

	#header .number {
		position: absolute;
		background-image: url(../img/phone.png);
		background-repeat: no-repeat;
		background-position: 0 10px;
		background-size: 18px;
		top: 10px;
		right: 25px;
		color: rgb(0, 0, 0);
		text-align: right;
		font-size: 24px;
		font-weight: bold;
		padding-left: 20px;
	}

	#header .on_time {
		position: absolute;
		top: 40px;
		right: 25px;
		color: #184ca6;
		font-size: 12px;
	}

	#header .nav {
		position: absolute;
		top: 60px;
		right: 25px;
	}

	.nav li {
		float: left;
		margin-left: 32px;
	}

	.nav ul li a {
		color: #001d4f;
		font-size: 14px;
		font-weight: bold;
	}

	.gnav {
		height: 50px;
		background: #001d4f;
	}

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

	.gnav ul li {
		float: left;
		width: 166px;
		font-size: 14px;
		font-weight: bold;
	}

	.gnav ul li a {
		color: #fff;
		display: block;
		text-align: center;
		height: 50px;
		line-height: 350%;
	}

	.gnav ul li span {
		font-size: 20px;
	}

	#footer {
		clear: both;
		position: relative;
		background: #001d4f;
		text-align: center;
		color: #fff;
		padding-top: 30px;
	}

	#footer a.pagetop {
		position: absolute;
		right: 40px;
		top: -40px;
	}

	#footer img {
		margin-top: 20px;
	}

	#footer p {
		display: inline-block;
		font-size: 24px;
		font-weight: bold;
		margin: 0 auto;
		line-height: 250%;
	}

	#footer p span.address {
		display: block;
		font-size: 14px;
		text-align: left;
		line-height: 1.5em;
		font-weight: normal;
	}

	#footer .fax {
		padding-left: 24px;
	}

	#footer .copy {
		background: #000;
		display: block;
		font-size: 13px;
		font-weight: normal;
		padding: 5px;
	}

	.nav2 {
		margin: 30px 0 50px;
	}

	.nav2 ul {
		line-height: 200%;
	}

	.nav2 ul li {
		display: inline-block;
		margin: 0 5px 0 5px;
	}

	.nav2 ul li a {
		color: #fff;
		font-size: 14px;
		font-weight: 0;
		padding-left: 16px;
	}

	.breadcrumb {
		width: 1000px;
		margin: 20px auto;
	}

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

	.breadcrumb li strong {
		font-weight: normal;
	}

	.breadcrumb li:not(:first-child) {
		position: relative;
		padding-left: 25px;
	}

	.breadcrumb li:not(:first-child)::before {
		position: absolute;
		content: '';
		width: 6px;
		height: 6px;
		border-top: solid 2px #cfcfcf;
		border-right: solid 2px #cfcfcf;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		left: 0;
		margin-top: -4px;
		margin-left: 5px;
	}

	.midashibox h1 , .midashibox p , .midashibox h2 {
		line-height: 1.6;
	}

	.area_search_refinement {
		width: 765px;
		padding: 15px 0;
		margin: 50px 0 0;
		float: left;
		background-color: #dcdcdc;
	}

	.area_search_refinement form {
		text-align: center;
	}

	.area_search {
		display: inline-block;
		margin-left: 10px;
	}

	.area_search_refinement form select {
		font-size: 14px;
		display: inline-block;
		margin-right: 20px;
	}

	.area_search_refinement form input {
		color: #fff;
		font-size: 16px;
		width: 230px;
		height: 45px;
		margin-right: 10px;
		display: inline-block;
		background-color: #00349a
	}

	.area_search_refinement form input:hover {
		background-color: rgba(4, 46, 138, 0.575);
	}

	.rightcolumn {
		float: right;
		width: 215px;
		height: 560px;
		margin-top: 50px;
	}

	.rightcolumn h3 {
		background-color: #cfcfcf;
		display: inline-block;
		width: 215px;
		text-align: center;
		font-size: 14px;
		padding: 5px 0 5px;
		margin-bottom: 7px;
	}

	.rightcolumn ul {
		line-height: 1.6;
	}

	#maincolumn .catch2 {
		line-height: 1.6;
	}

}

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

	.pcOnly {
		display: none !important;
	}

	.breadcrumb {
		display: none;
	}

	img {
		width: 100%;
	}

	#header {
		max-width: 100%;
		position: relative;
	}

	#header .catch {
		display: none;
	}

	#header .logo {
		max-width: 100%;
		text-align: left;
		padding: 10px 0 0 10px;
		height: 60px;
	}

	#header .logo a img {
		width: auto;
		height: 40px;
	}

	#header .sp_menu {
		position: absolute;
		top: 10px;
		right: 10px;
		height: 40px;
	}

	#header .sp_menu a {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		border-radius: 5px;
		background: #1a274e;
	}

	#header .sp_menu a .spmenuicon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 18px;
		height: 2px;
		margin: -1px 0 0 -9px;
		background: #fff;
		transition: .2s;
	}

	#header .sp_menu a .spmenuicon:before,
	#header .sp_menu a .spmenuicon:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 2px;
		background: #fff;
		transition: .3s;
	}

	#header .sp_menu a .spmenuicon:before {
		margin-top: -6px;
	}

	#header .sp_menu a .spmenuicon:after {
		margin-top: 4px;
	}

	#header .sp_menu a .close {
		background: transparent;
	}

	#header .sp_menu a .close:before,
	#header .sp_menu a .close:after {
		margin-top: 0;
	}

	#header .sp_menu a .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	#header .sp_menu a .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	#header .sp_menu ul {
		position: absolute;
		top: 100%;
		z-index: 30;
		width: 100%;
		background: #FFF;
		transition: opacity 0.3s;
	}

	#header li a {
		color: inherit;
		position: relative;
		display: block;
		padding: 0 20px;
		opacity: 0;
		line-height: 0;
		pointer-events: none;
		box-sizing: border-box;
		transition: padding 0.3s ease, line-height 0.3s, opacity 0.2s ease;
	}

	.gnav {
		display: none;
		position: absolute;
		top: 60px;
		left: 0;
		width: 100%;
		z-index: 100;
		background: #eaf2ff;
	}

	.gnav li {
		position: relative;
		text-align: left;
		border-bottom: 1px solid #fff;
		font-weight: bold;
	}

	.gnav li a {
		color: #000;
		display: block;
		width: 100%;
		padding: 10px 0 10px 41px;
	}

	.gnav li a::before {
		position: absolute;
		content: '';
		width: 6px;
		height: 6px;
		border-top: solid 2px #305fd5;
		border-right: solid 2px #305fd5;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		left: 15px;
		margin-top: -4px;
	}

	.gnav div {
		width: 100%;
		text-align: center;
		padding: 22px 0 22px;
		background-color: #fff;
		border-bottom: 1px solid #001d4f;
	}

	.gnav .number {
		display: inline-block;
		background-image: url(../img/phone.png);
		background-repeat: no-repeat;
		background-position: 0 center;
		background-size: 20px;
		padding-left: 25px;
		color: rgb(0, 0, 0);
		font-size: 24px;
		font-weight: bold;
	}

	#maincolumn {
		width: 100%;
		margin: 0 auto;
		display: table;
		padding: 0 10px 0 10px;
	}

	.rightcolumn h3 {
		background-color: #cfcfcf;
		text-align: center;
		margin: 20px 0 5px;
		padding: 5px 0 5px;
		font-size: 16px;
	}

	.rightcolumn ul {
		text-align: center;
	}

	.rightcolumn ul li {
		display: inline-block;
		width: 49%;
		max-width: 215px;
	}

	.rightcolumn ul li:last-child {
		margin-bottom: 20px;
	}

	#footer {
		width: 100%;
		background-color: #001d4f;
		color: #fff;
		position: relative;
    	margin-top: 30px;
	}

	#footer a.pagetop {
		position: absolute;
		right: 0;
		left: 0px;
		top: -30px;
		font-size: 14px;
		text-align: center;
	}

	#footer .logo {
		width: 100%;
		text-align: center;
		padding: 20px 0 10px;
	}

	#footer .logo img {
		width: auto;
		height: 50px;
	}

	#footer p span.address {
		display: block;
		font-size: 12px;
		line-height: 1.5em;
		font-weight: normal;
	}

	#footer .number {
		width: 100%;
		text-align: center;
		font-size: 18px;
		margin-bottom: 10px;
	}

	#footer .copy {
		width: 100%;
		text-align: center;
		padding: 5px 0 5px;
		font-size: 12px;
		background-color: #000;
	}

	.nav2 ul li a {
		color: #fff;
	}

	.area_search_refinement {
		width: 100%;
		float: left;
		background-color: #dcdcdc;
	}

	.area_search_refinement form {
		width: 100%;
		text-align: center;
	}

	.area_search {
		display: inline;
		font-size: 14px;
		vertical-align: middle;
	}

	.area_search_refinement form select {
		font-size: 14px;
		margin: 10px 0px 5px 10px;
	}

	.area_search_refinement form input {
		font-size: 14px;
		color: #fff;
		margin:0 5px 10px 5px;
		padding: 5px 30px 5px;
		display: inline;
		background-color: #00349a
	}

	.area_search_refinement form input:hover {
		background-color: rgba(4, 46, 138, 0.575);
	}

}