@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500&display=swap');

/* ----------------------------------------------------------------------------------------------------
  text
* --------------------------------------------------------------------------------------------------*/
.txtEn {
	color : #861c3c;
	font-family: 'mplus-1p-light';
	font-size: 56px;
	line-height: 1.0;
	letter-spacing: 0.06em;
}
.txtBg01 span {
	display: block;
	padding: 0.05em 0.2em 0;
	background: #fff;
	float: left;
	clear: both;
	line-height: 1.4;
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
	font-size: 44px;
}
.txtBg01.right span {
	float: right;
}
.txtBg01 span + span {
	margin-top: 0.637em;
}

@media screen and (max-width:768px) {
	.txtEn {
		font-size: 22px;
		letter-spacing: 0.03em;
	}
	.txtBg01 span {
		font-size: 17px;
	}
	.txtBg01 span + span {
		margin-top: 0.5em;
	}
}

/* color
--------------------------------------------------*/
.colWhite01 {
	color: #fff !important;
}
.colBlack01 {
	color: #505050 !important;
}
.colRed01 {
	color: #861c3c !important;
}

/* font-family
--------------------------------------------------*/
.yuGothic {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.mplusL {
	font-family: 'mplus-1p-light' !important;
}
.mplusR {
	font-family: 'mplus-1p-regular' !important;
}
.dinCondensedB {
	font-family: 'din-condensed-bold' !important;
}
.hiragino {
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}

/* align
--------------------------------------------------*/
.taL {
	text-align: left !important;
}
.taC {
	text-align: center !important;
}
.taR {
	text-align: right !important;
}
.vaT {
	vertical-align: top !important;
}

/* font-weight
--------------------------------------------------*/
.fwB {
	font-weight: bold;
}

/* title
--------------------------------------------------*/
.ub {
	padding: 0 0.1em;
	position: relative;
}
.ub::after {
	width: 100%;
	height: 1px;
	border-top: solid 1px #939393;
	background: #535353;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
}

@media screen and (max-width:768px) {
	.ub::after {
		border-top: none;
	}
}

/* title
--------------------------------------------------*/
.ttlStyle01 {
	color: #fff;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 36px;
}
.ttlStyle02 {
	margin-bottom: 10px;
	text-align: center;
	font-size: 24px;
}
.ttlStyle02 span {
	display: inline-block;
	margin: 0 1em 2px 0;
	color: #861c3c;
	font-size: 18px;
}
.ttlStyle03 {
	margin-bottom: 20px;
	text-align: center;
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 24px;
	line-height: 2.0;
	letter-spacing: -0.02em;
}
.ttlStyle04 {
	margin-bottom: 8px;
	font-size: 24px;
}
.ttlStyle05 {
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 40px;
}
.ttlStyle06 {
	margin-bottom: 5px;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 30px;
	line-height: 1.66;
}
.ttlStyle07 {
	margin-bottom: 15px;
	text-align: center;
}
.ttlStyle07 span {
	padding: 0 1px;
	position: relative;
	font-size: 24px;
}
.ttlStyle07 span::before {
	width: 100%;
	height: 1px;
	background: #505050;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
}
.ttlStyle08 {
	color: #3E3A39;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 40px;
}/*-- /2011 modify --*/

.ttlStyle09 {
	margin-bottom: 7px;
	color : #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 36px;
}
.ttlStyle10 {
	padding: 6px 0 3px 65px;
	border-bottom: solid 2px #861c3c;
	margin: 40px 0;
	background: #f0f0f0;
	position: relative;
	color: #221815;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 28px;
	letter-spacing: 0.12em;
}
.ttlStyle10::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13.5px 0 13.5px 19px;
	border-color: transparent transparent transparent #861c3c;
	position: absolute;
	top: 15px;
	left: 21px;
	content: "";
}
.ttlStyle11 {
	padding-left: 22px;
	margin-bottom: 25px;
	position: relative;
	color: #221815;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 24px;
	line-height: 1.33;
}
.ttlStyle11::before {
	width: 10px;
	height: 22px;
	background: #861c3c;
	position: absolute;
	top: 0.15em;
	left: 0;
	content: "";
}
.ttlStyle12 {
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 20px;
}
.ttlStyle13 {
	text-align: center;
	font-family: 'din-condensed-bold';
	font-size: 48px;
	line-height: 1.0;
	letter-spacing: 0.05em;
}
.ttlStyle13 span {
	display: inline-block;
	padding: 0 3px;
	border-bottom: solid 2px #505050;
}
.ttlStyle14 {
	color: #861c3c;
	font-size: 30px;
	line-height: 1.2;
}
.ttlStyle15 {
	margin-bottom: 30px;
	text-align: center;
	font-family: 'mplus-1p-light';
	color: #861c3c;
	font-size: 48px;
	line-height: 1.5;
}
.ttlStyle15 span {
	position: relative;
	display: inline-block;
}
.ttlStyle15 span::before {
	width: 100%;
	height: 2px;
	background: #861c3c;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
}
.ttlStyle16 {
	margin-bottom: 10px;
	text-align: center;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 48px;
	line-height: 1.5;
}
.ttlStyle16 small {
	display: block;
	font-size: 24px;
}
.ttlStyle17 {
	margin-bottom: 35px;
	text-align: center;
	font-size: 28px;
}
.ttlStyle17 span {
	padding: 0 2px;
	position: relative;
}
.ttlStyle17 span::before {
	width: 100%;
	height: 1px;
	background: #505050;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
}
.ttlStyle18 {
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #505050;
	font-size: 28px;
	line-height: 2;
	margin-bottom: 10px;
}
.ttlStyle19 {
	border-bottom: solid 2px #505050;
	margin-bottom: 20px;
	position: relative;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 28px;
}
.ttlStyle19::before {
	width: 3.5em;
	height: 2px;
	background: #861c3c;
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	z-index: 2;
}
.ttlStyle20 {
	margin-bottom: 6px;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 30px;
}
.ttlStyle21 {
	margin-bottom: 30px;
	text-align: center;
	font-family: 'mplus-1p-light';
	font-size: 36px;
	line-height: 1.2;
}
.ttlStyle21:first-letter {
	color: #851b3a;
}
.ttlStyle21 small{
	font-size: 20px;
	display: block;
}
.ttlStyle22 {
	padding-left: 20px;
	margin-bottom: 10px;
	position: relative;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 24px;
}
.ttlStyle22::before {
	width: 8px;
	height: 24px;
	background: #861c3c;
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.ttlStyle23 {
	margin-bottom: 30px;
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 28px;
}
.ttlStyle23 .ttlNum {
	vertical-align: baseline;
	margin-right: 0.5em;
	font-family: 'mplus-1p-light';
	font-size: 48px;
	line-height: 1.0;
}
.ttlStyle24 {
	margin-bottom: 22px;
	color: #535353;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 32px;
	line-height: 2;
}
.ttlStyle25 {
	color: #434343;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 88px;
	letter-spacing: 0.08em;
	line-height: 1;
}
.ttlStyle25.vertical {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
.ttlStyle26 {
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 32px;
}
.ttlStyle27 {
	margin-bottom: 18px;
	line-height: 2;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 28px;
}
.ttlStyle28 {
	padding-left: 15px;
	margin-bottom: 26px;
	font-size: 24px;
}
.ttlStyle29 {
	line-height: 1.16;
	position: absolute;
	top: 150px;
	left: 40px;
	font-size: 48px;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #fff;
}
.ttlStyle30 {
	margin: 25px 0;
	color : #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 36px;
}
.ttlStyle31 {
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 48px;
}
/*-- 2011 add --*/
.ttlStyle32 {
	color: #861C3C;
	font-size: 24px;
	margin-bottom: 8px;
}
.ttlStyle32 span {
	color: #3E3A39;
	font-size: 18px;
}
.ttlStyle33 {
	color: #ffffff;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 40px;
}
.ttlStyle34 {
	border-bottom: solid 1px #3E3A39;
	margin-bottom: 43px;
	padding-bottom: 20px;
	color: #3E3A39;
	font-size: 32px;
}
.ttlStyle34 span{
    font-size: 22px;
    line-height: 2.2;
    padding-left: 0;
}
.ttlStyle35 {
	color: #861C3C;
	font-family: 'Poppins', sans-serif;
	font-size: 32px;
	margin-bottom: 8px;
	text-align: center;
}
.ttlStyle36 {
	position: relative;
	border-bottom: solid 3px #3E3A39;
 padding-bottom: 10px;
	margin-bottom: 30px;
	font-size: 36px;
}
.ttlStyle36::before {
	content: "";
	width: 180px;
	height: 3px;
	background: #861C3C;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
}
.ttlStyle36 span{
 font-size: 24px;
}
.ttlStyle37 {
 margin-bottom: 20px;
	color: #861C3C;
	font-size: 36px;
 font-weight: 500;
 line-height: 1.1;
}
.ttlStyle37 span{
	font-family: 'Poppins', sans-serif;
	font-size: 38px;
}
.ttlStyle38 {
 border-left: 10px #861C3C solid;
 padding-left: 20px;
 margin-top: 40px;
 margin-bottom: 10px;
 font-size: 24px;
 text-align: left;
 line-height: 1.6;
}
/*-- /2011 add --*/
.ttlStyle00 {
}

@media screen and (max-width:768px) {
	.ttlStyle01 {
		font-size: 24px;
		text-shadow: 0 0 3px #000;
	}
	.ttlStyle02 {
		margin-bottom: 20px;
		font-size: 20px;
		line-height:  1.4;
	}
	.ttlStyle02 span {
		vertical-align: baseline;
		font-size: 12px;
	}
	.ttlStyle03 {
		margin-bottom: 5px;
		font-size: 18px;
	}
	.ttlStyle05 {
		padding: 0.6em 0;
		font-size: 22px;
	}
	.ttlStyle06 {
		font-size: 16px;
	}
	.ttlStyle07 span {
		font-size: 16px;
	}
	.ttlStyle08 {
		font-size: 20px;
	}/*-- /2011 modify --*/
	
	.ttlStyle09 {
		font-size: 20px;
		line-height: 1.4;
	}
	.ttlStyle10 {
		padding: 6px 10px 4px 28px;
		margin: 30px 0;
		font-size: 18px;
		letter-spacing: 0.05em;
	}
	.ttlStyle10::before {
		border-width: 7px 0 7px 10px;
		top: 0.8em;
		left: 10px;
	}
	.ttlStyle11 {
		padding-left: 12px;
		margin-bottom: 10px;
		font-size: 18px;
	}
	.ttlStyle11::before {
		width: 5px;
		height: 16px;
		top: 0.19em;
	}
	.ttlStyle12 {
		font-size: 18px;
	}
	.ttlStyle13 {
		font-size: 32px;
	}
	.ttlStyle14 {
		font-size: 18px;
	}
	.ttlStyle15 {
		margin-bottom: 20px;
		font-size: 24px;
	}
	.ttlStyle15 span::before {
		height: 1px;
	}
	.ttlStyle16 {
		margin-bottom: 15px;
		font-size: 24px;
	}
	.ttlStyle16 small {
		margin-top: 5px;
		font-size: 16px;
	}
	.ttlStyle17 {
		margin-bottom: 30px;
		font-size: 22px;
	}
	.ttlStyle18 {
		font-size: 18px;
		line-height: 1.5;
	}
	.ttlStyle19 {
		padding-bottom: 5px;
		font-size: 20px;
	}
	.ttlStyle20 {
		font-size: 18px;
	}
	.ttlStyle21 {
		font-size: 24px;
	}
	.ttlStyle22 {
		padding-left: 12px;
		font-size: 18px;
	}
	.ttlStyle22::before {
		width: 5px;
		height: 16px;
	}
	.ttlStyle23 {
		padding-left: 46px;
		margin-bottom: 15px;
		text-indent: -46px;
		position: relative;
		font-size: 18px;
	}
	.ttlStyle23 .ttlNum {
		margin-right: 0.2em;
		font-size: 32px;
	}
	.ttlStyle24 {
		margin-bottom: 22px;
		font-size: 24px;
		line-height: 2;
	}
	.ttlStyle25 {
		font-size: 36px;
	}
	.ttlStyle26 {
		font-size: 18px;
	}
	.ttlStyle27 {
		font-size: 18px;
	}
	.ttlStyle28 {
		padding-left: 15px;
		margin-bottom: 15px;
		font-size: 18px;
	}
	.ttlStyle29 {
		top: 70px;
		left: 20px;
		font-size: 32px;
	}
	.ttlStyle30 {
		margin: 25px 0;
		font-size: 28px;
	}
	.ttlStyle31,
	.ttlStyle32,
	.ttlStyle33{
		font-size: 18px;
	}/*-- /2011 modify --*/
	.ttlStyle34{
		margin-bottom: 20px;
		padding-bottom: 5px;
		font-size: 18px;
	}
	.ttlStyle34 span{
		font-size: 12px;
		display: block;
		padding-left: 0;
	}
	.ttlStyle35{
		font-size: 18px;
	}
	.ttlStyle36{
		font-size: 18px;
	}
.ttlStyle36 span{
 font-size: 16px;
}
.ttlStyle37 {
	font-size: 18px;
}
.ttlStyle37 span{
	font-size: 20px;
}
.ttlStyle38 {
 border-left: 8px #861C3C solid;
 padding-left: 15px;
 margin-top: 40px;
 margin-bottom: 10px;
 font-size: 18px;
}/*-- /2011 add --*/

}

/* mainImage01 */
#mainImage01 {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#mainImage01 .contentIn {
	height: 400px;
}
#mainImage01 .ttlStyle01 {
	position: absolute;
	bottom: 26px;
	left: 0;
}
#mainImage01 .ttlStyle08,
#mainImage01 .ttlStyle33{
	font-weight: normal;
	padding: 0 0.3em;
	position: absolute;
	top: 50%;
	left: 50%;
	line-height: 1.5;
	-webkit-transform: translate(-50%, -50%);
	transform: translateY(-50%, -50%);
	text-align: center;
 white-space: nowrap;
}/*-- /2011 modify --*/
/*-- 2011 add --*/
#mainImage01 .ttlStyle08 span,
#mainImage01 .ttlStyle33 span{
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 20px;
}/*-- /2011 add --*/

