@charset "utf-8";

@import url("print.css") print;

/* heading
-------------------------------------------------------------------------*/
.mainTtl{
	background:#ff9803;
	color: #ffffff;
	font-size: 1.375rem;
	padding: 5px 2%;
}
.subMenuTtl{
	background: #ff9803;
	font-size: 0.875rem;
	color: #ffffff;
	font-weight: normal;
	padding: 10px 15px;
}
.mainTtl2{
	color: #000000;
	font-size: 1.375rem;
	padding: 5px 2%;
}
.headingIcon {
	padding: 0 0 0 35px;
	margin: 0 0 18px 0;
	color: #000000;
	font-size: 22px;
	line-height: 1.3;
	background:url(../image/icon_h2.gif) no-repeat 0 0;
}
.mainHeading{
	color: #e60012;
	font-weight: bold;
	font-size: 1.625rem;
	line-height: 1.5;
}
.subHeading{
	font-weight: bold;
	font-size: 1.125rem;
}
.headingLine{
	border-bottom: #c9c9c9 2px solid;
	font-size: 1.375rem;
}
.headingLine span{
	border-left: #ff9803 5px solid;
	padding-left: 10px;
	display: inline-block;
	margin-bottom: 2px;
}
.boxHeading{
	color: #e60012;
	font-weight: bold;
	font-size: 1.375rem;
	line-height: 1.5;
}
.boxSubHeading{
	font-weight: bold;
	font-size: 1rem;
	line-height: 1.5;
}
.minTtl{
	font-family: 'Yu Mincho', 'YuMincho', 'Noto Serif JP', serif;
	font-size: 1.5rem;
	font-weight: bold;
	color: #212121;
	margin-bottom: 10px;
	line-height: 1.3;
}
.spimg{
	margin-left:3%
}

@media screen and (max-width: 767px) {
	.mainTtl,.mainTtl2{
		padding: 5px 5.3%;
    font-size: 1rem;
	}
	.subMenuTtl{
		font-size: 1rem;
		padding: 10px 15px;
	}
	.minTtl{
		font-size: 1.375rem;
	}
	.mainHeading{
		font-size: 1.5rem;
	}
  .headingIcon {
    font-size: 18px;
    line-height: 1.5;
  }
}

/* btn
-------------------------------------------------------------------------*/
.textBtn{
	text-align: center;
	border-radius: 50px;
}
.textBtn .link{
	display: block;
	padding: 15px;
	font-weight: bold;
	font-size: 1.25rem;
	line-height: 1.3;
}
.textBtn .link:hover{
	text-decoration: none;
}
.textBtn._red{
	background: #e60012;
}
.textBtn._red .link{
	color: #ffffff;
}
.textBtn._red .link._blank span{
	display: inline-block;
	padding-right: 1.5em;
	background: url(/recruit/image/icon_blank.png) no-repeat right center;
	background-size: 1em auto;
}
@media screen and (max-width: 767px) {
	.textBtn{
		width: 100%;
	}
	.textBtn .link{
		font-size: 1.125rem;
	}
}


/* main area
-------------------------------------------------------------------------*/
#mainContainer {
	position: relative;
	min-width: 960px;
	overflow: hidden;
	background:url(../image/bg_contents.gif) repeat-x;
}
#contents {
	width:960px;
	margin:0 auto;
	font-size:14px;
	line-height:1.7;
}
#topPage #contents {
	font-size:12px;
	line-height:1.6;
}
.section {
	margin-bottom:50px;
}
.leftCol {
	float:left;
	width:710px;
	padding: 0 1%;
}
.rightCol {
	float:right;
	width:210px;
	text-align:left;
}

h3, h4 {margin-bottom:15px;}

.mt55 {margin-top:55px;}


a.iconBlank {
	padding-right:18px;
	margin:0 2px;
	background:url(/recruit/image/icon_blank_r.png) no-repeat right 1px center;
	background-size: 0.7rem auto;
}
@media screen and (max-width: 960px){
	#mainContainer{
		min-width: 0;
		padding-bottom: 30px;
	}
	#contents {
		width: 93%;
	}
	.sectionInner{
		box-sizing: border-box;
	}
	.leftCol {
		width:73%;
		margin-left: 2%;
	}
	.rightCol {
		width: 22%;
		margin-right: 1.5%;
}
}
@media screen and (max-width: 980px){
.rightCol {
    margin-right: 1%;
}
.leftCol {
    margin-left: 1%;
}
}
@media screen and (max-width: 767px) {
	#contents {
		font-size: 16px;
	}
	.leftCol {
		float:none;
		width:100%;
		margin-left: 0%;
		padding: 0 0%;
	}
	.rightCol {
		float:none;
		width:100%;
	}
} 

/* right sub menu
-------------------------------------------------------------------------*/
.subMenu ul li {
	padding-bottom:1px;
	background:url(../image/hr_dotline.gif) no-repeat left bottom;
	font-size:1.1em;
	font-weight:bold;
	line-height:1.3;
}
.subMenu ul li a {
	display:block;
	padding:20px 0 20px 10px;
}
.subMenu ul li a:link,
.subMenu ul li a:visited {
	color:#333;
}
.subMenu ul li a.current,
.subMenu ul li a:hover,
.subMenu ul li a:active {
	color:#333;
	background:#f5f5e9;
	text-decoration:none;
}

