@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust : 100%;
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
	line-height: 1em;
	border: none 0;
	vertical-align: middle;
}
table {
	border-collapse: collapse;
} 
ul, ol {
	list-style-type: none;
}
a {
	text-decoration: none;
}
.alignCenter {
	text-align: center;
}
.alignRight {
	text-align: right;
}
.alignLeft {
	text-align: left;
}
.floatLeft {
	float: left;
}
.floatRight {
	float: right;
}
.floatLeftFix {
	float: left !important;
}
.floatRightFix {
	float: right !important;
}
img.floatLeft, img.floatLeftFix {
	margin: 0 1em 0.5em 0;
}
img.floatRight, img.floatRightFix {
	margin: 0 0 0.5em 1em;
}

@media screen and (max-width:599px) {
.floatLeft, .floatRight {
	float: none;
}
img.floatLeft, img.floatRight {
	display: block;
	margin: 0 auto 1em;
}
}
.clearLeft {
	clear: left;
}
.clearRight {
	clear: right;
}
.clearBoth {
	clear: both;
}
.clearFloat::after, header::after, #headNav::after, #headLogo::after, main::after, .wrapper::after, footer::after, footer nav::after {
	content: '';
	display: block;
	clear: both;
}
.noMargin {
	margin: 0 !important;
	padding: 0 !important;
	text-indent: 0 !important;
}
.noWrap {
	white-space: nowrap;
}
body {
	font-size: 16px;
	color: #333;
	line-height: 1.7em;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
textarea ,
/*input,*/
select,
option {
	font-size:inherit;
	line-height:inherit;
	font-family: inherit;
	-webkit-appearance: none;
}

a {
	color: rgba(0,90,174,1);
	text-decoration: none;
}
a:hover {
	color: rgba(0,65,126,1);
	text-decoration: underline;
	transition-duration: 0.3s;
}
p{
	margin:0 0 1em; 
}
.wrapper {
	width: 960px;
	margin: 0 auto;
}

@media screen and (max-width: 959px) {
.wrapper {
	width: 96%;
}
}

main {
	display:block;
}

	#top_visual{
		background-color: #eee;
		height: 60vh;
		display: flex;
		justify-content: center;
		align-items: center;
	}	

/*		#top_visual::before {
		  content: "";
		  position: absolute;
		  inset: 0;
		  background-image: 
			repeating-radial-gradient(circle, rgba(0, 0, 0, 1) 0, transparent 1px);
		  background-size: 2px 2px;
		  opacity: 0.8;
		  pointer-events: none;
		  z-index: -9;
		}
	*/


	#top_visual h1{
	font-size: 1.8em;
	}

	#wrap{
		width: 100%;
		max-width:1280px;
		margin:-60px auto 0;
		padding:4em 8em;
		background-color: #fff;
	}
@media screen and (max-width: 1000px) {
	#wrap{
		width: 96%;
		margin:-60px auto 0;
		padding:2em 1em;
	}
	
	
	}
	
	#wrap h2{
		margin:2.5em 0 1em;
		padding:1em 1em 0.7em;
		font-size: 1.3em;
		background-color: #F4F4F4;
	}
	
	#wrap h2::after {
	content: '';
	display: block;
	width: 40px;
	height: 4px;
	margin:0.2em 0 0;
	background-color: #498ee0;
}	
	#wrap h3{
		margin:1em 0 0.3em;
		padding:0.2em 0 ;
		font-size: 1.1em;
		background-color: #FBFBFB;
	}




	footer{
		background-color: #ccc;
		padding:60px 0 0;
	}
	#footer_inner{
		width: 100%;
		max-width:1200px;
		margin:0 auto 60px;
		display: flex;
	}
	#footer_inner a{
		color:#222;
		position: relative;
	}
	#footer_inner a:after{
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: #222;
		bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
		transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
		transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
		transition: transform 0.3s; /*変形の時間*/
		}

		#footer_inner a:hover::after {
		transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
		}


	#footer_inner div:first-of-type{
		width:50%;
		padding:0 0 0 1em;
	}	
	#footer_inner div:nth-of-type(2){
		width:25%;
		margin-top:40px;
	}	
	#footer_inner div:nth-of-type(3){
		width:25%;
		margin-top:40px;		
	}		
	#footer_address{
		margin:0.5em 0 0 2em;
	}
	#footer_inner ul li{
		margin:0.2em 0;
	}
/*	#footer_inner div:nth-of-type(2) ul li{
		margin-left:1em;
	} */
	#footer_inner div:nth-of-type(2) ul li:first-of-type{
		margin-left:0;
	}	
	/*#footer_inner div ul li ul{
		margin-left:1em;
	}*/	
	.footer_title{
		font-weight: bold;
		color:#3B3B3B;
	}
	#footer_inner ul li .mark:before{
	content: "-";
	margin:0 0.5em 0 0
}


@media screen and (max-width: 767px) {
	#footer_inner{
		display: inherit;
	}	
	#footer_inner div:first-of-type{
		width:100%;
		max-width: 360px;
		margin:0 auto;
	}	
	#footer_inner div:nth-of-type(2){
		width:100%;
		max-width: 300px;		
		margin:40px auto 0;
	}	
	#footer_inner div:nth-of-type(3){
		width:100%;
		max-width: 300px;		
		margin:0 auto;	
	}	
	#footer_inner ul li{
		margin:0.2em 0;
		padding:0.4em 0;
		border-bottom:1px dotted #999;		
	}	
	#footer_inner ul li ul li{
		border-bottom:none;
		padding:0;
	}
	}
	
	#copyright{
		font-size: 0.6em;
	}


	#seal{
	display: block;
	width:260px;
	margin:0 auto 1em;
	padding:1em 0 0;
	text-align: center;
	border:1px solid #ccc;
	border-radius: 5px;
	font-size: 11px;
	line-height: 1.5em;
	background-color: rgba(255,255,255,0.2);
}
@media screen and (max-width:959px) {
	#seal{
	width:260px;
	margin:0 auto 0.5em;
	right: 0px;
		
		}
		
		}

.logo a{
	text-decoration: none;
}

	#footer_inner .logo a:after{
		position: absolute;
		left: 0;
		content: '';
		width: 0;
		height: 1px;
		background: #222;
		bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
		transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
		transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
		transition: transform 0.3s; /*変形の時間*/
		}
