@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

/* --------------------------------------------------- */
/* #header */
#header {
}
/* spview */
@media screen and (max-width:767px) {
    
}

/* --------------------------------------------------- */
/* global navi & primary navi */

/* spview */
@media screen and (max-width:767px) {
    
}


#content {
    margin-bottom: 0;
}

/* mainvisual */
/* --------------------------------------------------- */

#mv {
    height: 77vh;
    max-height: 707px;
    
	background-image: url(../images/main_img.png);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
#mv .lay_lqd {
}
#mv .lay_lqd::before,
#mv .lay_lqd::after { content: none; }


.mv_logo {
	width:100%;
	max-width:320px;
	text-align:center;
	padding:0 2em;
	margin:0 auto;
}

.mv_text {
	padding: 8em 0 0;
}
.mv_head,
.mv_lead {
	color:#fff;
	display: block;
	text-decoration:none;
    font-family: "Kosugi Maru", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 0.1em;
}

.mv_head { 
    font-size: 34px;
    font-weight: 500;
    line-height: 1.6em;
}
.mv_head .sitename {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.8em;
}

.mv_lead { 
    margin-top: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}
.mv_lead p {
    font-size: 18px;
    font-weight: 500;
}
.mv_lead p span {
	font-size: 30px;
    line-height: 1.0em;
    font-family: "Open Sans", serif;
    font-weight: 600;
    font-style: normal;
}

/* spview */
@media screen and (max-width:767px) {
    #mv {
        height: auto;
        background-image: url(../images/main_img.png);
        background-position: right -12.5em bottom;
        background-size: cover;
        background-repeat: no-repeat;
        padding-bottom: 3em;
    }

	.mv_text {
		padding: 1.5em 2.5vw;
	}

	.mv_head { 
        font-size: clamp(13px, 3.5vw, 16px);
    }
    .mv_head .sitename {
        font-size: clamp(22px,4.25vw,26px);
    }
    
	.mv_lead { 
        flex-direction: column;
        align-items: flex-start;
    }
    .mv_lead p {
        font-size: clamp(14px, 3.75vw, 16px);
    }
    .mv_lead p span {
        font-size: clamp(22px,4.25vw,26px);
    }
    
}
@media screen and (max-width:400px) {
    #mv {
        height: 58vh;
        background-image: url(../images/main_img_sp.png);
        background-position: center bottom;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .mv_text {
		padding: 2em 2.5vw;
	}
}





