

/*------------------------------------------------------------------------------
Css name: common.css
Css info: 共通スタイル
------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------
基本
--------------------------------------------------------------------------*/
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

html{
	box-sizing: border-box;
	overflow-y: scroll;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body{
	height:100%;
	width:100%;
	margin:0px;
	padding:0px;
	font-family: 'Helvetica Neue', Helvetica, Arial, Verdana, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight:normal;
	font-style:normal;
	color:#333;
	font-size:1.4em;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

p{
	line-height:1.8;
}

table, th, td, th {
	border-collapse: collapse;
	border-spacing: 0;
	font-weight: normal;
	font-size:1em;
}

table,div,ol,ul,dl,dt,dd{
	margin:0px;
	padding:0px;
}
li{
	list-style: none;
}

textarea,input{
	font-size:1em;
}



h1,h2,h3,h4,h5,h6,small{		/* 題名 */
	font-size:100%;
	line-height:100%;
	margin:0px;
	padding:0px;
}

img,table {		/* イメージ・テーブル線消し */
	border:none;
}

img{		/* Strict時の画像下のスキマを埋める(Firefox) */
	vertical-align: bottom;
}

a{		/* テキストリンク */
	color:#00a0ca;
	text-decoration:underline;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	transition: .3s;
}
a:active,
a:hover{		/* テキストリンク */
	color:#00a0ca;
	text-decoration:none;
	outline:none;
}

a:hover img{		/* 画像リンク */
	/*opacity:0.8;
	filter: alpha(opacity=80);*/
} 

.f_lef{ float: left;}
.f_rig{ float: right;}

/* 回り込みの解除 */
.cf:after {
	content:" ";
	display:block;
	clear:both;
}

/* テキスト反転 */
::-moz-selection {
	background-color: #fff314;
	color: #333;
	text-shadow: none;
}

::selection {
	background-color: #fff314;
	color: #333;
	text-shadow: none;
}
@media only screen and (max-width: 599px) {
	body{
		font-size:1.6em;
	}
	img{
		max-width: 100%;
		height: auto;
	}
	.f_lef,
	f_rig{
		float: none;
	}
}
/*------------------------------------------------------------------------
レイアウト 
--------------------------------------------------------------------------*/
.wrapper{
	width: 1000px;
	padding: 0 20px;
	margin: 0 auto;
}
@media only screen and (max-width: 599px) {
	.wrapper{
		width: 100%;
		padding: 0 3%;
		margin: 0 auto;
	}	
}
/*------------------------------------------------------------------------
header
--------------------------------------------------------------------------*/
.header {
	width: 100%;
	min-width: 1000px;
	height: 110px;
	background-color: rgba(255,255,255,0.9);
}
.logo{
	float: left;
	margin: 35px 0 10px 20px;
}

.head_subNavi{
	float: right;
	margin-right: 20px;
}
		.head_subNavi .head_fb a,
		.head_subNavi .head_ist a,
		.head_subNavi .tel a,
		.head_subNavi .mail a{
			display: block;
			width: 100%;
			height: 100%;
			font-weight: bold;
			text-align: center;
			text-decoration: none;
			line-height: 48px;
			padding-left: 10px;
		}
		.head_subNavi .head_fb:hover,
		.head_subNavi .head_ist:hover,
		.head_subNavi .tel:hover,
		.head_subNavi .mail:hover{
			opacity:0.8;
		}
			
	.head_subNavi .head_fb{
		width: 210px;
		height: 48px;
		background: #3b5998;
		float: left;
	}
		.head_subNavi .head_fb a{
			font-size: 0.929em;/*13*/
			color: #fff;
			background: url(../img/common/FB-f-Logo__white_72.png) 14px center no-repeat;
			background-size: 24px 24px;
			padding-left: 24px;
		}
	.head_subNavi .head_ist{
		width: 210px;
		height: 48px;
		background: #fff;
		float: left;
	}
		.head_subNavi .head_ist a{
			font-size: 0.929em;/*13*/
			color: #333;
			background: url(../img/common/ico_sns_ist.png) 14px center no-repeat;
			background-size: 24px 24px;
			padding-left: 24px;
			border-bottom: 1px solid #ef0075;
		}
	.head_subNavi .tel{
		width: 210px;
		height: 48px;
		background: #e1e6e6;
		float: left;
	}
		.head_subNavi .tel a{
			font-size: 1.429em;/*20*/
			color: #333;
			background: url(../img/common/ico_phone.png) 20px center no-repeat;
			background-size: 20px 20px;
		}
	.head_subNavi .mail{
		width: 230px;
		height: 48px;
		background: #ff8a1e;
		float: left;
	}
		.head_subNavi .mail a{
			color: #fff;
			background: url(../img/common/ico_mail.png) 26px center no-repeat;
			background-size: 20px 16px;
		}		
		
	

.gNav{
	clear: both;
	margin-top: -15px;
	margin-right: 20px;
	float: right;
	border-left: 1px solid #e1e6e6;
}
	.gNav li{
		float: left;
		width: 130px;
		height: 26px;
		border-right: 1px solid #e1e6e6;
		text-align: center;
	}
		.gNav li a{
			display: block;
			width: 100%;
			height: 100%;
			color: #333;
			font-size: 1.143em;/*16*/
			text-decoration: none;
			position: relative;
			transition: .2s;
		}
		.gNav li a::after {
			position: absolute;
			top: 36px;
			left: 50%;
			content: '';
			width: 0;
			height: 2px;
			background-color: #002379;
			transition: .3s;
			-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
		}
		.gNav li a:hover::after {
			width: 100%;
		}
@media only screen and (max-width: 1179px) {
		.head_subNavi .head_sns{
			width: 56px;
		}
		.head_subNavi .head_sns span{
			display: none;
		}
			.head_subNavi .head_fb a{
				background: url(../img/common/FB-f-Logo__white_72.png) center center no-repeat;
				background-size: 24px 24px;
				padding-left: 0;
			}
			.head_subNavi .head_ist a{
				background: url(../img/common/ico_sns_ist.png) center center no-repeat;
				background-size: 24px 24px;
				padding-left: 0;
			}
}
@media only screen and (max-width: 599px) {
	.header {
		min-width: 100%;
		height: auto;
	}
	.logo{
		float: none;
		padding: 18px 0 2px;
		margin: 0 0 10px 3%;
		max-width: 50%;
	}


	.head_subNavi{
		float: none;
		margin-right: 0;
	}
		.head_subNavi .head_sns{
			display: none;
		}
		.head_subNavi .tel{
			width: 45%;
		}
			.head_subNavi .tel a{
				font-size: 1.143em;/*16*/
				background: url(../img/common/ico_phone.png) 10px center no-repeat;
				background-size: 16px 16px;
			}
		.head_subNavi .mail{
			width: 55%;
		}
			.head_subNavi .mail a{
				font-size: 0.875em;/*14*/
				background: url(../img/common/ico_mail.png) 10px center no-repeat;
				background-size: 16px 13px;
			}		
			
	.gNav{
		display: none;
	}
}


/*------------------------------------------------------------------------
main
--------------------------------------------------------------------------*/
.main{
	margin-top: 230px;
}

.page_title{	
	position: absolute;
	display: block;
	z-index: -999;
	top: 0;
	left: 0;
	width: 100%;
	height: 300px;
	text-align: center;
	padding-top: 186px;
}
.bg_color{
	width: 100%;
	padding: 1px 0;
	background: #e7f3f9;
}
.box{
	width: 860px;
	margin: 50px auto;
}
.box p{
	margin-bottom: 1em;
}

.title_circle{
	font-size: 1.714em;/*24*/
	font-weight: 500;
	margin-bottom: 40px;
}
	.title_circle:before{
		box-sizing: border-box;
		display: inline-block;
		position: relative;
		top:1px;
		content: "";
		width: 22px;
		height: 22px;
		border: 6px solid #002379;
		border-radius: 50%;
		margin-right: 6px;
	}
.table_line{
	width: 100%;
}
	.table_line th,
	.table_line td{
		padding: 14px;
		border-top: 1px solid #e1e6e6;
		border-bottom: 1px solid #e1e6e6;
	}
	.table_line th{
		width: 160px;
		text-align: left;
		vertical-align: top;
	}
@media only screen and (max-width: 599px) {
	.main{
		margin-top: 160px;
	}

	.page_title{	
		position: absolute;
		display: block;
		z-index: -999;
		top: 0;
		left: 0;
		width: 100%;
		height: 240px;
		text-align: center;
		padding-top: 160px;
	}
	.box{
		width: 100%;
		padding: 0 3%;
		margin: 40px auto;
	}
	.title_circle{
		font-size: 1.375em;/*22*/
		font-weight: 500;
		margin-bottom: 30px;
	}
		.title_circle:before{
			width: 20px;
			height: 20px;
			margin-right: 4px;
		}
	.table_line{
		border-top: 1px solid #e1e6e6;
	}
		.table_line th,
		.table_line td{
			display: block;
			padding: 10px 14px;
			border-top: none;
			border-bottom: 1px solid #e1e6e6;
		}
		.table_line th{
			width: 100%;
			text-align: left;
			vertical-align: top;
			border-bottom: 1px dotted #e1e6e6;
		}
}

/*------------------------------------------------------------------------
footer
--------------------------------------------------------------------------*/
.footer{
	margin-top: -1px;
	padding: 30px 0;
	color: #fff;
	text-align: center;
	background: url(../img/common/footer_bg.jpg);
}
.footer a{
	color: #fff;
	text-decoration: none;
}
	.foot_logo{
		margin-bottom: 18px;
	}
	.foot_add{
		font-size: 1.071em;
		margin-bottom: 14px;
	}
	.foot_tel{
		display: inline-block;
		font-size: 1.571em;
		line-height: 19px;
		padding-left: 26px;
		background: url(../img/common/ico_phone_w.png) left center no-repeat;
		background-size: 19px 19px;
	}
	.foot_contact{
		display: block;
		width: 180px;
		height: 38px;
		font-size: 1.143em;
		font-weight: bold;
		line-height: 38px;
		margin: 20px auto;
		border: 1px solid #fff;
	}
		.foot_contact:hover{
			background: #fff;
			color: #333;
		}
	.sns_link{
		display: flex;
		justify-content: center;
		margin-bottom: 20px;
	}
		.sns_link li + li{
			margin-left: 20px;
		}
		.sns_link a{
			line-height: 1;
			text-decoration: underline;
		}
			.sns_link a:hover{
				opacity: .8;
				text-decoration: none;
			}	
	.foot_group{
		margin-bottom: 20px;
		
	}
		.foot_group .title::before,
		.foot_group .title::after{
			content: "ー";
			margin: 0 6px;
		}
		.foot_group a{
			text-decoration: underline;
		}
			.foot_group a:hover{
				text-decoration: none;
			}
		.foot_group span{
			display: block;
			font-size: 0.857em;/*12pt*/
			margin-top: -2px;
		}
	.copyright{
		font-size: 0.857em;
	}
@media only screen and (max-width: 599px) {
	.footer{
		padding: 20px 0;
	}
}
/*------------------------------------------------------------------------
モバイル用グローバル
--------------------------------------------------------------------------*/
/*ハンバーガーメニュー ------------------------------ */
@media only screen and (max-width: 599px) {
	.hamburgerMenu{
		position: absolute;
		top:14px;
		right:14px;
	}
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 44px;
		height: 36px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #002379;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 16px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(16px) rotate(-45deg);
		transform: translateY(16px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-16px) rotate(45deg);
		transform: translateY(-16px) rotate(45deg);
	}
}

/*メニュー ------------------------------ */
[off-canvas] {
	display: none;
	position: fixed;
	overflow: hidden;
	overflow-y: auto;
	background: ;
	color: white;
	-webkit-overflow-scrolling: touch;
	border-left: 1px solid #e1e6e6;
}

.mobi_gNav{
}
	.mobi_gNav li{
		background: #fff;
		height: 50px;
		line-height: 50px;
		border-bottom: 1px solid #e1e6e6;
	}
		.mobi_gNav li a{
			display: block;
			width: 100%;
			height: 100%;
			color: #333;
			padding-left: 1em;
			text-decoration: none;
		}
		
		.mobi_gNav li.head_fb{
			border-bottom: none;
			background: #3b5998;
			margin-top: 20px;
		}
			.mobi_gNav li.head_fb a{
				color: #fff;
				background: url(../img/common/FB-f-Logo__white_72.png) 14px center no-repeat;
				background-size: 24px 24px;
				padding-left: 3em;
				font-size: 0.929em;
			}
		.mobi_gNav li.head_ist{
			border-bottom: none;
			background: #fff;
			margin-top: 20px;
		}
			.mobi_gNav li.head_ist a{
				color: #333;
				background: url(../img/common/ico_sns_ist.png) 14px center no-repeat;
				background-size: 24px 24px;
				padding-left: 3em;
				font-size: 0.929em;
				
			}