/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden], template {
	display: none;
}
a {
	background: transparent;
}
a:active, a:hover {
	outline: 0;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b, strong {
	font-weight: bold;
}
dfn {
	font-style: italic;
}
h1 {
	font-size: 2em;
	margin: .67em 0;
}
mark {
	background :#ff0;
	color: #000;
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
img {
	border: 0;
	vertical-align: bottom;
}
svg:not(:root) {
	overflow: hidden;
}
figure {
	margin: 1em 40px;
}
hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}
pre {
	overflow: auto;
}
code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}
button {
	overflow: visible;
}
button, select {
	text-transform: none;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled], html input[disabled] {
	cursor: default;
}
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input {
	line-height: normal;
}
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: .35em .625em .75em;
}
legend {
	border: 0;
	padding: 0;
}
textarea {
	overflow: auto;
}
optgroup {
	font-weight: bold;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td, th {
	padding: 0;
}

/* 以下、このサイト独自に設定するスタイル */


html {
	width: 100%;
	height: 100%;
}
body {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	color: #1a1a1a;
	font-size: 16px;
	/* 2023.8 リニューアル前
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	*/
	font-family: "Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ヒラギノ角ゴ ProN W3",sans-serif;
	line-height: 1.5;
	min-width: 1000px;
	width: 100%;
	height: auto;
	min-height: 100%;
}
img {
	line-height: 0;
	max-width: 100%;
}
p {
	margin: 0;
}
a {
	color: #5280d9;
	text-decoration: underline;
}
a:hover {
	color: #7349ab;
}

a img {
	transition: opacity 0.1s linear;
	-moz-transition: opacity 0.1s linear;
	-webkit-transition: opacity 0.1s linear;
	-o-transition: opacity 0.1s linear;
	-ms-transition: opacity 0.1s linear;
}
a img:hover {
	opacity: 0.7;
}

.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: '';
	display: block;
	clear: both;
	height:0;
	overflow: hidden;
}

.align_center {
	display: block;
	margin: 0 auto;
}
.align_left {
	float: left;
}
.align_right {
	float: right;
}

.link {
	margin-top: 1.5em;
	text-align: right;
}
.link a {
	background-color: #5280d9;
	border-radius: 11px;
	color: #fafafa;
	display: inline-block;
	font-size: 14px;
	line-height: 22px;
	padding: 0 50px 0 17px;
	position: relative;
	text-decoration: none;
	transition: opacity 0.1s linear;
	-moz-transition: opacity 0.1s linear;
	-webkit-transition: opacity 0.1s linear;
	-o-transition: opacity 0.1s linear;
	-ms-transition: opacity 0.1s linear;
}
.link a:hover {
	opacity: 0.7;
}
.link a:after {
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #fafafa;
	content: "";
	height: 0;
	width: 0;
	right: 15px;
	position: absolute;
	top: 50%;
	margin-top: -5px;
}

@media screen and (max-width:667px) {
	.link {
	}
	.link a {
	}
}


.switch {
	visibility: hidden;
	visibility: visible\9;
}

.header {
	border-top: 8px solid #5280d9;
	margin: 0 auto;
	position: relative;
}
.header:after {
	/*background: transparent url(../images/header_sdw.png) left top repeat-x;*/
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	width: 100%;
	z-index: 1000;
}
.header .inner{
	width: 980px;
	margin: 0 auto;
	padding: 20px 0 17px;
	position: relative;
}
.header .slogun {
	color: #fafafa;
	line-height: 30px;
}
.header .header_logo {
	width: 100%;
	position: relative;
}
.header .header_logo img {
	width: 806px;
}
.header .header_logo > a {
	line-height: 0;
}
.header_btn {
	display: none;
}

.lang_nav {
	list-style: none;
	position: absolute;
	top: 0;
	right: 0;
}
.lang_nav ul {
	font-size: 0;
	margin: 0;
	padding: 0;
}
.lang_nav li {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: normal;
	list-style: none;
	width: 115px;
}
.lang_nav li a {
	border: 2px solid #5280d9;
	border-top-width: 0;
	color: #5280d9;
	display: block;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
}
.lang_nav .current a {
	background-color: #5280d9;
	color: #fafafa;
}

