@charset "UTF-8";
/* =====================================
お問い合わせボタン非表示 20190718
=====================================*/
a[href*="contact"],
#gnav > ul > li.contact {
	display: none!important;
	}
#contact a[href*="contact"].submit{
	display:block!important;
}
/* =====================================
=====================================*/

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	}

/* 大枠 */
html,
body {
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	-webkit-overflow-scrolling: touch !important;
	}
body {
	font-size: 16px;
	line-height: 1.9;
	}
#wrapper {
	width: 100%;
	margin: 0 auto;
	position: relative;
	}
body > #wrapper {
	height: auto;
	}
.clearfix:after {
    visibility: hidden;
    display: block;
    content: " ";
    clear: both;
    height: 0;
    }

@media print {
	html,
	html body{overflow: visible !important;}
	}

/* アクセシビリティ */
.guidance {
	left:-999px;
	position:absolute;
	width:990px;
	}
img {max-width: 100%;height: auto;vertical-align: bottom;} /* レスポンシブ対応 */
img {
	vertical-align: bottom;
	box-shadow: #000 0 0 0; /* ロールオーバー対応 */
	}
img, x:-moz-any-link, x:default {
    box-shadow: #000 0 0 0; /* IE7対応 */
    image-rendering: -webkit-optimize-contrast;
	}

/* リンク */
/* a {transition: .3szs;} */
a:link    {color:#333; text-decoration: none;}
a:visited {color:#333; text-decoration: none;}
a:hover   {color:#333; text-decoration: none;opacity: .6;}
a:active  {color:#333; text-decoration: none;}

.mincho{
	/* font-family: "FOT-筑紫明朝 Pr6 L","TsukuMinPr6-L","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","TakaoEx明朝",TakaoExMincho,"MotoyaLCedar","Droid Sans Japanese","HGS明朝E","ipamin","ＭＳ Ｐ明朝",serif; */
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;

	position: relative;
	font-weight: normal;
	}
.mincho2{
	font-family: "Times New Roman",Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	}

/* CLEARFIX */
.container:after,
.row:after,
.col:after {content: "";display: table;clear: both;}

.container {width: 100%;max-width: 1040px;padding: 0 20px;margin: 0 auto;position: relative;}

/* ブロック関係 */
.row {padding-bottom: 0em;}
.col {display: block;float: left;width: 100%;margin: 0 1%;line-height: 1.5;}
.col:first-child {margin-left: 0;}
.col:last-child {margin-right: 0;}

/* グリッドの設定 */
.span_1 {width: 6.25%;}
.span_2 {width: 15%;}
.span_3 {width: 23.5%;}
.span_4 {width: 32%;}
.span_5 {width: 40.5%;}
.span_6 {width: 49%;}
.span_7 {width: 57.5%;}
.span_8 {width: 66%;}
.span_9 {width: 74.5%;}
.span_10 {width: 83%;}
.span_11 {width: 91.5%;}
.span_12 {width: 100%;}

.pc {display: block;}
.sp {display: none;}
.read {margin-bottom: 50px;}
.read02 {margin-bottom: 40px;font-size: 20px;}
.read03{
padding:10px 20px;
background-color:#F8F8F8;
}

.declaration_img0{
	text-align:center;
}

.border_b{
	border-bottom:1px #000 solid;
}

.lastread {text-align: right;font-size: 140%;}

/* タイトル */
#site_title a {
	background: #000;
	width: 100%;
	max-width: 280px;
	padding: 35px 0 15px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	position: absolute;
	top: 0;
	transition: unset;
	}
/* 仮想ページ h1タイトル */
#title_area {
	padding: 20px;
	margin-bottom: 20px;
	}
	#title_area h1.title {
		display: table;
		width: 100%;
		max-width: 1040px;
		height: 150px;
		margin: 0 auto;
		color: #333;
		}
		#title_area h1.title span {
			display: table-cell;
			vertical-align: middle;
			}
			#title_area h1.title span.mincho2 {
				font-size: 54px;
				font-weight: normal;
				line-height: 1.4;
				}
