@charset "UTF-8";

/*----------------------------------------------------
	☆PC
----------------------------------------------------*/

.chara {
    opacity: 0;
}

#recruit .chara {
	width: 42.2%;
}

#recruit .chara_01 {
    width: 31.6%;
    top: 18%;
    left: auto;
    right: -9%;
}

#recruit .chara_02 {
    top: -36%;
    left: -23%;
}

#recruit .chara_03 {
    top: -8%;
    left: auto;
    right: -21%;
}

#recruit .chara_04 {
    top: -74%;
    left: -28%;
    z-index: 1;
}

#internship .chara_01 {
    width: 25.3%;
    top: -104%;
    left: auto;
    right: 4%;
}

#internship .chara_02 {
    width: 25.3%;
    top: auto;
    bottom: -74%;
    left: 4%;
}

#internship .overview .fukidashi {
    width: 33%;
    top: -206%;
    left: auto;
    right: -17%;
}

#internship .chara_03 {
    width: 25.3%;
    top: auto;
    bottom: -78%;
    left: auto;
    right: 4%;
    z-index: 1;
}

#internship .chara_04 {
    width: 25.3%;
    top: -84%;
    left: 12%;
}

#welfare .chara_01 {
    width: 32%;
    top: -17%;
    left: -2%;
    z-index: 1;
}

#welfare .chara_02 {
    width: 32%;
    top: -8%;
    left: auto;
    right: -2%;
    z-index: 1;
}

#welfare .chara_03 {
    width: 100%;
    top: -60%;
    left: -72%;
}

#welfare .chara_04 {
    width: 68%;
    top: -40%;
    left: auto;
    right: -30%;
}

/*--------------------------------------------------------------------------- 採用メッセージ／募集要項／FAQ */

#recruit .message .messageInner {
    position: relative;
}

#recruit .message .messageInner .mainImgBox {
	background: url(../images/recruit/mainImg_01.jpg) center center / cover no-repeat;
    height: 100%;
    overflow: hidden;
    margin-bottom: 80px;
    padding-top: 37.5%;
}

#recruit .message .messageInner .title {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 60px;
}

#recruit .message .messageInner .textBox .text:nth-child(n+2) {
    margin-top: 30px;
}

#recruit .message .messageInner .imgBox {
    margin: 60px auto 0;
}

#recruit .flow {
	position: relative;
}

.flowList {
	display: flex;
	justify-content: center;
}

.flowList li {
	color: #fff;
	text-align: center;
	font-weight: 600;
	background-color: #ff8f90;
	border-radius: 35px;
	height: 280px;
	padding: 0 27px;
	writing-mode: vertical-rl;
	position: relative;
}

.flowList li:not(:last-child):after {
	position: absolute;
	content: "";
	top: 50%;
	right: -35px;
	transform: translateY(-50%);
	display: inline-block;
	width: 35px;
	height: 8px;
	background-color: #ff8f90;
	clip-path: polygon(0 43.8%, 80.2% 43.8%, 80.2% 0, 100% 50%, 80.2% 100%, 80.2% 56.3%, 0 56.3%);
}

.flowList li:nth-child(2),
.flowList li:nth-child(2):after {
	background-color: #fb7b7b;
}

.flowList li:nth-child(3),
.flowList li:nth-child(3):after {
	background-color: #f76667;
}

.flowList li:nth-child(4),
.flowList li:nth-child(4):after {
	background-color: #f35252;
}

.flowList li:nth-child(5),
.flowList li:nth-child(5):after {
	background-color: #ef3d3e;
}

.flowList li:nth-child(6),
.flowList li:nth-child(6):after {
	background-color: #eb2929;
}

.flowList li:nth-child(7),
.flowList li:nth-child(7):after {
	background-color: #e71415;
}

.flowList li:nth-child(8),
.flowList li:nth-child(8):after {
	background-color: #e30000;
}

.flowList li:nth-child(n+2) {
	margin-left: 50px;
}

#recruit .faq {
	position: relative;
}

#recruit .faq .accordionArea .accordionbox:last-child {
	margin-bottom: 100px;
}

/*--------------------------------------------------------------------------- インターンシップ */

#internship .intro {
    position: relative;
}

.circleList {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 0 auto;
}

.circleList > li {
	width: calc((100% - 120px) / 4);
}

.circleList > li:nth-child(n+2) {
	margin-left: 40px;
}