@media screen and (max-width: 767px) {
	.subMenu ul li a:link{
		font-size: 1rem;
		padding: 15px 0 15px 10px;
	}
}


/* breadCrumb
-------------------------------------------------------------------------*/
#breadCrumb {
	padding-top:16px;
	margin-bottom: 10px;
}
#breadCrumb li {
	float:left;
	margin-right:5px;
	padding-right:12px;
	font-size:11px;
	line-height: 1.5;
	color:#666666;
	background:url(../image/icon_breadcrumb.gif) no-repeat right center;
}
#breadCrumb li.current {
	margin-right:0;
	padding-right:0;
	background:none;
}
@media screen and (max-width: 960px) {
	#breadCrumb {
		height: auto;
		padding: 16px 2% 0;
	}
}


/*-------------------------------------------------------------------------

for Top page

-------------------------------------------------------------------------*/



/* TOP
-------------------------------------------------------------------------*/
#topPage .mainRowInner{
	max-width: 1000px;
	margin: auto;
}
@media screen and (max-width: 1000px) {
	#topPage .mainRowInner{
		padding: 0 3.8%;
		max-width: none;
	}
}
@media screen and (max-width: 767px) {
	#topPage .mainRowInner{
		padding: 0 5.3%;
	}
}
.head_news{
    padding: 10px 20px;
    background: #fafafa;   
  margin: 0 0 65px 0;
 
}
.head_news .news_txt{
    max-width: 970px;
    border: 1px solid #e30934;
    padding: 1em 15px;
    background: #fafafa;
    color: #e30934;
    font-size: 1rem;
    margin: 0 auto;
    text-align: left;
}

#parallax{
	background-image: url('/recruit/image/txt_visual.jpg');
	position: relative;
	height: 100%;
	min-height: 430px;
	background-size: auto;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: top center;
	z-index: 2;
}
@media screen and (max-width: 960px) {
	#parallax{
		background-image: url('/recruit/image/txt_visual_sp.jpg');
		position: relative;
		min-height: auto;
		padding-top: 55%;
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: top center;
		z-index: 2;
	}
}
@media screen and (max-width: 767px) {
	#parallax{
	background-image: url('/recruit/image/txt_visual_sp.jpg');
	position: relative;
	min-height: auto;
	padding-top: 60%;
	background-size: cover;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 2;
	}
}

/* mainRow01 */
#mainRow01{
	text-align: center;
	padding: 0 0 90px;  
	/*padding: 65px 0 90px;*/
  background-color:#ffffff;
}
#mainRow01 h2{
	color: #e30934;
	font-weight: bold;
	font-size: 1.25rem;
	position: relative;
}
#mainRow01 h2:after {
  content: "";
  display: block;
	width: 160px;
  height: 4px;
	margin: auto;
  background-image: -moz-linear-gradient( 0deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
  background-image: -webkit-linear-gradient( 0deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
  background-image: -ms-linear-gradient( 0deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
}
#mainRow01 h2 span{
	display: inline-block;
	padding-bottom: 35px;
}
#mainRow01 .textCont{
	margin-top: 35px;
}
#mainRow01 .textCont .text{
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1.7;
	margin-bottom: 40px;
}
#mainRow01 .textCont .text:last-child{
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	#mainRow01{
		padding:0 0 40px 0;
	}
	#mainRow01 h2{
		font-size: 1.3125rem;
	}
	#mainRow01 h2 span{
		padding-bottom: 20px;
	}
	#mainRow01 .textCont{
		margin-top: 20px;
	}
	#mainRow01 .textCont .text{
		font-size: 0.9375rem;
	}
}

/* mainRow02 */
#mainRow02{
	position: relative;
	padding: 40px 0 110px;
  background-color: #fff;
}
#mainRow02::before {
  content: "";
  display: block;
	position: absolute;
	top: 0;
	width: 53%;
  height: 300px;
	margin: auto;
	background-image: -moz-linear-gradient( -90deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
  background-image: -webkit-linear-gradient( -90deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
  background-image: -ms-linear-gradient( -90deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
}
#mainRow02 .col2{
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
#mainRow02 .leftCont{
	width: 50%;
}
#mainRow02 .rightCont{
	padding-left: 10%;
}

@media all and (-ms-high-contrast: none) {
	#mainRow02 .rightCont{
	padding-left:25%;
	}
}

