@charset "utf-8";
/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの大きさ（プラス） */
.fsP1 { font-size: 1.08em !important; }
.fsP2 { font-size: 1.16em !important; }
.fsP3 { font-size: 1.24em !important; }
.fsP4 { font-size: 1.32em !important; }
.fsP5 { font-size: 1.4em !important; }

/* フォントの大きさ（マイナス） */
.fsM1 { font-size: 0.92em !important; }
.fsM2 { font-size: 0.84em !important; }
.fsM3 { font-size: 0.76em !important; }
.fsM4 { font-size: 0.68em !important; }
.fsM5 { font-size: 0.6em !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
#main .headLine01 {
	margin-bottom: 58px;
	text-align: center;
}

#main .headLine01 img {
	width: 866px;
}

@media screen and (max-width: 767px) {
	#main .headLine01 {
		margin-bottom: 46px;
	}
	
	#main .headLine01 img {
		width: 340px;
	}
	
	#main .headLine01 .sp {
		display: inline-block !important;
	}
	
}

@media screen and (max-width: 374px) {
	#main .headLine01 img {
		width: 280px;
	}
	
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
#main .headLine02 {
	margin-bottom: 63px;
	padding-bottom: 11px;
	color: #fff;
	font-size: 28px;
	letter-spacing: 0.5px;
	text-align: center;
	background-color: #0054A7;
}

#main .headLine02 span {
	margin-bottom: 11px;
	padding: 6px 0 2px;
	display: block;
	font-size: 25px;
	letter-spacing: 8px;
	background-color: #002256;
}

@media screen and (max-width: 767px) {
	#main .headLine02 {
		margin-bottom: 43px;
		padding-bottom: 12px;
		font-size: 20px;
		letter-spacing: 0;
		line-height: 1.2;
	}
	
	#main .headLine02 span {
		margin-bottom: 10px;
		padding: 9px 0 8px;
		font-size: 14px;
		letter-spacing: 3px;
	}
	
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
#main .headLine03 {
	margin: 0 0 38px;
	padding: 16px 0 13px 25px;
	position: relative;
	font-size: 25px;
	border: 2px solid #404040;
	border-left: 6px solid #000;
	position: relative;
}

#main .headLine03::before {
	width: 36px;
	height: 35px;
	background: url(../../img/common/icon01.jpg) no-repeat left top;
	background-size: 36px auto;
	position: absolute;
	right: -4px;
	bottom: -3px;
  
	content: ""; 
}

#main .headLine03 span {
	margin: -5px 16px 0 0;
	font-size: 17px;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	#main .headLine03 {
		margin: 0 0 28px;
		padding: 8px 0 4px 8px;
		font-size: 17px;
		letter-spacing: -0.9px;
		border: 1px solid #808080;
		border-left: 4px solid #000;
	}
	
	#main .headLine03::before {
		width: 20px;
		height: 20px;
		background: url(../../img/common/sp_icon06.jpg) no-repeat left top;
		background-size: 20px auto;
		bottom: -4px;
		right: -3px;
	}
	
	#main .headLine03 span {
		margin: 0;
		display: block;
		font-size: 13px;
	}
	
}

/*------------------------------------------------------------
	pageNavi
------------------------------------------------------------*/
#main .pageNavi {
	margin-bottom: 97px;
	font-size: 0;
	text-align: center;
}

#main .pageNavi li {
	display: inline-block;
}

#main .pageNavi .prev {
	margin-right: 13px;
}

#main .pageNavi li a,
#main .pageNavi li span {
	padding: 6px 3px;
	width: 39px;
	display: inline-block;
	cursor: pointer;
	font-size: 17px;
	text-align: center;
	border: 1px solid #cfcfcf;
	border-left: none;
	box-sizing: border-box;
}

#main .pageNavi li:nth-child(2) a,
#main .pageNavi li:nth-child(2) span {
	border-left: 1px solid #cfcfcf;
}

#main .pageNavi li a:hover {
	opacity: 0.7;
}

#main .pageNavi .prev a {
	padding: 6px 10px;
	width: 71px;
	text-align: right;
	border-left: 1px solid #cfcfcf;
	background: url(../../img/common/icon03.png) no-repeat left 10px center;
	background-size: 7px auto;
}

#main .pageNavi .nest {
	margin-left: 13px;
}