/* h2 */
/* サイド タイトル */
h2.mincho {
	margin-bottom: 10px;
	font-size: 28px;
	}
	aside p.mincho {
		margin-bottom: 30px;
		font-size: 130%;
		}
		h2.mincho::before,
		aside p.mincho::before {
			display: inline-block;
			content: "";
			width: 20px;
			height: 1px;
			background: #000;
			margin-right: 15px;
			vertical-align: super;
			}



/* リンクボタン */
ul.link_box li {
	margin-bottom: 20px;
	}
	ul.link_box li:last-child {
		margin-bottom: 0;
		}
.btn a {
	display: inline-block;
	min-width: 170px;
	padding: 0 80px 0 0;
	border-bottom: 1px solid #000;
	font-size: 20px;
	font-family: "Times New Roman",Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	position: relative;
	}
	.btn a::after {
		display: inline-block;
		content: "";
		width: 20px;
		height: 20px;
		background: url(../img/arrow_black.png) no-repeat top center;
		background-size: contain;
		position: absolute;
		top: 50%;
		right: 0;
		}
/* ▼▼▼ ヘッダー
=====================================*/
header {
	width: 100%;
	padding: 20px 0 0;
	}

.menu {display: none;}


/* グローバルナビゲーション */
#gnav {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	}
	#gnav > ul {
		display: flex;
		padding-left: 300px;
		}
		#gnav > ul > li {
			min-width: 100px;
			padding:20px 40px 40px;
			padding:20px 2vw 40px;
			position: relative;
			}
			#gnav > ul > li > a,
			#gnav > ul > li p.open a {
				display: block;
				font-size: 14px;
				font-weight: bold;
				text-align: center;
				}
				#gnav > ul > li a:hover {
					opacity: 1;
					}
				#gnav > ul > li:before,
				#gnav > ul > li:after{
					position: absolute;
					top: 2.9em;
					content: "";
					display: inline-block;
					width: 0;
					height: 5px;
					background: #000;
					transition: .5s;
					}
					#gnav > ul > li:before{
						left: 50%;
						}
						#gnav > ul > li:after{
							right: 50%;
							}
							#gnav > ul > li:hover:before,
							#gnav > ul > li:hover:after,
							#gnav > ul > li.now:before,
							#gnav > ul > li.now:after{
								width: 23%;
								}
.dropdown {
	display: none;
	width: 100%;
	min-width: 220px;
	position: absolute;
	z-index: 2000;
	left: -4vw;
	top:0;
	left: 50%;
	-ms-transform: translate(-50%,82px);
	-webkit-transform: translate(-50%,82px);
	transform: translate(-50%,82px);
	clear: both;
	}
	#gnav > ul > li:last-child .dropdown{
		left: -25px;
		}
		.dropdown li {
			background: #E2E2E2;
			border-bottom: 0px none;
			font-size: 13px;
			white-space: nowrap;
			}
			.dropdown li a {
				display: block;
				padding: 15px;
				font-weight: bold;
				transition: .3s;
				}
				.dropdown li a:hover {
					background: #393939;
					color: #E2E2E2;
					}
					.dropdown ul.sub li a{
						padding: 10px 15px 10px 25px;
						font-weight: normal;
						}
						#gnav > ul > li:hover .dropdown{
							display: block;
							}
							#gnav > ul > li:hover .dropdown::before{
								display: block;
								content: "";
								width: 0;
								height: 0;
								border-style: solid;
								border-width: 0 13.5px 15px 13.5px;
								border-color: transparent transparent #E2E2E2 transparent;
								position: absolute;
								top:0;
								left: 50%;
								-ms-transform: translate(-50%,-100%);
								-webkit-transform: translate(-50%,-100%);
								transform: translate(-50%,-100%);
								}


/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#main {
	max-width: 1040px;
	margin: 0 auto 100px;
	clear: both;
	overflow: hidden;
	}

/* パンくず */
#path {
	padding: 0 20px;
	margin-bottom: 35px;
	font-size: 14px;
	overflow: hidden;
	}
	#path li {
		float: left;
		}
		#path li:after {
			content: "〉";
			margin-left: 10px;
			color: #333;
			}
			#path li:last-child:after {content: "";}
			#path li a {
				text-decoration: underline;
				}
				#path li a:hover {
					text-decoration: none;
					}