.mv_form { 
    width: fit-content;
    padding: 30px 0;
}
.mv_form form {
	width: 100%;
    margin: 0 0;
}
.top_search_form {
	display: flex;
    justify-content: center;
    align-items: stretch;
    /*flex-wrap: wrap;*/
    gap: 0 15px;
}
.mv_form_input {
    font-size: 16px;
    width: 200px;
    padding: 8px 15px;
    margin: 0 0;
    background: url(../images/select_arrow.png) no-repeat #fff;
    background-position: 95% center;
    border: none;
    border-radius: 8px;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.mv_form_x {
    width: 23px !important;
    height: 23px !important;
    vertical-align: middle;
    margin: 15px 0;
}
.btn_img_css {
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 0.75em 1.5em 0.75em 2.75em;
    background: url(../images/i_search.png) no-repeat #3367d1;
    background-position: left 1.5em center;
    border-radius: 50px;
    width: 150px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
.btn_img_css:hover {
    opacity: 1;
    transform: translateY(-1px); 
}
@media screen and (max-width:1349px) {
    .mv_form { 
        padding: 1em 1em;
    }
	.mv_form_input {
		width: 12em;
	}
	.btn_img_css {
		font-size: 16px;
		padding: 0 0 0 1.5em;
		background: url(../images/i_search.png) no-repeat #3367d1;
		background-position: left 1.5em center;
		background-size: 20px auto;
		width: 110px;
		height: 53px;
	}
}
@media screen and (max-width:1080px) {
    
}
@media screen and (max-width:991px) {
    
}
/* spview */
@media screen and (max-width:767px) {
	.mv_form {
        padding: 0 2.5vw 2em;
	}
	.top_search_form {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
		flex-wrap: wrap;
		gap: 10px 10px;
	}
	.mv_form_input {
		/*width: calc((100% - 38px) / 2);*/
        width: auto;
	}
	.mv_form_x {
		width: 18px !important;
		height: 18px !important;
	}
	.btn_img_css {
		width: 120px;
		height: 47px;
	}
}


/* kyujin_list */
/* --------------------------------------------------- */
.kyujin_list {
	display: flex;
    flex-wrap: wrap;
}
.kyujin_list .item {
	margin: 0 15px;
	/*box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);*/
}
.kyujin_list .item figure {
    height: 200px;
	position: relative;
}
.kyujin_list .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	border-radius: 13px;
}
.kyujin_list .item .inner {
}
.kyujin_list .item .kyujin_title {
	margin-top: 10px;
    font-size: 16px;
    font-weight: 500;
	color: #1a0004;
}
.kyujin_list .tag_list {
    margin: 10px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 10px;
}
.kyujin_list .tag_list .tag {
	color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8em;
    padding: 0.25em 1.25em;
    border-radius: 25px;
}
.kyujin_list .tag_list .tag.new { background: #3367d1; }
.kyujin_list .tag_list .tag.koyou { background: #00b1ec; }
.kyujin_list .tag_list .tag.jobtype { background: #94def7; }

.kyujin_list .overview { margin-top: 10px; }
.kyujin_list .overview li {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.kyujin_list .overview li::before {
	content: "";
	display: inline-block;
	min-width: 20px;
	min-height: 18px;
	margin-right: 0.5em;
}
.kyujin_list .overview li.saraly::before {
	background: url(../images/i_saraly.png) no-repeat center;
	background-size: contain;
}
.kyujin_list .overview li.area::before {
	background: url(../images/i_area.png) no-repeat center;
	background-size: contain;
}
.kyujin_list .overview li.clock::before {
	background: url(../images/i_clock.png) no-repeat center;
	background-size: contain;
}
.kyujin_list .overview li.calender::before {
	background: url(../images/i_calender.png) no-repeat center;
	background-size: contain;
}
.kyujin_list .overview li p {
	color: #434343;
    font-size: 14px;
    font-weight: 400;
}
/* spview */
@media screen and (max-width:767px) {
	.kyujin_list .item {
		margin: 0 10px;
		/*box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);*/
	}
	.kyujin_list .item figure { height: 30vw; }

	.kyujin_list .item .inner {
		padding: 0 0.5em 0.5em;
	}
	.kyujin_list .item .company_name {
		font-size: 13px;
	}
	.kyujin_list .item .kyujin_title {
		font-size: 13px;
	}
	
	.kyujin_list .tag_list {
		gap: 0.5em 0.5em;
	}
	.kyujin_list .tag_list .tag {
		font-size: 3.0vw;
        font-weight: 500;
        line-height: 1.4em;
        padding: 0.25em 0.5em;
	}

	.kyujin_list .overview { margin-top: 5px; }
	.kyujin_list .overview li::before {
        min-width: 15px;
        min-height: 15px;
	}
	.kyujin_list .overview li p {
		font-size: 3.25vw;
	}
	
	/* .slick-slider */
	.slick-slider .slick-prev,
	.slick-slider .slick-next {
		width: 2rem;
        height: 2rem;
	}
	.slick-slider .slick-prev { left: -8px; }
	.slick-slider .slick-next { right: -8px; }
}


/* #topKyujin */
/* --------------------------------------------------- */
#topKyujin .kyujin_list + .content_title01 {
    margin-top: 2em;
}

#topKyujin .kyujin_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2.5em 3em;
}
#topKyujin .item {
    width: calc((100% - 6em) / 3);
	margin: 0 0;
}
#topKyujin .item figure {
    height: 270px;
}
#topKyujin .item .kyujin_title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6em;
}
#topKyujin .item .kyujin_catch {
    color: #333;
    font-size: 14px;
    line-height: 1.6em;
    margin: 5px 0 0;
}
@media screen and (max-width:1690px) {
	
}
@media screen and (max-width:1400px) {
	
}
@media screen and (max-width:1280px) {
	
}
@media screen and (max-width:767px) {
	#topKyujin .item {
		margin: 0 0.75em;
	}
	#topKyujin .item figure {
		height: 30vw;
		margin-bottom: 10px;
	}
	#topKyujin .item .kyujin_title {
		font-size: 3.75vw;
	}
    #topKyujin .item .kyujin_catch {
        font-size: 3.25vw;
    }
	#topKyujin.kyujin_list figure .tag_list {
		margin-bottom: 0;
		bottom: 0.5em;
		left: 0.5em;
		gap: 0.5em 0.5em;
	}
	#topKyujin.kyujin_list .tag_list .tag {
		font-size: 11px;
		font-weight: 500;
		line-height: 1.2em;
	}
}