#mainImage01 .ttlStyle31 {
	padding: 0 0.3em;
	position: absolute;
	top: 16%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-shadow: 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60),
		 		 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60),
		 		 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60), 0 0 40px rgba(255,255,255,0.60);
}

@media screen and (max-width:768px) {
	#mainImage01 .contentIn {
		height: 170px;
	}
	#mainImage01 .ttlStyle01 {
		padding: 0 4%;
		bottom: 0.5em;
		left: 0;
	}
	#mainImage01 .ttlStyle31 {
		text-shadow: 0 0 10px rgba(255,255,255,0.60), 0 0 10px rgba(255,255,255,0.60), 0 0 10px rgba(255,255,255,0.60), 0 0 10px rgba(255,255,255,0.60),
					 0 0 10px rgba(255,255,255,0.60), 0 0 10px rgba(255,255,255,0.60), 0 0 10px rgba(255,255,255,0.60), 0 0 10px rgba(255,255,255,0.60);
	}
}

/* mainImage02 */
#mainImage02 {
	width: 1200px;
	margin: 60px auto 30px;
	position: relative;
}
#mainImage02 .ttlStyle05 {
	position: relative;
}
#mainImage02 .ttlStyle05 .txtEn {
	position: absolute;
	bottom: -0.45em;
	right: 0;
}
.subTtl{
	min-width: 400px;
	padding: 3px 2em 2px;
	background: #fff;
	position: absolute;
	bottom: 30px;
	right: 0;
	text-align: center;
	font-size: 20px;
}

