@charset "UTF-8";

/* ------------------------------------------------
                    Recruit
--------------------------------------------------- */

/*---------- 共通パーツ ----------*/
.sec-ttl-en {
	margin-bottom: 40px;
	font-size: 7.4rem;
	line-height: 1;
}
.ttl-en-block {
	display: inline-block;
}
@media (max-width: 768px) {
	.sec-ttl-en {
		margin-bottom: 8vw;
		font-size: 12.8vw;
	}
    
}


/*---------- What we do ----------*/
.sec-wwd {
	width: 100%;
	padding: 100px 0;
	position: relative;
	background: url("../../img/recruit/bg_wwd.jpg") center center no-repeat;
	background-size: cover;
}
.sec-wwd .cont-inn {
	justify-content: space-between;
	align-items: center;
}

.wwd-txt-wrap {
	width: 45%;
}
.wwd-copy {
	margin-bottom: 40px;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2;
}
.wwd-txt {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2;
}

.wwd-img {
	width: 50%;
}
@media (max-width: 768px) {
	.sec-wwd {
		width: 100%;
		padding: 12vw 0;
	}
	.sec-wwd .cont-inn {
		justify-content: space-between;
		align-items: center;
	}

	.wwd-txt-wrap {
		width: 100%;
	}
	.wwd-copy {
		margin-bottom: 8vw;
		font-size: 4.8vw;
	}
	.wwd-txt {
		font-size: 3.8vw;
	}

	.wwd-img {
		width: 100%;
		margin-top: 5vw;
	}
    
}


/*---------- Message ----------*/
.sec-message {
	width: 100%;
	padding: 100px 0;
	position: relative;
	background: #f7f7f7;
}
.sec-message .cont-inn {
	justify-content: space-between;
	align-items: center;
}

.message-ttl-wrap {
	width: 42%;
}
.message-ttl-wrap .sec-ttl-en {
	margin-bottom: 100px;
} 
.message-ttl-wrap img {
	width: 90%;
	max-width: 422px;
	margin-right: auto;
}

