@charset "UTF-8";


/***************************************************

	requirements

***************************************************/

.main_header01{
	background-image: url('../images/requirements/kv_image_pc.png');
}

.webp .main_header01{
	background-image: url('../images/requirements/kv_image_pc.webp');
}


h2{
	line-height: 1;
	margin-bottom: 50px;
	text-align: center;
	opacity: 0;
}

.active h2{
	animation: fadeIn 1s ease forwards;
	animation-delay: 0s;
}

h2 strong{
	font-size: 32px;
	color: var(--color2);
    padding-bottom: 6px;
	position: relative;
}

h2 strong::after {
    content: '';
    display: block;
    width: 100%;
    height: 4px;
    background-image: radial-gradient(circle, var(--color3) 2px, transparent 2px);
    background-size: 10px 4px;
    background-repeat: repeat-x;
    position: absolute;
    bottom: -3px;
    left: 0;
}

#looking-for{
	margin-bottom: 96px;
}

#looking-for .caption{
	width: 788px;
	margin: 0 auto 55px;
	font-size: 16px;
	line-height: 1.5;
	opacity: 0;
}

#looking-for.active  .caption{
	animation: fadeIn 1s ease forwards;
	animation-delay: 0.2s;
}

#looking-for .image_box{
	width: 754px;
	margin: 0 auto;
	opacity: 0;
}

#looking-for.active  .image_box{
	animation: fadeIn 1s ease forwards;
	animation-delay: 0.6s;
}

#recruitment-information{
	width: 1065px;
	margin: 0 auto 20px;
	background: var(--mainbg02);
	padding: 64px 40px;
	box-sizing: border-box;
	border-radius: 20px;
}

#recruitment-information .list_ul{
	width: 788px;
	margin: 0 auto;
    border-top: 1px solid #e1e1e1;
    opacity: 0;
}

#recruitment-information.active .list_ul{
	animation: fadeIn 1s ease forwards;
	animation-delay: 0.2s;
}

#recruitment-information .list_ul li{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid #e1e1e1;
    padding: 16px 0;
}

#recruitment-information .list_ul li .heading{
	width: 312px;
	padding-left: 24px;
	font-size: 16px;
	font-weight: 700;
	color: var(--color2);
	box-sizing: border-box;
}

#recruitment-information .list_ul li .data{
	width: calc(100% - 312px);
	font-size: 14px;
	line-height: 1.5;
}


#selection-process{
	width: 788px;
	margin: 0 auto 118px;
}

#selection-process .flow_ul{
	opacity: 0;
	counter-reset: num01 0;
}

#selection-process.active .flow_ul{
	animation: fadeIn 1s ease forwards;
	animation-delay: 0.2s;
}

#selection-process .flow_ul li{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    background: var(--mainbg02);
    border-radius: 16px;
    padding: 16px 24px;
    margin-bottom: 50px;
    position: relative;
}

#selection-process .flow_ul li:last-child{
    margin-bottom: 0;
}

#selection-process .flow_ul li::after {
    content: '';
    display: inline-block;
    width: 32px;
    height: 2px;
    background-image: radial-gradient(circle, var(--color2) 1px, transparent 1px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    position: absolute;
    bottom: -26px;
    left: 50%;
    transform: translate(-50%, 0) rotate(90deg);
}

#selection-process .flow_ul li:last-child::after {
    content: none;
}

#selection-process .flow_ul li .heading{
	width: 286px;
	padding-left: 40px;
	box-sizing: border-box;
	font-size: 18px;
	font-weight: 700;
	color: var(--color2);
    position: relative;
}

#selection-process .flow_ul li .heading::before{
	counter-increment: num01 1;
	content: counter(num01,decimal-leading-zero) '.';
	display: inline-block;
	font-size: 24px;
	font-weight: 700;
	color: var(--color3);
	font-family: "Caveat", cursive;
	position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
}

#selection-process .flow_ul li:last-child{
	background: var(--mainbg01);
}

#selection-process .flow_ul li:last-child .heading{
	width: 100%;
	padding-left: 0;
	text-align: center;
}

#selection-process .flow_ul li:last-child .heading::before{
	content: none;
}

#selection-process .flow_ul li .data{
	width: calc(100% - 286px);
	font-size: 14px;
	line-height: 1.5;
}

#selection-process .flow_ul li .data a{
	color: var(--color2);
	text-decoration: underline;
	font-weight: 700;
}

#faq{
	padding-bottom: 40px;
	background: var(--mainbg01);
	position: relative;
}

#faq::before{
    content: '';
    display: block;
    width: 100%;
    height: 48px;
    background-repeat: no-repeat;
    background-position: top 0 left 0;
    background-size: cover;
    background-image: url(../images/common/cont_bg_wave.png);
    position: absolute;
    top: -47px;
    left: 0;
}