#mainRow02 h2{
	color: #e30934;
	font-size: 1.75rem;
}
#mainRow02 h2:after {
	content: "";
	display: block;
	width: 80px;
	height: 2px;
	left: 0;
	background-image: -moz-linear-gradient( 0deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
	background-image: -webkit-linear-gradient( 0deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
	background-image: -ms-linear-gradient( 0deg, rgb(239,141,24) 0%, rgb(227,9,52) 100%);
}
#mainRow02 h2 span{
	display: inline-block;
	padding-bottom: 30px;
}
#mainRow02 .text{
	margin: 25px 0 50px;
	font-size: 1rem;
	line-height: 1.8;
}
#mainRow02 .btn{
	width: 100%;
	text-align: center;
	border: 1px solid #999999;
	border-radius: 4px;
}
#mainRow02 .btn:hover{
	border: none;
	color: #e30934;
	border-left: 1px solid #e30d33;
	border-right: 1px solid #ee8919;
}
#mainRow02 .btn:hover::before,
#mainRow02 .btn:hover::after{
	content: "";
	display: block;
	height: 1px;
	background: linear-gradient(to right, #e30d33 0%, #ee8919 100%);
}
#mainRow02 .btn .link{
	display: block;
	color: #333333;
	font-size: 1rem;
	font-weight: bold;
	padding: 15px;
}
#mainRow02 .btn .link:hover{
	text-decoration: none;
}
#mainRow02 .btn:hover .link{
	color: #e30934;
}
#mainRow02 .btn .link span{
	position: relative;
}
#mainRow02 .btn .link span::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 4px;
	right: -35px;
	top: 30%;
	border-bottom: 1px solid #999999;
	border-right: 1px solid #999999;
	transform: skew(45deg);
}
#mainRow02 .btn:hover .link span::after{
	border-bottom: 1px solid #e30934;
	border-right: 1px solid #e30934;
}
@media screen and (max-width: 1000px) {
	#mainRow02::before{
		width: 35%;
		height: 40%;
	}
	#mainRow02 .leftCont img{
		width: 100%;
	}

	#mainRow02 .rightCont{
	padding-left:10%;
	}
}
@media screen and (max-width: 767px) {
	#mainRow02{
		padding: 20px 0 40px;
	}
	#mainRow02::before {
		top: 0;
		right: 0;
		width: 90%;
		height: 40%;
	}
	#topPage #mainRow02 .mainRowInner{
		padding: 0;
	}
	#mainRow02 h2{
		font-size: 1.3125rem;
	}
	#mainRow02 h2 span{
		padding-bottom: 20px;
	}
	#mainRow02 .col2{
		flex-direction: column;
	}
	#mainRow02 .leftCont,
	#mainRow02 .rightCont{
		width: 100%;
	}
	#mainRow02 .leftCont .img{
		width: 94%;
	}
	#mainRow02 .rightCont{
		margin-top: 25px;
		padding: 0 5.3%;
		box-sizing: border-box;
	}
	#mainRow02 .text{
		margin: 15px 0 25px;
		font-size: 0.9375rem;
	}
	#mainRow02 .btn .link{
		font-size: 0.9375rem;
		font-weight: normal;
	}
}
@media screen and (max-width: 440px) {
	#mainRow02::before {
		height: 32%;
	}
}

/* mainRow03 */
#mainRow03{
	background: #faf2d2;
	padding: 80px 0 100px;
}
#mainRow03 .bnr:hover{
	opacity: 0.8;
}
#mainRow03 .bnrArea{
	margin-bottom: 50px;
}
#mainRow03 .bnrArea:last-child{
	margin-bottom: 0;
}
#mainRow03 .bnrInner{
	display: flex;
	justify-content: center;
}
#mainRow03 .bnrArea img{
	width: 100%;
}
#mainRow03 .bnrInner .bnr{
	width: 31%;
	margin-right: 3.5%;
}
#mainRow03 .bnrInner .bnr:last-child{
	margin-right: 0;
}
@media screen and (max-width: 767px) {
	#mainRow03{
		padding: 40px 0;
	}
	#mainRow03 .bnrArea{
		margin-bottom: 20px;
	}
	#mainRow03 .bnrInner{
		flex-direction: column;
	}
	#mainRow03 .bnrInner .bnr{
		width: 100%;
		margin-bottom: 20px;
	}
	#mainRow03 .bnrInner .bnr:last-child{
		margin-bottom: 0;
	}
}

/* mainRow04 */
#mainRow04{
	background: #f2f2f2;
	padding: 90px 0;
}
#mainRow04 .linkBlockArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#mainRow04 .linkBlock{
	width: 48.5%;
	background: #ffffff;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
	border-radius: 4px;
	margin-bottom: 25px;
}
#mainRow04 .linkBlock:nth-last-child(-n+2){
	margin-bottom: 0;
}
#mainRow04 .linkBlock .link{
	display: block;
	padding: 25px 5% 15px;
	color: #333333;
}
#mainRow04 .linkBlock .link:hover{
	opacity: 0.8;
}
#mainRow04 .linkBlock .link:hover{
	text-decoration: none;
}
#mainRow04 .linkBlock .heading{
	color: #e30934;
	font-size: 1.3125rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#mainRow04 .linkBlock .heading span{
	display: inline-block;
	padding-left: 45px;
	position: relative;
}
#mainRow04 .linkBlock .heading._group span{
	background: url(/recruit/image/icon_group.png) no-repeat left center;
	background-size: 30px auto;
}
#mainRow04 .linkBlock .heading._company span{
	background: url(/recruit/image/icon_company.png) no-repeat left center;
	background-size: 25px auto;
}
#mainRow04 .linkBlock .heading._staff span{
	background: url(/recruit/image/icon_staff.png) no-repeat left center;
	background-size: 28px auto;
}
#mainRow04 .linkBlock .heading._story span{
	background: url(/recruit/image/icon_story.png) no-repeat left center;
	background-size: 26px auto;
}
#mainRow04 .linkBlock .heading span::after {
	content: "";
	position: absolute;
	width: 30px;
	height: 6px;
	right: -45px;
	top: 30%;
	border-bottom: 1px solid #e30934;
	border-right: 1px solid #e30934;
	transform: skew(45deg);
}
#mainRow04 .linkBlock .text{
	font-size: 1rem;
	padding-top: 15px;
	border-top: #dcdcdc 1px solid;
}
@media screen and (max-width: 1000px) {
	#mainRow04 .linkBlock .heading._group span{
		font-size: 2.1vw;
	}
}
@media screen and (max-width: 767px) {
	#mainRow04{
		padding: 40px 0 35px;
	}
	#mainRow04 .linkBlock .link{
		padding: 0;
	}
	#mainRow04 .linkBlockArea{
		flex-direction: column;
	}
	#mainRow04 .linkBlock{
		width: 100%;
		margin-bottom: 25px;
	}
	#mainRow04 .linkBlock:nth-last-child(-n+2){
		margin-bottom: 25px;
	}
	#mainRow04 .linkBlock:last-child{
		margin-bottom: 0;
	}
	#mainRow04 .linkBlock .heading{
		font-size: 1.125rem;
		padding: 20px 5.2% 0;
		box-sizing: border-box;
	}
	#mainRow04 .linkBlock .text{
		padding: 15px 5.2%;
		font-size: 0.8125rem;
	}
	#mainRow04 .linkBlock .heading span{
		padding-left: 40px;
	}
	#mainRow04 .linkBlock .heading._group span{
		background-size: 30px;
		font-size: 1.125rem;
	}
	#mainRow04 .linkBlock .heading._company span,
	#mainRow04 .linkBlock .heading._staff span,
	#mainRow04 .linkBlock .heading._story span{
		background-size: contain;
	}
	#mainRow04 .linkBlock .heading span::after{
		width: 18px;
		height: 3px;
		right: -1.5em;
		top: 35%;
	}
}
@media screen and (max-width: 375px) {
	#mainRow04 .linkBlock .heading,
	#mainRow04 .linkBlock .heading._group span{
		font-size: 4.8vw;
	}
}