/* new_list */
/* --------------------------------------------------- */
.news-wrapper {
    width: 100%;
    position: relative;
    display: flex;
    align-items: stretch;
}

.news-content-title {
    font-size: 36px;
    line-height: 1.0em;
    font-family: "Kosugi Maru", sans-serif;
    font-optical-sizing: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.news-content-title::after {
    content: attr(data-text) "";
    font-size: 24px;
    line-height: 1.0em;
    background: linear-gradient(135deg, #3367d1 0%, #00b1ec 100%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    
    padding-top: 10px;
}

.news-list {
    width: calc(100% - 190px);
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 1px solid #333;
    padding-left: 30px;
    margin-left: 30px;
}
.news-list li {
    font-size: 16px;
    padding: 10px 0;
    display: flex;
    align-items: baseline;
    gap: 3em;
}
.news-list li + li {
    border-top: 1px dotted #ccc;
}
.news-list li .date {
    font-size: 16px;
}
.news-list li a {
    color: #333;
    text-decoration: underline;
}
/* spview */
@media screen and (max-width:767px) {
    #information { padding: 2.5em 2.5vw; }
    
	.news-wrapper {
        flex-direction: column;
	}
    
    .news-content-title {
        font-size: clamp(22px,4.75vw,24px);
        margin-bottom: 20px;
    }
    .news-content-title::after {
        font-size: clamp(20px,3.5vw,20px);
    }
    
    .news-list {
        width: 100%;
        margin: 0 0;
        padding: 0 0;
        border: none;
    }
    .news-list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 0 0;
    }
    .news-list li .date {
        font-weight: bold;
    }
}



/* #topStrength */
/* --------------------------------------------------- */
#topStrength { 
    padding: 5em 0 2.0em;
    margin-bottom: 3em;
    position: relative;
}
#topStrength::after {
    content: "";
    display: inline-block;
    width: 100vw;
    height: 132px;
    background: url("../images/wave_bottom.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -132px;
}
#topStrength .outer {
	margin-top: 5em;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    counter-reset: number 0;
}
#topStrength .item {
    width: calc((100% - 8em) / 3);
	max-width: 370px;
}
#topStrength .item figure { text-align: center; }
#topStrength .item figure img {
    width: 100%;
    height: auto;
}
#topStrength .item .inner { width: 100%; }

#topStrength .strength_title {
    text-align: left;
    color: #fff;
    font-size: 24px;
    line-height: 1.4em;
    margin: 15px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
#topStrength .strength_title::before {
    counter-increment: number 1;
    content: "0" counter(number);
    font-family: "Kosugi Maru", sans-serif;
    font-optical-sizing: auto;
    font-size: 50px;
    line-height: 1.2em;
    font-weight: 500;
    letter-spacing: 0.05em;
    border-right: 1px solid #fff;
    padding-right: 10px;
    margin-right: 20px;
}
#topStrength .item p {
	color: #fff;
    font-size: 16px;
	font-weight: 400;
    line-height: 1.8em;
	font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
@media screen and (max-width:1690px) {
	
}
@media screen and (max-width:1400px) {
	
}
@media screen and (max-width:1280px) {
	#topStrength .outer {
		gap: 0 2em;
	}
	#topStrength .item {
		width: calc((100% - 4em) / 3);
	}
}
@media screen and (max-width:767px) {
	#topStrength {
		padding: 2.5em 2.5vw 2em;
	}
    #topStrength::after {
        width: 100vw;
        height: 9vw;
        bottom: -9vw;
        left: 0;
        right: 0;
    }
	
	#topStrength .outer {
		margin-top: 1.5em;
		flex-direction: column; 
	}
	#topStrength .item {
		width: 100%; 
		display: flex;
        flex-direction: column;
	}
	#topStrength .item + .item { margin-top: 30px; }
	#topStrength .item figure {
		width: 68vw;
		height: 50vw;
		margin: 10px auto 0;
	}
	#topStrength .item figure img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	#topStrength .item .strength_title {
        margin: 10px 0;
        font-size: clamp(16px, 3.75vw, 18px);
	}
    #topStrength .strength_title::before {
        font-size: 24px;
        padding-right: 6px;
        margin-right: 15px;
    }
	#topStrength .item p {
		font-size: clamp(13px, 3.25vw, 14px);
		line-height: 1.6em;
	}
	
}



