@charset "utf-8";

@media screen and (max-width: 768px){
	html{
		background-color: #000;
	}
	.breadcrumb{
		width: 100%;
		padding: 0 3vw 0 3vw;
	}
	.breadcrumb .inner-content{
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
	}
	.breadcrumb .inner-content ul{
		width: 100%;
		font-size: 0;
		list-style: none;
	}
	.breadcrumb .inner-content ul li{
		display: inline-block;
		font-size: 3vw;
		line-height: 1.4em;
		padding: 0 3vw 0 0;
		margin: 0 1vw 0 0;
		position: relative;
		color: #fff;
  		font-family: "Noto Sans JP";
		font-weight: 300;
	}
	.breadcrumb .inner-content ul li:first-of-type{
		padding-left: 0;
	}
	.breadcrumb .inner-content ul li::after{
		display: block;
		content: "";
		background: #fff;
		width: 1.4vw;
		height: calc(tan(60deg) * 2vw / 2);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	.breadcrumb .inner-content ul li:last-of-type::after{
		display: none;
	}
	.breadcrumb .inner-content ul li a{
		font-size: 3vw;
		color: #fff;
  		font-family: "Noto Sans JP";
		font-weight: 300;
	}
	.wrap-header{
		width: 100%;
		padding: 0 7vw 0 7vw;
        margin: 5vw 0 0 0;
		position: relative;
		text-align: center;
		z-index: 40;
	}
	.wrap-header .inner-content{
		width: 100%;
		display: block;
		border-radius: 20px;
		overflow: hidden;
		padding: 3.2vw 0 3.2vw 0;
		text-align: left;
	}
	.wrap-header .inner-content h2{
		font-size: 9vw;
		line-height: 1.4em;
		color: #fff;
	}
	.wrap-header .inner-content h3{
		font-size: 3.4vw;
		margin: 1.4vw 0 0 0;
		padding: 0 0 0 0.3em;
		color: #fff;
	}
	.wrap-recruit-about{
		width: 100%;
		padding: 7vw 7vw 7vw 7vw;
        margin: 0 0 9vw 0;
		background-color: #3c3c3c;
		position: relative;
		z-index: 40;
	}
	.wrap-recruit-about .inner-content{
		width: 100%;
		display: block;
	}
	.wrap-recruit-about .inner-content .left{
		width: 100%;
		padding: 0;
		text-align: center;
	}
	.wrap-recruit-about .inner-content .left h4{
		font-size: 5.8vw;
		line-height: 1.4em;
		margin: 0 0 6vw 0;
		text-align: left;
		color: #fff;
	}
	.wrap-recruit-about .inner-content .left p{
		font-size: 3.4vw;
		line-height: 1.9em;
		margin: 4vw 0 0 0;
		text-align: left;
		color: #fff;
	}
	.wrap-recruit-about .inner-content .frame{
		width: 100%;
		border-radius: 20px;
		overflow: hidden;
		position: relative;
	}
	.wrap-recruit-about .inner-content .frame img{
		width: 100%;
		vertical-align: bottom;
		position: relative;
		z-index: 10;
	}
	.wrap-recruit-detail{
		width: 100%;
		padding: 0 7vw 10vw 7vw;
        margin: 0 0 0 0;
		position: relative;
	}
	.wrap-recruit-detail .inner-content{
		width: 100%;
		background-color: #3c3c3c;
		border-radius: 20px;
		padding: 6vw 5vw 5vw 5vw;
		margin: 5vw 0 0 0;
	}
	.wrap-recruit-detail .inner-content:first-of-type{
		margin-top: 0;
	}
	.wrap-recruit-detail .inner-content .content{
		width: 100%;
	}
	.wrap-recruit-detail .inner-content .left{
		width: 100%;
		margin: 0 0 2vw 0;
	}
	.wrap-recruit-detail .inner-content .left .ttl{
		width: 100%;
		padding: 0 0 0 0;
		position: relative;
		display: table;
		table-layout: fixed;
	}
	.wrap-recruit-detail .inner-content .left .ttl .ttl-txt{
        display: table-cell;
        color: #787878;
        font-size: 9.5vw;
        text-align: center;
        line-height: 0.7em;
        top: 1vw;
        left: 0;
        width: 12vw;
	}
	.wrap-recruit-detail .inner-content .left .ttl .ttl-txt span{
		display: block;
		color: #787878;
		font-size: 2.9vw;
		position: relative;
		left: 0.1vw;
        text-align: center;
	}
	.wrap-recruit-detail .inner-content .left .ttl h5{
        font-size: 4.6vw;
        line-height: 1.4em;
        transition: color 0.2s;
        color: #fff;
        padding: 0 0 0 3vw;
		vertical-align: middle;
        display: table-cell;
	}
	.wrap-recruit-detail .inner-content .left p{
		width: 100%;
		font-size: 3.4vw;
		padding: 3.4vw 0 3.8vw 0;
		line-height: 1.9em;
		color: #fff;
	}
	.wrap-recruit-detail .inner-content .left p span{
		display: block;
		width: 100%;
		font-size: 3.0vw;
		margin: 2vw 0 0 0;
		line-height: 1.9em;
		color: #fff;
	}
	.wrap-recruit-detail .inner-content .frame{
		width: 100%;
		border-radius: 20px;
		overflow: hidden;
		position: relative;
	}
	.wrap-recruit-detail .inner-content .frame img{
		width: 100%;
		vertical-align: bottom;
		position: relative;
		z-index: 10;
	}
	.wrap-recruit-link{
		width: 100%;
		padding: 0 7vw 5vw 7vw;
        margin: 0 0 0 0;
		position: relative;
	}
	.wrap-recruit-link .inner-content{
		width: 100%;
	}
	.wrap-recruit-link .inner-content ul{
		width: 100%;
		list-style: none;
	}
	.wrap-recruit-link .inner-content ul li{
		display: block;
		width: 100%;
		position: relative;
		border-radius: 10px;
		margin: 8vw 0 0 0;
	}
	.wrap-recruit-link .inner-content ul li:nth-child(1){
		margin-top: 0;
	}
	.wrap-recruit-link .inner-content ul li a{
		display: block;
		width: 100%;
		position: relative;
		border-radius: 10px;
		overflow: hidden;
	}
	.wrap-recruit-link .inner-content ul li a::after{
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		background-color: #000;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		z-index: 15;
		transition: opacity 0.2s;
	}
	.wrap-recruit-link .inner-content ul li a:hover::after{
		opacity: 0.4;
	}
	.wrap-recruit-link .inner-content ul li a > span{
		width: 90%;
		position: absolute;
		bottom: 4vw;
		left: 50%;
		background-color: #fff;
		border-radius: 10px;
		padding: 3vw 0 3vw 4vw;
		z-index: 20;
		transition: background-color 0.2s;
		transform: translateX(-50%);
	}
	.wrap-recruit-link .inner-content ul li a > span *{
		position: relative;
		z-index: 10;
	}
	.wrap-recruit-link .inner-content ul li a > span h4{
		font-size: 5vw;
		line-height: 1.4em;
	}
	.wrap-recruit-link .inner-content ul li a > span h4 br{
		line-height: 1.0em;
	}
	.wrap-recruit-link .inner-content ul li a > span p{
		font-size: 3.4vw;
		margin: 2vw 0 0 0;
	}
	.wrap-recruit-link .inner-content ul li a > span span{
		display: block;
		width: 100%;
		font-size: 3.6vw;
		position: relative;
		padding: 0;
		margin: 2vw 0 0 0;
		color: #000;
	}
	.wrap-recruit-link .inner-content ul li a > span span::after{
		content: " ";
		display: block;
		width: 3.2vw;
		height: 3.6vw;
        position: absolute;
        top: 50%;
		right: 4vw;
		transform: translateY(-50%);
		background: url(/common/img/link.png) no-repeat center center;
		background-size: 100% auto;
	}
	.wrap-recruit-link .inner-content ul li a:hover > span::after{
		color: #fff;
	}
	.wrap-recruit-link .inner-content ul li a:hover > span{
		background-color: #ececec;
	}
	.wrap-recruit-link .inner-content ul li img{
		width: 100%;
	}
	.wrap-recruit-link .inner-content ul li.no05 a > span p{
		letter-spacing: -0.5px;
	}
}

@media screen and (min-width: 769px){
	html{
		background-color: #000;
	}
	.breadcrumb{
		width: 100%;
		padding: 0 3vw 0 3vw;
	}
	.breadcrumb .inner-content{
		width: 100%;
	}
	.breadcrumb .inner-content ul{
		width: 100%;
		font-size: 0;
		list-style: none;
	}
	.breadcrumb .inner-content ul li{
		display: inline-block;
		font-size: max(1.0vw, 12px);
		line-height: 1.4em;
		padding: 0 max(1.2vw, 20px) 0 0;
		margin: 0 max(0.4vw, 10px) 0 0;
		position: relative;
		color: #fff;
  		font-family: "Noto Sans JP";
		font-weight: 300;
	}
	.breadcrumb .inner-content ul li:first-of-type{
		padding-left: 0;
	}
	.breadcrumb .inner-content ul li::after{
		display: block;
		content: "";
		background: #fff;
		width: 0.6vw;
    	height: calc(tan(60deg) * 0.8vw / 2);
		min-width: 6px;
		min-height: calc(tan(60deg) * 10px / 2);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-54%);
	}
	.breadcrumb .inner-content ul li:last-of-type::after{
		display: none;
	}
	.breadcrumb .inner-content ul li a{
		font-size: max(1.0vw, 12px);
		color: #fff;
  		font-family: "Noto Sans JP";
		font-weight: 300;
	}
	.wrap-header{
		width: 100%;
		padding: 0 7vw 0 7vw;
        margin: 3vw 0 0 0;
		position: relative;
		text-align: center;
	}
	.wrap-header .inner-content{
		width: 100%;
		display: block;
		overflow: hidden;
		padding: 3.2vw;
		text-align: left;
	}
	.wrap-header .inner-content h2{
		font-size: 5vw;
		line-height: 1.0em;
		color: #fff;
	}
	.wrap-header .inner-content p{
		font-size: max(1.4vw, 14px);
		margin: 1.4vw 0 0 0;
		padding: 0 0 0 0.3em;
		color: #fff;
	}
	.wrap-recruit-about{
		width: 100%;
		padding: 3vw 7vw 3vw 7vw;
        margin: 0 0 4vw 0;
		background-color: #3c3c3c;
		position: relative;
		z-index: 40;
	}
	.wrap-recruit-about .inner-content{
		width: 100%;
		display: flex;
	}
	.wrap-recruit-about .inner-content .left{
		width: 100%;
		padding: 0 0 0 5vw;
	}
	.wrap-recruit-about .inner-content .left img{
		width: 36%;
		float: right;
		margin: 0 0 0 4vw;
		border-radius: 20px;
	}
	.wrap-recruit-about .inner-content .left h4{
		font-size: 3vw;
		line-height: 1.3em;
		color: #fff;
	}
	.wrap-recruit-about .inner-content .left p{
		width: 58%;
		font-size: max(1vw, 14px);
		margin: 2vw 0 0 0;
		line-height: 1.9em;
		color: #fff;
	}
	.wrap-recruit-detail{
		width: 100%;
		padding: 0 7vw 5vw 7vw;
        margin: 0 0 0 0;
		position: relative;
	}
	.wrap-recruit-detail .inner-content{
		width: 100%;
		background-color: #3c3c3c;
		border-radius: 20px;
		padding: 2vw 5vw 2vw 7vw;
		display: flex;
		margin: 1.2vw 0 0 0;
	}
	.wrap-recruit-detail .inner-content:first-of-type{
		margin-top: 0;
	}
	.wrap-recruit-detail .inner-content .content{
		width: 100%;
	}
	.wrap-recruit-detail .inner-content .left{
		width: 100%;
		margin: 0 0 2vw 0;
	}
	.wrap-recruit-detail .inner-content .left img{
		width: 36%;
		float: right;
		margin: 0 0 0 4vw;
		border-radius: 20px;
	}
	.wrap-recruit-detail .inner-content .left .ttl{
		width: 58%;
		padding: 2vw 0 0 2vw;
		position: relative;
	}
	.wrap-recruit-detail .inner-content .left .ttl .ttl-txt{
        display: inline-block;
        color: #787878;
        font-size: 3.5vw;
        text-align: center;
        line-height: 0.7em;
		position: absolute;
		top: 1vw;
		left: -1em;
	}
	.wrap-recruit-detail .inner-content .left .ttl .ttl-txt span{
        display: block;
        color: #787878;
        font-size: 1.1vw;
        position: relative;
        left: 0.1vw;
	}
	.wrap-recruit-detail .inner-content .left .ttl h5{
		font-size: max(2.0vw, 18px);
		line-height: 1.4em;
		transition: color 0.2s;
		color: #fff;
	}
	.wrap-recruit-detail .inner-content .left p{
		width: 58%;
		font-size: max(1vw, 14px);
		padding: 2.6vw 0 0 2vw;
		line-height: 1.9em;
		color: #fff;
	}
	.wrap-recruit-detail .inner-content .left p span{
		display: block;
		width: 100%;
		font-size: max(0.9vw, 12px);
		margin: 1vw 0 0 0;
		line-height: 1.9em;
		color: #fff;
	}
	.wrap-recruit-link{
		width: 100%;
		padding: 0 7vw 5vw 7vw;
        margin: 0 0 0 0;
		position: relative;
	}
	.wrap-recruit-link .inner-content{
		width: 100%;
	}
	.wrap-recruit-link .inner-content ul{
		width: 100%;
		list-style: none;
	}
	.wrap-recruit-link .inner-content ul li{
		display: block;
		width: 100%;
		position: relative;
		margin: 0;
		text-align: right;
	}
	.wrap-recruit-link .inner-content ul li.no01 a{
        display: inline-block;
        width: 34vw;
        background: url(../img/wrap-recruit-link-01.jpg) no-repeat center right;
        background-size: cover;
        text-align: left;
	}
	.wrap-recruit-link .inner-content ul li a{
		display: block;
		width: 100%;
		border-radius: 10px;
		overflow: hidden;
		position: relative;
	}
	.wrap-recruit-link .inner-content ul li a::after{
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		background-color: #000;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		z-index: 15;
		transition: opacity 0.2s;
	}
	.wrap-recruit-link .inner-content ul li a:hover::after{
		opacity: 0.4;
	}
	.wrap-recruit-link .inner-content ul li a > span{
		display: block;
		width: 52%;
		background-color: #fff;
		color: #000;
		position: relative;
		z-index: 20;
		border-radius: 10px;
		padding: 1vw 1vw 6vw 1vw;
		margin: 1vw 0 1vw 1vw;
		transition: background-color 0.2s;
	}
	.wrap-recruit-link .inner-content ul li a > span *{
		position: relative;
		z-index: 10;
	}
	.wrap-recruit-link .inner-content ul li a > span h4{
		font-size: max(1.4vw, 16px);
		line-height: 1.4em;
	}
	.wrap-recruit-link .inner-content ul li a > span h4 br{
		line-height: 1.0em;
	}
	.wrap-recruit-link .inner-content ul li a > span p{
		font-size: max(1vw, 14px);
		margin: 1.2vw 0 0 0;
	}
	.wrap-recruit-link .inner-content ul li a > span span{
		width: 100%;
		font-size: max(1vw, 14px);
		position: absolute;
		bottom: 1vw;
		left: 0;
		padding: 0 0 0 1vw;
		color: #000;
	}
	.wrap-recruit-link .inner-content ul li a > span span::after{
		content: " ";
		display: block;
		width: 1.0vw;
		height: 1.2vw;
        position: absolute;
        top: 50%;
		right: 1vw;
		transform: translateY(-50%);
		background: url(/common/img/link.png) no-repeat center center;
		background-size: 100% auto;
	}
	.wrap-recruit-link .inner-content ul li a:hover > span::after{
		color: #fff;
	}
	.wrap-recruit-link .inner-content ul li a:hover > span{
		background-color: #ececec;
	}
}