@charset "UTF-8";
/*============================
  header
============================*/
#header {
    height: 170px;
    background: url(/recruit/fresh/assets/img/bg_header.jpg);
    position:relative;
}
#header h1 {
    margin: 0.48em 0 0 0;
    font-size: 2.1em;
    letter-spacing: 0.11em;
}
/*============================
#contents__index
============================*/
#index #header h1 {
	margin-top: 2.1em;
}
#contents__index .nav-contents {
	padding: 95px 0 159px;
}
.flex {
	display: flex;
	justify-content: center;
}
#contents__index .nav-contents li {
	float: left;
	margin: 0 60px 0;
	opacity: 0;
}
/* #contents__index .nav-contents li:first-child {
	margin-left: 170px;
} */
#contents__index .nav-contents li a {
	background: #fff;
	width: 260px;
	height: 260px;
	display: block;
	text-align: center;
	position: relative;
}
#contents__index .nav-contents li h2 {
	position: absolute;
	bottom: 50%;
	width: 100%;
	left: 0;
	font-size: 1.3125em;
	padding: 0 0 15px;
}
#contents__index .nav-contents li h2:after {
	content: "";
	width: 20.4%;
	height: 2px;
	background: #d12333;
	display: block;
	margin: 0 0 -1px -12%;
	position: absolute;
	bottom: 0;
	left: 50%;
}
#contents__index .nav-contents p {
	font-size: 0.75em;
	position: absolute;
	top: 50%;
	width: 100%;
	left: 0;
	padding: 8.8% 0 0 0;
	letter-spacing: 0.06em;
	font-weight: 700;
	line-height: 1.523;
}
/*============================
#contents__profile
============================*/

#contents__profile {
    padding: 42px 0 0;
}
#contents__profile .inner {
    max-width: 804px;
}
#contents__profile h2 {
    border-bottom: #ca0114 0.11em solid;
    font-size: 1.73em;
    letter-spacing: 0.2em;
    margin-bottom: 20px;
    padding-bottom: 15px;
}
#contents__profile dl {
    font-size: 0.8571em;
    font-weight: 300;
    border-bottom: #ccc 1px solid;
    padding-bottom: 27px;
}
#contents__profile dt,
#contents__profile dd {
    padding: 17px 0 18px 4px;
    border-top: #ccc 1px solid;
    display: inline-block;
    vertical-align: top;
    line-height: 2.1;
}
#contents__profile dt {
    width: 185px;
    margin-right: 14px;
}
#contents__profile dd {
    width: 592px;
    padding-left: 8px;
    font-weight: 200;
}
#contents__profile ul {} #contents__profile li {} #contents__profile a {} #contents__profile h4 {} #contents__profile .blank {
    transition: opacity 150ms;
    color: #ca0114;
    margin-left: 1em;
    letter-spacing: 0.02em;
}
#contents__profile .blank:after {
    display: inline-block;
    content: '';
    width: 11px;
    height: 11px;
    margin-left: 0.5em;
    margin-bottom: -1px;
    background: url(/recruit/fresh/assets/img/link_blank.png);
}
#contents__profile .blank:hover {
    opacity: 0.6;
}
footer {
    border-top: #ccc 1px solid;
}
/*============================
#contents__links
============================*/

#contents__links {
    text-align: center;
    margin: 66px 0 69px;
}
#contents__links ul {} #contents__links li {
    position: relative;
    width: 300px;
    height: 75px;
    background: url(/recruit/fresh/assets/img/banner_top.jpg);
    display: inline-block;
    margin-right: 33px;
}
#contents__links li.company {
    background: url(/recruit/fresh/assets/img/banner_numerically.jpg);
    margin-right: 0;
}
#contents__links a {
    color: #fff;
    line-height: 77px;
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    transition: background 150ms;
}
#contents__links a:hover {
    background: rgba(255, 255, 255, 0.2);
}
#contents__links h4 {
    font-size: 1.2em;
    letter-spacing: 0.2em;
}
#contents__links li.company h4 {
    letter-spacing: 0.1em;
}
#contents__links .inner {} 