/* ttlBox */
#mainImage02 .ttlBox01 {
	width: 240px;
	height: 240px;
	padding: 30px;
	position: absolute;
	background: #fff;
	color: #000;
}
#mainImage02 .ttlBox01.top {
	top: 0;
	left: 100px;
}
#mainImage02 .ttlBox01.bottom {
	bottom: 0;
	right: 100px;
}
#mainImage02 .ttlBox01 .ttl {
	font-size: 30px;
	line-height: 1.2;
}
#mainImage02 .ttlBox01 .ttl span {
	display: block;
	color: #851c3b;
}
#mainImage02 .ttlBox01 .num {
	position: absolute;
	bottom: 30px;
	left: 30px;
	font-size: 50px;
	line-height: 1.0;
}

@media screen and (max-width:768px) {
	#mainImage02 {
		width: auto;
	}
	#mainImage02 .ttlStyle05 {
		padding-left: 4%;
		padding-right: 4%;

	}
	#mainImage02 .ttlStyle05 .txtEn {
		right: 4%;
	}
	#mainImage02 .subTtl{
		width: 85%;
		min-width: 0;
		padding: 5px 4%;
		bottom: 10px;
		font-size: 14px;
	}

	/* ttlBox */
	#mainImage02 .ttlBox01 {
		display: flex;
		align-items: center;
		width: auto;
		height: auto;
		padding: 10px 4%;
	}
	#mainImage02 .ttlBox01.top {
		left: 0;
	}
	#mainImage02 .ttlBox01.bottom {
		right: 0;
	}
	#mainImage02 .ttlBox01 .ttl {
		font-size: 18px;
	}
	#mainImage02 .ttlBox01 .num {
		position: static;
		font-size: 24px;
		margin-left: 0.3em;
	}
}

/* mainImage03 */
#mainImage03 {
	background-color: #861c3c;
	position: relative;
	z-index: 2;
	color: #fff;
}
#mainImage03 .leadImg {
	width: 50%;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
}
#mainImage03 .leadImg img {
	display: block;
	width: auto;
	height: 100%;
}
#mainImage03 .leadTxt {
	width: 50%;
	min-height: 400px;
	padding: 35px 0 10px;
	background: #861c3c;
}
#mainImage03 .leadTxt .ttlStyle04 {
	padding-top: 35px;
	margin: 20px 0;
	position: relative;
	line-height: 1.5;
}
#mainImage03 .leadTxt .ttlStyle04::before {
	width: 30px;
	height: 3px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
}

@media screen and (max-width:768px) {
	#mainImage03 .leadImg {
		width: auto;
		position: static;
	}
	#mainImage03 .leadImg img {
		width: auto;
		height: auto;
	}
	#mainImage03 .leadTxt {
		width: auto;
		min-height: 0;
		padding: 25px 0;
	}
	#mainImage03 .leadTxt .ttlStyle04 {
		padding-top: 20px;
		margin: 10px 0 15px;
		font-size: 16px;
	}
	#mainImage03 .leadTxt .ttlStyle04::before {
		height: 2px;
	}
}

/* mainImage04 */
#mainImage04 {
	max-width: 1200px;
	margin: auto;
	position: relative;
}
#mainImage04 .txtBg01 {
	position: absolute;
	bottom: 30px;
	left: 30px;
}
#mainImage04 .txtBg01.right {
	left: auto;
	right: 30px;
}

@media screen and (max-width:768px) {
	#mainImage04 .txtBg01 {
		bottom: 15px;
		left: 4%;
	}
	#mainImage04 .txtBg01.right {
		right: 4%;
	}
}


/* ----------------------------------------------------------------------------------------------------
  other
* --------------------------------------------------------------------------------------------------*/
.fL,
.pcfL {
	float: left;
}
.fR,
.pcfR {
	float: right;
}
.cL {
	clear: left;
}
.cR {
	clear: right;
}
.cB {
	clear: both;
}
.oH {
	overflow: hidden;
}
.spOnly {
	display: none;
}
.invisible {
	visibility: hidden;
}

@media screen and (max-width:768px) {
	.pcfL ,
	.pcfR {
		float: none;
	}
	.pcOnly {
		display: none !important;
	}
	.spOnly {
		display: block;
	}
}

.countNum {
	display: block;
	color: #505050;
	font-family: 'mplus-1p-light';
	font-size: 40px;
	line-height: 1.4;
}
.countNum span {
	display: inline-block;
	vertical-align: baseline;
	font-family: 'mplus-1p-regular';
	font-size: 20px;
}
.countNum span::before {
	margin-left: 0.2em;
	content: "/";
}

@media screen and (max-width:768px) {
	.countNum {
		font-size: 32px;
		line-height: 1.4;
	}
	.countNum span {
		font-size: 16px;
	}
}

.comingSoon {
	padding: 120px 0 70px;
	text-align: center;
	font-size: 40px;
}

@media screen and (max-width:768px) {
    .comingSoon {
        padding: 50px 0 20px;
        font-size: 20px;
    }
}

/* background
--------------------------------------------------*/
.bgNone {
	background: none !important;
}
.bgWhite {
	background-color: #fff !important;
}
.bgGray01 {
	background-color: #f5f5f5 !important;
}
.bgGray02 {
	background-color: #f0f0f0 !important;
}
.bgRed01 {
	background-color: #861c3c !important;
}

