@charset "utf-8";


/* -----------------------------
	-area
-------------------------------- */
.contents{
	background: var(--recruitlightgreen);
}

#wrapper{
	overflow: clip;
}
.subpage-header{
	position: relative;
}

.subpage-header::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 700px;
	top: 0;
	right: 0;
	background: url("../img/recruit-bg.jpg") no-repeat top center / cover;
}
.subpage-header__inner .en{
	text-shadow: none;
	color: #fff;
}
.subpage-header__inner .jp{
	color: #fff;
	text-shadow: none;
}
.subpage-header__inner .jp::before{
	color: #fff;
}

.subpage-header .svg-container{
	z-index: 1;
	opacity: 1;
}

@media screen and (max-width: 768px){
	.subpage-header::before{
		height: 380px;
	}
	.subpage-header__inner .en{
		text-shadow: 1px 1px 0px #4ebda0, -1px 1px 0px #4ebda0, 1px -1px 0px #4ebda0, -1px -1px 0px #4ebda0, 1px 0px 0px #4ebda0, 0px 1px 0px #4ebda0, -1px 0px 0px #4ebda0, 0px -1px 0px #4ebda0;
	}
}

/* -----------------------------
	intro-area
-------------------------------- */
.intro-area {
	padding: 0 0 100px;	
	position: relative;
}
.intro-area::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 135px;
	top: 30px;
	right: 0;
	background: url("../img/recruit-curve-bottom.png") no-repeat top center / cover;
}
.intro-area .txt-area{
	position: relative;
	margin: -30px 0 0;
	z-index: 1;
}
.intro-area .catch-l{
	padding: 30px 0 0;
}
.intro-area .basic-txt{
	padding: 30px 0 0;
	width: 750px;
}
@media screen and (max-width: 768px){
	.intro-area {
		position: relative;
		margin: 50px 0 0;
		padding: 0 0 50px;
	}
	.intro-area::before{
		height: 34px;
		top: 12px;
	}
	.intro-area .catch-l{
		padding: 20px 0 0;
	}
	.intro-area .basic-txt{
		padding: 20px 0 0;
		width: 100%;
	}
}

/* -----------------------------
	message-area
-------------------------------- */
.message-area{
	margin: 100px 0 0;
}
.message-area .inner{
	display: flex;
	gap: 50px;
	/*flex-direction: row-reverse;*/
}
.message-area .inner{
	display: flex;
	align-items: center;
	gap: 60px;
	/*flex-direction: row-reverse;*/
}
.message-area .img{
	width: 450px;
	height: 400px;
	object-fit: cover;
}
.message-area .txt-area{
	width: calc((100% - 450px) - 60px);
}
.message-area .catch-m{
	padding: 30px 0 0;
}
.message-area .basic-txt{
	padding: 20px 0 0;
}
.message-area .btn-more{
	margin: 40px auto 0;
}
.message-area img{
	width: 180px;
	object-fit: cover;
}
@media screen and (max-width: 768px){
	.message-area{
		margin: 50px 0 0;
	}
	.message-area .inner{
		display: block
	}
	.message-area .img{
		width: 100%;
		height: 200px;
	}
	.message-area .txt-area{
		width: 100%;
		padding: 20px 0 0;
	}
	.message-area .catch-m{
		padding: 20px 0 0;
	}
	.message-area .basic-txt{
		padding: 10px 0 0;
	}
	.message-area .btn-more{
		margin: 20px auto 0;
		display: table;
	}
	/*.message-area img{
		position: absolute;
		right: 20px;
		width: 120px;
	}*/
}

/* -----------------------------
	com-feature-area
-------------------------------- */

.com-feature-area .inner .txt-area{
	width: 480px;
	color: #333;
}
.com-feature-area .inner .txt-area .catch-m{
	padding: 30px 0 0;
}
.com-feature-area .inner .txt-area .basic-txt{
	padding: 30px 0 0;
}
.com-feature-area .inner .com-feature-block{
	margin: -360px 0 0 auto;
}
.com-feature-block ul li .title-box {
	margin: -120px 0 0;
}