/* listRow */
#topPage .listRow .headingBlock{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 15px;
	border-bottom: #dcdcdc 1px solid;
}
#topPage .listRow h2{
	font-size: 1.25rem;
}
#topPage .listRow .headingBlock .link{
	color: #333333;
	position: relative;
	padding-right: 35px;
	font-size: 0.875rem;
}
#topPage .listRow .headingBlock .link:hover{
	text-decoration: none;
	opacity: 0.8;
}
#topPage .listRow .headingBlock .link::after{
    content: "";
    position: absolute;
    width: 28px;
    height: 5px;
    right: 0;
    top: 20%;
    border-bottom: 1px solid #e30934;
    border-right: 1px solid #e30934;
    transform: skew(45deg);
}
#topPage .listRow .list{
  margin-top: 15px;
  border-bottom: 1px #dcdcdc dotted;
  padding-bottom: 1em;
}
#topPage .listRow .list:last-child{
  border: 0;
}
#topPage .listRow .list .date{
	color: #e30934;
	font-size: 0.875rem;
	margin-bottom: 5px;
}
#topPage .listRow .list .text{
	font-size: 1rem;
}
#topPage .listRow .list .textLink{
	color: #333333;
	text-decoration: underline;
}

#topPage .listRow .list .textLink:hover{
	color:#e30934;
}

@media screen and (max-width: 767px) {
	#topPage .listRow h2{
		font-size: 1.125rem;
	}
	#topPage .listRow .headingBlock .link{
		font-size: 0.8125rem;
		padding-right: 2em;
	}
	#topPage .listRow .list .date{
		font-size: 0.75rem;
	}
	#topPage .listRow .list .text{
		font-size: 0.875rem;
	}
	#topPage .listRow .headingBlock .link::after{
		width: 16px;
		height: 3px;
		top: 30%;
	}
}

/* newsRow */
#newsRow.top{
	padding: 85px 0 60px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
	#newsRow.top{
		padding-top: 35px 0 40px;
	}
}

/* eventRow */
#eventRow{
	padding-bottom: 85px;
  background-color: #fff;
}
#eventRow .bnrArea{
	margin-top: 90px;
}
#eventRow .bnrArea .link:hover{
	opacity: 0.8;
}
@media screen and (max-width: 1000px) {
	#eventRow .bnrArea img{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	#eventRow{
		padding-bottom: 50px;
	}
	#eventRow .bnrArea{
		margin-top: 45px;
	}
}



/*-------------------------------------------------------------------------

for News & Event page

-------------------------------------------------------------------------*/
.section #newsRow li,
.section #eventRow li {
	padding:15px;
	background:url(../image/hr_dotline.gif) no-repeat left bottom;
}
.section #newsRow li span,
.section #eventRow li span{
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.section #newsRow li,
	.section #eventRow li {
		padding: 15px 5.3%;
	}
}


/*-------------------------------------------------------------------------

for FAQ page

-------------------------------------------------------------------------*/
#faqRow dl {
	background:url(../image/hr_dotline.gif) no-repeat left top;
}
#faqRow dt {
	padding:10px 0 5px 0;
	color:#ed7100;
	font-weight:bold;
}
#faqRow dd {
	padding:0 0 10px 0;
	background:url(../image/hr_dotline.gif) no-repeat left bottom;
	
}
#faqRow span {
	float:left;
	width:94%;
}
#faqRow .question {
	width:4%;
	text-align:right;
	font-weight:bold;
	margin-right:5px;
}
@media screen and (max-width: 767px) {
	#faqRow span {
		width:88%;
	}
	#faqRow .question {
		width:11%;
		margin-right:1px;
	}
}