/* パターン */
.bgPattern01 {
	background: url(/recruit/_asset/img/cmn_pattern02.jpg) repeat top left;
}
.bgPattern02 {
	background: url(/recruit/_asset/img/cmn_pattern03.jpg) repeat top left;
}
.bgPattern03 {
	background: url(/recruit/_asset/img/cmn_pattern04.gif) repeat top left;
}

/* 斜線 */
.bgObliqueLine01 {
	background-image:linear-gradient(-45deg, #fff 25%, #e4e4e4 25%, #e4e4e4 50%, #fff 50%, #fff 75%, #e4e4e4 75%, #e4e4e4);
	background-image:-webkit-linear-gradient(-45deg, #fff 25%, #e4e4e4 25%, #e4e4e4 50%, #fff 50%, #fff 75%, #e4e4e4 75%, #e4e4e4);
	background-image:-moz-linear-gradient(-45deg, #fff 25%, #e4e4e4 25%, #e4e4e4 50%, #fff 50%, #fff 75%, #e4e4e4 75%, #e4e4e4);
	background-image:-ms-linear-gradient(-45deg, #fff 25%, #e4e4e4 25%, #e4e4e4 50%, #fff 50%, #fff 75%, #e4e4e4 75%, #e4e4e4);
	-webkit-background-size:6px 6px;
	-moz-background-size:6px 6px;
	-ms-background-size:6px 6px;
	background-size:6px 6px;
}
.lineGray01 {
	background-image:linear-gradient(-45deg, #f0f0f0 25%, #ddd 25%, #ddd 50%, #f0f0f0 50%, #f0f0f0 75%, #ddd 75%, #ddd);
	background-image:-webkit-linear-gradient(-45deg, #f0f0f0 25%, #ddd 25%, #ddd 50%, #f0f0f0 50%, #f0f0f0 75%, #ddd 75%, #ddd);
	background-image:-moz-linear-gradient(-45deg, #f0f0f0 25%, #ddd 25%, #ddd 50%, #f0f0f0 50%, #f0f0f0 75%, #ddd 75%, #ddd);
	background-image:-ms-linear-gradient(-45deg, #f0f0f0 25%, #ddd 25%, #ddd 50%, #f0f0f0 50%, #f0f0f0 75%, #ddd 75%, #ddd);
}
.lineGray02 {
	background-image:linear-gradient(-45deg, #bdbdbd 25%, #b8b8b8 25%, #b8b8b8 50%, #bdbdbd 50%, #bdbdbd 75%, #b8b8b8 75%, #b8b8b8);
	background-image:-webkit-linear-gradient(-45deg, #bdbdbd 25%, #b8b8b8 25%, #b8b8b8 50%, #bdbdbd 50%, #bdbdbd 75%, #b8b8b8 75%, #b8b8b8);
	background-image:-moz-linear-gradient(-45deg, #bdbdbd 25%, #b8b8b8 25%, #b8b8b8 50%, #bdbdbd 50%, #bdbdbd 75%, #b8b8b8 75%, #b8b8b8);
	background-image:-ms-linear-gradient(-45deg, #bdbdbd 25%, #b8b8b8 25%, #b8b8b8 50%, #bdbdbd 50%, #bdbdbd 75%, #b8b8b8 75%, #b8b8b8);
}
.lineRed01 {
	background-image:linear-gradient(-45deg, #9c4560 25%, #871e3e 25%, #871e3e 50%, #9c4560 50%, #9c4560 75%, #871e3e 75%, #871e3e);
	background-image:-webkit-linear-gradient(-45deg, #9c4560 25%, #871e3e 25%, #871e3e 50%, #9c4560 50%, #9c4560 75%, #871e3e 75%, #871e3e);
	background-image:-moz-linear-gradient(-45deg, #9c4560 25%, #871e3e 25%, #871e3e 50%, #9c4560 50%, #9c4560 75%, #871e3e 75%, #871e3e);
	background-image:-ms-linear-gradient(-45deg, #9c4560 25%, #871e3e 25%, #871e3e 50%, #9c4560 50%, #9c4560 75%, #871e3e 75%, #871e3e);
}
.linePink01 {
	background-image:linear-gradient(-45deg, #f5ebee 25%, #e5cfd5 25%, #e5cfd5 50%, #f5ebee 50%, #f5ebee 75%, #e5cfd5 75%, #e5cfd5);
	background-image:-webkit-linear-gradient(-45deg, #f5ebee 25%, #e5cfd5 25%, #e5cfd5 50%, #f5ebee 50%, #f5ebee 75%, #e5cfd5 75%, #e5cfd5);
	background-image:-moz-linear-gradient(-45deg, #f5ebee 25%, #e5cfd5 25%, #e5cfd5 50%, #f5ebee 50%, #f5ebee 75%, #e5cfd5 75%, #e5cfd5);
	background-image:-ms-linear-gradient(-45deg, #f5ebee 25%, #e5cfd5 25%, #e5cfd5 50%, #f5ebee 50%, #f5ebee 75%, #e5cfd5 75%, #e5cfd5);
}
.linePink02 {
	background-image:linear-gradient(-45deg, #fefdfe 25%, #f4eaed 25%, #f4eaed 50%, #fefdfe 50%, #fefdfe 75%, #f4eaed 75%, #f4eaed);
	background-image:-webkit-linear-gradient(-45deg, #fefdfe 25%, #f4eaed 25%, #f4eaed 50%, #fefdfe 50%, #fefdfe 75%, #f4eaed 75%, #f4eaed);
	background-image:-moz-linear-gradient(-45deg, #fefdfe 25%, #f4eaed 25%, #f4eaed 50%, #fefdfe 50%, #fefdfe 75%, #f4eaed 75%, #f4eaed);
	background-image:-ms-linear-gradient(-45deg, #fefdfe 25%, #f4eaed 25%, #f4eaed 50%, #fefdfe 50%, #fefdfe 75%, #f4eaed 75%, #f4eaed);
}

/* button
--------------------------------------------------*/
[class*="btnStyle"] {
	display: block;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	line-height: 1.0;
}
[class*="btnStyle"]:not(.disable):hover {
	opacity: 0.75;
	cursor: pointer;
	text-decoration: none;
}
.btnStyle01 {
	width: 100%;
	max-width: 400px;
	padding: 12px 1em;
	margin: auto;
	background: #fff;
	letter-spacing: -0.01em;
}
.btnStyle01::after {
	content: "＞";
}
.btnStyle02 {
	width: 260px;
	padding: 25px 20px 25px;
	background: #505050 url(/recruit/_asset/img/cmn_arrow03.png) no-repeat bottom 10px right 10px;
	color: #fff;
	font-size: 20px;
}
.btnStyle02:not(.disable):hover {
	background-color: #861c3c ;
	opacity: 1;
}
.btnStyle03 {
	width: 300px;
	padding: 26px 20px;
	background: #861c3c;
	color: #fff;
	font-size: 18px;
}
.btnStyle03::after {
	position: absolute;
	right: 20px;
	content: ">";
}
.btnStyle04 {
	padding: 10px;
}
.btnStyle04 span {
	display: block;
	padding: 17px 55px 15px 20px;
	background: #fff;
	position: relative;
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 24px;
	line-height: 1.2;
}
.btnStyle04 span::before {
	position: absolute;
	top: 50%;
	right: 20px;
	content: ">";
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #505050;
	font-family: 'mplus-1p-regular';
	font-size: 24px;
}
.btnStyle05 {
	max-width: 570px;
	padding: 19px 55px 17px 42px;
	position: relative;
	font-size: 20px;
	line-height: 1.2;
}
.btnStyle05::before,
.btnStyle05::after {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.btnStyle05::before {
	left: 20px;
	content: "▶";
}
.btnStyle05::after {
	right: 20px;
	content: ">";
	color: #861c3c;
	font-size: 30px;
}
.btnStyle06 {
	padding: 10px 50px 10px 20px;
	border-radius: 4px;
	position: relative;
	color: #fff;
	font-size: 20px;
}
.btnStyle06::after {
	position: absolute;
	top: 50%;
	right: 20px;
	content: ">";
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.btnStyle07 {
	background: #861C3C;
	border-radius: 25px;
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	margin-bottom: 25px;
	/*min-height: 220px;*/
	padding: 13px 24px;
	/* background: url(/recruit/_asset/img/cmn_ico_link01.png) no-repeat bottom 10px right 10px; */
	position: absolute;
	bottom: 0;
	right: 0;
	color: #ffffff;
	/* letter-spacing: -0.02em; */
	width: 140px;
}
.btnStyle07::before {
	position: absolute;
	top: 50%;
	right: 14px;
	content: ">";
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	font-family: 'mplus-1p-light';
	font-size: 18px;
}
.btnStyle08 {
 position: relative;
	background: #861C3C;
	border-radius: 30px;
	padding: 14px 35px;
	color: #ffffff;
	font-size: 20px;
	max-width: 407px;
 text-align: center;
 line-height: 1.6;
}
.btnStyle08::before {
	content: "";
 display: block;
	position: absolute;
	top: 50%;
	right: 25px;
	border: solid #fff;
 border-width: 3px 3px 0 0;
 width: 11px;
 height: 11px;
 margin: -6px 0 0;
 transform: rotate(45deg) skew(-6deg, -6deg);
}
.btnStyle00 {
}

@media screen and (max-width:768px) {
	.btnStyle01 {
		max-width: 250px;
	}
	.btnStyle02 {
		max-width: 200px;
		padding: 20px;
		background-position: bottom 7px right 7px;
		background-size: auto 10px;
	}
	.btnStyle03 {
		max-width: 200px;
		padding: 20px 15px;
		font-size: 14px;
	}
	.btnStyle04 {
		padding: 5px;
	}
	.btnStyle04 span {
		padding: 12px 45px 10px 15px;
		font-size: 16px;
	}
	.btnStyle04 span::before {
		right: 15px;
		font-size: 20px;
	}
	.btnStyle05 {
		max-width: none;
		padding: 17px 35px 15px 32px;
		font-size: 16px;
	}
	.btnStyle05::before {
		left: 10px;
	}
	.btnStyle05::after {
		right: 10px;
		font-size: 18px;
	}
	.btnStyle06 {
		padding: 10px 30px 10px 10px;
		font-size: 16px;
	}
	.btnStyle06::after {
		right: 10px;
	}
	.btnStyle07 {
		/* min-height: 170px; */
		padding: 13px 35px 13px 6%;
		background-size: 10px auto;
		max-width: 40%;
		margin-top: 10px;
		position: relative;
		right: -60%;
	}
	.btnStyle07::before {
		right: 15px;
		font-size: 18px;
	}
.btnStyle08 {
	padding: 12px 20px;
	font-size: 16px;
}
.btnStyle08::before {
	right: 15px;
 border-width: 2px 2px 0 0;
 width: 11px;
 height: 11px;
 margin: -5px 0 0;
}
}

/* ol
--------------------------------------------------*/
.ol01 {
	counter-reset: bracketsNum;
}
.ol01 > li {
	padding-left: 2.5em;
	text-indent: -2.5em;
}
.ol01 > li::before {
	counter-increment: bracketsNum;
	content: '（' counter(bracketsNum) '）';
}
.ol02 {
	counter-reset: dotNum;
}
.ol02 > li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.ol02 > li::before {
	counter-increment: dotNum;
	content: counter(dotNum)'. ';
}

@media screen and (max-width:768px) {
}

/* ul
--------------------------------------------------*/
.ul01 > li {
	padding-left: 1em;
	text-indent: -1em;
}
.ul01 > li::before {
	content: "●";
}
.ul02 > li::before {
	content: "■";
}

@media screen and (max-width:768px) {
}

/* staffList
--------------------------------------------------*/
.staffList01 {
	/* margin-bottom: 40px; */
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
.staffList01 li {
	width: 31.25%;
	height: 100%;
	min-width: 252px;
	/* border: solid 1px #434343; */
	background: #fff;
	position: relative;
}
.staffList01 li:nth-last-of-type(n+3) {
	margin-bottom: 40px;
}
.staffList01 li a {
	display: flex;
  align-items: center;
}
.staffList01 li img {
	display: block;
	width:160px;
	height: 114px;
}
.staffList01 li p {
	font-size: 16px;
	padding: 9px 0 10.5px 20px;
	box-sizing: border-box;
}
.staffList01 li p::after {
	position: absolute;
	bottom: 14px;
	right: 20px;
	content: ">";
	/* -webkit-transform: translateY(-50%);
	transform: translateY(-50%); */
	font-size: 30px;
	color: #861C3C;
	line-height: 1.1;
}
.staffList01 li p span {
	color: #861C3C;
	font-size: 16px;
	display: block;
}
.staffList01 li p span + span{
	color: #3E3A39;
	font-size: 20px;
}
.staffList01::after {
  content:"";
  display: block;
  width:31.25%;
}

@media screen and (max-width:768px) {
	.staffList01 {
		display: block;
	}
	.staffList01:last-child {
		margin-bottom: 0;
	}
	.staffList01::after {
		content:"";
		display: block;
		width:50%;
	}

	.staffList01 li p{
		font-size: 14px;
		line-height: 1.5;
		padding: 13px 0 14px 14px;
	}
	.staffList01 li p::after {
		bottom: 10px;
		right: 10px;
		font-size: 20px;
}
	.staffList01 li img{
		max-width: 100%;
		height: 114px;
	}
	.staffList01 li p span {
		font-size: 14px;
}
	.staffList01 li p span + span{
		font-size: 18px;
}
	.staffList01 li:nth-of-type(1n+0) {
		width: auto;
		margin: 0;
	}
	.staffList01 li:nth-of-type(n+2) {
		margin-top: 15px;
	}
}

/* secInterview01
--------------------------------------------------*/
.secInterview01 {
	padding: 40px 0 100px;
}
.interviewList {
	display: flex;
	flex-wrap: wrap;
	margin-top: 45px;
}
.interviewList li {
	margin-right: 30px;
}
.interviewList li:nth-child(3n) {
	margin-right: 0;
}
.interviewList li:nth-child(n+4) {
	margin-top: 40px;
}
.interviewList a {
	display: block;
	position: relative;
	line-height: 2.0;
}
.interviewList .listNum {
	padding-right: 0.1em;
	border-bottom: solid 2px #fff;
	position: absolute;
	top: 12px;
	left: 20px;
	z-index: 2;
	color: #fff;
	font-family: 'mplus-1p-light';
	font-size: 48px;
	line-height: 1.2;
}
.interviewList .listNum.colBlack01 {
	border-bottom-color: #505050;
}
.interviewList .name {
	margin-top: 0.5em;
	font-size: 20px;
}

@media screen and (max-width:768px) {
	.secInterview01 {
		padding: 40px 0 70px;
	}
	.interviewList {
		display: block;
		margin-top: 35px;
	}
	.interviewList li:nth-child(1n+0) {
		margin-right: 0;
	}
	.interviewList li:nth-child(n+2) {
		margin-top: 40px;
	}
	.interviewList .listNum {
		font-size: 32px;
	}
	.interviewList .name {
		font-size: 18px;
	}
}

/* box
--------------------------------------------------*/
.secBoxWrap.bgObliqueLine01 {
	padding-top: 40px;
	padding-bottom: 40px;
}
.secBoxWrap .contentIn {
	padding-top: 50px;
	padding-bottom: 50px;
}
.secBox01 {
	width: 100%;
	max-width: 1000px;
	padding-left: 150px;
	position: relative;
}
.secBox01::after {
	content: "";
	display: block;
	clear: both;
}
.secBox01 + .secBox01 {
	margin-top: 65px;
}
.secBox01 .countNum {
	position: absolute;
	top: 0;
	left: 0;
}
.linePink01 .countNum {
	color: #861c3c;
}
.secBox01 .ttlStyle03 {
	margin-bottom: 10px;
	clear: both;
	position: relative;
	text-align: left;
}
.secBox01 .boxImg {
	width: 215px;
}
.secBox01 .boxImg + .boxTxt {
	width: 585px;
}
.secBox01 .boxTxt + .boxImg {
	width: auto;
	margin-top: 35px;
	clear: both;
}
.secBox01 .keyword {
	margin-top: 6px;
	margin-right: 45px;
	float: left;
	color: #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 100px;
	line-height: 1.0;
}
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, .secBox01 .keyword { 
		line-height: 1.35;
	}
}
.secBox01 .txtStyle01 {
	width: 485px;
}
.secBox01 .txtStyle02 {
	width: 435px;
}
.secBox01 .schedule {
	width: 365px;
	margin: 0 0 0 50px;
}
.secBox01 .schedule p {
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 15px;
}
.schedule p span {
	position: relative;
	padding: 0 1px;
}
.schedule p span::before {
	width: 100%;
	height: 1px;
	background: #505050;
	position: absolute;
	bottom: 2px;
	left: 0;
	content: "";
}
.secBox01 .schedule table {
	width: 100%;
	margin-left: 8px;
}
.secBox01 .schedule th {
	width: 2em;
	text-align: right;
	vertical-align: top;
}
.secBox01 .schedule td {
	padding-left: 20px;
}

@media screen and (max-width:768px) {
	.secBoxWrap.bgObliqueLine01 {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.secBoxWrap {
		padding-left: 4%;
		padding-right: 4%;
	}
	.secBoxWrap .contentIn {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.secBox01 {
		display: flex;
		flex-direction: column;
		width: auto;
		padding: 0;
	}
	.secBox01 .countNum {
		order: 1;
		position: static;
	}
	.secBox01 .ttlStyle03 {
		order: 2;
		margin-bottom: 5px;
	}
	.secBox01 .boxImg {
		order: 4;
		width: auto;
		margin-top: 20px;
		text-align: center;
	}
	.secBox01 .boxTxt {
		order: 3;
	}
	.secBox01 .boxImg + .boxTxt {
		width: auto;
	}
	.secBox01 .boxTxt + .boxImg {
		margin-top: 20px;
		height: 100%;
	}
	.secBox01 .keyword {
		margin: 0.15em 0.2em 0 0;
		font-size: 75px;
	}
	.secBox01 .txtStyle01{
		width: 100%;
		margin-bottom: 40px;
	}
	.secBox01 .txtStyle02{
		width: 100%;
		margin-bottom: 40px;
	}
	.secBox01 .schedule {
		width: 100%;
		margin: 20px auto;
	}
	.secBox01 .schedule p {
		text-align: center;
		font-size: 18px;
	}
}

/* profileBox */
.profileBox01 {
	padding: 40px 0 40px 60px;
	overflow: hidden;
}
.profileBox01 .boxImg {
	float: left;
	text-align: center;
}
.profileBox01 .boxTxt {
	margin-left: 260px;
}
.profileBox01 .name .ttlStyle05{
	display: block;
	color: #505050;
	line-height: 1.2;
}
.profileBox01 .name {
	margin-top: 45px;
}
.profileBox01.marginType01 .name {
	margin-top: 25px;
}
.profileBox01 .txtEn {
	margin-top: -45px;
}
.profileBox01.marginType01 .txtEn {
	margin-top: 0;
}
@media screen and (max-width:768px) {
	.profileBox01 {
		padding: 20px 0 40px;
	}
	.profileBox01 .boxImg {
		float: none;
	}
	.profileBox01 .boxImg img {
		max-width: 100%;
	}
	.profileBox01 .boxTxt {
		margin: 20px 0 0;
	}
	.profileBox01 .boxTxt .txtEn {
		margin-top: 0.5em;
	}
}

/* careerBox
--------------------------------------------------*/
.careerBox {
	width: 1000px;
	padding: 40px 100px;
	margin: 96px auto 0;
}

.careerBox table tr > * {
	vertical-align: top;
}
.careerBox table th {
	text-align: left;
}
.careerBox .tblChild th:last-of-type {
	padding: 0 0.5em 0 1em;
	text-align: right;
}

@media screen and (max-width:768px) {
	.careerBox {
		width: auto;
		padding: 20px 4%;
		margin-top: 45px;
	}
	.careerBox .tblParent,
	.careerBox .tblParent > tbody,
	.careerBox .tblParent > tbody > tr,
	.careerBox .tblParent > tbody > tr > * {
		display: block;
	}
	.careerBox .tblParent > tbody > tr + tr {
		margin-top: 1em;
	}
	.careerBox .tblChild th:first-of-type {
		width: 3.7em;
	}
	.careerBox .tblChild th:last-of-type {
		width: 3em;
	}
	.careerBox .tblChild th:last-of-type {
		padding: 0 0.5em 0 0;
	}	
}

.careerBox02 {
	width: 1000px;
	padding: 45px 60px 50px;
	margin: 96px auto 0;
}

.careerBox02 table tr > *{
	vertical-align: top;
}
.careerBox02 table th{
	text-align: left;
}
.careerBox02 .tblChild th:last-of-type{
	padding: 0 0.5em 0 1em;
	text-align: right;
}

/*------ 202111 add -------*/
.careerBox03{
	width: 1135px;
	padding: 60px 70px 50px;
	margin: 96px auto 0;
}
.careerBox03 table tr > *{
	vertical-align: top;
}
.careerBox03 table th{
	text-align: left;
}
.careerBox03 .tblChild th:last-of-type{
	padding: 0.25em 1em 0.25em 0.5em;
	text-align: right;
}
.careerBox03 table th,
.careerBox03 table td{
	font-size: 106%;
	padding: 0.25em 0;
}
/*------ /202111 add -------*/

@media screen and (max-width:768px) {
	.careerBox02 {
		width: auto;
		padding: 20px 4%;
	}

	.careerBox02 .tblParent,
	.careerBox02 .tblParent > tbody,
	.careerBox02 .tblParent > tbody > tr,
	.careerBox02 .tblParent > tbody > tr > * {
		display: block;
	}
	.careerBox02 .tblParent > tbody > tr + tr {
		margin-top: 1em;
	}
	.careerBox02 .tblChild th:first-of-type {
		width: 4em;
	}
	.careerBox02 .tblChild th:last-of-type {
		width: 3em;
		padding: 0 0.5em 0 0;
	}	
}
.boxMargin01 {
	margin-top: 40px;
}
.boxMargin02 {
	margin-top: 0;
}
.boxMargin03{
	margin-top: 50px;
}
@media screen and (max-width:768px) {
	.boxMargin01{
		margin-top: 20px;
	}
	.boxMargin03{
		margin-top: 25px;
	}
}
/* linkBox01
--------------------------------------------------*/
.linkBox01 {
	display: block;
	padding: 25px;
}
.linkBox01 + .linkBox01 {
	margin-top: 44px;
}
.linkBox01 .boxIn {
	display: flex;
	background: #fff;
}
.linkBox01 .boxIn > * {
	width: 50%;
}
.linkBox01 .boxTxt {
	padding: 15px 60px 0 25px;
	position: relative;
}
.linkBox01 .boxTxt .ttlStyle09::after {
	position: absolute;
	bottom: 10px;
	right: 60px;
	content: ">";
	color : #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 36px;
}

@media screen and (max-width:768px) {
	.linkBox01 {
		padding: 7px;
	}
	.linkBox01 + .linkBox01 {
		margin-top: 20px;
	}
	.linkBox01 .boxIn {
		display: block;
	}
	.linkBox01 .boxIn > * {
		width: auto;
	}
	.linkBox01 .boxTxt {
		padding: 10px 4%;
	}
	.linkBox01 .boxTxt .ttlStyle09 {
		padding-right: 1.5em;
		position: relative;
	}
	.linkBox01 .boxTxt .ttlStyle09::after {
		top: 50%;
		bottom: auto;
		right: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		font-size: 24px;
		line-height: 1em;
	}
}

/* linkBox02
--------------------------------------------------*/
.linkBox02 {
	display: block;
	padding: 25px;
}
.linkBox02 + .linkBox02 {
	margin-top: 45px;
}
.linkBox02 .boxIn {
	display: flex;
	background: #fff;
}
.linkBox02 .boxIn > * {
	width: 50%;
}
.linkBox02 .boxTxt {
	display: flex;
	align-items: center;
	padding: 10px 60px 10px 25px;
	position: relative;
}
.linkBox02 .boxTxt .ttlStyle09 {
	width: 100%;
	margin-bottom: 0;
}
.linkBox02 .boxTxt .ttlStyle09::after {
	position: absolute;
	top: 50%;
	right: 60px;
	content: ">";
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color : #861c3c;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 36px;
}

@media screen and (max-width:768px) {
	.linkBox02 {
		padding: 7px;
	}
	.linkBox02 + .linkBox02 {
		margin-top: 20px;
	}
	.linkBox02 .boxIn {
		display: block;
	}
	.linkBox02 .boxIn > * {
		width: auto;
	}
	.linkBox02 .boxTxt {
		padding: 10px 4%;
	}
	.linkBox02 .boxTxt .ttlStyle09 {
		padding-right: 1.5em;
		position: relative;
	}
	.linkBox02 .boxTxt .ttlStyle09::after {
		top: 50%;
		bottom: auto;
		right: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		font-size: 24px;
		line-height: 1em;
	}
}

/* pager
--------------------------------------------------*/
.pager01 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 31px 0 0;
}
.pager01 a {
	display: block;
	line-height: 1.0;
}
.pager01 img {
	display: inline-block;
}
.pager01 li:nth-child(2) {
	margin: 0 70px;
}
.pager01 span {
	font-size: 20px;
	line-height: 1.2;
	margin: 0 20px;
}
.pagerMg01 {
	margin: 80px 0;
}

@media screen and (max-width:768px) {
	.pager01 {
		margin-top: 40px;
	}
	.pager01 li:nth-child(2) {
		margin: 0 25px;
}
	.pager01 img {
		width: 15px;
	}
	.pager01 .pagerBackList img {
		width: 30px;
	}
	.pager01 span {
		margin: 0 10px;
		font-size: 16px;
	}
	.pagerMg01{
		margin: 60px 0;
	}
	.paddingBottom01 li:nth-of-type(odd) img{
	padding-bottom: 2px;
}
}


/* lNavi
--------------------------------------------------*/
/* lNavi01 */
#lNavi01 {
	padding: 94px 0 50px;
 display: none;/*add 20201216*/
}
#lNavi01 ul {
	display: flex;
	flex-wrap: wrap;
}
#lNavi01 li {
	width: 31%;
	margin-right: 3.5%;
}
#lNavi01 li:nth-child(3n) {
	margin-right: 0;
}
#lNavi01 li:nth-child(n+4) {
	margin-top: 20px;
}
#lNavi01 li a {
	display: block;
	padding: 5px;
	position: relative;
	text-align: center;
	font-size: 19px;
	line-height: 1.2;
	letter-spacing: 0.05em;
}
#lNavi01 li a::before {
	width: 1em;
	position: absolute;
	top: 50%;
	right: 4px;
	font-size: 24px;
	content: ">";
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#lNavi01 li .linePink01::before {
	left: 8px;
	right: auto;
	content: "<";
}
#lNavi01 li .linePink01 {
	font-size: 24px;
	letter-spacing: 0;
}
#lNavi01 li span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	background: #fff;
}
#lNavi01 .linePink01 span {
    background: none;
}
#lNavi01 .listCenter {
	justify-content: center;
}
#lNavi01 .singleList li a {
	font-size: 20px;
}


@media screen and (max-width:768px) {
	#lNavi01 {
		padding: 70px 0 40px;
	}
	#lNavi01 li:nth-child(1n+0) {
		width: 49%;
		margin: 0;
	}
	#lNavi01 li:nth-child(even) {
		margin-left: 2%;
	}
	#lNavi01 li:nth-child(n+3) {
		margin-top: 2%;
	}
	#lNavi01 li a {
		padding: 3px;
		font-size: 14px;
		letter-spacing: -0.04em;
	}
	#lNavi01 li a::before {
		font-size: 14px;
	}
	#lNavi01 li .linePink01 {
		font-size: 16px;
	}
	#lNavi01 li span {
		height: 50px;
	}
	#lNavi01 .singleList li a {
		font-size: 13px;
	}
}

/* lNavi02 */
#lNavi02 ul {
	display: flex;
	flex-wrap: wrap;
	line-height: 2;
}

/* 2011 modify */
#lNavi02 li a {
 overflow: hidden;
	display: block;
    outline: none;
	position: relative;
}
#lNavi02 li > span {
	display: block;
	position: relative;
	line-height: 1.2;
	margin-top: 30px;
}
#lNavi02 li > span span{
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
	padding-top: 15px;
}
#lNavi02 a::before {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 40px;
	height: 40px;
	content: "";
	background: #fff;
	border-radius: 40px;
	z-index: 5;
}
#lNavi02 a::after {
	position: absolute;
	bottom: 15px;
	right: 25px;
	content: ">";
	font-weight: bold;
	color: #861C3C;
	z-index: 10;
}
#lNavi02 li a img{
 -webkit-transition: 2s ease-in-out;  
       -moz-transition: 2s ease-in-out;  
         -o-transition: 2s ease-in-out;  
            transition: 2s ease-in-out; 
}
#lNavi02 li a:hover{
 opacity: 0.95;
}
#lNavi02 li a:hover img{
  transform:scale(1.1,1.1);
}
/* /2011 modify */