#faq .faq_ul{
	width: 788px;
	margin: 0 auto;
	opacity: 0;
}

#faq.active .faq_ul{
	animation: fadeIn 1s ease forwards;
	animation-delay: 0.2s;
}

#faq .faq_ul li{
	border-top: 2px dotted var(--color2);
	border-bottom: 2px dotted var(--color2);
	margin-bottom: 32px;
}

#faq .faq_ul li:last-child{
	margin-bottom: 0;
}

#faq .faq_ul li .question{
	padding: 24px 30px 24px 36px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	cursor: pointer;
}

#faq .faq_ul li .question::before{
	content: 'Q.';
	display: inline-block;
	font-size: 24px;
	font-weight: 700;
	font-family: "Caveat", cursive;
    position: absolute;
    top: 18px;
    left: 0;
}

#faq .faq_ul li .question::after{
	content: '';
	display: inline-block;
	width: 28px;
	height: 28px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	background-image: url('../images/requirements/icon_faq01.png');
    position: absolute;
    top: 22px;
    right: 0;
}

#faq .faq_ul li .question.active::after{
	background-image: url('../images/requirements/icon_faq02.png');
}

#faq .faq_ul li .answer{
	border-top: 2px dotted var(--color2);
	padding: 16px 0 24px 36px;
	font-size: 16px;
	line-height: 1.5;
	position: relative;
	display: none;
}

#faq .faq_ul li .answer::before{
	content: 'A.';
	display: inline-block;
	font-size: 24px;
	font-weight: 700;
	font-family: "Caveat", cursive;
    position: absolute;
    top: 12px;
    left: 0;
}


#faq.active .item{
	opacity: 0;
	transition: unset;
	animation: fadeIn 1s ease forwards;
	position: absolute;
}

#faq.active .item.req01{
	animation-delay: 0.4s;
}

#faq.active .item.req02{
	animation-delay: 0.6s;
}

#faq .req01{
	width: 262px;
    top: -106px;
    left: 36px;
}

#faq .req02{
	width: 259px;
    top: -99px;
    right: 38px;
}




/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media(max-width:1280px){


h2{
	margin-bottom: 3.90625vw;
}

h2 strong{
	font-size: 2.5vw;
    padding-bottom: 0.46875vw;
}

h2 strong::after {
	bottom: -0.234375vw;
}

#looking-for{
	margin-bottom: 7.5vw;
}

#looking-for .caption{
	width: 61.5625vw;
	margin: 0 auto 4.296875vw;
	font-size: 1.25vw;
}

#looking-for .image_box{
	width: 58.90625vw;
}

#recruitment-information{
	width: 83.203125vw;
	margin: 0 auto 1.5625vw;
	padding: 5vw 3.125vw;
	border-radius: 1.5625vw;
}

#recruitment-information .list_ul{
	width: 61.5625vw;
}

#recruitment-information .list_ul li{
    padding: 1.25vw 0;
}

#recruitment-information .list_ul li .heading{
	width: 24.375vw;
	padding-left: 1.875vw;
	font-size: 1.25vw;
}

#recruitment-information .list_ul li .data{
	width: calc(100% - 24.375vw);
	font-size: 1.09375vw;
}


#selection-process{
	width: 61.5625vw;
	margin: 0 auto 9.21875vw;
}

#selection-process .flow_ul li{
    border-radius: 1.25vw;
    padding: 1.25vw 1.875vw;
    margin-bottom: 3.90625vw;
}

#selection-process .flow_ul li::after {
    width: 2.5vw;
    height: 0.15625vw;
    background-size: 0.46875vw 0.15625vw;
    bottom: -2.03125vw;
}

#selection-process .flow_ul li .heading{
	width: 22.34375vw;
	padding-left: 3.125vw;
	font-size: 1.40625vw;
}

#selection-process .flow_ul li .heading::before{
	font-size: 1.875vw;
}

#selection-process .flow_ul li .data{
	width: calc(100% - 22.34375vw);
	font-size: 1.09375vw;
}


#faq{
	padding-bottom: 3.125vw;
}

#faq::before{
    width: 100%;
    height: 3.75vw;
    top: -3.671875vw;
}

#faq .faq_ul{
	width: 61.5625vw;
}

#faq .faq_ul li{
	border-top: 0.15625vw dotted var(--color2);
	border-bottom: 0.15625vw dotted var(--color2);
	margin-bottom: 2.5vw;
}

#faq .faq_ul li .question{
	padding: 1.875vw 2.34375vw 1.875vw 2.8125vw;
	font-size: 1.25vw;
}

#faq .faq_ul li .question::before{
	font-size: 1.875vw;
    top: 1.40625vw;
}

