/* CSS Document */


#mv {
	text-align: center;
}
#mv .block1 {
	position:relative;
}
#mv .block1 h1 {
	font-size: 30px;
	width:100%;
	color:#fff;
	position: absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
	padding: 0 1em;
}

#mv .block2 {
	display:flex;
	justify-content: space-between;
	margin-top: 1px;
	color:#fff;
}
#mv .block2 > *:nth-child(n+2) {
	margin-left: 1px;
}

#mv .block2 > * {
	position:relative;
}
#mv .block2 > * .tit {
	position: absolute;
	bottom:1em;
	left:0;
	width:100%;
	padding: 0 1.5em;
	line-height: 1.3;
}
#mv .block2 a {
	background: #000;
}
#mv .block2 a figure {
	opacity: 0.5;
	transition: opacity 0.3s linear;
}
#mv .block2 a.current figure,
#mv .block2 a:hover figure {
	opacity: 1;
}
#mv .block2 a i.arrow {
	background: #fff;
}
#mv .block2 a i.arrow::after {
	background: #fff;
}

#mv .note {
	margin: 1.5em 0;
	color:#888;
}

@media(max-width:768px) {
	#mv .block1 h1 {
		font-size: 5.9vw;
	}
	#mv .block2 > * .tit {
		font-size: 2.6vw;
		padding: 0 0.5em;
	}
	#mv .block2 > *:last-child .tit {
		bottom:0.5em;
	}
}

@media(min-width:561px) {
	body.large #mv .block1 h1 {font-size: 38px;}
	body.large #mv .block2 .tit {font-size: 20px;}
	
	body.small #mv .block1 h1 {font-size: 26px;}
	body.small #mv .block2 .tit {font-size: 14px;}
}


#contents .mcInner .heading02 {
	text-align: center;
	font-size: 18px;
	padding: 1em 1em;
	position: relative;
	color:inherit;
	margin-bottom: 2em;
	line-height: 1.4;
}
#contents .mcInner .heading02:not(:first-child) {
	margin-top: 4em;
}
#contents .mcInner .heading02::after {
	content:"";
	display:block;
	width:1em;
	height:0.5em;
	background: inherit;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	z-index: 1;
	position:absolute;
	left:50%;
	bottom:0;
	transform:translate(-50%, 100%);
}

#contents .mcInner .heading02 span {
	display:block;
	font-size: 72%;
	font-weight: normal;
	margin-top: 0.5em;
}

@media(max-width:768px) {
	#contents .mcInner .heading02 {
		font-size: 4.7vw;
	}
	#contents .mcInner .heading02 span {
		font-size: 3.4vw;
	}
}

#contents .mcInner .heading03 {
	font-size: 18px;
	background: #1353bb;
	color:#fff;
	padding: 0.7em 2em;
	position: relative;
	margin-bottom: 0.5em;
}
#contents .mcInner .heading03::before,
#contents .mcInner .heading03::after {
	content:"";
	display:block;
	background: #fff;
	position: absolute;
}
#contents .mcInner .heading03::before {
	width:100%;
	height:1px;
	bottom:0.5em;
	left:0;
}
#contents .mcInner .heading03::after {
	width:1px;
	height:100%;
	left:0.5em;
	top:0;
}

@media(max-width:768px) {
	#contents .mcInner .heading03 {
		font-size: 4.7vw;
		padding-left: 1em;
	}
}

#contents .mcInner .sec {
	padding-bottom: 80px;
}
#contents .mcInner .sec.bg_gray {
	padding: 50px 0;
}

#contents .mcInner #mv + .sec:not(.bg_gray) {
	margin-top: 2em;
}

#contents .mcInner .constBox {
	max-width:1000px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

@media(max-width:768px) {
	#contents .mcInner .constBox {
		padding-left: 4vw;
		padding-right: 4vw;
	}
}

#contents .mcInner .constBox > *:not(:first-child) {
	margin-top: 2em;
}

#contents .mcInner .tbl01 {
	width:100%;
	margin: 1.5em 0;
	border-collapse: collapse;
}
#contents .mcInner .tbl01 + .tbl01 {
	margin-top: 4em;
}
#contents .mcInner .tbl01 tr > * {
	border-top:1px solid #919191;
	padding: 1em;
	text-align: left;
}
#contents .mcInner .tbl01 tr:last-child > * {
	border-bottom:1px solid #919191;
}
#contents .mcInner .tbl01 th {
	border-right:1px dotted #919191;
}

@media(max-width:768px) {
	#contents .mcInner .tbl01 {word-break: break-all;}
}