/* topSearch */
/* --------------------------------------------------- */
#topSearch {}

/* 職種から探す / こだわりから探す */
#topSearch .item_list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75em 1.0em;
}
#topSearch .item_list a {
    color: #000;
    font-size: 16px;
    line-height: 1.6em;
    font-weight: 500;
    text-align: center;
    font-feature-settings: "palt";
    padding: 0.5em 1.5em;
    background: #f0f4f8;
    border-radius: 25px;
    display: block;
}
@media screen and (max-width:767px) {
    #topSearch .item_list a {
        font-size: clamp(13px, 3.25vw, 14px);
        padding: 0.25em 0.75em;
    }
}


/* blog */
/* --------------------------------------------------- */
#topBlog { 
    padding: 5em 0 12em;
}
.blog_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 50px 50px;
}
.blog_list .item {
    width: calc((100% - 100px) / 3);
	position: relative;
}
.blog_list .item figure { height: 250px; }
.blog_list .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 13px;
}
.blog_list .item .blog_list_data {
    padding: 0.75em 0;
}
.blog_list .item .blog_title {
	color: #1a0004;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
}
@media screen and (max-width:1280px) {
	
}
@media screen and (max-width:767px) {
    #topBlog {
        padding: 2.5em 0 3em;
    }
	.blog_list {
		gap: 20px 20px;
	}
	.blog_list .item {
		width: calc((100% - 20px) / 2);
	}
	.blog_list .item figure { height: 30vw; }
	.blog_list .item .blog_list_data {
		padding: 0.5em 0.5em;
	}
	.blog_list .item .blog_title {
		font-size: 14px;
	}

}



/* topRole */
/* --------------------------------------------------- */
#topRole { 
    padding: 0 0;
    position: relative;
}
#topRole .wave-section__top {
    width: 100%;
    height: 120px;
    margin-bottom: -1px;
    display: block;
    position: relative;
}
/*#topRole::before {
    content: "";
    display: inline-block;
    width: 100vw;
    height: 210px;
    background: url("../images/wave_top.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: -178px;
}*/

#topRole .lay_lqd { 
    padding: 2em 0 3.5em;
    position: relative;
}
#topRole .lay_lqd::before {
    content: "";
    display: inline-block;
    width: 564px;
    height: 589px;
    background: url("../images/role_img.png") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -5em;
}
#topRole .lay_lqd::after { content: none; }

#topRole .outer {
    width: 55%;
    margin-left: auto;
}

#topRole .content_title01 {
    font-size: 26px;
    border-bottom: 1px solid;
    width: fit-content;
    flex-direction: column;
    align-items: flex-start;
}
#topRole .content_title01::before {
    font-size: 56px;
    line-height: 1.2em;
}

.role_subtitle {
    color: #fff;
    font-size: 32px;
    font-family: "Kosugi Maru", sans-serif;
    font-optical-sizing: auto;
    margin: 20px 0;
}
.role_text {
    font-size: 16px;
    line-height: 2.0em;
    color: #fff;
}
@media screen and (max-width:1280px) {
	
}
@media screen and (max-width:767px) {
    #topRole .wave-section__top {
        height: 3.5em;
    }
    /*#topRole::before {
        width: 100%;
        height: 15vh;
        top: -15vh;
    }*/
    
    #topRole .lay_lqd {
        padding: 1em 2.5vw 2.5em;
    }
    #topRole .lay_lqd::before { content: none; }

    #topRole .outer {
        width: 100%;
        margin: 0 0;
    }
    #topRole .content_title01 {
        font-size: clamp(20px,3.5vw,20px);
    }
    #topRole .content_title01::before {
        font-size: clamp(22px,4.75vw,24px);
    }
    
    .role_subtitle {
        font-size: clamp(16px, 3.75vw, 18px);
        margin: 10px 0;
    }
    .role_text {
        font-size: clamp(13px, 3.25vw, 14px);
        line-height: 2.0em;
    }
}
@media screen and (max-width:400px) {
    #topRole::before {
        width: 100%;
        height: 6.25vh;
        top: -5.25vh;
    }
    #topRole .lay_lqd {
        padding: 1em 2.5vw 2.5em;
    }
}







/* category_list 1&2 */
/* --------------------------------------------------- */

/* clearfix */
.category_list1:before,
.category_list2:before,
.category_list1:after,
.category_list2:after { content: " "; display: table; }
.category_list1:after,
.category_list2:after { clear: both; }