/*-------------------------------------------------------------------------

for education page

-------------------------------------------------------------------------*/
#educationFlow {
	width:710px;
	height:712px;
	margin:35px 0 0 0;
	background:#fcf5d9 url(../../education/image/bg_step.gif) no-repeat left top;
}
#educationFlow ul {
	padding:40px 25px;
}
@media screen and (max-width: 767px) {
	#educationFlow {
		
	}
	#educationFlow ul {
		
	}
}



/*-------------------------------------------------------------------------

for flow page

-------------------------------------------------------------------------*/
#entryFlow {
	padding:45px 0 0 50px;
}
#entryFlow ul li {
	padding:0 0 8px 0;
}
#entryFlow ul li.btns{
	margin-top:50px;
}
#entryFlow ul li.btns a {
	margin:0 18px 0 0;
}

@media screen and (max-width: 767px) {
	#entryFlow {
		padding:10px 10px 10px 10px;
	}
	#entryFlow ul li {
		padding:0 0 8px 0;
	}
	#entryFlow ul li.btns{
		margin-top:20px;
	}
	#entryFlow ul li.btns a {
		margin:0 auto 10px;
		width: 80%;
		max-width: 293px;
		display: block;
	}
}


/*-------------------------------------------------------------------------

for message page

-------------------------------------------------------------------------*/
#profileCol {
	background:#fff3c2;
	line-height:1.3;
}




/*-------------------------------------------------------------------------

for message page

-------------------------------------------------------------------------*/
#pointRow {
	margin-top:22px;
}
#pointRow li {
	float: left;
	width: 48%;
	margin: 0 4% 3% 0;
	padding-bottom: 30px;
	background: #fcf5d9;
}
#pointRow li .pointHdr {
	padding:30px 19px 0 19px;
	margin:0;
}
#pointRow li .pointHdr .boxHeading{
	margin-bottom: 5px;
}
#pointRow li .pointTxt {
	padding: 20px 20px 0 20px;
}
@media screen and (max-width: 767px) {
	#pointRow li {
		float:none;
		width:100%;
		margin:0 10px 10px 0;
		padding-bottom:12px;
		background-size: 100%;
		text-align: center;
	}
	#pointRow li .pointHdr {
		padding:10px 5.3%;
		margin:0;
		text-align: left;
	}
	#pointRow li .pointTxt {
		padding:0px 5.3%;
		text-align: left;
	}
}



/*-------------------------------------------------------------------------

for group page

-------------------------------------------------------------------------*/
#groupRow {
	margin:25px 0 0 0;
}
#groupRow ul{
	margin-top: 1em;
}
#groupRow ul li{
	text-indent: -1em;
	margin-left: 1em;
}
#groupCaption {
	font-size:12px;
	line-height:1.4;
	text-align:right;
}
ul#groupCategory {
	height:465px;
	margin:20px 0;
	background:url(../../group/image/icon_arrow.gif) no-repeat center bottom;
}
ul#groupCategory li {
	float:left;
	margin:0 8px 8px 0;
}

ul#groupCategory li:nth-child(3n) {
	margin:0;
}


.groupList {
	width: 710px;
	padding:0 0 5px 0;
	background:#fcf5d9 url(../../group/image/bg_box02.gif) no-repeat left bottom;
}
.groupList table caption {
	padding:20px 15px 15px 15px;
	color:#ed7100;
	font-size:16px;
	font-weight:bold;
	background:url(../../group/image/bg_box01.gif) no-repeat left top;
}
.groupList table th, .groupList table td {
	padding:15px 15px 15px 0;
	font-size:13px;
	font-weight:normal;
	background:url(../../group/image/hr_dotline02.gif) no-repeat left top;
	text-align:left;
	vertical-align:middle;
}
.groupList table td li {
	float:left;
	margin:0 1px 1px 0;
}
.groupList table th a {
	padding-right:18px;
	background:url(/recruit/image/icon_blank_r.png) no-repeat right center;
	background-size: 0.7rem auto;
}
.groupList table th a:link,
.groupList table th a:visited {
	color:#333333;
	text-decoration:underline;
}
.groupList table th a:hover,
.groupList table th a:active {
	color:#333333;
	text-decoration:none;
}
.groupList table .nameCol {
	width:263px;
	padding-left:15px;
}
.groupList table .productCol {
	width:155px;
}
.groupList table .iconCol,
.groupList table ul {
	width:217px;
}

@media (max-width: 960px) {
  .groupList{
    width: 100%;
  }
  table{
  width: 100%;
  }
}

@media (max-width: 767px) {

.groupList table .nameCol th, .groupList table .productCol td {
display: block;
}
}



.disNon {
  display: none;
}

@media screen and (max-width: 960px){
	ul#groupCategory li:nth-child(3n) {
	margin: 0 8px 8px 0;
	}
}

@media screen and (max-width: 960px) {
	ul#groupCategory{
		height: auto;
		padding-bottom: 7%;
	}
	
	#groupCategory img{
		width: 100%;
	}
	ul#groupCategory li ,
	ul#groupCategory li:nth-child(3n) {
	margin: 0 4% 1.5% 0;
	width: 48%;
	}
	
	ul#groupCategory li:nth-child(2n) {
	margin-right: 0;
	}
	
}

