@charset "utf-8";


/*---------------------------------------------------------------------------------------
	大枠設定
----------------------------------------------------------------------------------------*/

body{
	font-family: 'Noto Sans JP', sans-serif;
	color:#111;
	text-align:center;
}
#wrapper{
	display: none;
}
.switch{}
a{ color:#111; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
img.imgalpha, .svg path, .svg polygon{ -webkit-transition: all .2s; transition: all .2s;}
.svg{ vertical-align: middle;}
/* font */
.gothic{ font-family: 'Noto Sans JP', sans-serif;}
.mincho{ font-family: "Hiragino Mincho ProN",游明朝,"Yu Mincho",YuMincho,HGS明朝E,メイリオ,Meiryo,serif;}
/* color */
.f-red{ color: #f00;}
.f-blue{ color: #0000ff;}
.underline{ text-decoration: underline;}
/* bg */
.bg-white{ background: #fff;}
.bg-gray{ background: #e6e6e6;}
/* move */
.move{ transform: translateY(50px); transition : all 500ms; opacity: 0;}
.move.move-active{ transform: translateY(0); opacity: 1;}
/* link-pdf */
.link-pdf{
	padding-left: 30px;
	background: url(../images/icon-pdf.png) no-repeat left top 5px;
	min-height: 24px;
	display: block;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	/* link-pdf */
	.link-pdf{
		padding-left: 25px;
		background: url(../images/icon-pdf.png) no-repeat left top 4px;
		background-size: 20px auto;
		min-height: 20px;
	}
}
/* wloader */
#wloader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 1;
}
#wloader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	margin-top: -50px;
	margin-left: -50px;
	text-align: center;
	color: #fff;
	z-index: 2;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:1000px){
}
@media screen and (max-width:768px){
	body{
		font-size: 14px;
	}
	a:hover{ opacity: 1;}
	/* move */
	.move.move-spnone{ transform: none!important; opacity: 1!important;}
}






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

header{
	box-sizing: content-box;
	max-width: 1100px;
	line-height: 90px;
	margin: 0 auto;
	padding: 0 3%;
	overflow: hidden;
}
header img{
	vertical-align: middle;
	margin-bottom: 5px;
}
header h1{
	float: left;
	font-size: 26px;
	font-weight: bold;
}
header h1 a{ display: block;}
header h1 br{ display: none;}
header h1 img{ margin-right: .5em;}
header p{
	float: right;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	header{
		line-height: 60px;
	}
	header h1{
		font-size: 16px;
		text-align: left;
		line-height: 1;
	}
	header h1.nnk{
		line-height: 60px;
	}
	header h1 br{ display: inline;}
	header h1 img{
		width: auto;
		height: 13px;
		margin-right: 0;
		margin-top: 13px;
	}
	header p img{
		width: auto;
		height: 18px;
	}
}
@media screen and (max-width:370px){
	header p img{
		height: 13px;
	}
}






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

#contents{}
.wrap{
	clear: both;
	box-sizing: content-box;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 3%;
	padding-right: 3%;
}
/* redbox */
.redbox{
	padding-bottom: 15px;
	margin-top: -20px;
	line-height: 1.4;
	border-bottom: 3px solid #e60012;
	overflow: hidden;
}
.redbox p.add{
	display: inline-block;
	margin-right: 2em;
}
.redbox p.tel{
	display: inline-block;
	font-size: 22px;
	font-weight: bold;
}
.redbox p.tel:before{
	display: inline-block;
	content: "";
	width: 25px;
	height: 19px;
	margin-right: .2em;
	background: url("../images/subpage-icon-tel.svg") no-repeat;
}
.redbox a{ color: #000;}
/* readbox */
.readbox,
.readbox-photoright,
.readbox-photoleft{
	clear: both;
	text-align: left;
	margin-bottom: 80px;
	overflow: hidden;
}
.readbox-photoright div,
.readbox-photoleft div{ overflow: hidden;}
.readbox-photoright figure{ margin-left: 30px;}
.readbox-photoleft figure{ margin-right: 30px;}
.readbox-halftable{
	clear: both;
	display: table;
	width: 100%;
	text-align: left;
	margin-bottom: 80px;
}
.readbox-halftable .leftcol{
	display: table-cell;
	width: 55%;
	vertical-align: middle;
}
.readbox-halftable .rightcol{
	display: table-cell;
	width: 45%;
	vertical-align: middle;
}
/* detailbox */
.detailbox{
	clear: both;
	margin-bottom: 50px;
	overflow: hidden;
}
.subtitle{
	clear: both;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	margin-bottom: 30px;
}
.subtitle:first-letter{ color: #e60012;}
.detailbox table{
	width: 100%;
	line-height: 1.4;
	text-align: left;
	border-top: 1px solid #b3b3b3;
}
.detailbox table th{
	padding: 15px 20px;
	border-bottom: 1px solid #b3b3b3;
	background: #e6e6e6;
}
.detailbox table td{
	padding: 15px 20px;
	border-bottom: 1px solid #b3b3b3;
	vertical-align: middle;
}
.detailbox table td:first-child{
	vertical-align: top;
	border-right: 1px solid #b3b3b3;
}
.detailbox table td.icon{
	text-align: left;
	padding-left: 60px;
	position: relative;
}
.detailbox table td.icon img.iconimg{
	position: absolute;
	left: 20px;
	top: 18px;
}
.detailbox table td.icon img.iconimg2{
	position: absolute;
	left: 20px;
	top: 45px;
}
/* keeper */
.keeper{
	clear: both;
	padding: 10px 10px 20px;
	margin-bottom: 80px;
	border: 2px solid #0D3191;
	overflow: hidden;
}
.keeper h3{
	margin-bottom: 15px;
	background: #0D3191;
}
.keeper dl{
	float: left;
	text-align: left;
	margin-right: 2em;
	margin-bottom: 10px;
	overflow: hidden;
}
.keeper dl dt{
	display: inline-block;
	color: #0D3191;
	font-weight: bold;
	margin-right: 2em;
	vertical-align: top;
}
.keeper dl dd{
	display: inline-block;
	vertical-align: top;
}
.keeper p{
	float: left;
	text-align: left;
}
/* touyu */
.touyu{
	clear: both;
	margin-bottom: 80px;
	overflow: hidden;
}
.touyu p{
	float: left;
	width: 42%;
}
.touyu table{
	float: right;
	width: 55%;
	border: 1px solid #3d770e;
}
.touyu table th{
	color: #fff;
	line-height: 1.4;
	padding: 5px 10px;
	background: #3d770e;
}
.touyu table td{
	text-align: left;
	line-height: 1.6;
	padding: 10px 20px;
}
.touyu table td strong{
	font-size: 24px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	/* redbox */
	.redbox{
		padding-bottom: 15px;
		margin-top: -10px;
		border-bottom: 2px solid #e60012;
		line-height: 1.4;
		padding: 10px 0;
	}
	.redbox p.add{
		float: none;
	}
	.redbox p.tel{
		float: none;
	}
	/* readbox */
	.readbox,
	.readbox-photoright,
	.readbox-photoleft{
		margin-bottom: 60px;
	}
	.readbox-photoright div,
	.readbox-photoleft div{ margin-bottom: 20px;}
	.readbox-photoright figure{ float: none!important; margin-left: 0;}
	.readbox-photoleft figure{ float: none!important; margin-right: 0;}
	.readbox-halftable{
		display: block;
		width: auto;
		margin-bottom: 40px;
	}
	.readbox-halftable .leftcol{
		display: block;
		width: auto;
		margin-bottom: 15px;
	}
	.readbox-halftable .rightcol{
		display: block;
		width: auto;
	}
	/* detailbox */
	.detailbox{
		margin-bottom: 40px;
	}
	.subtitle{
		font-size: 20px;
		margin-bottom: 10px;
	}
	.detailbox table{
		border-top: 1px solid #b3b3b3;
	}
	.detailbox table th{
		padding: 5px 10px;
	}
	.detailbox table td{
		display: block;
		padding: 5px 10px 0;
		border-bottom: none;
	}
	.detailbox table td:first-child{ padding: 15px 10px 10px; border-right: none;}
	.detailbox table td:last-child{ padding: 5px 10px 15px; border-bottom: 1px solid #b3b3b3;}
	.detailbox table td.icon{
		text-align: left;
		padding-left: 0;
		position: static;
	}
	.detailbox table td.icon img.iconimg,
	.detailbox table td.icon img.iconimg2{
		position: static;
		vertical-align: middle;
		margin-right: 5px;
	}
	/* keeper */
	.keeper{
		margin-bottom: 40px;
	}
	/* touyu */
	.touyu{
		margin-bottom: 40px;
	}
	.touyu p{
		float: none;
		width: auto;
		margin-bottom: 20px;
	}
	.touyu table{
		float: none;
		width: auto;
		width: 100%;
	}
	.touyu table td strong{
		font-size: 20px;
	}
}






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

footer{
	clear: both;
	color: #fff;
	font-size: 14px;
	line-height: 80px;
	text-align: center;
	background: #1a1a1a;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	footer{
		font-size: 12px;
	}
}





















