@charset "utf-8";

/* ========================================================================================================================/
	
	Document    : common.css
	Description : 共通css

/======================================================================================================================== */

/* ------------------------------------------------------------------------------------------------------------------------/
   0-0, include
/------------------------------------------------------------------------------------------------------------------------ */

@import url("./basic.css");
@import url("./custom/margin.css");
@import url("./custom/padding.css");
@import url("./custom/width.css");

/* ------------------------------------------------------------------------------------------------------------------------/
   web font
/------------------------------------------------------------------------------------------------------------------------ */

@font-face {
	font-family:'Noto Serif Japanese';
	font-style:normal;
	font-weight:400;
	src:url('./fonts/NotoSerifCJKjp-hinted/NotoSerifCJKjp-Regular.otf') format('opentype');
}
@font-face {
	font-family:'Noto Serif Japanese';
	font-style:normal;
	font-weight:700;
	src:url('./fonts/NotoSerifCJKjp-hinted/NotoSerifCJKjp-Bold.otf') format('opentype');
}


/* ------------------------------------------------------------------------------------------------------------------------/
   base
/------------------------------------------------------------------------------------------------------------------------ */

body {
	min-width:640px;
	color:#232323;
	line-height:180%;
	background:#ffffff;
	font-size:22px;
	}
body.sub {
	min-width:auto;
	}

.pc { display:none !important; }

h1 {}
h2 {
	font-size: 2.5rem;
	line-height: 1.8;
	margin: 1.5em 0;
	padding: 10px 25px;
	background: #f1f1e1;
	color: #222;
	font-weight: normal;
	text-align: left;
	border-left: 6px solid #DADAB1;
	}
	h2 span {
		position:absolute;
		top:5px;
		right:0;
		display:block;
		font-size:12px;
		font-weight:normal;
		}

h3 {
	font-size: 2rem;
	margin: 1.5em 0;
	padding-bottom: 0.5em;
	position: relative;
}
h3::before,
h3::after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #d9d9d9;
}
h3::after {
	width: 150px;
	background: #90c31f;
}

h4 {
	font-size: 1.75rem;
	position: relative;
	line-height: 1.7;
	margin: 1.5em 0 1em;
	padding: 1px 0 2px 30px;
}
h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 5px;
	height: 100%;
	border-left: 1px solid #989898;
	border-right: 1px solid #989898;
}

a:link 		{ color:#002f54; text-decoration:underline; }
a:visited 	{ color:#002f54; text-decoration:underline; }

.shadow {
	box-shadow:2px 2px 2px 0 rgba(0,0,0,0.15);
	-moz-box-shadow:2px 2px 2px 0 rgba(0,0,0,0.15);
	-webkit-box-shadow:2px 2px 2px 0 rgba(0,0,0,0.15);
	}

#container {
	width:100%;
	text-align:center;
	box-sizing:border-box;
	background:#ffffff;
	margin:0 auto;
	}
#container.top {
	background:#ffffff;
	}


/* ------------------------------------------------------------------------------------------------------------------------/
   header
/------------------------------------------------------------------------------------------------------------------------ */

header {
	position: fixed;
	top: 0;
	width:100%;
	height: 100px;
	text-align: left;
	background-color:rgba(255,255,255,1);
	z-index: 4;
	box-sizing: border-box;
	padding: 22px 30px;
}
header h1 {
	left: 30px;
	top: 30px;
	margin: 0;
}
header h1 img {
	width: 300px;
	height: auto;
}



/* ------------------------------------------------------------------------------------------------------------------------/
   navi
/------------------------------------------------------------------------------------------------------------------------ */

nav {
	display:none;
	}


/* ------------------------------------------------------------------------------------------------------------------------/
   breadcrumbs
/------------------------------------------------------------------------------------------------------------------------ */

#breadcrumbs {
	width:100%;
	box-sizing:border-box;
	margin:20px auto -10px auto;
	padding:0 15px;
	max-height:9999px;
	}
	#breadcrumbs .inner {
		width:600px;
		text-align:left;
		list-style:none;
		margin:0 auto;
		}
		#breadcrumbs .inner li {
			display:inline-block;
			height:21px;
			font-size:15px;
			line-height:21px;
			padding:1px 0 0 0;
			}
		#breadcrumbs .inner li:first-child a {
			height:21px;
			background:transparent url("../image/layout/bread_home.png") left center no-repeat;
			background-size:15px 15px;
			padding:1px 0 0 25px;
			}
		#breadcrumbs .inner li:last-child {
			font-weight:bold;
			}
		#breadcrumbs .inner li:before {
			content:">";
			font-weight:normal;
			margin:0 10px;
			}
		#breadcrumbs .inner li:first-child:before {
			content:"";
			margin:0;
			}


/* ------------------------------------------------------------------------------------------------------------------------/
   contents
/------------------------------------------------------------------------------------------------------------------------ */

#contents {
	width:600px;
	margin:0 auto;
	max-height:9999px;
	}


/* ------------------------------------------------------------------------------------------------------------------------/
   under
/------------------------------------------------------------------------------------------------------------------------ */

#under {
	width:100%;
	height:auto;
	margin:50px 0 0 0;
	max-height:9999px;
	}
	#under .inner {
		width:600px;
		margin:0 auto;
		}
		#under .inner ul {
			list-style:none;
			}


/* ------------------------------------------------------------------------------------------------------------------------/
   sidenavi
/------------------------------------------------------------------------------------------------------------------------ */