/* サイドあり */
article {
	float: left;
	width: 70%;
	margin-right: 40px;
	}
	article section {
		margin-bottom: 60px;
		}
		article section:last-child {
			margin-bottom: 0;
			}
			article section .boder_bt {
				font-size: 24px;
				border-bottom: 1px solid #000;
				padding-bottom: 5px;
				margin-bottom: 25px;
				font-weight: normal;
				}
aside{
	float: left;
	width: 25%;
	}
	aside ol li  {
		display: table;
		width: 100%;
		height: 65px;
		border-bottom: 1px solid #eee;
		}
		aside ol li:first-child {
			border-top: 1px solid #eee;
			}
			aside ol li a {
				display: table-cell;
				vertical-align: middle;
				width: 100%;
				padding: 0 10px 0 35px;
				line-height: 1.5;
				}
				aside ol li.now a {
					background: #F8F8F8;
					}
					aside ol li.sub a {
					padding: 0 10px 0 50px;
					font-size: 90%;
						}
						aside ol li a:hover {
							background: #F8F8F8;
							opacity: 1;
								}
/* 下線テーブル */
table.boder_table {
	width: 100%;
	}
	table.boder_table tr th,
	table.boder_table tr td {
		border-bottom: 1px solid #ccc;
		padding: 15px 0;
		overflow: hidden;
		}
		table.boder_table tr:nth-child(1) th,
		table.boder_table tr:nth-child(1) td {
			padding-top: 10px;
			}
		table.boder_table tr th {
			width: 120px;
			vertical-align: top;
			}

/* ▼▼▼ フッター
=====================================*/
footer {
	width: 100%;
	background: #000;
	padding: 60px 0 0;
	clear: both;
	overflow: hidden;
	}
#fnav {
	float: left;
	width: 70%;
	min-height: 425px;
	border-right: 1px solid #333;
	padding-top: 8px;
	margin-bottom: 60px;
	}
	#fnav > li {
		float: left;
		width: 32%;
		}
		#fnav > li:nth-child(1) {
			width: 36%;
			}
			#fnav > li a {
				display: block;
				margin-bottom: 20px;
				color: #fff;
				font-size: 14px;
				}
				#fnav > li ul li.top a {
					font-weight: bold;
					}
					#fnav > li ul li.sub a {
						padding-left: 20px;
						}
.address_box {
	float: left;
	margin-left: 40px;
	width: calc(30% - 40px);
	}
	.address_box p {
		margin-bottom: 10px;
		color: #fff;
		font-weight: bold;
		}
		.address_box p {
			font-size: 16px;
			}
			.address_box p.address {
				margin-bottom: 20px;
				font-weight: normal;
				font-size: 14px;
				}
				.address_box p.address a {
					color: #fff;
					}
					.address_box ul li {
						margin-bottom: 20px;
						text-align: center;
						}
						.address_box ul li:last-child {
							margin-bottom: 0;
							}

#footer_inner {
	background: #212020;
	padding: 20px;
	margin: 0 auto;
	overflow: hidden;
	}
	#footer_inner ul {
		max-width: 1040px;
		margin: 0 auto;
		}
		#footer_inner ul li a{
			float: left;
			margin-right: 30px;
			color: #fff;
			font-size: 14px;
			}
			#footer_inner ul li:last-child {
				float: right;
				}
			#footer_inner ul li a.external_link::after{
				display: inline-block;
				content: "";
				width: 12px;
				height: 12px;
				background: url(../img/icon_link_w.png) no-repeat top center;
				background-size: contain;
				vertical-align: middle;
				margin-left: 5px;
			}


/* ▼ ページ上部へ戻る */
.pagetop {
	background: #000;
	padding: 20px;
	position: fixed;
	bottom: 70px;
	right: 0;
	z-index: 2000;
	cursor: pointer;
	}

/* ▼ コピーライト */
#copyright {
	font-size: 10px;
	color: #fff;
	line-height: calc(14px * 1.9);
	}

/* 404エラー */
#not_found #main {
	margin: 150px auto;
	}
	#not_found #main h2 {
		font-size: 450%;
		text-align: center;
		}
		#not_found #main p {
			font-size: 150%;
			text-align: center;
			}

/* ▼▼▼ 480px〜768px
=====================================*/
@media screen and (max-width: 768px) {

#wrapper #main{width: 100%;}
#screen {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color:rgba(0,0,0,0.8);
	z-index: 200;
	}