.circleList > li .inner {
    max-width: 210px;
    border-radius: 100%;
    padding: 16px;
    margin: 0 auto;
    background: url(../images/internship/from_bk.png) center / contain no-repeat;
    font-size: clamp(1rem, 1.7vw, 1.8rem);
    color: #fff;
    font-weight: 600;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.circleList > li .inner:before {
    display: block;
    content: "";
    padding-top: 100%;
}

.circleList > li .inner p {
    line-height: 1.5;
}

.lineList {
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}

.lineList > li {
	width: calc((100% - 15px) / 2);
	border: 1px solid;
	border-radius: 30px;
	display: flex;
	padding: 8px 10px 8px 60px;
	position: relative;
}

.lineList > li:nth-child(n+2) {
	margin-left: 15px;
}

.lineList > li .imgBox {
	width: 62px;
	margin-top: -26px;
}

.lineList > li .title {
	font-size: 2.2rem;
	font-weight: 600;
	display: flex;
    justify-content: center;
    width: 100%;
}

#internship .overview .recommendBox .imgBox.no1 {
	width: 31.5%;
	margin: 0 auto;
}

#internship .overview .recommendBox .imgBox.no2 {
	width: 100%;
	margin: -3% auto 0;
}

#internship .overview .recommendBox .imgBox.no3 {
	width: 42%;
	margin: -3% auto 0;
}

.flowList02Box {
	margin-top: 80px;
}

.flowList02 {
	max-width: 660px;
	margin: 0 auto;
	position: relative;
}

.flowList02:after {
	position: absolute;
	content: "";
	top: 0;
	left: 45px;
	width: 2px;
	height: 100%;
	z-index: -1;
}

.flowList02 > dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.flowList02 > dl:nth-child(n+2) {
	margin-top: 20px;
}

.flowList02 > dl > dt {
	width: 92px;
	height: 92px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(90deg,rgba(200, 0, 0, 1) 0%, rgba(227, 0, 0, 1) 100%);
}

.flowList02 > dl > dt img {
	width: 76%;
}

.flowList02 > dl > dd {
	width: calc(100% - 92px);
	padding-left: 30px;
}

.flowList02 > dl > dd .title {
	font-size: 1.8rem;
	font-weight: 600;
}

#internship .applicationInner {
	position: relative;
}

.getList{
    display: flex;
    justify-content: space-between;
    padding-top: 22px;
    max-width: 742px;/* 3つ並び */
    margin: 0 auto;
}

.getList li {
    text-align: center;
    font-size: 2.2rem;
    width: 30.5%;
    padding-top: 30.5%;
    position: relative;
    background: #fff;
}

.getList li:not(:last-child):after {
    position: absolute;
    content: "";
    background: url(../images/common/arrow_red.svg) center center / contain no-repeat;
    width: 11px;
    height: 20px;
    top: 50%;
    right: -22px;
    transform: translateY(-50%);
}

.getList li .number {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%,-50%);
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    color: #fff;
    text-align: center;
    letter-spacing: 0;
    border-radius: 100%;
}

.getList li .text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.getList li .text .note {
    font-size: 1.2rem;
    font-weight: 500;
    margin-top: 10px;
}

/*--------------------------------------------------------------------------- 福利厚生 */

#welfare .max1180 {
    position: relative;
}





/*----------------------------------------------------
	☆PC UNDER 1200
----------------------------------------------------*/

@media screen and (max-width:1200px) {

	#recruit .chara_03 {
        width: 350px;
        right: -8%;
        top: -110px;
    }

	#recruit .chara_04 {
        width: 350px;
        left: -120px;
        top: -230px;
    }

	#internship .chara_04 {
	    top: -58%;
	}

}





/*----------------------------------------------------
	☆PC UNDER 1000
----------------------------------------------------*/

@media screen and (max-width:1000px) {

	#recruit .chara_02 {
    	width: max(37%, 250px);
        top: -10%;
        left: -10%;
	}

/*--------------------------------------------------------------------------- 採用メッセージ／募集要項／FAQ */

	.flowList {
		display: block;
	}

	.flowList li {
		height: auto;
        padding: 15px 20px;
        writing-mode: unset;
        width: 100%;
	}

	.flowList li:not(:last-child):after {
		top: auto;
        bottom: -10px;
        right: 0;
        left: 0;
        margin: auto;
		transform: rotate(90deg);
		width: 35px;
		height: 8px;
	}

	.flowList li:nth-child(n+2) {
		margin-left: 0;
		margin-top: 30px;
	}

}




/*----------------------------------------------------
	☆TABLET UNDER 900
----------------------------------------------------*/

@media screen and (max-width:900px) {

	#recruit .chara_01 {
	    top: 8%;
	}

	#recruit .chara_03 {
        display: none;
    }

	#internship .overview .fukidashi {
	    width: max(80px, 25%);
	    top: -63px;
	    right: -7%;
	}

	#internship .chara_01 {
	    top: -160px;
	    right: -50px;
	}

	#internship .chara_02 {
	    bottom: -160px;
	    left: -30px;
	}

	#internship .chara_03 {
	    bottom: -55%;
	}

	#welfare .chara_01 {
	    top: -8%;
	}

	#welfare .chara_02 {
	    top: -4%;
	}

	#welfare .chara_03 {
	    width: 36%;
	    top: -54%;
	    left: -18%;
	}

	#welfare .chara_04 {
	    width: 36%;
	    top: -20%;
	    left: auto;
	    right: -16%;
	}