/* links */
.category_list1 a,
.category_list2 a {
	text-decoration:none;
	color:#F99422;
}

/* inner box */
.category_list_notes,
.category_list_cate {
	display:table-cell;
	vertical-align:middle;
	padding:0.25em 0.75em 0.25em 1.25em;
}

.category_list_cate {
	border-right: solid 1px #cdcdcd;
	width: 125px;
	padding: 0.25em;
}
.category_list_cate i {
	vertical-align:middle;
	margin-right:0.5em;
}

.category_list_keyword {
	vertical-align:middle;
	font-size:16px;
	font-weight:700;
	display:inline-block;
	line-height:1.1;
}
.category_list_suffix {
	display:block;
	font-size:75%;
	font-weight:lighter;
	margin-top:0.5em;
}

.category_list_notes {
	font-size:12px;
	color:#000;
	/*background-color:#E0FBFE;*/
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

/* category_list1 */
/* --------------------------------------------------- */

.category_list1 { margin:0 -0.5em; }
.category_list1 li {
	width:50%;
	padding:0 0.25em 0.5em;
	float:left;
}

.category_list1 a {
	height: 78px;
	padding: 0.75em;
	display:table;
	border-collapse:separate;
	border-spacing:0em;
	width:100%;
	border: solid 2px #F99422;
	border-radius: 4px;
	background: #fff;
}
.category_list1 a:hover {
	background: #FAEEE1;}

/* spview */
@media screen and (max-width:767px) {
	
	.category_list1 li {
		width:auto;
		float:none;
	}
}

/* category_list2 */
/* --------------------------------------------------- */

.category_list2 { margin:0 -0.5em; }
.category_list2 li {
	width:33.33333333333333333333333%;
	padding:0 0.5em 0.5em;
	float:left;
}

.category_list2 a {
	height: 40px;
	line-height: 1.4;
	display:block;
	padding:0 0.5em 0 0;
	background: #fff;
	border: solid 1px #F53148;
	color:#F53148;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
.category_list2 a:hover {}

.category_list2 a:before {
	height: 38px;
	margin-right:0.5em;
	background:#f5596c;
	color:#fff;
	display:inline-block;
	padding:0.5em;
	box-sizing: border-box;
    font-family: 'icomoon' !important;
    content: "\e99f";
}


#kodawari .category_list2 a {
	border: solid 1px #fcdf32;
	color:#333;
}

#kodawari .category_list2 a:before {
	background:#fcdf32;
}


#syoku .category_list2 a {
	border: solid 1px #2f6aab;
	color:#333;
}

#syoku .category_list2 a:before {
	background:#2f6aab;
}



/* spview */
@media screen and (max-width:767px) {
	
	.category_list2 li {
		width:auto;
		float:none;
	}
	
	#kodawari .search_select {padding:0 12px;}
	
	#kodawari .search_select_list {margin-bottom: 15px;}
}



/* bnr_media */
/* --------------------------------------------------- */

.bnr_media { text-align:center; }
.bnr_media ul {}
.bnr_media ul li {
	margin:1em 0.5em;
	display:inline-block;
	text-align:center;
}

/* spview */
@media screen and (max-width:767px) {

	.bnr_media ul {
		letter-spacing:-0.5ex;
		margin:0 0 0.5em;
	}
	.bnr_media ul li {
		padding:0 0.5em 0.5em;
		margin:0;
		width:33%;
		letter-spacing:normal;
	}
	.bnr_media ul li img {
		width:100%;
		height:auto;
		max-width:160px;
	}
}

/* #top_value */
/* --------------------------------------------------- */

#top_value {}
#top_value .image {}
#top_value .image img {}

/* spview */
@media screen and (max-width:767px) {
	
	#top_value .image img {
		width:100%;
		height:auto;
		max-width:200px;
	}
}



/* #top_regist */
/* --------------------------------------------------- */

#top_regist {}
#top_regist .image {}
#top_regist .image img {}

/* spview */
@media screen and (max-width:767px) {
	
	#top_regist .image img {
		width:100%;
		height:auto;
		max-width:200px;
	}
}


.pickup_list {
	display: flex;
	justify-content: space-between;
}

.pickup_list li {
	width: 30%;
	padding: 1rem;
	background:#fff;
}
.pickup_list li img {
	width:100%;
}
.pickup_list li a {
	width: 100%;
}