.span_1,.span_2,.span_3,.span_4,.span_5,.span_6,.span_7,.span_8,.span_9,.span_10,.span_11,.span_12{width: 100%;}
.col {margin: 0;}

.container {padding: 0 15px;}

.pc {display: none;}
.sp {display: block;}
.read {margin-bottom: 30px;}
.read02 {margin-bottom: 30px;font-size: 15px;}


/* タイトル */
#site_title a {
	width: 50%;
	max-width: 50%;
	padding: 12px 0;
	}
	#site_title a img {
		width: 90%;
		max-width: 200px;
		}
/* 仮想ページ h1タイトル */
#title_area {
	margin-top: 50px;
	}
	#title_area h1.title {
		height: 80px;
		}
		#title_area h1.title span.mincho2 {
			font-size: 25px;
			}
/* h2 */
/* サイド タイトル */
h2.mincho {
	margin-bottom: 20px;
	font-size: 20px;
	}
	aside p.mincho {
		margin-bottom: 10px;
		}
		h2.mincho::before,
		aside p.mincho::before {
			width: 15px;
			height: 1px;
			margin-right: 10px;
			}
/* リンクボタン */
ul.link_box li {
	margin-bottom: 15px;
	}
.btn a {
	display: inline-block;
	min-width: 160px;
	padding: 0 40px 5px 0;
	font-size: 17px;
	line-height: 1.6;
	}
	.btn a::after {
		top: 40%;
		}

/* ▼▼▼ ヘッダー
=====================================*/
body {font-size: 14px;}
body.wrap {overflow: hidden;}

header {
	width: 100%;
	padding: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	overflow: visible;
	}

.header_inner {
	width: 100%;
	height: 51px;
	background: #fff;
	border-bottom: 1px solid #ccc;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	}

/* グローバルナビゲーション */
#gnav {
	display: block!important;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	float: none;
	width: 100%;
	max-height: 100vh;
	padding-top: 51px;
	padding-left: 0;
	margin: 0;
	position: absolute;
	top: -1000px;
	left: 0;
	z-index: 1000;
	overflow: auto;
	}
#gnav.open {
	-moz-transform: translateY(1000px);
	-webkit-transform: translateY(1000px);
	transform: translateY(1000px);
	}
#gnav > ul {
	display: block;
	padding: 0;
	clear: both;
	}
	#gnav ul > li {
		float: none;
		width: 100%!important;
		max-width: 100%!important;
		height: auto;
		padding: 0;
		text-indent: 0;
		}
		#gnav > ul > li:before,
		#gnav > ul > li::after {
			display: none;
			}
	#gnav ul > li > a,
	#gnav ul > li > p {
		height: 50px!important;
		background: #fff;
		background-size: 10px 10px!important;
		border-bottom: 1px solid #ccc;
		padding: 0 20px;
		color: #333;
		font-size: 14px;
		line-height: 50px;
		font-weight: bold;
		text-align: left;
		cursor: pointer;
		}
		#gnav ul > li.disable_primary p:after{
			content: "+";
			position: absolute;
			right: 20px;
			top: 0;
			}
			#gnav ul > li.disable_primary p.close:after{
				content: "−";
				position: absolute;
				right: 20px;
				top: 0;
				}
				#gnav ul > li > a:hover {
					text-decoration: none;
					opacity: 1;
					}
.dropdown {
	position: initial;
	transform: inherit;
	}
	.dropdown ul.sub li {
		display: table;
		}
		.dropdown li > a{
			width: 100%;
			background: #eeeeee!important;
			padding-left: 35px!important;
			}
			.dropdown ul.sub li > a{
				display: table-cell;
				vertical-align: middle;
				line-height: normal!important;
				}
				.dropdown ul.sub {
					width: 100%;
					}
					.dropdown  ul.sub li > a{
						padding-left: 50px!important;
						}
	#gnav > ul > li:hover .dropdown,
	#gnav > ul > li:hover .dropdown::before {
		display: none;
		}