.breadcrumb {
	background-color: #e6e6e6;
	font-size: 12px;
	padding: 9px 0;
}
.breadcrumb ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: 980px;
}
.breadcrumb li {
	display: inline;
}
.breadcrumb ul li:before {
	content:">";
	font-family:monospace;
	padding: 0 1em;
}
.breadcrumb ul li:first-child:before {
	content: none;
}
.breadcrumb a {
	color: #db3103;
}

.con_area {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	width: 980px;
	margin: 62px auto 80px;
	zoom: 1;
}
.con_area:after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	overflow: hidden;
}
.con_area h1 {
	background: transparent url(../images/main_area_h1.png) left top repeat;
	border-bottom: 2px solid #5280d9;
	color: #5280d9;
	/* 2023.8 リニューアル前
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	*/
	font-family: "Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ヒラギノ角ゴ ProN W3",sans-serif;
	font-size: 25px;
	font-weight: bold;
	margin: 0 0 30px 0;
	padding: 11px 0 11px 20px;
	overflow: hidden;
	white-space: nowrap;
}
.con_area .main_area {
	width: 720px;
	float: right;
}
.con_area .main_area h2 {
	background-size: auto;
	color: #005083;
	margin: 60px 0 22px 0;
	padding: 0 0 0 20px;
	position: relative;
	font-size: 24px;
	font-weight: normal;
	line-height: 36px;
}
.con_area .main_area h2:before {
	background: transparent url(../images/main_area_h2.png) left center no-repeat;
	background-size: 100% 100%;
	content: "";
	height: 25px;
	width: 13px;
	left: 0;
	position: absolute;
	top: 18px;
	margin-top: -12px;
}
.con_area .main_area h2:first-of-type {
	margin-top: 0;
}
.con_area .main_area h2+h3 {
	margin-top: -10px;
}
.con_area .main_area h3 {
	position: relative;
	margin: 50px 0 24px;
	padding-top: 10px;
	padding-bottom: 6px;
	font-size: 20px;
	font-weight: normal;
	line-height: 20px;
	border-bottom: 3px solid #005083;
	z-index: 1;
}
.con_area .main_area h3:after {
}
.con_area .main_area h4 {
	position: relative;
	margin: 30px 0 20px 0;
	padding: 0 0 0 17px;
	font-size: 18px;
	line-height: 18px;
	border-left: 5px solid #005083;
}

/*
.con_area .main_area h4:before {
	content: "";
	display: block;
	position: absolute;
	width: 5px;
	height: 1em;
	left: 0;
	top: 50%;
	margin-top: -6px;
	background-color: #005083;
}
*/