#main .pageNavi .nest a {
	padding: 6px 10px;
	width: 71px;
	text-align: left;
	border-left: 1px solid #cfcfcf;
	background: url(../../img/common/icon06.png) no-repeat right 10px center;
	background-size: 7px 13px;
}

#main .pageNavi .current span {
	display: inline-block;
	border: 1px solid #C9CACA;
	background-color: #C9CACA;
}

@media screen and (max-width: 767px) {
	#main .pageNavi {
		margin-bottom: 52px;
	}
	
	#main .pageNavi .prev {
		margin-right: 11px;
	}
	
	#main .pageNavi li a,
	#main .pageNavi li span {
		padding: 5px 3px;
		width: 31px;
		font-size: 13px;
	}
	
	#main .pageNavi .prev a {
		padding: 5px 8px 5px 12px;
		width: 55px;
		background: url(../../img/common/sp_icon03.jpg) no-repeat left 8px center;
		background-size: auto 10px;
	}
	
	#main .pageNavi .nest {
		margin-left: 11px;
	}
	
	#main .pageNavi .nest a {
		padding: 5px 18px 5px 8px;
		width: 56px;
		text-align: right;
		background: url(../../img/common/icon06.png) no-repeat right 5px center;
		background-size: auto 10px;
	}
	
}


/*------------------------------------------------------------
	comContact
------------------------------------------------------------*/
#main .comContact {
	margin: 0 auto;
	padding: 40px 49px 41px;
	width: 682px;
	border: 1px solid #000;
	box-sizing: border-box;
}

#main .comContact p {
	float: left;
	text-align: center;
}

#main .comContact p span {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: -0.6px;
	line-height: 1.8;
	background: url(../../img/common/icon04.png) repeat-x left 13px;
}

#main .comContact .link {
	margin-top: 7px;
	float: right;
}

#main .comContact .link a {
	padding: 16px 18px 13px 74px;
	width: 226px;
	display: block;
	font-weight: bold;
	letter-spacing: -0.4px;
	text-align: right;
	border: 2px solid #808080;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	box-sizing: border-box;
	background: url(../../img/common/icon05.jpg) no-repeat left 27px center;
	background-size: 38px auto;
}

#main .comContact .link a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	#main .comContact {
		margin: 0 21px 0 28px;
		padding: 20px 20px 23px;
		width: auto;
	}
	
	#main .comContact p {
		margin-bottom: 15px;
		float: none;
		text-align: center;
	}
	
	#main .comContact p span {
		font-size: 11px;
		letter-spacing: 0;
		line-height: 1.5;
		background: url(../../img/common/sp_icon04.png) repeat-x left 8px;
	}
	
	#main .comContact .link {
		margin-top: 0;
		float: none;
		text-align: center;
	}
	
	#main .comContact .link a {
		padding: 11px 18px 9px 20px;
		width: 168px;
		display: inline-block;
		font-size: 12px;
		letter-spacing: -0.6px;
		background: url(../../img/common/sp_icon05.jpg) no-repeat left 20px center;
		background-size: 27px auto;
	}
	
}

/*------------------------------------------------------------
	pageTop
------------------------------------------------------------*/
.pageTop {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px
}

.pageTop img {
	width: 75px;
}

.pageTop a:hover img {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.pageTop {
		right: 10px;
		bottom: 10px;
	}
		
	.pageTop img {
		width: 47px;
	}
}

/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
#main .comImgBox{
	margin: 0 auto 55px;
	width: 506px;
	box-sizing: border-box;
}

#main .comImgBox .sub {
	display: table;
	width: 100%;
}

#main .comImgBox .photoBox,
#main .comImgBox .textBox {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
}

#main .comImgBox .photoBox {
	width: 189px;
}

#main .comImgBox .textBox {
	padding-top: 11px;
	width: 225px;
	text-align: center;
}

#main .comImgBox .textBox p {
	font-size: 14px;
}

#main .comImgBox .textBox p > span {
	display: block;
	font-size: 18px;
}

#main .comImgBox .textBox p span span {
	font-size: 21px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#main .comImgBox{
		margin: 0 auto 55px;
		width: auto;
	}
	
	#main .comImgBox .photoBox {
		width: 30%;
	}
	
	#main .comImgBox .photoBox img {
		width: 128px;
	}
	
	#main .comImgBox .textBox {
		padding-top: 11px;
		width: 70%;
	}
	
	#main .comImgBox .textBox p {
		font-size: 11px;
	}
	
	#main .comImgBox .textBox p > span {
		display: block;
		font-size: 11px;
	}
	
	#main .comImgBox .textBox p span span {
		font-size: 15px;
	}	
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
#main .comLink {
	margin: 0 auto 45px;
	width: 750px;
	text-align: center;
}