@media screen and (max-width: 880px) {
    #contents__profile .inner {
        max-width: 93%;
    }
    #contents__profile dt {
        width: 23%;
        margin-right: 1.7%;
    }
    #contents__profile dd {
        width: 73.5%;
    }
}
@media screen and (min-width: 769px) {
	#contents__profile dt:first-of-type,
	#contents__profile dd:first-of-type {
		border-top: none;
	}
}
@media screen and (max-width: 767px) {
	/*============================
	  header
	============================*/
	#header {
    height: 32.5vw;
	background: url(/recruit/fresh/assets/img/bg_header_sp.jpg);
	background-size: cover;
	}
	#header h1 {
		margin: 0.93em 0 0 0;
		text-align: center;
		font-size: 1.35em;
		letter-spacing: 0.11em;
	}
	/*============================
	#contents__index
	============================*/
	#index #header h1 {
	margin-top: 1.1em;
	}
	#contents__index .nav-contents {
	padding: 7.3% 0 0;
	padding-bottom: 12.8%;
	}
	.flex {
	padding: 12.3% 0 0 !important;
	padding-bottom: 22% !important;
	}
	#contents__index .nav-contents li {
	width: 65.843%;
	height: 0;
	padding: 0 0 65.843%;
	margin: 0 0 12.3% 17.1%  /*!important*/;
	}
	.bottom {
	margin: 0 !important;
	}
	#contents__index .nav-contents li:first-child {
	/* margin: 0; */
	}
	#contents__index .nav-contents li a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	}
	#contents__index .nav-contents li h2 {
	font-size: 1.153em;
	padding: 0 0 5.6% 0;
	}
	#contents__index .nav-contents li h2:after {
	margin: 0 0 0 -10.4%;
	}
	#contents__index .nav-contents p {
	font-size: 0.734em;
	padding-top: 7.3%;
	}
	/*============================
	#contents__profile
	============================*/
	#contents__profile {
		padding: 5.6% 0 21px;
	}
	#contents__profile .inner {
		max-width: 86.3%;
	}
	#contents__profile h2 {
		font-size: 1.33em;
		letter-spacing: 0.2em;
		margin-bottom: 1.1em;
		padding-bottom: 0.25em;
	}
	#contents__profile dl {
		font-size: 1em;
		padding-bottom: 0;
		border-bottom: none;
	}
	#contents__profile dt,
	#contents__profile dd {
		padding: 0.3em 0;
		line-height: 1.7;
	}
	#contents__profile dt {
		width: 100%;
		margin-right: 14px;
		border-top: none;
	}
	#contents__profile dd {
		width: 100%;
		padding-left: 0;
		padding-top: 0.45em;
		font-weight: 300;
		font-size: 0.93em;
		margin-bottom: 0.9em;
	}
	#contents__profile dd.establish p {
		text-indent: -5.77em;
		padding-left: 5.77em;
	}
	#contents__profile dd.office p {
		text-indent: -7.5em;
		padding-left: 7.5em;
	}
	#contents__profile dd.office p span{
		width: 6.5em;
		display:inline-block;
		text-indent: 0;
	}
	#contents__profile dd.office p span.head{
		letter-spacing:2em;
	}
	#contents__profile .blank {
		margin-left: 0;
		letter-spacing: 0.02em;
	}
	#contents__profile .blank:after {
		width: 1em;
		height: 1em;
		margin-left: 0.5em;
		background: url(/recruit/fresh/assets/img/link_blank.png) no-repeat;
		background-size: cover;
	}
	#contents__profile .blank:hover {
		opacity: 0.6;
	}
	footer {
		border-top: #ccc 1px solid;
	}
	/*============================
	#contents__links
	============================*/

	#contents__links {
		margin: 5% 0;
		padding-bottom: 7%;
	}
	#contents__links li {
		width: 74.2%;
		height: 15.8vw;
		margin-right: 0;
		background-size: cover !important;
		margin-bottom: 0.8em;
	}
	#contents__links a {
		line-height: 4em;
		transition: background 150ms;
	}
	#contents__links h4 {
		font-size: 1em;
		letter-spacing: 0.2em;
	}
	#contents__links li.company h4 {
		letter-spacing: 0.1em;
	}
}