@media print, screen and (min-width:769px) {
    #lNavi02 img {
        width: 100%;
    }
}

@media screen and (max-width:768px) {
	#lNavi02 ul {
		display: block;
	}
	#lNavi02 li + li {
		margin-top: 15px;
	}
	#lNavi02 li > span {
		margin-top: 15px;
	}
	#lNavi02 li > span span{
	font-size: 16px;
	padding-top: 8px;
}
	/* #lNavi02 span{
		justify-content: flex-start;
		height: 60px;
		padding: 0;
	}
	#lNavi02 span::after{
		right: 1em;
	}*/
}

/* lNavi03 */
#lNavi03 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}
#lNavi03 ul li {
	width: 30.5%;
	font-family: "ヒラギノ明朝 ProN W3", "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 20px;
}
#lNavi03 li a {
    display: block;
    padding: 25px;
    border: solid 1px #c0bfbf;
    text-align: center;
	position: relative;
}
#lNavi03 span{
	height: 78px;
	position: relative;
	vertical-align: middle;
	line-height: 1.2;
}
#lNavi03 a::after{
	content: ">";
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (max-width:768px) {
	#lNavi03 ul {
		display: block;
	}
	#lNavi03 li + li {
		margin-top: 15px;
	}
	#lNavi03 span{
		justify-content: flex-start;
		height: 60px;
		font-size: 14px;
		padding: 0 1em;
	}
	#lNavi03 span::after{
		right: 1em;
	}
}

