@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;
}

/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
	transition: transform 1.5s ease-out, opacity 1.5s ease-out;
	-webkit-transition: -webkit-transform 1.5s ease-out, opacity 1.5s ease-out;
	transform: translateY(30px);
	-webkit-transform: translateY(30px);
	opacity: 0.001;
}

.fadeInUp.on {
	transform: translateY(0);
	-webkit-transform: translateY(0);
	opacity: 0.999;
}

.fadeInUp.mv10th {
	opacity: 0;
}

/*------------------------------------------------------------
	redCor01
------------------------------------------------------------*/
.redCor01 {
	color: #C80011;
}

/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 19px;
	width: 100%;
	height: 240px;
	display: table;
	table-layout: fixed;
	background: url( ../../img/common/page_title_bg01.jpg) no-repeat center center;
	background-size:  cover;
}

.pageTitle .inner {
	padding: 10px 10px 32px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.pageTitle .title {
	display: inline-block;
	position: relative;
	color: #FFF;
	font-size: 37px;
	font-weight: 700;
	letter-spacing: 9px;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", sans-serif;
}

.pageTitle .title:before {
	margin-left: -22px;
	width: 40px;
	height: 4px;
	position: absolute;
	left: 50%;
	bottom: -22px;
	background-color: #C70112;

	content: "";
}

.pageTitle .title .en {
	margin-top: 5px;
	display: block;
	font-size: 13px;
	letter-spacing: 2.8px;
	font-family: 'Montserrat', sans-serif;
}

@media screen and (max-width: 767px) {
	.pageTitle {
		margin-bottom: 1px;
		height: 112px;
		background-image: url(../../img/common/sp_page_title_bg01.jpg);
	}

	.pageTitle .inner {
		padding-bottom: 18px;
	}

	.pageTitle .title {
		font-size: 27px;
		letter-spacing: 6px;
		line-height: 1.2;
	}

	.pageTitle .title:before {
		margin-left: -16px;
		width: 30px;
		height: 2px;
		bottom: -12px;
	}

	.pageTitle .title .en {
		margin-top: 6px;
		font-size: 9px;
		letter-spacing: 2.3px;
	}

	.pageTitle .title.sm {
		font-size: 20px;
	}
}

/*------------------------------------------------------------
	pageLead
------------------------------------------------------------*/
.pageLead {
	margin-bottom: 11px;
	width: 100%;
	height: 140px;
	display: table;
	table-layout: fixed;
	background: url( ../../img/common/page_lead_bg01.jpg) no-repeat center center;
	background-size:  cover;
}

.pageLead .inner {
	padding: 10px 10px 13px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.pageLead .lead {
	display: inline-block;
	color: #FFF;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 1.5px;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", sans-serif;
}

.pageLead .lead .ttl {
	margin: 0 0 8px;
	display: block;
	position: relative;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1px;
}

.pageLead .lead .ttl:before {
	margin-left: -15px;
	width: 30px;
	height: 2px;
	position: absolute;
	left: 50%;
	bottom: -6px;
	background-color: #C70112;

	content: "";
}

@media screen and (max-width: 767px) {
	.pageLead {
		margin-bottom: 11px;
		height: 86px;
	}

	.pageLead .inner {
		padding-bottom: 12px;
	}

	.pageLead .lead {
		font-size: 21px;
		letter-spacing: 1.4px;
	}

	.pageLead .lead .ttl {
		margin-bottom: 5px;
		font-size: 12px;
	}

	.pageLead .lead .ttl:before {
		margin-left: -12px;
		width: 24px;
		height: 1px;
		bottom: -3px;
	}

	.pageLead .lead.sm {
		font-size: 20px;
		letter-spacing: 0.8px;
	}
}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	width: 1080px;
}

/*------------------------------------------------------------
	mainBox
------------------------------------------------------------*/
.mainBox {
	margin: -7px auto 0;
	width: 1080px;
}

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 9px;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine01 span {
	padding: 0 28px 2px 30px;
	display: inline-block;
	color: #FFF;
	font-size: 18px;
	line-height: 1.4;
	background-color: #C90012;
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 12px;
	padding: 0 0 8px 25px;
	font-size: 38px;
	line-height: 1.1;
	background: url(../../img/common/line01.jpg) no-repeat left top;
	background-size: 6px 100%;
	font-family: "Noto Sans Japanese", sans-serif;
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 9px;
	color: #C80011;
	font-size: 22px;
	font-family: "Noto Sans Japanese", sans-serif;
}

/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 16px;
	padding-left: 30px;
	position: relative;
	color: #999;
	font-size: 18px;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine04:before {
	margin-top: -1px;
	width: 19px;
	height: 3px;
	position: absolute;
	left: 0;
	top: 50%;
	background-color: #DCDCDC;
	content: "";
}

.headLine04 > span {
  font-size: 15px;
}

/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 25px;
	padding: 9px 3px 13px;
	position: relative;
	font-size: 26px;
	border-bottom: 2px solid #DCDCDC;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine05:before {
	width: 88px;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: -2px;
	background-color: #C80011;

	content: "";
}

.headLine05 .sm {
	font-size: 22px;
}

.headLine05 .inn {
	display: block;
	overflow: hidden;
	zoom: 1;
}

.headLine05 .num {
	margin-top: 8px;
	padding: 3px 1px 5px;
	width: 28px;
	display: block;
	float: left;
	color: #FFF;
	font-size: 20px;
	line-height: 1;
	text-align: center;
	border-radius: 50%;
	box-sizing: border-box;
	background-color: #C80011;
}

.headLine05 .txt {
	padding-left: 1.2em;
	display: block;
}

/*------------------------------------------------------------
	headLine06
------------------------------------------------------------*/
.headLine06 {
	margin-bottom: 10px;
	color: #C80011;
	font-size: 18px;
	letter-spacing: 0.5px;
	font-family: "Noto Sans Japanese", sans-serif;
}

/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
	margin-bottom: 37px;
	position: relative;
	font-size: 24px;
	border-top: 1px solid #C80011;
	background-color: #F9F9F9;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine07 .mark {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.headLine07 .mark img {
	height: 42px;
}

.headLine07 .ttl {
	padding: 18px 68px;
	display: block;
}