.con_area .main_area h5 {
	margin: 22px 0 0 0;
	padding: 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 32px;
	color: #005083;
}
.con_area .main_area p.lead {
	margin-top: 40px;
	margin-bottom: 40px;
}
.con_area .main_area table {
	border-collapse: separate;
	width: 100%;
}
.con_area .main_area table th,
.con_area .main_area table td {
	font-weight: normal;
	padding: 14px 20px;
	text-align: left;
	vertical-align: top;
}
.con_area .main_area table th {
	background-color: #cadeef;
	border-bottom: 5px solid #fafafa;
}
.con_area .main_area > .section {
	margin-bottom: 60px;
	padding-left: 20px;
}
.con_area .main_area > .section > table,
.con_area .main_area > .section > h2 {
	margin-left: -20px;
}
.con_area .main_area > .section > table {
	width: -webkit-calc(100% + 20px);
	width: -moz-calccalc(100% + 20px);
	width: calc(100% + 20px);
}
.con_area .side_area {
	float: left;
	width: 240px;
}
.con_area .side_area ul,
.con_area .side_area dl,
.con_area .side_area dd{
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav .g_nav {
	list-style: none;
	margin: 0 auto;
	overflow: hidden;
	padding: 0;
	position: relative;
}
.nav .g_nav li {
	background-color: #5280d9;
	border-top: 1px solid #fafafa;
	position: relative;
	vertical-align: middle;
}
.nav .g_nav > li:first-of-type {
	border-top: none;
}
.nav .g_nav li span:before,
.nav .g_nav li a:before {
	background-color: #5280d9;
	content: "";
	display: inline-block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 8px;
}
.nav .g_nav li span,
.nav .g_nav li a {
	background-size: contain;
	color: #fafafa;
	display: block;
	height: inherit;
	padding: 10px 0 10px 19px;
	text-decoration: none;
	vertical-align: middle;
}
.nav .g_nav li span {
	cursor: pointer;
	position: relative;
}
.nav .g_nav li span:hover,
.nav .g_nav li a:hover {
	background-color: #edeff7;
	color: #5280d9;
}
.nav .g_nav span:after {
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	content: '';
	width: 12px;
	height: 12px;
	margin-top: -8px;
	border-right: 3px solid #fafafa;
	border-bottom: 3px solid #fafafa;
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}
.nav .g_nav span:hover:after {
	border-right: 3px solid #5280d9;
	border-bottom: 3px solid #5280d9;
}
.nav .g_nav span.active:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav .g_nav span + ul {
	display: none;
}
.nav .g_nav span + ul li {
	font-size: 14px;
}

.nav .g_nav li.current a {
	opacity: 1;
}

/* 2019.07.29　relativeからabsoluteに変更 */
.footer {
	background-color: #edeff7;
	position: absolute;
	width: 100%;
}
.footer .inner{
	width: 980px;
	margin: 0 auto;
	padding: 26px 0 90px;
	position: relative;
}
.footer .inner:after{
	content: "";
	display: block;
	clear: both;
}

.f_con {
	font-size: 14px;
	overflow: hidden;
	padding-left: 58px;
}
.add_list {
	margin: 0;
}
.add_list dt {
	font-size: 18px
}
.add_list dd {
	margin-left: 0;
	margin-top: 8px;
}
.add_list dd ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.add_list dd .location {
	font-size: 14px;
	margin-bottom: 25px;
}
.add_list dd .tel:before {
	content: url(../images/f_tel_icn.png);
	left: 0;
	position: absolute;
	top: 6px;
}
.add_list dd .email :before {
	content: url(../images/f_email_icn.png);
	left: 1px;
	position: absolute;
	top: 7px;
}
.add_list dd .tel,
.add_list dd .email {
	font-size: 16px;
	margin-top: 17px;
	padding-left: 53px;
	position: relative;
}
.add_list dd .tel span,
.add_list dd span {
	color: #5280d9;
	font-size: 12px;
}
.add_list dd .tel span:after,
.add_list dd span:after {
	content: "\A" ;
	white-space: pre ;
}
.add_list dd .tel a,
.add_list dd .email a {
	color: #1a1a1a;
	pointer-events: none;
	text-decoration: none;
}

.cr {
	clear: both;
	background-color: #5280d9;
	color: #fafafa;
	padding: 15px 10px;;
	text-align: center;
}
.cr small {
	font-size: 12px;
}

.pagetop {
	position: fixed;
	bottom: 40px;
	right: 40px;
	font-size: 77%;
	z-index: 9999;
	opacity: 80%;
	width: 65px;
}

/*　　SP
________________________________________________________________________________________________________*/

@media screen and (max-width:667px) {

	body {
		background: none;
		min-width:initial;
		min-width:auto;
		font-size:14px;
	}
	img {
		max-width:100%;
		height:auto;
	}
	.header .inner {
		padding-top: 54px;
		width: 100%;
	}
	.header .slogun {
		background-color: #005083;
		color: #fafafa;
		line-height: 24px;
		text-align: center;
	}
	.header .header_logo {
		padding: 10px 10px 0;
		text-align: center;
		width: auto;
	}
	.header .header_logo > a {
	}
	.header .header_logo > a >img {
		height: auto;
		width: auto;
	}
	.header_btn {
		background-color: #5280d9;
		display: block;
		height: 39px;
		width: 40px;
		padding: 15px 8px 0;
		position: absolute;
		top: 0;
		right: 0;
		text-align: center;
	}
	.header_btn > span {
		display: block;
		height: 5px;
		width: 100%;
		background: #fafafa;
		-webkit-transition: all .5s ease-in-out;
		-moz-transition: all .5s ease-in-out;
		transition: all .5s ease-in-out;
	}
	.header_btn > span:nth-of-type(2),
	.header_btn > span:nth-of-type(3) {
		margin-top: 5px;
	}
	.header_btn.open > span:nth-of-type(1) {
		-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
		-ms-transform: translateY(10px) translateX(0) rotate(45deg);
		transform: translateY(10px) translateX(0) rotate(45deg);
	}
	.header_btn.open > span:nth-of-type(2) {
		margin-top: 5px;
		opacity: 0;
		-webkit-transform: translateY(10px);
		-ms-transform: translateY(10px);
		transform: translateY(10px);
	}
	.header_btn.open > span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(-10px) translateX(0) rotate(-45deg);
		transform: translateY(-10px) translateX(0) rotate(-45deg);
	}
	.lang_nav {
		right: auto;
		width: calc(100% - 56px);
	}
	.lang_nav ul:after {
		clear: both;
		content: "";
		display: block;
	}
	.lang_nav li {
		float: left;
		font-size: 14px;
		width: 50%;
	}
	.lang_nav li a {
		line-height: 52px;
	}

	.nav {
		background-color: #f7f7f8;
		display: none;
		overflow: hidden;
		position: absolute;
		top: 62px;
		width: 100%;
		z-index: 1200;
	}
	.nav.open {
	}
	.nav .g_nav {
		background-image: none;
		display: block;
		text-align: left;
		width: auto;
	}
	.nav .g_nav li {
		background-color: #fafafa;
		border-top: 1px solid #edeff7;
		display: block;
		font-size: 16px;
		height: auto;
		letter-spacing: 0;
		position: static;
		vertical-align: baseline;
		width: 100%;
	}
	.nav .g_nav li span,
	.nav .g_nav li a {
		color: #5280d9;
		display: block;
		height: auto;
		line-height: 26px !important;
		text-align: left;
		position: relative;
		width: auto;
	}
	.nav .g_nav span:after {
		border-right: 3px solid #5280d9;
		border-bottom: 3px solid #5280d9;
	}
	
	.breadcrumb ul {
		margin: 0 20px;
		width: auto;
	}
	
	.con_area {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		margin-top: 0;
		margin-bottom: 12px;
		z-index: 1;
}
	.con_area .main_area {
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		min-height: 0;
		float: none;
		width: 100%;
		margin-top: 30px;
		padding: 0 10px;
	}
	.con_area .main_area h1 {
		font-size: 23px;
}
	.con_area .main_area h2 {
		margin: 30px 0 16px 0;
		padding: 0 0 0 20px;
		font-size: 22px;
		line-height: 30px;
	}
	.con_area .main_area h2:before {
		background: transparent url(../images/main_area_h2_sp.png) left top no-repeat;
		background-size: 100% 100%;
		width: 12px;
		height: 22px;
		top: 15px;
		margin-top: -11px;
	}
	.con_area .main_area h3 {
		margin: 20px 0 20px 0;
		padding-top: 10px;
		padding-bottom: 6px;
		font-size: 16px;
		line-height: 1;
	}
	.con_area .main_area h4 {
		margin: 20px 0;
		padding: 0 0 0 20px;
		font-size: 16px;
		line-height: 1;
	}
	
	.con_area .main_area h5 {
		margin: 20px 0 0 0;
		font-size: 14px;
		line-height: 24px;
	}
	.con_area .main_area p.lead {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.con_area .main_area table {
	}
	.con_area .main_area table th,
	.con_area .main_area table td {
		display: block;
		padding: 10px 0;
		text-align: center;
	}
	.con_area .main_area table th {
		border-bottom: none;
	}
	.con_area .main_area > .section {
		margin-bottom: 35px;
	}
	.con_area .main_area > .section:last-of-type {
		margin-bottom: 0;
	}
	.con_area .side_area {
		width: 100%;
		float: none;
	}

		
	
	.footer:before {
		content: none;
	}
	.footer {
		background-color: transparent;
	}
	.footer .inner {
		padding: 22px 10px 0;
		width: auto;
	}
	.footer .f_con {
		overflow: visible;
		padding: 0;
	}
	.add_list {
		background-color: #edeff7;
		margin: 0 -10px;
		padding: 18px 20px 24px;
	}
	.add_list dt {
		font-size: 16px
	}
	.add_list dd .location {
		font-size: 12px;
	}
	.add_list dd .tel,
	.add_list dd .email {
		font-size: 14px;
		margin-top: 10px;
	}
	.add_list dd .tel a,
	.add_list dd .email a {
		color: #5280d9;
		pointer-events: auto;
		text-decoration: underline;
	}
	.pagetop {
		display: none !important;
	}
}

@media only print {
	.footer {
		position:static
	}
}