@media screen and (max-width: 767px) {
	#groupRow {
		height:auto;
		margin:25px 0 0 0;
	}
	#groupCaption {
		font-size:14px;
	}
	ul#groupCategory {
		height:auto;
		margin:20px auto 0px;
		max-width: 466px;
		padding-bottom: 11%;
		background-size: auto 5%;
		background-position: center bottom 5px;
	}
	ul#groupCategory li {
		float:left;
		width: 48%;
		margin:0 0.5% 0.5% 0.5%;
	}
	
	ul#groupCategory li:nth-child(3n) {
	margin:0 0.5% 0.5% 0.5%;
	}
	
	.groupList table{
		width:100%;
	}
	.groupList table .nameCol {
		width: 100%;
		padding: 10% 3%;
		box-sizing: border-box;
		display: block;
	}
	.groupList table .productCol {
		width: 100%;
		padding: 0px 0px 30px 25px;
		box-sizing: border-box;
		display: block;
		background-image: none;

	}
	.groupList table .iconCol{
		width:40%;
		padding:10px;
		box-sizing: border-box;
	}
	.groupList table ul {
		width:100%;
		box-sizing: border-box;
	}

}


/*-------------------------------------------------------------------------

for stories page

-------------------------------------------------------------------------*/
.leftImgStyle .txtCol,
.rightImgStyle .txtCol {
	float:left;
	width:580px;
}
.leftImgStyle .imgCol {
	float:left;
	width:380px;
}
.rightImgStyle .imgCol {
	float:right;
	width:380px;
	text-align:right;
}
.leftImgStyle .imgCol .caption {
	margin-top:5px;
	font-size:0.9em;
}
.rightImgStyle .imgCol .caption {
	margin-top:5px;
	font-size:0.9em;
	text-align:left;
}

#storiesBottomBtns .btnArea{
	display: flex;
	justify-content: center;
	align-items: center;
}
#storiesBottomBtns li {
	display: table;
	width: 340px;
	margin:0 18px 0 0;
}

#storiesLinkArea {
	margin-top:90px;
	width: 100%;
}
#storiesLinkArea ul {
	margin:10px 0 0 0;
}
#storiesLinkArea .minTtl{
	background: url(/recruit/image/story/icon_hdr_stories.png) no-repeat center left;
	background-size: auto;
	padding-left: 50px;
}
#storiesBottomBtns .btnArea .link{
	position: relative;
	display: table-cell;
	vertical-align: middle;
}

ul#profileBox {
	margin:20px 0 0 0;
}
ul#profileBox li {
	float:left;
	margin:0 20px 50px 0;
	width:460px;
}
ul#profileBox li img {
	float:left;
	margin:0 20px 0 0;
}
ul#profileBox li div {
	float:left;
	width:300px;
}
ul#profileBox li .name {
	font-size:1.15em;
	font-weight:bold;
}
ul#profileBox li .title {
	color:#999999;
}

@media screen and (max-width: 960px) {
  .leftImgStyle .txtCol,
  .rightImgStyle .txtCol {
    width:60%;
  }
  .leftImgStyle .imgCol {
    width:34.5%;
    margin-right: 5%;
  }
  .rightImgStyle .imgCol {
    width:34.5%;
    margin-left: 5%;
  }
}

@media screen and (max-width: 767px) {
	.leftImgStyle .txtCol,
	.rightImgStyle .txtCol {
		float:none;
		width:100%;
	}
	.leftImgStyle .imgCol,
	.rightImgStyle .imgCol {
		float:none;
		width:100%;
		text-align: center;
		margin-bottom: 10px;
    margin-left: 0;
	}
	#storiesLinkArea{
		margin-top: 50px;
	}
	#storiesBottomBtns {
		margin:0 0 0 0;
	}
	#storiesBottomBtns .btnArea{
		flex-direction: column;
	}
	#storiesBottomBtns ul{
		margin: 0 auto;
	}
	#storiesBottomBtns ul li{
		width: 100%;
		margin:0 0 10px;
		float:none;
		
	}
	#storiesLinkArea ul{
		margin: 10px auto 0;
	}
	#storiesLinkArea .minTtl{
		background-size: 34px;
		background-position: top 5px left;
	}
}

/*-------------------------------------------------------------------------

for person page

-------------------------------------------------------------------------*/
#personRow h3 {
	margin:55px 0 12px 0;
}
#personRow h4 {
	margin:85px 0 0 0;
}

@media screen and (max-width: 767px) {
	#personRow .personTextBlock{
		display: flex;
		margin-bottom: 15px;
	}
	#personRow .personTextBlock:first-child{
		margin-top: 30px;
	}
	#personRow .personTextBlock:last-child{
		margin-bottom: 0;
	}
	#personRow .personTextBlock{
		display: flex;
		margin-bottom: 15px;
	}
	#personRow .personTextBlock .img{
		width: 26%;
	}
	#personRow .personTextBlock .textArea{
		padding-left: 10px;
	}
	#personRow .personTextBlock .img_text{
		width: 56%;
	}
	#personRow .personTextBlock .text{
		font-size: 15px;
		color: #941e00;
		line-height: 1.5;
		margin-top: 5px;
	}
	#personRow h3{
		margin-top: 35px;
	}
}