/* col01 */
@media print, screen and (min-width:769px) {
	#lNavi02 .col01 li {
		width: 100%;
	}
	#lNavi02 .col02 + .col01{
		margin-top: 60px;
	}
}

/* col02 */
@media print, screen and (min-width:769px) {
 #lNavi02 .col02{
  justify-content: space-between;
 }
	#lNavi02 .col02 li {
		width: 48.5%;
  max-width: 620px;
		margin-bottom: 5.5%;
	}
	#lNavi02 .col02 span::after{
		right: 39px;
	}
	#lNavi02 .col01 + .col02{
		margin-top: 60px;
	}
}

/* col03 */
@media print, screen and (min-width:769px) {
	#lNavi02.col03 li {
		width: 30.5%;
		margin-right: 4.25%;
	}
	#lNavi02.col03 li:nth-child(3n) {
		margin-right: 0;
	}
	#lNavi02.col03 ul + ul,
	#lNavi02.col03 li:nth-child(n+4) {
		margin-top: 51px;
	}
	#lNavi02.col03 span::after{
		right: 20px;
	}
}

@media print, screen and (min-width:769px) {
	#lNavi02 .linkImg span{
		height: 58px;
	}
	#lNavi02 .linkImg span::after{
		right: 0;
	}
}

@media screen and (max-width:768px) {
	#lNavi02 li .linkImg {
		padding: 0;
		position: relative;
	}
	#lNavi02 li .linkImg img {
		/* height: 70px; */
		position: relative;
		top: 0;
		left: 0;
	}
	#lNavi02 li .linkImg span {
		padding-right: 2.5em;
		margin-left: 70px;
	}
	#lNavi02 .col02 + .col01,
	#lNavi02 .col01 + .col02{
		margin-top: 15px;
	}
}