#main .comLink li {
	width: 365px;
	float: left;
}

#main .comLink li a {
	padding: 12px 16px 10px 43px;
	width: 100%;
	display: table;
	position: relative;
	font-size: 15px;
	line-height: 1.33;
	font-weight: bold;
	letter-spacing: -0.8px;
	box-sizing: border-box;
	background: url(../../img/common/icon02.png) no-repeat left 17px center #E8E8E8;
	background-size: 13px 21px !important;
}

#main .comLink li a:hover {
	opacity: 0.7;
}

#main .comLink li a span {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
}

#main .comLink li a .prev {
	width: 110px;
}

#main .comLink li a .nest {
	width: 63px;
}

#main .comLink li:nth-child(2) {
	float: right;
}

#main .comLink li:nth-child(2) a {
	padding: 17px 43px 15px 31px;
	background: url(../../img/common/icon07.png) no-repeat right 17px center #E8E8E8;
}

@media screen and (max-width: 767px) {
	#main .comLink {
		margin: 0 auto 38px;
		width: 308px;
	}
	
	#main .comLink li {
		float: none;
		width: auto !important;
	}
	
	#main .comLink li a {
		padding: 12px 16px 13px 33px;
		font-size: 13px;
		line-height: 1.37;
		letter-spacing: -0.4px;
		background: url(../../img/common/sp_icon02.png) no-repeat left 14px center #E8E8E8;
		background-size: auto 17px !important;
	}
	
	#main .comLink li a .prev {
		width: 100px;
	}

	#main .comLink li a .nest {
		width: 63px;
	}
	
	#main .comLink li:nth-child(2) {
		margin-top: 25px;
		float: none;
	}
	
	#main .comLink li:nth-child(2) a {
		padding: 12px 16px 12px 16px;
	}
	
}

/*------------------------------------------------------------
	comDl
------------------------------------------------------------*/
#main .comDl {
	width: 820px;
	margin: 0 auto;
	line-height: 2.19;
}

#main .comDl dt {
	float: left;
	font-weight: bold;
}

#main .comDl dt span {
	font-size: 14px;
	font-weight: normal;
}

#main .comDl dd {
	padding: 0 0 35px 4em;
	letter-spacing: -0.5px;
}

#main .comDl .ddStyle01 {
	padding: 0 0 35px 10.7em;
}

#main .comDl dd a {
	color: #16499d;
	font-weight: bold;
	text-decoration: underline;
}

#main .comDl dd a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#main .comDl {
		width: auto;
		margin: 0 3px;
		line-height: 1.67;
		font-size: 15px;
	}
	
	#main .comDl dt {
		margin-right: 14px;
	}
	
	#main .comDl dt span {
		font-size: 11px;
	}
	
	#main .comDl dd {
		padding: 0 0 25px !important;
		letter-spacing: -0.2px;
	}
		
	#main .comDl dd a:hover {
		text-decoration: underline;
	}

}

@media all and (-ms-high-contrast:none){
	#main .headLine03 {
		padding: 19px 0 10px 25px;
	}
	
	#main .headLine02 {
		padding-bottom: 7px;
	}
	
	#main .headLine02 span {
		padding: 8px 0 0;
		margin-bottom: 17px;
	}
	
	#main .pageNavi .prev a {
		padding: 9px 10px 3px;
	}
	
	#main .pageNavi li a, 
	#main .pageNavi li span {
		padding: 9px 3px 3px;
	}
	
	#main .pageNavi .nest a {
		padding: 9px 10px 3px;
	}
	
	#main .headLine03 span {
		margin: 1px 16px 0 0;
	}
}  

@media screen and (-webkit-min-device-pixel-ratio:0) {
	#main .pageNavi .prev a {
		padding: 7px 10px 5px;
	}
	
	#main .pageNavi li a, 
	#main .pageNavi li span {
		padding: 7px 3px 5px;
	}
	
	#main .pageNavi .nest a {
		padding: 7px 10px 5px;
	}
	
}