#person_relation,.storyList{
	display: flex;
	flex-wrap: wrap;
	margin-top: 15px;
}
#person_relation li,.storyList li{
	width: 32.5%;
	position: relative;
	margin-bottom: 10px;
	margin-right: 1.25%;
}
#person_relation li:nth-child(3n),
.storyList li:nth-child(3n){
	margin-right: 0;
}
#person_relation li a,.storyList li a{
	color: #ffffff;
	font-size: 14px;
}
#person_relation li a:hover,.storyList li a:hover{
	text-decoration: none;
}
#person_relation li img,.storyList li img{
	width: 100%;
}
#person_relation li .text,
.storyList li .text{
	width: 100%;
	display: flex;
	align-items: center;
	padding: 5% 10% 5% 5%;
	position: absolute;
	background: #d8121f;
	opacity: 0.85;
	left: 0;
	bottom: 0;
	box-sizing: border-box;
	text-align: left;
}
.storyList li .text{
  height: 6.5em;
}
#person_relation li .text::after,
.storyList li .text::after{
  content: '';
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 1px #ffffff;
  border-right: solid 1px #ffffff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0%;
	bottom: 0;
  right: 10px;
	margin: auto;
}
@media screen and (max-width: 960px) {
  #person_relation li .text{
    font-size: 1.5vw;
  }
  .storyList li .text{
    font-size: 1.9vw;
  }
}
@media screen and (max-width: 767px) {
	#person_relation li,.storyList li{
		width: 48%;
		margin-right: 4%;
		margin-bottom: 20px;
	}
	#person_relation li:nth-child(3n),
  .storyList li:nth-child(3n){
		margin-right: 4%;
	}
	#person_relation li:nth-child(even),
  .storyList li:nth-child(even){
		margin-right: 0;
	}
	#person_relation li a,.storyList li a{
		font-size: 12px;
	}
	#person_relation li .text,.storyList li .text{
		padding-right: 15px;
    font-size: 3vw;
	}
	#person_relation li .text::after,
  .storyList li .text::after{
		width: 6px;
		height: 6px;
	}
}

/*-------------------------------------------------------------------------

for archive page

-------------------------------------------------------------------------*/
.archiveMenu {
	background:#fcf5d9;
	padding:10px;
}
.archiveMenu ul {
	padding:10px 0 0 10px;
	background:#ffffff;
}
.archiveMenu ul li {
	float:left;
	margin:0 10px 10px 0;
}
.archiveMenu ul li a {
	display:block;
	height:204px;
	text-indent:-9999px;
	background-position:left top;
	background-repeat:no-repeat;
}
.archiveMenu ul li a:hover {
	background-position:left bottom;
}


/* 2015 --------------------------------------------------------------------*/
.archiveMenu ul.y2015 li.submenu01 a {
	width:223px;
	background-image:url(/recruit/archive/image/btn_stories2015_01.jpg);
}
.archiveMenu ul.y2015 li.submenu02 a {
	width:222px;
	background-image:url(/recruit/archive/image/btn_stories2015_02.jpg);
}
.archiveMenu ul.y2015 li.submenu03 a {
	width:223px;
	background-image:url(/recruit/archive/image/btn_stories2015_03.jpg);
}
.archiveMenu ul.y2015 li.submenu04 a {
	width:222px;
	background-image:url(/recruit/archive/image/btn_stories2015_04.jpg);
}
.archiveMenu ul.y2015 li.submenu05 a {
	width:223px;
	background-image:url(/recruit/archive/image/btn_stories2015_05.jpg);
}
.archiveMenu ul.y2015 li.submenu06 a {
	width:455px;
	background-image:url(/recruit/archive/image/btn_stories2015_06.jpg);
}
.archiveMenu ul.y2015 li.submenu07 a {
	width:455px;
	background-image:url(/recruit/archive/image/btn_stories2015_07.jpg);
}

/* shigoto zukan --------------------------------------------------------*/

#map {
	position: relative;
	padding-bottom: 5%;
}
.mapBtn {
	position: absolute;
	width: 74px;
	height: 74px;
}
.mapBtn a {
	display: block;
	width: 74px;
	height: 74px;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: left top;
}
.mapBtn a:hover {
	background-position: left bottom;
}
#mapBtn01 {
	top: 137px;
	left: 269px;
}
#mapBtn01 a {
	background-image:url(/recruit/story/image/btn_breeding.jpg);
}
#mapBtn02 {
	top: 227px;
	left: 424px;
}
#mapBtn02 a {
	background-image:url(/recruit/story/image/btn_research.jpg);
}
#mapBtn03 {
	top: 115px;
	left: 652px;
}
#mapBtn03 a {
	background-image:url(/recruit/story/image/btn_logistics.jpg);
}
#mapBtn04 {
	top: 115px;
	left: 729px;
}
#mapBtn04 a {
	background-image:url(/recruit/story/image/btn_eigyo.jpg);
}
#mapBtn05 {
	top: 468px;
	left: 347px;
}
#mapBtn05 a {
	background-image:url(/recruit/story/image/btn_planning.jpg);
}
#mapBtn06 {
	top: 468px;
	left: 424px;
}
#mapBtn06 a {
	background-image:url(/recruit/story/image/btn_eigyo02.jpg);
}
#mapBtn07 {
	top: 535px;
	left: 608px;
}
#mapBtn07 a {
	background-image:url(/recruit/story/image/btn_quality.jpg);
}
#mapBtn08 {
	top: 535px;
	left: 685px;
}
#mapBtn08 a {
	background-image:url(/recruit/story/image/btn_products.jpg);
}
ul.storyList li {
	float: left;
	margin: 30px 1.2% 0 0;
}