/*--------------------------------------------------------------------------- インターンシップ */

	.lineList > li {
		padding-left: 30px;
	}

	.lineList > li .imgBox {
		width: 45px;
	}

	.lineList > li .title {
		font-size: 1.6rem;
	}



}


/*----------------------------------------------------
	☆UNDER 600
----------------------------------------------------*/

@media screen and (max-width:600px) {

    #recruit .chara,
    #internship .chara {
    	width: 144px;
    }

	#recruit .chara_01 {
	    width: 44%;
	    top: 10%;
	}

	#recruit .chara_02 {
        top: 0px;
        left: -55px;
    }

    /*#recruit .chara_03 {
        right: -40px;
        top: 45px;
    }*/

    #recruit .chara_04 {
        left: -50px;
        top: -55px;
    }

	#internship .overview .fukidashi {
        width: 80px;
        top: -45px;
        right: -10px;
    }

    #internship .chara_01 {
        /*top: -138px;
        right: auto;
        left: -20px;*/
        display: none;
    }

    #internship .chara_02 {
        bottom: -105px;
        left: auto;
        right: -30px;
    }

    #internship .chara_03 {
        bottom: -140px;
    }

    #internship .chara_04 {
	    top: 20px;
	    left: -50px;
	}
	
	#welfare .chara_01 {
		width: 144px;
	    top: -140px;
	    left: -30px;
	}

	#welfare .chara_02 {
		width: 144px;
	    top: -130px;
        right: -20px;
	}

	#welfare .chara_03 {
		width: 144px;
	    top: -90px;
        left: -50px;
	}

	#welfare .chara_04 {
		width: 144px;
	    top: -90px;
        right: -50px;
	}

/*--------------------------------------------------------------------------- 採用メッセージ／募集要項／FAQ */

	#recruit .message .messageInner .mainImgBox {
	    margin-bottom: 40px;
	    padding-top: 320px;
	}

	#recruit .message .messageInner .title {
	    font-size: 1.6rem;
	    margin-bottom: 30px;
	}

	#recruit .message .messageInner .textBox .text:nth-child(n+2) {
	    margin-top: 20px;
	}

	#recruit .message .messageInner .imgBox {
	    margin-top: 30px;
	}

	#recruit .faq .accordionArea .accordionbox:last-child {
		margin-bottom: 0;
	}

/*--------------------------------------------------------------------------- インターンシップ */

	.circleList > li {
		width: calc((100% - 30px) / 2);
	}

	.circleList > li:nth-child(n+2) {
		margin-left: 0;
	}

	.circleList > li:nth-child(n+3) {
		margin-top: 20px;
	}

	.circleList > li:nth-child(even) {
		margin-left: 20px;
	}

	.circleList > li .inner {
	    font-size: 1.4rem;
	}

	.lineList {
		display: block;
		margin-bottom: 40px;
	}

	.lineList > li {
		width: 100%;
	}

	.lineList > li:nth-child(n+2) {
		margin-left: 0;
		margin-top: 20px;
	}

	.lineList > li .imgBox {
		width: 55px;
	}

	#internship .overview .recommendBox .imgBox.no1 {
		width: 50%;
	}

	#internship .overview .recommendBox .imgBox.no3 {
		width: 72%;
	}

	/*.flowList02Box {
		margin-top: 50px;
	}*/

	.flowList02:after {
	    left: 40px;
	}

	.flowList02 > dl {
	    align-items: flex-start;
	}

	.flowList02 > dl > dt {
	    width: 80px;
	    height: 80px;
	}

	.flowList02 > dl > dd {
	    width: calc(100% - 80px);
	    padding-left: 20px;
	}

	.flowList02 > dl > dd .title {
	    font-size: 1.5rem;
	}

	.getList{
	    display: block;
	    padding-top: 15px;
	    max-width: auto;
	}

	.getList li {
	    font-size: 1.6rem;
	    width: 100%;
	    padding: 20px;
	    margin-bottom: 60px;
	}

	.getList li:last-child {
	    margin-bottom: 0;
	}

	.getList li:not(:last-child):after {
	    width: 11px;
        height: 20px;
        top: auto;
        bottom: -40px;
        right: 50%;
        transform: translate(50%, -50%) rotate(90deg);
	}

	.getList li .number {
	    width: 30px;
	    height: 30px;
	    font-size: 1.5rem;
	}

	.getList li .text {
	    position: static;
	    font-size: 1.5rem;
	    transform: none;
	}


}