/* linkIcon 
--------------------------------------------------*/
.linkIcon01::before {
	content: url(/recruit/_asset/img/cmn_ico_link01.png);
	position: absolute;
	top: 35%;
}
.linkIcon01.iconPosition04::before {
	left: 11.5em;
}
.linkIcon01.iconPosition09::before {
	left: 14em;
}

@media screen and (max-width:768px) {
	.linkIcon01.iconPosition04::before {
		left: 5.5em;
	}
	.linkIcon01.iconPosition09::before {
		left: 10.5em;
	}
}

/* scrollDown
--------------------------------------------------*/
/* scrollDown01 */
.scrollDown01 {
	margin-top: 45px;
	text-align: center;
	line-height: 1.0;
}
.scrollDown01 img {
	display: block;
	margin: 0 auto 10px;
}

@media screen and (max-width:768px) {
	.scrollDown01 {
		margin-top: 30px;
		font-size: 12px;
	}
	.scrollDown01 img {
		height: 45px;
	}
}

/* scrollDown02 */
.scrollDown02 {
	padding: 20px 0 70px;
	text-align: center;
	font-family: 'mplus-1p-light';
	color: #861c3c;
	font-size: 20px;
}
.scrollDown02 img {
	display: block;
	margin: 7px auto 0;
}