#map .sectionInner{
    float: left;
    padding-bottom: 0.8%;
    padding-right: 17px;
    background: url(/recruit/image/icon_pc.png) no-repeat;
    background-position: right center;
    background-size: 7% auto;
}
@media screen and (max-width: 767px) {
	#map .sectionInner{
			padding-bottom: 2.5%;
			background-size: 6% auto;
	}
}
@media screen and (max-width: 767px) {
	ul.storyList li {
		width: 47%;
		margin: 5% 5% 0 0;
	}
	ul.storyList li:nth-child(even) {
		margin-right: 0;
	}
}

/* internship
-------------------------------------------------------------------------*/
#internsipHdr {
	position: relative;
	margin-bottom: 60px;
}
#internsipHdr .baseImg {
	position: relative;
	width: 100%;
	height: 450px;
	margin: 0 -500%;
	padding: 0 500%;
}
#internsipHdr .inner {
	position: absolute;
	left: 50%;
	top: 0;
	width: 1920px;
	margin-left: -960px;
}
#internsipHdr img {
	position: absolute;
	top: 0;
	left: 0;
}
.internsipCaption {
	color: #e60012;
}


.eventRow {
	padding: 0 0 5px 0;
}
.eventRow h3 {
	margin: 30px 0;
	color: #000000;
	font-size: 20px;
}
.eventRow .detail {
	float: left;
	width: 620px;
	margin: 0 20px 0 0;
	padding: 0 0 30px 0;
	color: #000000;
}
.eventRow .img {
	float: right;
	width: 320px;
}
.eventRow .detail dl {
	width: 100%;
	padding-bottom: 10px;
}
.eventRow .detail dt {
	float: left;
	display: block;
	width: 122px;
	margin: 0 20px 0 0;
	padding: 0 8px 0 0;
	color: #ffffff;
	line-height: 20px;
	text-align: center;
	background:url(../image/bg_shdr.gif) no-repeat 0 0;
	clear: left;
}
.eventRow .detail dd {
	float: left;
	display: block;
	width: 470px;
	padding: 0 0 8px 0;
}
.eventRow .detail dd ol {
	margin-left: 20px;
}
.eventRow .detail dd ol li {
	list-style-type: decimal;
}
.eventRow .entryBtn {
	text-align: center;
}
.eventRow .entryBtn a {
	display: block;
	width: 350px;
	margin: auto;
	padding: 8px 25px;
	color: #ffffff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	background:url(../image/bg_btn_internship.gif) no-repeat 0 0;
}
.eventRow .entryBtn a span {
	font-size: 14px;
}
.eventRow .entryBtn a:hover {
	text-decoration: none;
}
#internsipContact {
	padding-top: 35px;
}
#internsipContact h3 {
	margin: 0 0 10px 0;
	padding: 5px 0 0 0;
	color: #000000;
	font-size: 20px;
}
#internsipContact .iconTel {
	margin: 0 0 10px 0;
	padding: 0 0 0 40px;
	line-height: 24px;
	background:url(../image/icon_tel.gif) no-repeat 0 0;
}
#internsipContact .iconMail {
	margin: 0 0 10px 0;
	padding: 0 0 0 40px;
	line-height: 24px;
	background:url(../image/icon_mail.gif) no-repeat 0 0;
}
#internsipContact a {
	color: #333333;
	text-decoration: underline;
}
#internsipContact a:hover {
	color: #333333;
	text-decoration: none;
}

/* vision
-------------------------------------------------------------------------*/
#visionRow .mainHeading{
	margin-top: 30px;
}

/* philosophy
-------------------------------------------------------------------------*/
#philosophy .philosophyBox{
	position: relative;
}
#philosophy .philosophyCont{
	border: #c7c7c7 1px solid;
	padding: 5.3% 5.3% 0;
	margin-top: 30px;
	box-sizing: border-box;
	background: #ffffff;
  position: relative;
}
#philosophy .philosophyBox:before, #philosophy .philosophyCont:before
{
  z-index: -10;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width:300px;
  background: #777;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
#philosophy .philosophyCont:before
{
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}
#philosophy .philosophyTtl{
	font-family: 'Yu Mincho', 'YuMincho', 'Noto Serif JP', serif;
	font-size: 1.75rem;
	font-weight: bold;
	color: #212121;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 30px;
}
#philosophy .philosophyList{
	margin-bottom: 50px;
}
#philosophy .philosophyList li{
	font-family: 'Yu Mincho', 'YuMincho', 'Noto Serif JP', serif;
	font-weight: bold;
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 15px;
	margin-left: 1.7em;
	text-indent: -1.7em;
	letter-spacing: -2px;
}

@media screen and (max-width: 767px) {
	#philosophy .philosophyCont{
		padding-top: 25px;
	}
	#philosophy .philosophyTtl{
		font-size: 1.5rem;
		margin-bottom: 20px;
	}
	#philosophy .philosophyList{
		margin-bottom: 30px;
	}
}

/*-----------------------------------------------------------------------*/
/*@media print{
html * { _overflow:visible !important;}
body { _zoom:0.7 !important; }
body * { _zoom:1 !important; }
}*/

.margin_b20 {margin-bottom:20px !important;}


@media screen and (max-width: 767px) {

#mainVisual,#mainVisual #mainImg,#releaseArea #newsRow, #releaseArea #eventRow,
.newsCover,.newsCover .viewport,#releaseArea .newsCover ul,.newsCover .viewport,
.newsCover .viewport{width: 100%;}

}