.ginoFeature {
	border:4px solid #1353bb;
	margin-left: auto;
	margin-right: auto;
	max-width:700px;
	font-size: 14px;
}
.ginoFeature > .tit {
	text-align: center;
	color:#fff;
	font-size: 18px;
	background: #1353bb;
	padding: 0.7em 1em;
}
.ginoFeature .inner {
	padding: 1.5em;
}
.ginoFeature strong {
	color:#e64a19;
}

@media(max-width:768px) {
	.ginoFeature {
		font-size: 3.6vw;
	}
	.ginoFeature > .tit {
		font-size: 4.7vw;
	}
}

#contents .mcInner .jobList li {
	background: linear-gradient(135deg, rgba(255,255,255,1) 0%,rgba(234,250,255,1) 100%);
}
#contents .mcInner .jobList li div {
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	height:100%;
}
#contents .mcInner .jobList li div p {
	padding: 1em;
	position: relative;
	align-self: center;
}
#contents .mcInner .jobList li div p span {
	display: block;
	font-size: 13px;
	font-weight: normal;
}
#contents .mcInner .jobList li div p::after {
	content:"";
	display:block;
	width:0.5em;
	height:1.5em;
	background: #fff;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
	z-index: 1;
	position:absolute;
	left:0;
	top:50%;
	transform:translate(-100%, -50%);
}

@media(min-width:769px) {
	#contents .mcInner .jobList li div figure {
		position: relative;
		padding-top: 50%;
	}
	#contents .mcInner .jobList li div figure img {
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		object-fit: cover;
	}
}

@media(min-width:561px) {
	#contents .mcInner .jobList {
		border-top:1px solid #e0e0e0;
	}
	#contents .mcInner .jobList li {
		border-bottom:1px solid #e0e0e0;
		border-left:1px solid #e0e0e0;
	}
	#contents .mcInner .jobList li:nth-child(2n),
	#contents .mcInner .jobList li:last-child {
		border-right:1px solid #e0e0e0;
	}
}

@media(max-width:768px) {
	#contents .mcInner .jobList li div p::after {
		width:1.5em;
		height:0.5em;
		clip-path: polygon(50% 0, 100% 100%, 0% 100%);
		left:50%;
		top:0;
		transform:translate(-50%, -100%);
	}
}

@media(max-width:560px) {
	#contents .mcInner .jobList li {
		border-top:1px solid #e0e0e0;
		border-left:1px solid #e0e0e0;
		border-right:1px solid #e0e0e0;
	}
	#contents .mcInner .jobList li:last-child {
		border-bottom:1px solid #e0e0e0;
	}
	#contents .mcInner .jobList li div {
		font-size: 4.2vw;
	}
	#contents .mcInner .jobList li div p span {
		font-size: 3.4vw;
	}
}


#registration .tArea {
	margin-top: 4em;
	align-items: flex-start;
}

#registration .tArea > div:last-child {
	padding:10px;
	background: #fff;
}

#registration .desc {
	border:2px solid #023365;
	background: #fff;
	position: relative;
	padding:2em 2em 2em;
}

#registration .desc + .desc {
	margin-top: 4em;
}
#registration .desc .head {
	font-size: 16px;
	text-align: center;
	color:#fff;
	background: #023365;
	padding: 0.5em 2.5em;
	font-weight: normal;
	position: absolute;
	top:0;
	left:50%;
	transform:translate(-50%, -50%);
	white-space: nowrap;
	margin: 0 !important;
}

#registration .desc .tit {
	font-size: 16px;
}
#registration .desc .tit:nth-of-type(n+2) {
	margin-top: 1em;
}

@media(max-width:768px) {
	#registration .desc .head {
		padding-left:1em;
		padding-right:1em;
		position: static;
		transform:none;
		border:none;
		margin-bottom:1em !important;;
	}

	#registration .desc {
		padding:0 0 2em;
	}
	#registration .desc > *:nth-child(n+2) {
		margin-left:2em;
		margin-right:2em;
	}
}


@media screen and (-ms-high-contrast: none) {
	#contents .mcInner .jobList li div p::after {
		width:1.5em;
		transform:translate(-40%, -50%) rotate(45deg);
	}
	#contents .mcInner .jobList li div p span {
		position: relative;
		z-index: 2;
	}
}

@media screen and (-ms-high-contrast: none) {
	#mv .block2 {
		display:table;
		border-collapse: collapse;
		table-layout: fixed;
		width:100%;
	}
	#mv .block2 > * {
		display:table-cell;
	}
	
	#mv .block2 a i.arrow::after {
		background: none;
		border-color:#fff;
	}
}

@media screen and (-ms-high-contrast: none) {
	#contents .mcInner .heading02::after {
		height:1em;
		transform:translate(-50%, 50%) rotate(45deg);
	}
}