/* メニューボタン */
.menu {
	display: block;
	width: 50%;
	height: 50px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2000;
	}
	.menu .icon {
			display:block;
			position:absolute;
			top: 15px;
			left: 30%;
			width:20px;
			height: 22px;
			background: #000;
			border-top: 10px solid #fff;
			border-bottom: 10px solid #fff;
			-moz-box-sizing:border-box;
			-webkit-box-sizing:border-box;
			box-sizing:border-box;
			-moz-transition:all 0.3s;
			-webkit-transition:all 0.3s;
			transition:all 0.3s;
			text-indent: -9999px;
			}
			.menu.active .icon {
				border-top:10px solid #063B9B;
				border-bottom:10px solid #063B9B;
				}
			.menu .m_name {
				text-align: center;
				position: absolute;
				top: 31%;
				right: 0%;
				width: 70%;
				font-size: 12px;
				font-weight: bold;
				}
				.menu .icon:before {
					content:'';
					position:absolute;
					width: 20px;
					height: 2px;
					background: #000;
					top: -6px;
					right:0;
					-moz-transition:all 0.3s;
					-webkit-transition:all 0.3s;
					transition:all 0.3s;
					}
					.menu .icon:after {
						content:'';
						position:absolute;
						width:20px;
						height:2px;
						background: #000;
						bottom: -6px;
						right:0;
						-moz-transition:all 0.3s;
						-webkit-transition:all 0.3s;
						transition:all 0.3s;
						}
						.menu .icon.active {background: #fff;}
						.menu.active .icon.active {background:#fff;}
						.menu .icon.active:before {
							-moz-transform:rotate(-135deg);
							-webkit-transform:rotate(-135deg);
							transform:rotate(-135deg);
							top:0;
							right:0;
							}
							.menu .icon.active:after {
								-moz-transform:rotate(135deg);
								-webkit-transform:rotate(135deg);
								transform:rotate(135deg);
								bottom:0;
								right:0;
								}
								.menu .m_name.active {display: none;}
								.menu .icon.active + p.m_name,	p.m_name02 {
									display: none;
									}
									.menu .icon.active + p.m_name + p.m_name02 {
										display: block!important;
										}

/* サイドあり */
article section {
	margin-bottom: 60px;
	}
	article section .boder_bt {
		font-size: 19px;
		margin-bottom: 10px;
		}
article,aside{
	float: none;
	width: 100%;
	}
	article {
		margin:  0 auto 60px;
		}
		aside ol li  {
			height: 60px;
			}
/* 下線テーブル */
table.boder_table tr th,
table.boder_table tr td {
	padding: 10px 0;
	}
	table.boder_table tr th {
		width: 85px;
		}


/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#header_inner,
#main,#contents,#side,
footer,#footer_inner {
	float: none;
	width: 100%;
	}

#main {margin: 0 0 60px;}
.menu_fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	}
/* パンくず */
#path {
	margin-bottom: 30px;
	font-size: 12px;
	}
/* ▼▼▼ フッター
=====================================*/
footer {padding:40px 0 0;}

#fnav {
	float: none;
	width: 100%;
	min-height: auto;
	border-right: none;
	border-bottom: 1px solid #333;
	padding-top: 0;
	margin-bottom: 30px;
	}
	#fnav > li,
	#fnav > li:nth-child(1) {
		float: none;
		width: 100%;
		margin-bottom: 40px;
		}
		#fnav > li:last-child {
			margin-bottom: 30px;
			}
			#fnav > li a {
				margin-bottom: 15px;
				}
.address_box {
	float: none;
	margin-left: 0;
	width:100%;
	}
	.address_box p.address{
		margin-bottom: 25px;
		}
		.address_box ul {
			margin-bottom: 40px;
			}

#footer_inner {
	padding: 20px;
	}
		#footer_inner ul li a{
			width: 50%;
			margin: 0 auto 20px;
			}
			#footer_inner ul li:last-child {
				display: block;
				}
/* ▼ ページ上部へ戻る */
.pagetop {
	background: none;
	padding: 0;
	bottom: 20px;
	right: 0;
	}
	.pagetop img {
		width:45px;
		}

/* ▼ コピーライト */
#copyright {
	padding-right: 35px;
	}

/* 404エラー */
#not_found #main {
	margin: 120px auto 70px;
	}
	#not_found #main h2 {
		font-size: 230%;
		}
		#not_found #main p {
			font-size: 100%;
			}

}