.com-feature-area .btn-more{
	display: table;
	margin: 70px auto 0;
}

.com-feature-block ul li .basic-txt{
	color: #333;
}

.com-feature-area ul li img{
	height: 300px;
	/*margin: 0 100px 0 auto;*/
	margin: 0 0 0 auto;
	display: block;
}

@media screen and (max-width: 768px){
	.com-feature-area .inner .txt-area{
		width: 100%;
	}
	.com-feature-area .inner .txt-area .catch-m{
		padding: 30px 0 0;
	}
	.com-feature-area .inner .txt-area .basic-txt{
		padding: 30px 0 0;
	}
	.com-feature-area .inner .com-feature-block{
		margin: 30px 0 0;
	}
	.com-feature-block ul li .title {
		font-size: 2rem;
	}
	.com-feature-area .btn-more{
		display: table;
		margin: 40px auto 0;
	}
	.com-feature-area ul li img{
		height: 150px;
	}
	
	.com-feature-block ul li .title-box {
		margin: -80px 0 0;
	}
	
}



/* -----------------------------
	occupation-area
-------------------------------- */
.occupation-area{
	background: var(--recruitlightgreen);
	padding: 50px 0 50px;
	position: relative;
}
.occupation-area .inner{
	position: relative;
}


.occupation-area .block{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.occupation-area .block:nth-child(2){
	flex-direction: row-reverse;
	margin: 90px 0 0;
}
.occupation-area .block .txt-box{
	padding: 30px 0 0;
	margin: 0 0 0 50px;
	width: 600px;
	position: relative;
}
.occupation-area .block .txt-box::before{
	content: '';
	position: absolute;
	width: 180px;
	height: 286px;
	top: 0;
	right: 0;
	background: url("../img/occupation-img.png") no-repeat top center / contain;
}
.occupation-area .occupation02.block .txt-box::before{
	content: '';
	position: absolute;
	width: 180px;
	height: 286px;
	top: 0;
	right: -30px;
	background: url("../img/occupation-img02.png") no-repeat top center / contain;
}
.occupation-area .block:nth-child(2) .txt-box{
	margin: 0 50px 0 0;
}
.occupation-area .block .title{
	font-size: 5rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.occupation-area .block .catch-m{
	padding: 30px 0 0;
}
.occupation-area .block .basic-txt{
	padding: 30px 0 0;
}
.occupation-area .block .img{
	margin-left: calc(55% - 50vw);
	position: relative;
}

.occupation-area .block:nth-child(2) .img{
	margin-right: calc(55% - 50vw);
}
.occupation-area .block .subtitle{
	margin: 30px 0 0;
	color: var(--recruitgreen);
}
.occupation-area .block ul{
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin: 5px 0 0;
}
.occupation-area .block ul li{
	width: 100px;
	text-align: center;
	line-height: 1.4;
	font-size: 1.4rem;
	width: calc((100% / 3) - 5px);
	background: #fff;
	color: var(--recruitgreen);
	padding: 10px;
	border: solid 2px var(--recruitgreen);
	font-weight: bold;
}
.occupation-area .block .btn-more{
	margin: 50px 0 0;
}

.recruit-link-list{
	display: flex;
	justify-content: space-between;
	margin: 140px 0 0;
}
.recruit-link-list li{
	width: calc((100% / 2) - 10px);
	border: solid 1px #333;
}
.recruit-link-list li a{
	display: flex;
	align-items: center;
	background: #fff;
	position: relative;
}
.recruit-link-list li a::before{
	    position: absolute;
    content: '\f0a9';
    right: 30px;
    font-weight: 900;
    font-family: var(--webicon);
    font-size: 3rem;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	color: var(--recruitgreen);
	transition: .3s all;
}
.recruit-link-list li a:hover::before{
	right: 15px;
}
.recruit-link-list li a .title{
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.46;
}
.recruit-link-list li a img{
	margin: 0 36px 0 0;
}

@media screen and (max-width: 1600px){
	.occupation-area .block .img{
		margin-left: calc(40% - 50vw);
		position: relative;
	}

	.occupation-area .block:nth-child(2) .img{
		margin-right: calc(40% - 50vw);
	}
}

@media screen and (max-width: 768px){
	.occupation-area{
		padding: 0 0 50px;
	}
	
	.occupation-area .message-banner{
		width: 100%;
		height: 95px;
		position: inherit;
    	top: 0;
	}
	.occupation-area .message-banner::before{
	}
	.occupation-area .message-banner a{
		width: 100%;
		height: 95px;
	}
	.occupation-area .message-banner a::before{
		font-size: 1.6rem;
	}
	.occupation-area .message-banner a .title{
		font-size: 1.9rem;
	}
	.occupation-area .message-banner a img{
		width: 67px;
		height: 67px;
		margin: 0;
	}
	
	.occupation-area .block{
		position: relative;
		margin: 50px 0 0;
		display: block;
	}
	.occupation-area .block:nth-child(2){
		margin: 30px 0 0;
	}
	.occupation-area .block .txt-box{
		width: 100%;
		margin: 0;
		padding: 10px 0 0;
	}
	.occupation-area .block:nth-child(2) .txt-box{
		margin: 0;
	}
	
	.occupation-area .block .txt-box::before{
		content: '';
		position: absolute;
		width: 80px;
		height: 286px;
		top: -50px;
		right: 0;
		background: url("../img/occupation-img.png") no-repeat top center / contain;
	}
	.occupation-area .occupation02.block .txt-box::before{
		content: '';
		position: absolute;
		width: 80px;
		height: 286px;
		top:-50px;
		right: 0;
		background: url("../img/occupation-img02.png") no-repeat top center / contain;
	}
	
	.occupation-area .block .title{
		font-size: 2.6rem;
        margin: -50px 0 0;
       background: var(--recruitlightgreen);
        display: block;
        width: 110px;
        padding: 15px 20px 15px 0;
	}
	.occupation-area .block:nth-child(2) .title{
		width: 250px;
	}
	.occupation-area .block .catch-m{
		padding: 10px 0 0;
	}
	.occupation-area .block .basic-txt{
		padding: 20px 0 0;
	}
	.occupation-area .block .img{
		width: 100%;
		height: 220px;
		position: inherit;
		right: 0;
		top: 0;
		object-fit: cover;
		margin: 0;
	}
	.occupation-area .block:nth-child(2) .img{
	}
	.occupation-area .block .subtitle{
		margin: 20px 0 0;
	}
	.occupation-area .block ul{
	}
	.occupation-area .block ul li{
		width: 49%;
	}
	.occupation-area .block ul li:nth-child(n + 3){
	}
	.occupation-area .block .btn-more{
		display: table;
		margin: 30px auto 0;
	}

	.recruit-link-list{
		display: block;
		margin: 50px 0 0;
	}
	.recruit-link-list li{
		width: 100%;
	}
	.recruit-link-list li:nth-child(2){
		margin: 20px 0 0;
	}
	.recruit-link-list li a{
	}
	.recruit-link-list li a::before{
		font-size: 1.6rem;
		right: 10px;
	}
	.recruit-link-list li a .title{
		font-size: 2rem;
	}
	.recruit-link-list li a img{
		width: 115px;
		height: 108px;
		margin: 0 20px 0 0;
	}
}


/* -----------------------------
	faq-area
-------------------------------- */
.faq-area{
	padding: 100px 0 150px;
}
@media screen and (max-width: 768px){
	.faq-area{
		padding: 50px 0;
	}
}

/* -------------------------------------------------------------
    news-area   標準仕様
-------------------------------------------------------------- */
.ninews-area {
	padding: 80px 0 100px 0;
}

.ninews-area .ninews-inner {
	gap: 20px;
	justify-content: space-between;
	display: flex;
}

.ninews-area .ninews-head {
	width: 145px;
}

.ninews-area .ninews-head-link {
	color: var(--cmnblack);
	gap: 15px;
	font-size: 1.6rem;
	padding: 0 0 0 0;
	margin: 25px 0 0;
	display: flex;
}

.ninews-area .ninews-head-link:hover {
	/*background: var(--link);
	border-color: var(--link);
	color: #fff;*/
	color: var(--main);
}

.ninews-area .ninews-head-link::after {
	content: "\f105";
	font: 900 1.6rem/1 var(--webicon);
	padding: 0 0 0;
}

.ninews-area .ninews-list {
	width: calc(100% - 240px - 20px);
}

.ninews-area .ninews-list .ninews-item:nth-child(n+4) {
display: none;
}

.ninews-area .ninews-date {
	color: var(--gray);
	font: 500 1.5rem /1 var(--en);
	letter-spacing: .05em;
}

.ninews-cate-wrap .ninews-cate{
}
.ninews-area .ninews-cate-wrap .ninews-cate:nth-child(n+3) {
	display: none;
}

.ninews-area .ninews-title {
	color: var(--cmnblack);
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: .07em;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	.ninews-area {
		padding:40px 0 50px;
	}
	.ninews-area .ninews-inner{
		display: block;
	}
	.ninews-area .ninews-head {
		margin: 0 0 30px;
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	.ninews-area .ninews-head-link {
		font-size: 1.4rem;
		margin: 0;
		gap: 5px;
		padding: 8px 14px 10px;
	}

	.ninews-area .ninews-list {
		width: 100%;
	}

	.ninews-area .ninews-date {
		font-size: 1.3rem;
	}

	.ninews-area .ninews-title {
		font-size: 1.5rem;
	}
	.ninews-cate-wrap .ninews-cate{
	}
}

/* -------------------------------------------------------------
    news-area   ninews-no-thumb サムネイルなし
-------------------------------------------------------------- */
.ninews-no-thumb .ninews-title::before {
	content: "\f105";
	color: var(--link);
	font: 900 1.4rem/1 var(--webicon);
	right: 7px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	position: absolute;
	transition: .3s all;
}

.ninews-no-thumb .ninews-item a {
	border-bottom: 1px solid var(--border2);
	gap: 20px;
	padding: 30px 0 30px 10px;
	display: flex;
	position: relative;
}

.ninews-no-thumb .ninews-item a::before {
	background: var(--link);
	bottom: -1px;
	content: "";
	width: 0;
	height: 1px;
	position: absolute;
	left: 0;
	transition: .5s;
}

.ninews-no-thumb .ninews-item a:hover::before {
	width: 100%;
	transition: .5s;
}

.ninews-no-thumb .ninews-title {
	padding: 0 35px 0 0;
	text-overflow: ellipsis;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
	flex: 1;
}

.ninews-no-thumb .ninews-item a:hover .ninews-title::before {
	right: 0;
}

.ninews-no-thumb .ninews-date {
	width: 100px;
}

.ninews-no-thumb .ninews-elements {
	gap: 20px;
	display: flex;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.ninews-no-thumb .ninews-item:not(:last-child) {
		margin-bottom: 18px;
	}

	.ninews-no-thumb .ninews-item a {
		padding: 0 0 18px;
		display: block;
	}

	.ninews-no-thumb .ninews-elements {
		gap: 10px;
	}

	.ninews-no-thumb .ninews-title {
		margin: 8px 0 0 0;
		padding: 0 18px 0 0;
	}

	.ninews-area .ninews-title::before {
		font-size: 1.3rem;
		top: 53%;
	}
}

/* -------------------------------------------------------------
    news-area   ninews-have-thumb サムネイルあり
-------------------------------------------------------------- */
.ninews-have-thumb.ninews-list {
	gap: 20px;
}

.ninews-have-thumb .ninews-item {
	width: calc((100% - 20px) / 2);
}

.ninews-have-thumb .ninews-item a {
	gap: 20px;
}

.ninews-thumb__img {
	width: 240px;
	height: 180px;
}

.ninews-thumb__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .5s;
}

.ninews-have-thumb a:hover img {
	transform: scale(1.15);
}

.ninews-thumb__elements {
	gap: 10px;
	width: calc(100% - 240px - 20px);
}

.ninews-have-thumb .ninews-title {
	-webkit-line-clamp: 2;
	max-height: 50px;
}

.ninews-have-thumb .ninews-elements {
	gap: 12px;
}

@media screen and (max-width: 768px) {
	.ninews-have-thumb .ninews-item {
		width: 100%;
	}

	.ninews-have-thumb .ninews-item a {
		gap: 15px;
	}

	.ninews-thumb__img {
		width: 45%;
		height: auto;
		aspect-ratio: 3/2;
	}

	.ninews-thumb__elements {
		gap: 5px;
		width: calc(45% - 15px);
	}

	.ninews-have-thumb .ninews-elements {
		gap: 8px 10px;
	}
}

/* -----------------------------
	link-area
-------------------------------- */
.link-area{
	padding: 0 0 0;
}
.link-area a{
	
	color: #fff;
	display: block;
	padding: 30px 50px;
	background: var(--recruitgreen);
	position: relative;
}
.link-area a .title{
	font-size: 3rem;
	font-weight: bold;
}
.link-area a::before{
position: absolute;
    content: '\f0a9';
    right: 30px;
    font-weight: 900;
    font-family: var(--webicon);
    font-size: 3rem;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    color: #fff;
    transition: .3s all;
}
.link-area a:hover{
	
}
.link-area a:hover::before{
	right: 15px;
}
@media screen and (max-width: 768px){
	.link-area{
		padding: 0;
	}
	.link-area a{
		padding: 20px;
	}
	.link-area a .title{
		font-size: 2rem;
	}
	.link-area a::before{
		font-size: 2rem;
	}
	.link-area a:hover{

	}
	.link-area a:hover::before{
right: 20px;	
	}
}

/* -----------------------------
	-area
-------------------------------- */
.recruit-link-list{
	display: flex;
	justify-content: space-between;
	margin: 50px 0 0;
	padding: 0 0 100px;
}
.recruit-link-list li{
	width: calc((100% / 2) - 10px);
	border: solid 1px #333;
	position: relative;
	top: 0;
	transition: .3s all;
}
.recruit-link-list li:hover{
	position: relative;
	top: -10px;
	transition: .3s all;
}

.recruit-link-list li a{
	display: flex;
	align-items: center;
	background: #fff;
	position: relative;
}
.recruit-link-list li a::before{
	    position: absolute;
    content: '\f0a9';
    right: 30px;
    font-weight: 900;
    font-family: var(--webicon);
    font-size: 3rem;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	color: var(--recruitgreen);
	transition: .3s all;
}
.recruit-link-list li a:hover::before{
	right: 15px;
}
.recruit-link-list li a .title{
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.46;
}
.recruit-link-list li a img{
	margin: 0 36px 0 0;
}
@media screen and (max-width: 768px){
	.recruit-link-list{
		display: block;
		margin: 20px 0 0;
		padding: 0 0 50px;
	}
	.recruit-link-list li{
		width: 100%;
	}
	.recruit-link-list li{
	}
	.recruit-link-list li:hover{
		top: 0;
	}
	.recruit-link-list li:nth-child(2){
		margin: 20px 0 0;
	}
	.recruit-link-list li a{
	}
	.recruit-link-list li a::before{
		font-size: 1.6rem;
		right: 10px;
	}
	.recruit-link-list li a .title{
		font-size: 2rem;
	}
	.recruit-link-list li a img{
		width: 115px;
		height: 108px;
		margin: 0 20px 0 0;
		object-fit: cover;
	}
}