@media screen and (max-width:768px) {
	.scrollDown02 {
		padding: 20px 0 50px;
		font-size: 12px;
	}
	.scrollDown02 img {
		width: 20px;
		margin-top: 4px;
	}
}


/* table
--------------------------------------------------*/
.tblStyle01 {
    width: 100%;
    border: solid 1px #a0a0a0;
}
.tblStyle01 tr {
    border-top: solid 1px #a0a0a0;
}
.tblStyle01 tr > * {
    vertical-align: top;
}
.tblStyle01 th {
    width: 25%;
    padding: 0.5em;
    border-right: solid 1px #a0a0a0;
    background: #e5e5e5;
    text-align: center;
}
.tblStyle01 td {
    padding: 0.5em;
}

@media screen and (max-width:768px) {
    .tblStyle01 {
        font-size: 13px;
    }
}


/*  pageLeadtext - 2011 add
--------------------------------------------------*/
.pageLeadtext{
	margin: 0 auto 114px;
	width: 840px;
}
.pageLeadtext .ttlStyle32{
	margin-bottom: 20px;
	text-align: center;
}
.pageLeadtext h2 + p{
	line-height: 2.25;
	text-align: left;
}

@media screen and (max-width: 768px) {
.pageLeadtext{
	margin-bottom: 35px;
	padding: 0 4%;
	width: auto;
}
.pageLeadtext .ttlStyle32{
	margin-bottom: 10px;
}
}