#faq .faq_ul li .question::after{
	width: 2.1875vw;
	height: 2.1875vw;
    top: 1.71875vw;
}

#faq .faq_ul li .answer{
	border-top: 0.15625vw dotted var(--color2);
	padding: 1.25vw 0 1.875vw 2.8125vw;
	font-size: 1.25vw;
}

#faq .faq_ul li .answer::before{
	font-size: 1.875vw;
    top: 0.9375vw;
}

#faq .req01{
	width: 20.46875vw;
    top: -8.28125vw;
    left: 2.8125vw;
}

#faq .req02{
	width: 20.234375vw;
    top: -7.734375vw;
    right: 2.96875vw;
}



}


/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width:750px){

.main_header01{
	background-image: url('../images/requirements/kv_image_sp.png');
}

.webp .main_header01{
	background-image: url('../images/requirements/kv_image_sp.webp');
}


h2{
	margin-bottom: 7.466667vw;
}

h2 strong{
	font-size: 7.466667vw;
	padding-bottom: 1.6vw;
}

h2 strong::after {
	height: 0.8vw;
	background-image: radial-gradient(circle, var(--color3) 0.4vw, transparent 0.4vw);
	background-size: 2.666667vw 0.8vw;
    bottom: -0.8vw;
}

#looking-for{
	margin-bottom: 26.666667vw;
}

#looking-for .caption{
	width: auto;
	margin: 0 6.666667vw 16vw;
	font-size: 4.266667vw;
}

#looking-for .image_box{
	width: 76.266667vw;
}

#recruitment-information{
	width: auto;
	margin: 0 6.666667vw 12vw;
	padding: 10.666667vw 5.333333vw;
	border-radius: 5.333333vw;
}

#recruitment-information .list_ul{
	width: auto;
	margin-top: 13.333333vw;
}

#recruitment-information .list_ul li{
    padding: 4.266667vw 0;
}

#recruitment-information .list_ul li .heading{
	width: 27.466667vw;
	padding-left: 4.266667vw;
	font-size: 4.266667vw;
}

#recruitment-information .list_ul li .data{
	width: calc(100% - 27.466667vw);
	font-size: 3.733333vw;
}


#selection-process{
	width: auto;
	margin: 0 6.666667vw 25.333333vw;
}

#selection-process .flow_ul li{
	display: block;
    border-radius: 4.266667vw;
    padding: 4.266667vw 6.4vw;
    margin: 13.333333vw 0;
}

#selection-process .flow_ul li::after {
    width: 8.533333vw;
    height: 0.533333vw;
    background-image: radial-gradient(circle, var(--color2) 0.266667vw, transparent 0.266667vw);
    background-size: 1.6vw 0.533333vw;
    bottom: -6.933333vw;
}

#selection-process .flow_ul li .heading{
	width: auto;
	padding-left: 12vw;
	margin-bottom: 4vw;
	font-size: 4.8vw;
}

#selection-process .flow_ul li .heading::before{
	font-size: 6.4vw;
}

#selection-process .flow_ul li:last-child .heading{
	padding-left: 0;
	margin-bottom: 0;
}

#selection-process .flow_ul li .data{
	width: auto;
	font-size: 3.733333vw;
}


#faq{
	padding-bottom: -4vw;
}

#faq::before{
    height: 4.8vw;
    background-image: url(../images/common/cont_bg_wave_sp.png);
    top: -4.533333vw;
}

#faq .faq_ul{
	width: auto;
	margin: 13.333333vw 6.133333vw 0;
}

#faq .faq_ul li{
	border-top: 0.533333vw dotted var(--color2);
	border-bottom: 0.533333vw dotted var(--color2);
	margin-bottom: 8vw;
}

#faq .faq_ul li .question{
	padding: 5.333333vw 14.133333vw 5.333333vw 9.866667vw;
	font-size: 4.266667vw;
}

#faq .faq_ul li .question::before{
	font-size: 6.4vw;
    top: 3.466667vw;
}

#faq .faq_ul li .question::after{
	width: 7.466667vw;
	height: 7.466667vw;
    top: 50%;
    transform: translate(0, -50%);
}

#faq .faq_ul li .answer{
	border-top: 0.533333vw dotted var(--color2);
	padding: 4.266667vw 0 5.333333vw 9.866667vw;
	font-size: 4.266667vw;
}

#faq .faq_ul li .answer::before{
	font-size: 6.4vw;
    top: 2.666667vw;
}

#faq .req01{
	width: 41.066667vw;
    top: -15.733333vw;
    left: 4.266667vw;
}

#faq .req02{
	width: 40.533333vw;
    top: -15.2vw;
    right: 4.8vw;
}





}