#navi_button {
	position:fixed;
	top:15px;
	right:30px;
	margin: 0;
	display:block;
	cursor:pointer;
	z-index:9998;
	}

.navi_close {
	width:300px;
	max-height:9999px;
	margin:20px auto;
	}
	.navi_close a {
		display:block;
		color:#ffffff;
		font-size:22px;
		text-align:center;
		text-decoration:none;
		background:#232323;
		padding:10px 20px;
		max-height:9999px;
		}
		.navi_close a span {
			display:inline-block;
			font-size:20px;
			margin:0 0 0 20px;
			}

#navi_container {
	position:fixed;
    right:-400px;
	top:0px;
	width:400px;
	height:100%;
	color:#000000;
	font-size:20px;
	box-sizing:border-box;
	background:#efefef;
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;
	z-index:9999;
	}
	#navi_container .inner {
		}
		#navi_container .inner ul {
			border-top:solid 1px #cccccc;
			margin:20px 0 0 0;
			padding: 0;
			list-style:none;
			}
			#navi_container .inner ul li {
				max-height:9999px;
				border-bottom:solid 1px #cccccc;
				}
			#navi_container .inner ul li.subline {
				}
				#navi_container .inner ul li a {
					display:block;
					color:#232323;
					font-size:22px;
					font-family:"Noto Serif Japanese","YuMincho","游明朝","游明朝体",YuMincho,Yu Mincho,"メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
					text-decoration:none;
					line-height:70px;
					background:transparent url("../image/layout/ic01.png") 25px center no-repeat;
					background-size:6px 12px;
					padding:0 20px 0 50px;
					max-height:9999px;
					}
					#navi_container .inner ul li a span {
						float:right;
						display:inline-block;
						color:#70a200;
						font-size:20px;
						font-weight:normal;
						}

#navi_container .inner ul li .subnav {
	width: 340px;
	margin-left: 25px;
	margin-top: 0;
}
#navi_container .inner ul li .subnav li:last-child {
	border-bottom: none;
}
#navi_container .inner ul li .subnav li a {
	font-size: 18px;
	line-height: 56px;
	background-image:none;
	background-position: left center;
	padding-left: 20px;
}

/* ------------------------------------------------------------------------------------------------------------------------/
   footer
/------------------------------------------------------------------------------------------------------------------------ */

footer {
	width:100%;
	box-sizing:border-box;
	background:#f0f0f0;
	padding: 60px 0 20px;
	margin:60px 0 0 0;
	text-align: center;
	font-family:"Noto Serif Japanese","YuMincho","游明朝","游明朝体",YuMincho,Yu Mincho,"メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
	/*
	footer .companyname {
		display: inline-block;
		font-size: 150%;
		margin-bottom: 16px;
		padding: 0 16px 10px;
		border-bottom: 1px solid #333;
	}
	*/
	footer .companyname img {
		width: 500px;
		height: auto;
		margin-bottom: 24px;
	}
	footer address {
		font-size: 20px;
		font-style: normal;
		margin-bottom: 36px;
	}
		
	footer .copyright {
		width:100%;
		height:30px;
		font-size:16px;
		line-height:30px;
		box-sizing:border-box;
		margin:0 auto;
		}


/* ------------------------------------------------------------------------------------------------------------------------/
   expansion
/------------------------------------------------------------------------------------------------------------------------ */

.submit {
	display:block;
	clear:both;
	width:100%;
	text-align:center;
	margin:0 auto;
	}
	.submit button,
	.submit a {
		float:none !important;
		display:inline-block !important;
		width:auto !important;
		height:auto !important;
		color:#ffffff;
		font-size:20px;
		font-family:"メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		text-decoration:none;
		line-height:60px;
		box-sizing:border-box;
		background:#002f54 url("../image/layout/ic02.png") 17px center no-repeat;
		background-size:10px 16px;
		border:solid 1px #002f54 !important;
		margin:0 5px !important;
		padding:0 15px 0 45px;
		cursor:pointer;
		}

ul.submit {
	display:block;
	clear:both;
	width:100%;
	text-align:left;
	margin:0 auto;
	padding:0;
	list-style:none;
	}
	ul.submit button,
	ul.submit a {
		display:block !important;
		width:100% !important;
		height:auto !important;
		color:#ffffff;
		font-size:20px;
		font-family:"メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		text-align:center;
		text-decoration:none;
		line-height:60px;
		box-sizing:border-box;
		background:#002f54 url("../image/layout/ic02.png") 17px center no-repeat;
		background-size:10px 16px;
		border:solid 1px #002f54 !important;
		margin:0 !important;
		padding:0 15px 0 30px;
		cursor:pointer;
		}

.pager {
	margin:30px 0 10px 0;
	}
	.pager li {
		position:relative;
		display:inline-block;
		width:2em;
		text-align:center;
		box-sizing:border-box;
		margin:0 5px 0 0;
		}
	.pager li.stay {
		color:#002f54 !important;
		font-weight:bold;
		background:#ffffff !important;
		border:solid 1px #002f54 !important;
		padding:2px 0 1px 0;
		}
		.pager li a {
			display:block;
			color:#ffffff !important;
			text-decoration:none;
			box-sizing:border-box;
			border:solid 1px #002f54;
			background:#002f54;
			padding:2px 2px 1px 3px !important;
			}