.message-cont-wrap {
	width: 58%;
}
.message-copy {
	margin-bottom: 40px;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.6;
}
.message-check-txt {
	width: 100%;
	margin-bottom: 15px;
	padding: 0 0 5px 32px;
	background: url("../../img/recruit/icon_check.svg") top 5px left no-repeat;
	background-size: 20px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.message-txt {
	margin-top: 40px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2;
}

@media (max-width: 768px) {
	.sec-message {
		width: 100%;
		padding: 12vw 0;
	}
	.sec-message .cont-inn {
		justify-content: space-between;
		align-items: center;
	}

	.message-ttl-wrap {
		width: 100%;
	}
	.message-ttl-wrap .sec-ttl-en {
		margin-bottom: 10vw;
	} 
	.message-ttl-wrap img {
		width: 100%;
		max-width: initial;
		margin: 0 auto 8vw;
	}

	.message-cont-wrap {
		width: 100%;
	}
	.message-copy {
		margin-bottom: 8vw;
		font-size: 4.2vw;
	}
	.message-check-txt {
		width: 100%;
		margin-bottom: 3vw;
		padding: 0 0 1vw 6vw;
		background: url("../../img/recruit/icon_check.svg") top 1.2vw left no-repeat;
		background-size: 4vw;
		font-size: 3.8vw;
	}

	.message-txt {
		margin-top: 8vw;
		font-size: 3.4vw;
	}
    
}


/*---------- Support ----------*/
.sec-support {
	width: 100%;
	padding: 100px 0;
	position: relative;
	background: url("../../img/recruit/bg_support.jpg") center bottom no-repeat;
	background-size: cover;
}
.support-ttl-wrap {
	width: 100%;
	align-items: center;
}
.support-ttl-wrap .sec-ttl-en {
	margin-bottom: 0;
}
.support-ttl-wrap .sec-sub-ttl {
	width: calc(100% - 370px);
	margin-left: auto;
	padding: 10px 30px;
	border-radius: 40px;
	background: #141d1d;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
}
.support-cont-wrap {
	width: calc(100% - 370px);
	margin: 80px 0 0 auto;
}

/* table */
.support-info {
	width: 100%;
}
.support-info th {
	width: 160px;
	padding: 30px 0 30px 10px;
	border-top: 1px solid #80a398;
	color: #80a398;
	text-align: left;
	font-weight: 700;
	vertical-align: middle;
}
.support-info td {
	width: calc(100% - 160px);
	padding: 30px;
	border-top: 1px solid #dadada;
	text-align: left;
	font-weight: 700;
}
.support-info tr:last-child th {
	border-bottom: 1px solid #80a398;
}
.support-info tr:last-child td {
	border-bottom: 1px solid #dadada;
}

/* table cont */
.support-info-ttl {
	display: inline-block;
	margin-bottom: 10px;
	padding: 7px 20px;
	border-radius: 40px;
	background: #80a398;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}
.support-info-ttl ~ .support-info-ttl {
	margin-top: 25px;
}
.support-info-txt {
	line-height: 2;
}
.support-info-note {
	font-size: 1.3rem;
	line-height: 2;
	text-indent: -1em;
	padding-left: 1em;
}

@media (max-width: 768px) {
	.sec-support {
		width: 100%;
		padding: 12vw 0;
	}
	.support-ttl-wrap {
		width: 100%;
		align-items: center;
	}
	.support-ttl-wrap .sec-ttl-en {
		margin-bottom: 6vw;
	}
	.support-ttl-wrap .sec-sub-ttl {
		width: 100%;
		margin-left: auto;
		padding: 2vw 6vw;
		border-radius: 8vw;
		font-size: 4.2vw;
	}
	.support-cont-wrap {
		width: 100%;
		margin: 8vw 0 0 auto;
	}

	/* table */
	.support-info {
		width: 100%;
	}
	.support-info tr {
		display: flex;
		flex-wrap: wrap;
	}
	.support-info th {
		width: 100%;
		padding: 5vw 3vw;
		display: block;
		color: #80a398;
	}
	.support-info td {
		width: 100%;
		padding: 5vw 3vw;
		display: block;
	}
	.support-info tr:last-child th {
		border-bottom: none;
	}
	.support-info tr:last-child td {
		border-bottom: 1px solid #dadada;
	}

	/* table cont */
	.support-info-ttl {
		display: inline-block;
		margin-bottom: 2vw;
		padding: 1vw 4vw;
		border-radius: 8vw;
	}
	.support-info-ttl ~ .support-info-ttl {
		margin-top: 5vw;
	}
	.support-info-note {
		font-size: 3.2vw;
	}
    
}


/*---------- Position ----------*/
.sec-position {
	width: 100%;
	padding: 0 0 100px;
	position: relative;
}
.position-ttl-wrap {
	width: 100%;
	align-items: center;
}
.position-ttl-wrap .sec-ttl-en {
	margin-bottom: 0;
}
.position-ttl-wrap .sec-sub-ttl {
	width: calc(100% - 350px);
	margin-left: auto;
	padding: 10px 30px;
	border-radius: 40px;
	background: #141d1d;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
}

.position-box-wrap {
	width: 100%;
}

.position-box {
	width: 100%;
	padding: 20px;
	margin-top: 80px;
	justify-content: space-between;
	align-items: stretch;
	border: 2px solid #004831;
	border-radius: 40px;
}
.position-box-ttl-wrap {
	width: 250px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f7f7f7;
	border-radius: 30px;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2;
}

/* table */
.position-box-info{
    width: calc(100% - 330px);
	padding: 20px 20px 20px 0;
}
.position-info {
	width: 100%;
}
.position-info th {
	width: 160px;
	padding: 30px 0 30px 10px;
	border-top: 1px solid #004831;
	color: #004831;
	text-align: left;
	font-weight: 700;
	vertical-align: middle;
}
.position-info td {
	width: calc(100% - 160px);
	padding: 30px;
	border-top: 1px solid #dadada;
	text-align: left;
	font-weight: 700;
}
.position-info tr:last-child th {
	border-bottom: 1px solid #004831;
}
.position-info tr:last-child td {
	border-bottom: 1px solid #dadada;
}

/* anchor */
a.position-contact-btn{
    display: block;
    width: 140px;
    margin: 20px 0 0 auto;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    padding: 6px 20px;
    background: #141d1d;
    border-radius: 100px;
    position: relative;
}
 a.position-contact-btn::after{
    content: '';
    width: 12px;
    height: 12px;
    display: block;
    background: url(../../img/common/icon_arrow_w.svg) center center no-repeat;
    background-size: 6px auto;
    transform:rotate(90deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 10px;
    z-index: 2;
    transition: 0.3s ease-in-out;
}

/* table cont */
.position-info-ttl {
	display: inline-block;
	margin-bottom: 10px;
	padding: 7px 20px;
	border-radius: 40px;
	background: #004831;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}
.position-info-ttl ~ .position-info-ttl {
	margin-top: 25px;
}
.position-info-txt {
	line-height: 2;
}
.position-info-list li {
	margin-bottom: 5px;
	text-indent: -1em;
	padding-left: 1em;
}
.position-info-note {
	font-size: 1.3rem;
	line-height: 2;
}


@media (max-width: 768px) {
	.sec-position {
		width: 100%;
		padding: 0 0 12vw;
	}
	.position-ttl-wrap {
		width: 100%;
		align-items: center;
	}
	.position-ttl-wrap .sec-ttl-en {
		margin-bottom: 6vw;
	}
	.position-ttl-wrap .sec-sub-ttl {
		width: 100%;
		margin-left: auto;
		padding: 2vw 6vw;
		border-radius: 8vw;
		font-size: 4.2vw;
	}

	.position-box-wrap {
		width: 100%;
	}

	.position-box {
		width: 100%;
		margin-top: 10vw;
		padding: 3vw 3vw 5vw;
		justify-content: space-between;
		align-items: stretch;
		border-radius: 6vw;
	}
	.position-box-ttl-wrap {
		width: 100%;
		margin-bottom: 4vw;
		padding: 4vw;
		border-radius: 4vw;
		text-align: center;
		font-size: 4.0vw;
	}

	/* table */
    .position-box-info{
        width: 100%;
		padding: 0;
    }
    .position-info {
		width: 100%;
	}
	.position-info tr {
		display: flex;
		flex-wrap: wrap;
	}
	.position-info th {
		width: 100%;
		padding: 5vw 3vw;
		display: block;
	}
	.position-info td {
		width: 100%;
		padding: 5vw 3vw;
		display: block;
	}
	.position-info tr:last-child th {
		border-bottom: none;
	}
	.position-info tr:last-child td {
		border-bottom: 1px solid #dadada;
	}
    
    /* anchor */
    a.position-contact-btn{
        width: 40%;
        margin: 5% 0 0 auto;
        font-size: 3.2vw;
        padding: 1% 5%;
    }
    a.position-contact-btn::after{
        content: '';
        width: 3vw;
        height: 3vw;
        display: block;
        background: url(../../img/common/icon_arrow_w.svg) center center no-repeat;
        background-size: 1.5vw auto;
        position: absolute;
        top: calc(50% - 6px);
        right: 3vw;
    }
	

	/* table cont */
	.position-info-ttl {
		display: inline-block;
		margin-bottom: 2vw;
		padding: 1vw 4vw;
		border-radius: 8vw;
	}
	.position-info-ttl ~ .position-info-ttl {
		margin-top: 5vw;
	}
	.position-info-list li {
		margin-bottom: 1vw;
	}
	.position-info-note {
		font-size: 3.2vw;
	}
    
}


/*---------- Contact ----------*/
.sec-contact-form {
	width: 100%;
	padding: 0 0 100px;
	position: relative;
}
.contact-form-ttl-wrap {
	width: 370px;
}
.contact-form-wrap {
	width: calc(100% - 370px);
	position: relative;
}
.contact-form-box {
	width: 100%;
	/* aspect-ratio: 9 / 16;
	padding-top: 2200px; */
	position: relative;
}
@media (max-width: 900px) {
	.contact-form-ttl-wrap {
		width: 100%;
	}
	.contact-form-wrap {
		width: 100%;
	}
}
@media (max-width: 768px) {
	.sec-contact-form {
		width: 100%;
		padding: 0 0 12vw;
	}
	.sec-contact-form .cont-inn {
		width: 100%;
		padding: 0 10px;
	}
	.contact-form-ttl-wrap {
		width: calc(90% + 20px);
		margin: 0 auto;
	}
	.contact-form-wrap {
		width: 100%;
		position: relative;
	}
    
}