/*------------------------------------------------------------
	headLine08
------------------------------------------------------------*/
.headLine08 {
	margin-bottom: 17px;
	padding: 3px 0 2px 22px;
	position: relative;
	color: #000;
	font-size: 22px;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine08:before {
	width: 4px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #C70112;
	content: '';
}

/*------------------------------------------------------------
	headLine09
------------------------------------------------------------*/
.headLine09 {
	margin-bottom: 16px;
	color: #999;
	font-size: 20px;
	font-family: "Noto Sans Japanese", sans-serif;
}

/*------------------------------------------------------------
	headLine10
------------------------------------------------------------*/
.headLine10 {
	margin-bottom: 8px;
	padding-bottom: 5px;
	font-size: 18px;
	border-bottom: 1px solid #DCDCDC;
	font-family: "Noto Sans Japanese", sans-serif;
}

/*------------------------------------------------------------
	headLine11
------------------------------------------------------------*/
.headLine11 {
	margin-bottom: 24px;
	padding: 7px 20px;
	font-size: 20px;
	border-left: 4px solid #4786D3;
	background-color: #F2F2F2;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine11 .num {
	font-size: 23px;
	font-weight: 600;
	letter-spacing: 0.5px;
	font-family: 'Montserrat', sans-serif;
}

.headLine11.bg01 {
	border-left-color: #BF8E66;
}

/*------------------------------------------------------------
	headLine12
------------------------------------------------------------*/
.headLine12 {
	margin-bottom: 15px;
	padding: 0 5px 2px;
	font-size: 23px;
	font-weight: 600;
	letter-spacing: 0.5px;
	border-bottom: 2px solid #DCDCDC;
	font-family: 'Montserrat', sans-serif;
}

/*------------------------------------------------------------
	headLine13
------------------------------------------------------------*/
.headLine13 {
	margin-bottom: 23px;
	position: relative;
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 1.5px;
	line-height: 1.73;
	font-family: "Noto Sans Japanese", sans-serif;
}

.headLine13:before {
	width: 40px;
	height: 4px;
	position: absolute;
	left: 5px;
	top: -14px;
	background-color: #C80011;

	content: "";
}

@media screen and (max-width: 767px) {
	/*------------------------------------------------------------
		content
	------------------------------------------------------------*/
	.content {
		margin: 0 15px;
		width: auto !important;
	}

	/*------------------------------------------------------------
		mainBox
	------------------------------------------------------------*/
	.mainBox {
		margin: 0 15px;
		width: auto !important;
	}

	/*------------------------------------------------------------
		headLine01
	------------------------------------------------------------*/
	.headLine01 {
		margin-bottom: 5px;
	}

	.headLine01 span {
		padding: 0 21px 1px;
		font-size: 14px;
		font-weight: 500;
	}

	/*------------------------------------------------------------
		headLine02
	------------------------------------------------------------*/
	.headLine02 {
		margin-bottom: 13px;
		padding: 3px 14px;
		font-size: 24px;
		background-position: left top;
		background-size: 4px 100%;
	}

	/*------------------------------------------------------------
		headLine03
	------------------------------------------------------------*/
	.headLine03 {
		margin-bottom: 7px;
		font-size: 18px;
	}

	/*------------------------------------------------------------
		headLine04
	------------------------------------------------------------*/
	.headLine04 {
		margin-bottom: 13px;
		padding-left: 26px;
		font-size: 15px;
	}

	.headLine04:before {
		margin-top: -1px;
		width: 15px;
		height: 3px;
		left: 3px;
	}

	/*------------------------------------------------------------
		headLine05
	------------------------------------------------------------*/
	.headLine05 {
		margin-bottom: 12px;
		padding: 5px 0 6px;
		font-size: 18px;
		letter-spacing: 0.5px;
		border-bottom: 2px solid #F1F1F1;
	}

	.headLine05:before {
		width: 60px;
	}

	.headLine05 .sm {
		font-size: 15px;
	}

	.headLine05 .num {
		margin-top: 5px;
		padding: 3px 1px 3px;
		width: 22px;
		font-size: 15px;
		line-height: 1;
		text-align: center;
		border-radius: 50%;
		box-sizing: border-box;
		background-color: #C80011;
	}

	.headLine05 .txt {
		padding-left: 1.5em;
		display: block;
	}

	/*------------------------------------------------------------
		headLine06
	------------------------------------------------------------*/
	.headLine06 {
		margin-bottom: 7px;
		font-size: 14px;
		letter-spacing: 0.8px;
	}

	/*------------------------------------------------------------
		headLine07
	------------------------------------------------------------*/
	.headLine07 {
		margin-bottom: 15px !important;
		font-size: 20px !important;
		line-height: 1.2;
	}

	.headLine07 .mark {
		left: 8px !important;
	}

	.headLine07 .mark img {
		height: 28px !important;
	}

	.headLine07 .ttl {
		padding: 13px 5px 15px 50px !important;
	}

	/*------------------------------------------------------------
		headLine08
	------------------------------------------------------------*/
	.headLine08 {
		margin-bottom: 10px;
		padding: 0 0 0 13px;
		font-size: 20px;
	}

	.headLine08:before {
		width: 2px;
	}

	/*------------------------------------------------------------
		headLine09
	------------------------------------------------------------*/
	.headLine09 {
		margin-bottom: 13px;
		font-size: 15px;
	}

	/*------------------------------------------------------------
		headLine10
	------------------------------------------------------------*/
	.headLine10 {
		margin-bottom: 8px;
		padding-bottom: 5px;
		font-size: 16px;
	}

	/*------------------------------------------------------------
		headLine11
	------------------------------------------------------------*/
	.headLine11 {
		margin-bottom: 15px;
		padding: 4px 10px;
		font-size: 17px;
		border-left: 2px solid #4786D3;
	}

	.headLine11 .num {
		font-size: 17px;
	}

	/*------------------------------------------------------------
		headLine12
	------------------------------------------------------------*/
	.headLine12 {
		margin-bottom: 10px;
		padding: 0 0 2px;
		font-size: 17px;
	}

	/*------------------------------------------------------------
		headLine13
	------------------------------------------------------------*/
	.headLine13 {
		margin-bottom: 15px;
		font-size: 21px;
		letter-spacing: 1px;
		line-height: 1.7;
	}

	.headLine13:before {
		width: 30px;
		height: 3px;
		left: 0;
		top: -15px;
	}
}

/*------------------------------------------------------------
	comCheck
------------------------------------------------------------*/
.comCheck {
	font-weight: 600;
}

.comCheck input[type="checkbox"] {
	display: none;
}

.comCheck input[type="checkbox"] + label {
	padding: 6px 28px 5px;
	display: inline-block;
	background: url(../../img/common/check_img03.png) no-repeat left center;
	/* background-size: 18px 18px; */
	background-size: 22px 22px;
	cursor: pointer;
}

.comCheck input[type="checkbox"]:checked + label {
	color: #C80011;
	background-image: url(../../img/common/check_img04.png);
}

@media screen and (max-width: 767px) {
	.comCheck input[type="checkbox"] + label {
		padding: 4px 20px 3px;
		/* background-size: 14px 14px; */
		background-size: 16px 16px;
	}
}

/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	text-align: center;
}

.comBtn a {
	padding: 10px 30px 12px;
	min-width: 284px;
	display: inline-block;
	color: #C80011;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	border: 1px solid #C80011;
	background: #FFF url(../../img/common/icon09.png) no-repeat right 13px center;
	background-size: 12px auto;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", sans-serif;
}

.comBtn a:hover {
	color: #FFF;
	background: #C80011 url(../../img/common/icon25.png) no-repeat right 13px center;
	background-size: 12px auto;
}

.comBtn01 a {
	position: relative;
	background: #FFF;
}

.comBtn01 a:before {
	margin-top: -5px;
	width: 19px;
	height: 10px;
	position: absolute;
	right: 11px;
	top: 50%;
	background: url(../../img/common/icon18.png) no-repeat;
	background-size: 19px 10px;

	content: "";
}

.comBtn01 a:hover {
	background: #C80011;
}

.comBtn01 a:hover:before {
	background-image: url(../../img/common/icon16.png);
	animation: arrow07 .4s;
}

@keyframes arrow07 {
  50% {
    right: 11px;
  }

  100% {
    right: 7px;
  }
}

@media screen and (max-width: 767px) {
	.comBtn a {
		margin: 0 auto !important;
		padding: 12px 30px 13px !important;
		max-width: 325px !important;
		min-width: inherit !important;
		display: block !important;
		font-size: 15px !important;
	}

	.comBtn a:hover {
		color: #C80011;
		background: #FFF url(../../img/common/icon09.png) no-repeat right 13px center;
		background-size: 12px auto;
	}

	.comBtn01 a:before {
		background-size: auto 10px;
	}

	.comBtn01 a:hover {
		background: #FFF;
	}

	.comBtn01 a:hover:before {
		background-image: url(../../img/common/icon18.png);
		animation: none;
	}

}

/*------------------------------------------------------------
	comBtnList
------------------------------------------------------------*/
.comBtnList {
	margin: -11px -11px 0 0;
	font-size: 0;
}

.comBtnList li {
	margin: 11px 11px 0 0;
	display: inline-block;
	vertical-align: top;
}

.comBtnList li a {
	min-width: 200px;
	height: 51px;
	display: table;
	table-layout: fixed;
	position: relative;
	color: #C80011;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid #C80011;
	background: #FFF;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", sans-serif;
}

.comBtnList li a span {
	padding: 9px 32px 11px 20px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

.comBtnList li a:hover {
	color: #FFF;
	background: #C80011;
}

.comBtnList li a:before {
	margin-top: -5px;
	width: 19px;
	height: 10px;
	position: absolute;
	right: 11px;
	top: 50%;
	background: url(../../img/common/icon18.png) no-repeat;
	background-size: 19px 10px;

	content: "";
}

.comBtnList li a:hover:before {
	background-image: url(../../img/common/icon16.png);
	animation: arrow11 .4s;
}

@keyframes arrow11 {
  50% {
    right: 11px;
  }

  100% {
    right: 7px;
  }
}
@media screen and (max-width: 767px) {
	.comBtnList {
		margin: 0 auto;
		max-width: 284px;
	}

	.comBtnList li {
		margin: 0 0 15px;
		display: block;
	}

	.comBtnList li a {
		height: inherit;
		display: block;
	}

	.comBtnList li a span {
		display: block;
	}

	.comBtnList li a:hover {
		color: #C80011;
		background-color: #FFF;
	}

	.comBtnList li a:hover:before {
		background-image: url(../../img/common/icon18.png);
		animation: none;
	}
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	text-align: center;
}

.comLink a {
	padding: 11px 30px 14px 45px;
	min-width: 284px;
	display: inline-block;
	position: relative;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none;
	text-align: left;
	border: 3px solid #E6E6E6;
	background: #FFF url(../../img/common/icon35.png) no-repeat left 19px center;
	background-size: 14px 16px;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", sans-serif;
}

.comLink a:before {
	margin-top: -5px;
	width: 19px;
	height: 10px;
	position: absolute;
	right: 11px;
	top: 50%;
	background: url(../../img/common/icon18.png) no-repeat;
	background-size: 19px 10px;

	content: "";
}

.comLink a:hover {
	color: #C80011;
}

.comLink a:hover:before {
	animation: arrow10 .4s;
}

@keyframes arrow10 {
  50% {
    right: 11px;
  }

  100% {
    right: 5px;
  }
}
@media screen and (max-width: 767px) {
	.comLink a {
		margin: 0 auto !important;
		max-width: 325px !important;
		min-width: inherit !important;
		display: block !important;
		border-width: 1px;
	}

	.comLink a:before {
		right: 8px;
		background-size: 14px auto;
	}

	.comLink a:hover {
		color: #1A1A1A;
	}

	.comLink a:hover:before {
		animation: none;
	}
}

/*------------------------------------------------------------
	banner
------------------------------------------------------------*/
.banner {
	margin-bottom: 6px;
	padding: 21px 34px 32px;
	border-top: 4px solid #C80011;
	box-shadow: 0 0 12px rgba(51,51,51,.28);
	-webkit-box-shadow: 0 0 12px rgba(51,51,51,.28);
	-moz-box-shadow: 0 0 12px rgba(51,51,51,.28);
}

.banner .title {
	margin-bottom: 20px !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
	text-align: center !important;
	font-family: "Noto Sans Japanese", sans-serif !important;
}

.banner .bannerUl li {
	width: 332px;
	float: left;
}

.banner .bannerUl li:nth-child(2n) {
	float: right;
}

.banner .bannerUl li img {
	width: 100%;
	display: block;
	-moz-transition: -moz-transform 0.2s linear;
	-webkit-transition: -webkit-transform 0.2s linear;
	-o-transition: -o-transform 0.2s linear;
	-ms-transition: -ms-transform 0.2s linear;
	transition: transform 0.2s linear;
}

.banner .bannerUl li a {
	display: block;
	position: relative;
	overflow: hidden;
}

.banner .bannerUl li a .ttl {
	margin-top: -2px;
	width: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	color: #FFF;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 2.1px;
	text-align: center;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	z-index: 100;
}

.banner .bannerUl li a .ttl:before {
	margin-left: -21px;
	width: 38px;
	height: 4px;
	position: absolute;
	left: 50%;
	bottom: -9px;
	background-color: #C80011;

	content: "";
}

.banner .bannerUl li a:hover img {
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	filter: alpha(opacity=70);
	opacity: 0.7;
}

.vacancyBanner {
  margin: 50px 0 0;
}

.vacancyBanner .bannerUl li {
	width: 332px;
	float: none;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.banner {
		margin-bottom: 0;
		padding: 0;
		border-top: none;
		box-shadow: none;
	}

	.banner .title {
		margin-bottom: 13px !important;
		font-size: 17px !important;
		font-weight: 500 !important;
		line-height: 1.5 !important;
	}

	.banner .bannerUl li {
		margin-bottom: 10px;
		width: auto;
		float: none;
	}

	.banner .bannerUl li:nth-child(2n) {
		float: none;
	}

	.banner .bannerUl li:last-child {
		margin-bottom: 0;
	}

	.banner .bannerUl li img {
		transition: none;
	}

	.banner .bannerUl li a .ttl {
		margin-top: -2px;
		font-size: 17px;
		letter-spacing: 2.1px;
	}

	.banner .bannerUl li a .ttl:before {
		margin-left: -15px;
		width: 30px;
		height: 2px;
		bottom: -7px;
	}

	.banner .bannerUl li a:hover img {
		transform: none;
	}

  .vacancyBanner {
    margin: 30px 0 0;
  }
}

/*------------------------------------------------------------
	spHallSide
------------------------------------------------------------*/
.spHallSide {
	position: relative;
	z-index: 10;
}

.spHallSide .hallDl {
	margin: -11px 0 2px;
	position: relative;
	font-family: "Noto Sans Japanese", sans-serif;
}

.spHallSide .hallDl dt {
	padding: 9px 15px 14px;
	position: relative;
	color: #FFF;
	font-size: 18px;
	font-weight: 400;
	background: #4D4D4D url(../../img/common/bg01.png) repeat-y right center;
	background-size: 50px 50px;
	cursor: pointer;
}

.spHallSide .hallDl dt:before {
	margin-top: -25px;
	width: 50px;
	height: 50px;
	position: absolute;
	right: 0;
	top: 50%;
	background: url(../../img/common/open_img01.png) no-repeat;
	background-size: 50px 50px;

	content: "";
}

.spHallSide .hallDl dt.on:before {
	background-image: url(../../img/common/close_img01.png);
}

.spHallSide .hallDl dd {
	display: none;
	width: 100%;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 21;
}

.spHallSide .hallDl ul {
	border-top: 2px solid #A7A7A7;
	position: relative;
	background-color: rgba(77,77,77,.9);
}

.spHallSide .hallDl li {
	border-bottom: 2px solid #A7A7A7;
}

.spHallSide .hallDl li a {
	padding: 12px 39px 13px;
	display: block;
	color: #FFF;
	font-size: 16px;
	text-decoration: none;
	background: url(../../img/common/icon14.png) no-repeat left 22px center;
	background-size: 10px auto;
}
@media all and (min-width: 768px) {
	.spHallSide {
		display: none !important;
	}
}

/*------------------------------------------------------------
	comLinkList
------------------------------------------------------------*/
.comLinkList li {
	margin-bottom: 30px;
	width: 340px;
	float: left;
	font-family: "Noto Sans Japanese", sans-serif;
}

.comLinkList li:nth-child(3n-1) {
	margin: 0 30px 30px;
}

.comLinkList li a {
	display: block;
	text-decoration: none;
}

.comLinkList li .innBox {
	cursor: pointer;
}

.comLinkList li .pho {
	position: relative;
	overflow: hidden;
}

.comLinkList li img {
	width: 100%;
	display: block;
	-moz-transition: -moz-transform 0.2s linear;
	-webkit-transition: -webkit-transform 0.2s linear;
	-o-transition: -o-transform 0.2s linear;
	-ms-transition: -ms-transform 0.2s linear;
	transition: transform 0.2s linear;
}

.comLinkList li .link,
.comLinkList li dt {
	padding: 16px 23px 14px;
	display: block;
	position: relative;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 2px;
	border-top: 3px solid #C90012;
	background-color: #F6F6F6;
}

.comLinkList li dt:before,
.comLinkList li .link:before {
	margin-top: -8px;
	width: 17px;
	height: 17px;
	position: absolute;
	right: 26px;
	top: 50%;
	background: url(../../img/common/icon05.png) no-repeat;
	background-size: 17px 17px;

	content: "";
}

.comLinkList li dt.on {
	color: #C80011;
}

.comLinkList li dt.on:before {
	background-image: url(../../img/common/icon06.png);
}

.comLinkList li .link:before {
	margin-top: -6px;
	width: 19px;
	height: 11px;
	background-image: url(../../img/common/icon07.png);
	background-size: 19px 11px;
}

.comLinkList dd {
	display: none;
	margin-top: -1px;
	border-bottom: 1px solid #E7E7E7;
	background-color: #F6F6F6;
}

.comLinkList dd .linkUl {
	position: relative;
	z-index: 1;
}

.comLinkList dd .linkUl li {
	margin: 0 !important;
	width: auto;
	float: none;
	text-align: left;
}

.comLinkList dd .linkUl li {
	border-top: 1px solid #E7E7E7;
}

.comLinkList dd .linkUl li a {
	color: #4D4D4D;
	font-size: 16px;
	font-weight: 400;
}

.comLinkList dd .linkUl li a span {
	padding: 10px 24px 14px;
	display: block;
	position: relative;
}

.comLinkList dd .linkUl li a span:before {
	margin-top: -6px;
	width: 19px;
	height: 11px;
	position: absolute;
	right: 26px;
	top: 50%;
	background: url(../../img/common/icon07.png) no-repeat;

	content: "";
}

.comLinkList dd .linkUl li a:hover {
	color: #C80011;
}

.comLinkList li a:hover img,
.comLinkList li .innBox:hover img {
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

.comLinkList li a:hover,
.comLinkList li .innBox:hover dt {
	color: #C80011;
}

.comLinkList li a:hover .link:before,
.comLinkList li .innBox:hover dt:before,
.comLinkList dd .linkUl li a:hover span:before {
	animation: arrow .4s;
}

@keyframes arrow {
  50% {
    right: 20px;
  }
  100% {
    right: 26px;
  }
}

@media screen and (max-width: 767px) {
	.comLinkList {
		margin-top: 0;
	}
  .comLinkList+ .comLinkList {
  margin-top: 10px;
  }

	.comLinkList li {
		margin: 0 0 10px;
		width: auto;
		float: none;
	}

	.comLinkList li:nth-child(3n-1) {
		margin: 0 0 10px;
	}

	.comLinkList li:last-child {
		margin-bottom: 0;
	}

	.comLinkList li .pho {
		margin-top: 2px;
		width: 120px;
		float: left;
		position: relative;
		z-index: 1;
	}

	.comLinkList li img {
		width: auto;
		height: 84px;
		transition: none;
	}

	.comLinkList li .link,
	.comLinkList li dt {
		padding: 0 0 0 135px;
		letter-spacing: 1.5px;
		border-top-width: 2px;
		box-sizing: border-box;
	}

	.comLinkList li .link .inn,
	.comLinkList li dt .inn {
		width: 100%;
		height: 84px;
		display: table;
		table-layout: fixed;
	}

	.comLinkList li .link .inn span,
	.comLinkList li dt .inn span {
		padding: 0 30px 6px 0;
		display: table-cell;
		vertical-align: middle;
	}

	.comLinkList li dt:before,
	.comLinkList li .link:before {
		width: 14px;
		height: 14px;
		right: 15px;
		background-size: 14px 14px;
	}

	.comLinkList li dt.on:before {
		margin-top: -7px;
	}

	.comLinkList li .link:before {
		width: 19px;
		height: 11px;
		right: 10px;
		background-size: 16px auto;
	}

	.comLinkList dd {
		margin-top: 0;
		border-bottom: none;
	}

	.comLinkList dd .linkUl {
		margin-top: -1px;
	}

	.comLinkList dd .linkUl li a {
		color: #1A1A1A;
		font-size: 14px;
	}

	.comLinkList dd .linkUl li a span {
		padding: 6px 17px 7px;
	}

	.comLinkList dd .linkUl li a span:before {
		width: 19px;
		height: 11px;
		right: 10px;
		background-size: 16px auto;
	}

	.comLinkList dd .linkUl li a:hover {
		color: #1A1A1A;
	}

	.comLinkList li a:hover img,
	.comLinkList li .innBox:hover img {
		transform: none;
	}

	.comLinkList li a:hover,
	.comLinkList li .innBox:hover dt {
		color: #1A1A1A;
	}

	.comLinkList li a:hover .link:before,
	.comLinkList li .innBox:hover dt:before,
	.comLinkList dd .linkUl li a:hover span:before {
		animation: none;
	}

	/* .comLinkList .wid01 .pho {
		width: 137px;
	} */

	.comLinkList .wid01 .pho img {
		width: 100%;
		height: auto;
	}

	/* .comLinkList .wid01 dt {
		padding-left: 157px;
	} */
}
@media (min-width: 320px) and (max-width: 374px) {
	.comLinkList li .link, .comLinkList li dt {
		font-size: 16px;
		letter-spacing: 0;
	}
}

/*------------------------------------------------------------
	comTextList
------------------------------------------------------------*/
.comTextList li {
	padding-left: 20px;
	position: relative;
	font-size: 16px !important;
	line-height: 1.64 !important;
}

.comTextList li:before {
	width: 9px;
	height: 9px;
	position: absolute;
	left: 0;
	top: 9px;
	border-radius: 50%;
	background-color: #C80011;

	content: "";
}

.comTextList li .txt {
	display: block;
}

.comTextList li.bg01:before {
	background-color: #1A1A1A;
}

.comTextList li .subBox {
	padding: 6px 12px 4px;
}

.comTextList li .subBox p {
	line-height: 1.55;
}

.comTextList li .subBox .ttl {
	margin-bottom: 4px;
	position: relative;
}

.comTextList li .subBox .ttl:before {
	padding: 2px 1px 1px 2px;
	width: 24px;
	position: absolute;
	left: -33px;
	top: 0;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	box-sizing: border-box;
	background-color: #392C8D;

	content: "P";
}

@media screen and (max-width: 767px) {
	.comTextList li {
		padding-left: 10px;
		font-size: 14px !important;
		line-height: 1.55 !important;
		text-align: justify;
	}

	.comTextList li:before {
		width: 5px !important;
		height: 5px !important;
		top: 8px !important;
	}

	.comTextList li .subBox {
		padding: 2px 12px;
	}

	.comTextList li .subBox .ttl {
		margin-bottom: 0;
	}

	.comTextList li .subBox .ttl:before {
		padding: 2px 1px 0 2px;
		width: 20px;
		left: -24px;
		font-size: 12px;
	}
}

/*------------------------------------------------------------
	comTable
------------------------------------------------------------*/
.comTable {
	width: 100%;
	border-collapse: collapse;
}

.comTable th,
.comTable td {
	padding: 7px 12px;
	width: 82%;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 300;
	word-break: break-all;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #DCDCDC;
	box-sizing: border-box;
}

.comTable th {
	width: 18%;
	font-weight: 600;
	border: 1px solid #FFF;
	border-left: none;
	border-right: 1px solid #C80011;
	background-color: #F2F2F2;
}

.comTable tr:first-child th,
.comTable tr:first-child td {
	border-top: 1px solid #DCDCDC;
}

.comTable tr:last-child th {
	border-bottom: 1px solid #DCDCDC;
}

.comTable .thStyle01 {
	border-right-color: #FFF;
}

@media screen and (max-width: 767px) {
	.comTable th,
	.comTable td {
		padding: 5px 9px 6px;
		font-size: 12px;
		line-height: 1.6;
		font-weight: 200;
	}

	.comTable th {
		font-weight: 500;
	}
}

@media screen and (max-width: 767px) {
	/*------------------------------------------------------------
		scrollBox
	------------------------------------------------------------*/
	.scrollBox {
		overflow-x: auto;
	}

	.scrollBox .inner {
		margin-bottom: 15px;
		width: 700px;
	}

	.scrollBox .jspPane {
		margin-left: 0 !important;
	}

	.scrollBox .jspVerticalBar {
		display: none !important;
	}

	.scrollBox .jspHorizontalBar {
		height: 8px;
		border-radius: 5px;
		background: none !important;
		box-sizing: border-box;
	}

	.scrollBox .jspTrack {
		border-radius: 5px;
		background: #E8E8E8 !important;
		box-shadow: 0 0 2px rgba(51,51,51,.3) inset;
		-webkit-box-shadow: 0 0 2px rgba(51,51,51,.3) inset;
		-moz-box-shadow: 0 0 2px rgba(51,51,51,.3) inset;
		box-sizing: border-box;
	}

	.scrollBox .jspDrag {
		border-radius: 5px;
		background: #C80011;
	}
}

/*------------------------------------------------------------
	comContact
------------------------------------------------------------*/
.comContact {
	margin-bottom: 40px;
	padding: 23px 33px 30px;
	border-top: 3px solid #C70112;
	box-shadow: 1px 1px 13px rgba(0,0,0,0.2);
}

.comContact .photoBox {
	margin-top: 7px;
	width: 234px;
	float: right;
}

.comContact .photoBox img {
	max-width: 100%;
}

.comContact .textBox {
	width: 440px;
	float: left;
}

.comContact .textBox .ttl {
	margin-bottom: 1px !important;
	font-size: 22px !important;
	font-weight: bold;
}

.comContact .textBox .add {
	margin-bottom: 7px !important;
	color: #333 !important;
	font-size: 16px;
}

.comContact .textBox .telBox {
	margin-bottom: 8px;
	font-size: 27px;
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
}

.comContact .textBox .telBox span {
	padding-left: 44px;
	display: block;
	letter-spacing: 1px;
	background: url(../../img/common/icon36.png) no-repeat left 3px;
	background-size: 35px auto;
	word-break: break-all;
}

.comContact .textBox .telBox .tel a {
	text-decoration: none;
}

.comContact .textBox .telBox .fax {
	background-image: url(../../img/common/icon37.png);
}

.comContact .textBox .time {
	margin-bottom: 3px !important;
	font-size: 16px;
}

.comContact .textBox .link a {
	position: relative;
	display: inline-block;
	color: #C80011;
	text-decoration: underline;
	font-size: 16px;
	font-weight: 500;
	font-family: 'Noto Sans Japanese';
}

.comContact .textBox .link a:before {
	width: 15px;
	height: 11px;
	position: absolute;
	right: -20px;
	top: 7px;
	background: url(../../img/common/icon38.png) no-repeat;
	background-size: 15px auto;
	content: '';
}

.comContact .textBox .link a:hover {
	text-decoration: none;
}

.comContact .textBox .link a:hover:before {
	animation: arrow09 .4s;
}

@keyframes arrow09 {
  50% {
    right: -20px;
  }

  100% {
    right: -26px;
  }
}
@media screen and (max-width: 767px) {
	.comContact {
		margin-bottom: 25px;
		padding: 15px 10px;
		border-width: 1px;
	}

	.comContact .photoBox {
		margin: 0 0 10px;
		width: auto;
		float: none;
		text-align: center;
	}

	.comContact .textBox {
		width: auto;
		float: none;
	}

	.comContact .textBox .ttl {
		margin-bottom: 1px !important;
		font-size: 20px !important;
	}

	.comContact .textBox .add {
		font-size: 14px;
	}

	.comContact .textBox .telBox {
		margin-bottom: 5px;
		font-size: 22px;
	}

	.comContact .textBox .telBox span {
		padding-left: 30px;
		background-size: 25px auto;
	}

	.comContact .textBox .time {
		font-size: 14px;
	}

	.comContact .textBox .link a {
		font-size: 14px;
	}

	.comContact .textBox .link a:before {
		background-size: 12px auto;
	}

	.comContact .textBox .link a:hover {
		text-decoration: underline;
	}

	.comContact .textBox .link a:hover:before {
		animation: none;
	}
}

/*------------------------------------------------------------
	pageList
------------------------------------------------------------*/
.pageList {
	padding-bottom: 5px;
	clear: both;
	text-align: center;
}

.pageList li {
	margin: 0 6px;
	display: inline-block;
	vertical-align: middle;
	font-family: "Noto Sans Japanese", sans-serif;
}

.pageList .current span,
.pageList li a {
	padding: 5px 7px 8px;
	width: 39px;
	min-height: 39px;
	display: block;
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border: 1px solid #4E4E4E;
	box-sizing: border-box;
}

.pageList .current span,
.pageList li a:hover  {
	color: #FFF;
	background-color: #4E4E4E;
}

.pageList .prev a,
.pageList .next a {
	background: url(../../img/common/icon27.png) no-repeat right 14px center;
	background-size: 8px auto;
}

.pageList .prev a {
	background: url(../../img/common/icon28.png) no-repeat left 14px center;
	background-size: 8px auto;
}

.pageList .prev a:hover,
.pageList .next a:hover {
	background-image: url(../../img/common/icon30.png);
}

.pageList .prev a:hover {
	background-image: url(../../img/common/icon29.png);
}
.wp-pagenavi {
  padding-bottom: 5px;
  clear: both;
  text-align: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.wp-pagenavi a,
.wp-pagenavi span {
  margin: 0 6px;
	vertical-align: middle;
	font-family: "Noto Sans Japanese", sans-serif;
  padding: 5px 7px 8px;
	width: 39px;
	min-height: 39px;
	display: block;
	color: #000;
	font-size: 16px;
	text-decoration: none;
	border: 1px solid #4E4E4E;
	box-sizing: border-box;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  color: #FFF;
  background-color: #4E4E4E;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  color: rgba(0,0,0,0);
}
.wp-pagenavi .previouspostslink {
  background: url(../../img/common/icon28.png) no-repeat left 14px center;
  background-size: 8px auto;
}
.wp-pagenavi .nextpostslink {
  background: url(../../img/common/icon27.png) no-repeat right 14px center;
  background-size: 8px auto;
}
.wp-pagenavi .previouspostslink:hover {
  background-image: url(../../img/common/icon29.png);
}
.wp-pagenavi .nextpostslink:hover {
  background-image: url(../../img/common/icon30.png);
}

@media screen and (max-width: 767px) {
	.pageList {
		padding-bottom: 0;
	}

	.pageList li {
		margin: 0 4px;
	}

	.pageList .current span,
	.pageList li a {
		padding: 3px 2px 2px;
		width: 30px;
		min-height: 30px;
		font-size: 14px;
	}

	.pageList li a:hover  {
		color: #1A1A1A;
		background-color: #FFF;
	}

	.pageList .prev a,
	.pageList .next a {
		background-position: right 10px center;
	}

	.pageList .prev a {
		background-position: left 10px center;
	}

	.pageList .prev a:hover,
	.pageList .next a:hover {
		background-image: url(../../img/common/icon27.png);
	}

	.pageList .prev a:hover {
		background-image: url(../../img/common/icon28.png);
	}

  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 3px 2px 2px;
    width: 30px;
    min-height: 30px;
    font-size: 14px;
    margin: 0 4px;
  }
  .wp-pagenavi .previouspostslink {
    background: url(../../img/common/icon28.png) no-repeat center center;
    background-size: 8px auto;
  }
  .wp-pagenavi .nextpostslink {
    background: url(../../img/common/icon27.png) no-repeat center center;
    background-size: 8px auto;
  }
}

/*------------------------------------------------------------
	pdfList
------------------------------------------------------------*/
.pdfList {
	margin: -40px -10px 71px 0;
}

.pdfList li {
	margin-top: 40px;
	width: 367px;
	float: left;
	font-size: 16px;
}

.pdfList li:nth-child(2n) {
	float: right;
}

.pdfList li span {
	margin: -2px 0 15px;
	display: block;
	line-height: 1.62;
}

.pdfList li .comLink {
	position: relative;
}

.pdfList li .nolink:after {
	width: 320px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: transparent;

	content: "";
	z-index: 10;
}

.pdfList li .comLink a {
	width: 320px;
	display: block;
}

@media screen and (max-width: 767px) {
	.pdfList {
		margin: 0 0 20px;
	}

	.pdfList li {
		margin: 0 0 20px !important;
		width: auto;
		float: none !important;
		font-size: 14px;
	}

	.pdfList li:last-child {
		margin: 0 !important;
	}

	.pdfList li span {
		margin: -10px 0 8px !important;
		line-height: 1.55 !important;
	}

	.pdfList li .nolink:after {
		width: 100%;
	}

	.pdfList li .comLink a {
		margin: 0 auto;
		width: auto;
	}
}

/*------------------------------------------------------------
	comContactBox
------------------------------------------------------------*/
.comContactBox {
	padding: 33px 33px 36px;
	position: relative;
	text-align: center;
	background-color: #F9F9F9;
	box-shadow: 0 0 12px rgba(51,51,51,.28);
	-webkit-box-shadow: 0 0 12px rgba(51,51,51,.28);
	-moz-box-shadow: 0 0 12px rgba(51,51,51,.28);
}

.comContactBox:before {
	width: 59.8%;
	height: 3px;
	position: absolute;
	left: 50%;
	top: 0;
	background-color: #C80011;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);

	content: "";
}

.comContactBox p {
	margin-bottom: 2px !important;
	line-height: 1.6;
	text-align: center !important;
}

.comContactBox .tel {
	margin-bottom: 1px !important;
}

.comContactBox .tel a {
	padding: 5px 0 5px 50px;
	display: inline-block;
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	background: url(../../img/common/icon36.png) no-repeat left center;
	background-size: 42px auto;
	font-family: 'Montserrat', sans-serif;
}

.comContactBox .link {
	margin-top: 22px;
	text-align: center;
}

.comContactBox .link a {
	padding: 6px 6px 6px 59px;
	min-width: 480px;
	display: inline-block;
	color: #C80011;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid #C80011;
	background: url(../../img/common/icon39.png) no-repeat left 19px center;
	background-size: 22px auto;
	font-family: "Noto Sans Japanese", sans-serif;
	box-sizing: border-box;
}

.comContactBox .link a span {
	padding: 5px;
	display: block;
	border-left: 1px solid #C80011;
}

.comContactBox .link a:hover {
	color: #FFF;
	background: #C80011 url(../../img/common/icon40.png) no-repeat left 19px center;
	background-size: 22px auto;
}

.comContactBox .link a:hover span {
	border-left-color: #FFF;
}

@media screen and (max-width: 767px) {
	.comContactBox {
		padding: 25px 15px 15px;
	}

	.comContactBox p {
		line-height: 1.55;
	}

	.comContactBox .tel a {
		padding-left: 38px;
		font-size: 27px;
		font-weight: 600;
		line-height: 1;
		text-decoration: none;
		background: url(../../img/common/icon36.png) no-repeat left center;
		background-size: 30px auto;
		font-family: 'Montserrat', sans-serif;
	}

	.comContactBox .link {
		margin-top: 10px;
	}

	.comContactBox .link a {
		padding: 6px 6px 6px 35px;
		min-width: inherit;
		max-width: 284px;
		font-size: 14px;
		line-height: 1.3;
		background-position: left 10px center;
		background-size: 18px auto;
	}

	.comContactBox .link a:hover {
		color: #C80011;
		background: url(../../img/common/icon39.png) no-repeat left 10px center;
		background-size: 18px auto;
	}

	.comContactBox .link a:hover span {
		border-left-color: #C80011;
	}
}

/*------------------------------------------------------------
	comImgUl
------------------------------------------------------------*/
.comImgUl {
	margin-top: -24px;
}

.comImgUl li {
	margin-top: 24px;
	padding-bottom: 29px;
	width: 363px;
	float: left;
	border: 1px solid #DCDCDC;
	border-top: none;
}

.comImgUl li:nth-child(2n) {
	float: right;
}

.comImgUl li .pho {
	margin-bottom: 21px;
	border-top: 3px solid #C80011;
}

.comImgUl li .pho img {
	width: 100%;
}

.comImgUl li .txtBox {
	padding: 0 20px;
}

.comImgUl li .txtBox h4 {
	margin-bottom: 9px;
	color: #C80011;
	font-size: 22px;
}

.comImgUl li .txtBox p {
	margin-bottom: 25px !important;
}

.comImgUl li .txtBox p:last-child {
	margin-bottom: 0 !important;
}

.comImgUl li .txtBox .comBtn {
	margin-bottom: 0 !important;
	text-align: center !important;
}

@media screen and (max-width: 767px) {
	.comImgUl {
		margin-top: 0 !important;
	}

	.comImgUl li {
		margin: 0 0 15px;
		padding-bottom: 29px;
		width: auto;
		float: none !important;
	}

	.comImgUl li:last-child {
		margin-bottom: 0;
	}

	.comImgUl li .pho {
		margin-bottom: 15px;
	}

	.comImgUl li .txtBox {
		padding: 0 15px;
	}

	.comImgUl li .txtBox h4 {
		margin-bottom: 5px;
		font-size: 17px;
		line-height: 1.3;
	}

	.comImgUl li .txtBox p {
		margin-bottom: 15px !important;
	}

	.comImgUl li .txtBox .comBtn a {
		margin: 0 auto;
		min-width: inherit;
		max-width: 284px;
		display: block;
	}
}

/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox {
	margin-bottom: 30px;
}

.comImgBox .photoBox {
	width: 366px;
	float: left;
}

.comImgBox .photoBox img {
	width: 100%;
}

.comImgBox .photoBox .sml {
	margin: 8px 5px 0 0;
	display: block;
	font-size: 14px;
	text-align: right;
}

.comImgBox .textBox {
	width: 365px;
	float: right;
}

.comImgBox .textBox .headLine06 {
	margin-bottom: 19px;
	font-size: 20px;
	letter-spacing: 0;
}

.comImgBox .textBox p {
	font-size: 16px !important;
	line-height: 1.64 !important;
}

.comImgBox .textBox p:last-child {
	margin-bottom: 0 !important;
}

.comImgBox .textBox .note {
	margin-top: -11px;
  position: relative;
  padding: 0 0 0 1.2em;
}
.comImgBox .textBox .note:before {
	content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.comImgBox .comTextList {
	margin: -20px 0 19px;
}

.comImgBox .comTextList li {
	margin-bottom: 3px;
}

.comImgBox .comTextList li:last-child {
	margin-bottom: 0;
}

.comImgBox .comTextList li:before {
	width: 12px;
	height: 12px;
}

.comImgBox .textBox .textDl {
	margin: -14px 0 44px;
	font-size: 16px;
	line-height: 1.64;
}

.comImgBox .textBox .textDl dt {
	float: left;
	clear: left;
	color: #C80011;
	font-weight: bold;
}

.comImgBox .textBox .textDl dd {
	margin-bottom: 12px;
	padding-left: 5.52em;
	word-break: break-all;
}

.comImgBox .textBox .textDl dd:last-child {
	margin-bottom: 0;
}

.comImgBox .comBtn {
	text-align: left;
}

.comImgBox .comLink {
	text-align: left;
}

.comImgBox .comLink a {
	letter-spacing: 0;
}

.comImgBox .textBox .headMb {
	margin-bottom: 13px;
}

@media screen and (max-width: 767px) {
	.comImgBox {
		margin-bottom: 20px;
	}

	.comImgBox .photoBox {
		margin-bottom: 10px;
		width: auto;
		float: none;
	}

	.comImgBox .photoBox .sml {
		margin: 5px 0 0;
		font-size: 12px;
	}

	.comImgBox .textBox {
		width: auto;
		float: none;
	}

	.comImgBox .textBox .headLine06 {
		margin-bottom: 5px;
		font-size: 14px;
		letter-spacing: 0;
	}

	.comImgBox .textBox p {
		font-size: 14px !important;
		line-height: 1.55 !important;
	}

	.comImgBox .textBox .note {
		margin-top: 0;
	}

	.comImgBox .comTextList {
		margin: -10px 0 15px;
	}

	.comImgBox .comTextList li {
		margin-bottom: 0;
	}


	.comImgBox .textBox .textDl {
		margin: 0 0 15px;
		font-size: 14px;
		line-height: 1.55;
	}

	.comImgBox .textBox .textDl dd {
		margin-bottom: 10px;
		padding-left: 5em;
	}

	.comImgBox .comBtn {
		text-align: center;
	}

	.comImgBox .comLink {
		text-align: center;
	}

	.comImgBox .textBox .headMb {
		margin-bottom: 5px;
	}
}

/*------------------------------------------------------------
	mailForm
------------------------------------------------------------*/
.mailForm .sml {
	margin-bottom: 23px !important;
}

.mailForm .must {
	color: #C80011;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
}

.mailForm table {
	margin-bottom: 36px;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #DBDBDB;
}

.mailForm th,
.mailForm td {
	padding: 16px 20px;
	width: 68%;
	font-size: 16px;
	line-height: 1.62;
	font-weight: normal;
	word-break: break-all;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #DBDBDB;
	box-sizing: border-box;
}

.mailForm th {
	padding-top: 23px;
	width: 32%;
	font-weight: bold;
	background-color: #F2F2F2;
}

.mailForm .thStyle01 {
	padding-top: 8px;
	vertical-align: middle;
}

.mailForm td textarea,
.mailForm td input[type="text"],
.mailForm td input[type="email"],
.mailForm td input[type="tel"] {
	padding: 8px 13px;
	width: 100%;
	height: 45px;
	font-size: 16px;
	line-height: 1.62;
	border-radius: 0;
	border: 1px solid #9A9A9A;
	-webkit-appearance: none;
	box-sizing: border-box;
}

.mailForm td .wid01 {
	width: 304px !important;
}

.mailForm td input[type="button"] {
	margin-left: 10px;
	padding: 5px 5px 5px 13px;
	width: 154px;
	height: 45px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 5px;
	border: 1px solid #9A9A9A;
	background: url(../../img/common/icon41.png) no-repeat left 23px center;
	background-size: 7px 10px;
	-webkit-appearance: none;
	box-sizing: border-box;
	cursor: pointer;
}

.mailForm td input[type="button"]:hover {
	color: #FFF;
	background: #C80011 url(../../img/common/icon42.png) no-repeat left 23px center;
	background-size: 7px 10px;
}

.mailForm td .noteList {
	margin: 9px 0 0;
}

.mailForm td .noteList li {
	font-size: 14px;
	line-height: 1.42;
}

.mailForm td select {
	padding: 8px 16px;
	width: 100%;
	height: 45px;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.62;
	border-radius: 6px;
	border: 1px solid #9A9A9A;
	background: url(../../img/common/icon43.png) no-repeat right 10px center;
	background-size: 11px auto;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}

.mailForm td select::-ms-expand {
	display: none;
}

.mailForm td .fileUl {
	margin-bottom: -5px;
}

.mailForm td .fileUl li {
	margin-bottom: 5px;
}

.mailForm td .fileUl li:last-child {
	margin-bottom: 0;
}

.mailForm td input[type="file"] {
	font-size: 16px;
	font-weight: bold;
}

.mailForm td textarea {
	height: 206px;
}

.mailForm td .mustBg {
	background-color: #F6E7E6;
}

.mailForm .submit {
	text-align: center;
}

.mailForm .submit label {
  display: block;
	margin: 0 auto;
	width: 295px;
	position: relative;
}

.mailForm .submit label:before {
	margin-top: -5px;
	width: 19px;
	height: 10px;
	position: absolute;
	right: 11px;
	top: 50%;
	background: url(../../img/common/icon18.png) no-repeat;
	background-size: 19px 10px;

	content: "";
}

.mailForm .submit label input {
	padding: 10px 30px 12px 22px;
	width: 100%;
	color: #C80011;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	border-radius: 0;
	border: 1px solid #C80011;
	background: #FFF;
	box-sizing: border-box;
	-webkit-appearance: none;
	font-family: "Noto Sans Japanese", sans-serif;
	cursor: pointer;
}

.mailForm .submit label:hover input {
	color: #FFF;
	background: #C80011;
}

.mailForm .submit label:hover:before {
	background-image: url(../../img/common/icon16.png);
	animation: submitArr .4s;
}
.wpcf7-mail-sent-ok {
  display: none;
}
.wpcf7 .ajax-loader {
  position: absolute;
  top: calc(50% - 8px);
  margin: 0 0 0 6px;
}
.wpcf7-response-output {
  text-align: center;
}

@keyframes submitArr {
  50% {
    right: 11px;
  }
  100% {
    right: 5px;
  }
}

@media screen and (max-width: 767px) {
	.mailForm .sml {
		margin-bottom: 15px !important;
	}

	.mailForm .must {
		font-size: 16px;
		line-height: 1.3;
	}

	.mailForm table {
		margin-bottom: 25px;
	}

	.mailForm th,
	.mailForm td {
		padding: 10px !important;
		width: 100% !important;
		float: left !important;
		font-size: 14px;
		line-height: 1.55;
	}

	.mailForm .thStyle01 {
		vertical-align: top;
	}

	.mailForm td textarea,
	.mailForm td input[type="text"],
	.mailForm td input[type="email"],
	.mailForm td input[type="tel"] {
		padding: 5px;
		width: 100%;
		height: 35px;
		font-size: 14px;
		line-height: 1.55;
	}

	.mailForm td .wid01 {
		width: 50% !important;
	}

	.mailForm td input[type="button"] {
		margin-left: 5%;
		padding: 5px 5px 8px;
		width: 120px;
		height: 35px;
		font-size: 14px;
		border-radius: 5px;
		background-position: left 7px center;
	}

	.mailForm td input[type="button"]:hover {
		color: #1A1A1A;
		background: #FFF url(../../img/common/icon41.png) no-repeat left 7px center;
		background-size: 7px 10px;
	}

	.mailForm td .noteList {
		margin: 5px 0 0;
	}

	.mailForm td .noteList li {
		padding-left: 1em;
		font-size: 11px;
		line-height: 1.4;
		text-indent: -1em;
	}

	.mailForm td select {
		padding: 5px;
		height: 35px;
		font-size: 14px;
		line-height: 1.55;
		border-radius: 5px;
		background: url(../../img/common/icon43.png) no-repeat right 10px center;
		background-size: 9px auto;
	}

	.mailForm td .fileUl {
		margin-bottom: 0;
	}

	.mailForm td .fileUl li {
		margin-bottom: 5px;
	}

	.mailForm td input[type="file"] {
		font-size: 13px;
	}

	.mailForm td textarea {
		height: 180px;
	}
  .mailForm td .wpcf7-form-control-wrap {
    margin: 0;
  }

	.mailForm .submit li {
		margin: 0 auto 20px;
		width: 80%;
		max-width: 284px;
	}

	.mailForm .submit li:before {
		margin-top: -3px;
		right: 11px;
		background-size: 15px auto;
	}

	.mailForm .submit li input {
		padding: 11px 30px;
		font-size: 14px;
	}

	.mailForm .submit li:hover input {
		color: #C80011;
		background: #FFF;
	}

	.mailForm .submit li:hover:before {
		background-image: url(../../img/common/icon18.png);
		animation: none;
	}
}

/*------------------------------------------------------------
	comTableStyle
------------------------------------------------------------*/
.comTableStyle {
	width: 100%;
	border-collapse: collapse;
}

.comTableStyle th,
.comTableStyle td {
	padding: 7px 10px 7px 3px;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 300;
	word-break: break-all;
	text-align: right;
	vertical-align: middle;
	border-right: 1px solid #DCDCDC;
	border-bottom: 1px solid #DCDCDC;
	box-sizing: border-box;
}

.comTableStyle th {
	padding: 7px 12px;
	color: #FFF;
	font-weight: 500;
	text-align: left;
	border: 1px solid #FFF;
	background-color: #4D4D4D;
	font-family: "Noto Sans Japanese", sans-serif;
}

.comTableStyle th .sm {
	margin-bottom: -4px;
	display: block;
	font-size: 9px;
}

.comTableStyle thead th {
	padding: 7px;
	width: 10.6%;
	color: #1A1A1A;
	line-height: 1.35;
	text-align: center;
	border: 1px solid #DCDCDC;
	/* border-top: none; */
	background-color: #F2F2F2;
}

.comTableStyle thead .bg01 {
	color: #FFF;
	border-right: 1px solid #FFF;
	background-color: #000;
  border-top: 1px solid #000;
}

.comTableStyle thead .wid01 {
	width: 28%;
}

.comTableStyle thead .wid02 {
	width: 19%;
}

.comTableStyle thead th:last-child {
	/* border-right: none; */
}

.comTableStyle th .verRow {
	width: 22px;
	height: 115px;
	display: block;
	writing-mode: horizontal-tb;
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
	-webkit-writing-mode: horizontal-tb;
	-webkit-writing-mode: vertical-rl;
	-webkit-writing-mode: tb-rl;
}

.comTableStyle tr:nth-child(2n) td {
	background-color: #FAF2F0;
}

.comTableStyle td:last-child {
	/* border-right: none; */
}

.comTableStyle .taLeft {
	padding-left: 10px;
	font-weight: bold;
}

.comTableStyle01 th,
.comTableStyle01 td {
	padding: 8px 0 10px 10px;
	line-height: 1.6;
	text-align: left;
	vertical-align: top;
}

.comTableStyle01 th {
	padding: 8px 2px 8px 10px;
	vertical-align: middle;
}

.comTableStyle01 thead th {
	padding: 10px 2px 12px;
	color: #FFF;
	width: 15%;
	background-color: #000;
}

.comTableStyle01 thead .wid01 {
	width: 13%;
}

.comTableStyle01 thead .wid02 {
	width: 12%;
}

.comTableStyle01 thead .wid03 {
	width: 21%;
}

.comTableStyle01 thead .wid04 {
	width: 7%;
}

.comTableStyle01 thead .wid05 {
	width: 10%;
}

.comTableStyle01 thead .wid06 {
	width: 10%;
}

.comTableStyle01 td:last-child {
	border-right: 1px solid #DCDCDC;
}

.comTableStyle01 tr:nth-child(2n) td {
	background-color: #F9F9F9;
}

.comTableStyle01 .trBg01 td {
	background-color: #FFF !important;
}

.comTableStyle01 .vMiddle {
	vertical-align: middle !important;
}

@media screen and (max-width: 767px) {
	.comTableStyle th,
	.comTableStyle td {
		padding: 5px 9px 6px;
		font-size: 12px;
		line-height: 1.6;
		font-weight: 200;
	}

	.comTableStyle th {
		font-weight: 500;
	}
}

/*------------------------------------------------------------
	comLinkUl
------------------------------------------------------------*/
.comLinkUl {
	margin: -15px -0 15px;
	display: flex;
	-webkit-display: flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

.comLinkUl li {
	margin: 12px 12px 0 0;
	flex: 1;
	-webkit-flex: 1;
	position: relative;
}

.comLinkUl li:last-child {
	margin-right: 0;
}

.comLinkUl li a {
	padding: 18px 20px 16px;
	min-height: 59px;
	display: flex;
	-webkit-display: flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.35;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	background-color: #F2F2F2;
	box-sizing: border-box;
	font-family: "Noto Sans Japanese", sans-serif;
}

.comLinkUl li:before {
	margin-bottom: -9px;
	width: 11px;
	height: 18px;
	position: absolute;
	right: 10px;
	bottom: 50%;
	background: url(../../img/common/icon21.png) no-repeat;
	background-size: 11px 18px;

	content: "";
}

.comLinkUl li .num {
	margin-right: 6px;
	padding: 1px 1px 3px;
	display: inline-block;
	width: 20px;
	color: #FFF;
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
	border-radius: 50%;
	background-color: #C80011;
	box-sizing: border-box;
}

.comLinkUl li:hover a {
	color: #FFF;
	background-color: #C80011;
}

.comLinkUl li:hover:before {
	background-image: url(../../img/common/icon24.png);
	animation: arrow12 .4s;
}

.comLinkUl li:hover .num {
	color: #C80011;
	background-color: #FFF;
}

.comLinkUl01 {
	margin-bottom: 34px;
}

@keyframes arrow12 {
  50% {
	margin-bottom: -9px;
  }
  100% {
	margin-bottom: -15px;
  }
}
@media screen and (max-width: 767px) {
	.comLinkUl {
		margin: -5px 0 5px;
	}

	.comLinkUl li {
		margin: 5px 0 0;
		width: 49.2%;
		flex: none;
		-webkit-flex: none;
	}

	.comLinkUl li a {
		padding: 5px 20px;
		min-width: inherit;
		font-size: 13px;
		letter-spacing: 1px;
		vertical-align: middle;
		background: #F2F2F2;
	}

	.comLinkUl li:before {
		margin-bottom: -10px;
		width: 8px;
		height: 18px;
		right: 10px;
		background-size: 8px auto;
	}

	.comLinkUl li .num {
		width: 17px;
		font-size: 10px;
	}

	.comLinkUl li a:hover {
		color: #1A1A1A;
		background-color: #F2F2F2;
	}

	.comLinkUl li:hover:before {
		background-image: url(../../img/common/icon21.png);
		animation: none;
	}

	.comLinkUl li:hover .num {
		color: #FFF;
		background-color: #C80011;
	}

	.comLinkUl01 {
		margin-bottom: 15px;
	}
}

.searchList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 30px;
}
.searchList a:hover {
  text-decoration: none;
}
.searchListBox {
  flex-direction: row;
  width: 48%;
  padding: 10px;
  box-sizing: border-box;
  border: 2px solid #DBDBDB;
  margin: 0 0 30px;
}
.searchListBoxTitle {
  font-size: 18px;
  color: #C80011;
  margin: 0 0 10px;
}
.searchListBoxDesc {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .searchList {
    display: block;
    margin: 0 0 20px;
  }
  .searchListBox {
    display: block;
    width: 100%;
    margin: 0;
  }
  .searchListBox+ .searchListBox {
    margin: 20px 0 0;
  }
  .searchListBoxTitle {
    font-size: 16px;
  }
  .searchListBoxDesc {
    font-size: 12px;
  }
}
