.ico_arrow{
    position: relative;
    padding-right: 30px;
}
.ico_arrow02{
    position: relative;
    padding-left: 30px;
}
.ico_arrow:before,
.ico_arrow02:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 17px;
    height: 17px;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 1px solid #fff;
    border-radius: 100%;
}
.ico_arrow02:before{
    right: auto;
    left: 0;
}
.ico_arrow:after,
.ico_arrow02:after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 4px;
    height: 4px;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
}
.ico_arrow02:after{
    right: auto;
    left: 8px;
    transform: rotate(135deg);
}
img{
    max-width: 100%;
    width: auto;
}
.rec_title{
    margin-bottom: 10px;
    font-size: 45px;
    line-height: 1;
    text-align: center;
    font-weight: 700;
}
.rec_sub_jpn{
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}
.rec_exp{
    margin-bottom: 40px;
    font-size: 14px;
    text-align: center;
}
/* recu_header */
#recu_header{
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10;
}
#recu_header .show_box{
    position: relative;
    max-width: 160px;
    margin-left: auto;
    z-index: 1;
}
#recu_header .show_box ul{
    display: flex;
}
#recu_header .show_box ul li{
    flex: 0 0 80px;
    height: 80px;
}
#recu_header .show_box ul li .entry_link{
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    background: #0055FF;
    color: #fff;
    text-align: center;
    transition: .3s;
}
#recu_header .show_box ul li .entry_link:hover{
    opacity: 1;
}
.sp_tgl_opn #recu_header .show_box ul li .entry_link{
    background: #fff;
    color: #0055FF;
}
#recu_header .show_box ul li .entry_link .entry_man{
    width: 20px;
    height: 20px;
    margin-bottom: 8px;
    fill: #fff;
}
.sp_tgl_opn #recu_header .show_box ul li .entry_link .entry_man{
    margin-bottom: 8px;
    fill: #0055FF;
}
#recu_header .show_box ul li .entry_til,
#recu_header .show_box ul li .menu_til{
    font-size: 20px;
    line-height: 1;
}
#recu_header .show_box ul li #hd_toggle_recu{
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    background: #3333CC;
    color: #fff;
    transition: .3s;
    cursor: pointer;
}
#recu_header .show_box ul li #hd_toggle_recu span{
    position: relative;
    width: 40px;
    height: 12px;
    margin: 4px auto 12px;
}
#recu_header .show_box ul li #hd_toggle_recu span:before,
#recu_header .show_box ul li #hd_toggle_recu span:after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: transform .3s;
}
#recu_header .show_box ul li #hd_toggle_recu span:before{
    top: 0;
    transform-origin: top left;
}
#recu_header .show_box ul li #hd_toggle_recu span:after{
    bottom: 0;
    transform-origin: bottom left;
}
.sp_tgl_opn #recu_header .show_box ul li #hd_toggle_recu span:before{
    transform: rotate(15deg);
    right: 0;
}
.sp_tgl_opn #recu_header .show_box ul li #hd_toggle_recu span:after{
    transform: rotate(-15deg);
    left: 0;
}
#recu_header .hide_box{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    overflow-y: auto;
    visibility: hidden;
}
#recu_header.recruit_second .hide_box{
    height: auto;
    visibility: initial;
}
.sp_tgl_opn #recu_header .hide_box{
    height: 100%;
    background: #0055FF;
    visibility: initial;
}
#recu_header .hide_box .logo_area{
    display: none;
}
#recu_header.recruit_second .hide_box .logo_area{
    display: block;
    background: #fff;
    transition: background .3s;
}
.sp_tgl_opn #recu_header.recruit_second .hide_box .logo_area{
    background: rgba(0,0,0,0);
}
#recu_header.recruit_second .hide_box .logo_area a{
    display: inline-block;
}
.sp_tgl_opn #recu_header .hide_box .logo_area .flx_box,
#recu_header.recruit_second .hide_box .logo_area .flx_box{
    width: 100%;
    height: 80px;
    padding: 11px 175px 11px 20px;
}
#recu_header .hide_box .logo_area .main_logo svg{
    width: 100%;
    max-width: 170px;
    max-height: 31px;
}
#recu_header .hide_box .logo_area .main_logo a{
    display: block;
    font-size: 0;
}
#recu_header.recruit_second .hide_box .logo_area #ml_path_1{
    fill: #3333CC;
    transition: fill .3s;
}
#recu_header.recruit_second .hide_box .logo_area #ml_path_2{
    fill: #333;
    transition: fill .3s;
}
#recu_header .hide_box .logo_area #ml_path_1,
#recu_header .hide_box .logo_area #ml_path_2,
.sp_tgl_opn #recu_header.recruit_second .hide_box .logo_area #ml_path_1,
.sp_tgl_opn #recu_header.recruit_second .hide_box .logo_area #ml_path_2{
    fill: #fff;
}
#recu_header.recruit_second .hide_box .logo_area .sub_txt{
    color: #3333CC;
    transition: color .3s;
    line-height: 1;
}
#recu_header .hide_box .logo_area .sub_txt,
.sp_tgl_opn #recu_header .hide_box .logo_area .sub_txt{
    max-width: 180px;
    color: #fff;
    font-size: 14px;
    text-align: center;
}
#recu_header .hide_box .link_area{
    display: none;
    max-width: 1600px;
    width: 90%;
    padding: 10px 0 40px;
    margin: 0 auto;
}
#recu_header .hide_box .link_area ul.out_ul > li {
    padding: 15px 0;
    border-bottom: 1px solid #fff;
}
#recu_header .hide_box .link_area ul.out_ul > li:first-child{
    padding: 0 0 15px;
}
#recu_header .hide_box .link_area ul.out_ul > li.oth_link{
    padding: 15px 0 0;
    border: 0;
}
#recu_header .hide_box .link_area ul.out_ul > li .m_til {
    display: inline-block;
    margin-right: 15px;
    font-size: 27px;
    color: #fff;
    line-height: 1;
    vertical-align: middle;
    font-weight: 700;
}
#recu_header .hide_box .link_area ul.out_ul > li .sub_til {
    vertical-align: sub;
    color: #fff;
}
#recu_header .hide_box .link_area ul.in_ul{
    margin-top: 15px;
}
#recu_header .hide_box .link_area ul.in_ul > li{
    margin-bottom: 10px;
}
#recu_header .hide_box .link_area ul.in_ul > li:last-child{
    margin-bottom: 0;
    margin-right: 0;
}
#recu_header .hide_box .link_area ul.in_ul > li a,
#recu_header .hide_box .link_area ul.in_ul > li span{
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}
#recu_header .hide_box .link_area ul.in_ul > li span{
    opacity: 0.4;
}

#recu_header .hide_box .link_area ul.out_ul > li.oth_link ul.ol_in li{
    margin-bottom: 10px;
}
#recu_header .hide_box .link_area ul.out_ul > li.oth_link ul.ol_in li a{
    color: #fff;
    font-size: 14px;
    text-decoration: underline;
}
#recu_header .hide_box .link_area ul.out_ul > li.oth_link ul.ol_in li a.ico_blank:after{
    background: url(/shared/images/ico_blank_w.png) center / contain no-repeat;
}


/* top_main */
.top_main.recruit_second{
    margin-top: 80px;
}
/* top_title_area */
.top_title_area{
	padding: 40px 0;
}
/* voice_link */
.voice_link .voice_link_ul li a{
	display: block;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 15px 15px 15px rgb(0 0 0 / 10%);
}
.voice_link .voice_link_ul li a:hover{
    opacity: 1;
}
.voice_link .voice_link_ul li.voice_1 a{background: #FF7800;}
.voice_link .voice_link_ul li.voice_2 a{background: #11C29F;}
.voice_link .voice_link_ul li.voice_3 a{background: #EC254C;}
.voice_link .voice_link_ul li.voice_4 a{background: #A2C94D;}
.voice_link .voice_link_ul li.voice_5 a{background: #45BCD6;}

.voice_link .voice_link_ul li.voice_1 a:hover{background: #FF9232;}
.voice_link .voice_link_ul li.voice_2 a:hover{background: #40CEB2;}
.voice_link .voice_link_ul li.voice_3 a:hover{background: #EF506F;}
.voice_link .voice_link_ul li.voice_4 a:hover{background: #B4D370;}
.voice_link .voice_link_ul li.voice_5 a:hover{background: #69C9DD;}

.voice_link .voice_link_ul li .img_box{
	position: relative;
    padding-top: 133%;
    font-size: 0;
	overflow: hidden;
}
.voice_link .voice_link_ul li .img_box img{
    position: absolute;
    left: 0;
    top: 0;
    max-width: initial;
    width: 100%;
}
.voice_link .voice_link_ul li .txt_box{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	padding-top: 50px;
	color: #fff;
	background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.3));
	font-family: "游ゴシック",'メイリオ', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}
.voice_link .voice_link_ul li .txt_box .hitokoto{
	padding: 0 5px 10px 10px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: -0.05rem;
}
.voice_link .voice_link_ul li .txt_box .name{
	display: none;
}
.voice_link .voice_link_ul li .txt_box .job_til{
	display: none;
}
/* recruit_area */
.recruit_area{
	padding: 60px 0;
	background: linear-gradient(to bottom, #fff 80px, #EDF3FF 80px);
}
.recruit_area .flx_box{
	max-width: 1400px;
	width: 90%;
	margin: 40px auto 0;
}
.recruit_area .flx_box li{
	max-width: 640px;
	margin: 0 auto 40px;
}
.recruit_area .flx_box li:last-child{
	margin-bottom: 0;
}
.recruit_area .flx_box li a,
.recruit_area .flx_box li .no_link{
	display: block;
	border-radius: 10px;
	box-shadow: 15px 15px 15px rgba(0,0,0,0.1);
	overflow: hidden;
}
.recruit_area .flx_box li .img_box{
	font-size: 0;
}
.recruit_area .flx_box li .txt_box{
	position: relative;
	padding: 30px 50px;
	background: #0055FF;
	color: #fff;
	text-align: center;
}
.recruit_area .flx_box li.career .txt_box{
	background: #11C29F;
}
.recruit_area .flx_box li.no_recruit .img_box,
.recruit_area .flx_box li.no_recruit .txt_box{
	background: #CACFD9;
}
.recruit_area .flx_box li.no_recruit .img_box img{
    opacity: .3;
}

.recruit_area .flx_box li .txt_box:before{
	content: "";
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 8px;
    top: 0;
    bottom: 0;
    right: 32px;
	margin: auto;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}
.recruit_area .flx_box li .txt_box:after{
	content: "";
	display: inline-block;
	position: absolute;
	width: 26px;
	height: 26px;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	border: 2px solid #fff;
	border-radius: 100%;
}
.recruit_area .flx_box li .txt_box .m_til{
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
}
.recruit_area .flx_box li .txt_box .m_exp{
	font-weight: bold;
	font-size: 14px;
}
.recruit_area .flx_box li .txt_box .m_exp span{
	display: inline-block;
}

/* recu_footer */
#recu_footer .ft_top{
    padding: 50px 5%;
    text-align: center;
    background: #0055FF;
    color: #fff;
}
#recu_footer .ft_top .ft_m_til{
    margin-bottom: 15px;
    font-size: 45px;
    line-height: 1;
    font-weight: 700;
}
#recu_footer .ft_top .ft_sub{
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.6;
}
#recu_footer .ft_top .ft_tel{
    margin-bottom: 5px;
    font-size: 19px;
    font-weight: bold;
    font-family: Arial, 'メイリオ', 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#recu_footer .ft_top .ft_tel .tel{
    margin-left: 7px;
    font-size: 30px;
    line-height: 1.4;
}
#recu_footer .ft_top .ft_tel a{
    color: #fff;
}
#recu_footer .ft_top .ft_day{
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 1.4;
}
#recu_footer .ft_top .entry_link{
    display: block;
    position: relative;
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    padding: 13px 50px 13px 20px;
    background: #fff;
    border-radius: 10px;
}
#recu_footer .ft_top .entry_link:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 8px;
    height: 8px;
    top: 0;
    right: 32px;
    bottom: 0;
    margin: auto;
    border-right: 2px solid #0055FF;
    border-bottom: 2px solid #0055FF;
    transform: rotate(-45deg);
}
#recu_footer .ft_top .entry_link:after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 26px;
    height: 26px;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    border: 2px solid #0055FF;
    border-radius: 100%;
}
#recu_footer .ft_top .flx_box{
    display: flex;
    align-items: center;
}
#recu_footer .ft_top .flx_box .ft_img{
    flex: 0 0 36px;
    height: 36px;
    margin-right: 15px;
}
#recu_footer .ft_top .flx_box .ft_img svg{
    width: 36px;
    height: 36px;
    fill: #0055FF;
}
#recu_footer .ft_top .flx_box .ft_txt{
    text-align: left;
}
#recu_footer .ft_top .flx_box .ft_txt .eng{
    font-size: 32px;
    line-height: 1;
    letter-spacing: 1.4px;
    color: #0055FF;
}
#recu_footer .ft_top .flx_box .ft_txt .txt{
    font-size: 14px;
    color: #0055FF;
}
#recu_footer .ft_btm{
    padding: 30px 0;
    background: #060686;
    color: #fff;
}
#recu_footer .ft_btm .ft_btm_in{
    max-width: 1600px;
    width: 90%;
    margin: 0 auto;
}
#recu_footer .ft_btm .flx_box{
    margin-bottom: 30px;
}
#recu_footer .ft_btm .flx_box li{
    margin-bottom: 5px;
}
#recu_footer .ft_btm .flx_box li.logo{
    margin-bottom: 10px;
}
#recu_footer .ft_btm .flx_box li:last-child{
    margin-right: 0;
}
#recu_footer .ft_btm .flx_box li.logo svg{
    width: 260px;
    height: 48px;
}
#recu_footer .ft_btm .flx_box li.logo #ml_path_1,
#recu_footer .ft_btm .flx_box li.logo #ml_path_2{
    fill: #fff;
}
#recu_footer .ft_btm .flx_box li a{
    text-decoration: underline;
    font-size: 14px;
    color: #fff;
}
#recu_footer .ft_btm .flx_box li a.ico_blank:after{
    background: url(/shared/images/ico_blank_w.png) center / contain no-repeat;
}
#recu_footer .ft_btm .copy{
    font-size: 12px;
}
@media screen and (min-width: 960px){
    /* 共通 */
    .rec_title{
        margin-bottom: 20px;
        font-size: 120px;
    }
    .rec_sub_jpn{
        margin-bottom: 40px;
        font-size: 20px;
    }
    .rec_exp{
        font-size: 16px;
        margin-bottom: 80px;
    }
    /* recu_header */
    #recu_header .show_box{
        max-width: 240px;
    }
    #recu_header .show_box ul li{
        flex: 0 0 120px;
        height: 120px;
    }
    #recu_header .show_box ul li .entry_link .entry_man{
        width: 28px;
        height: 28px;
    }
    #recu_header .show_box ul li .entry_til,
    #recu_header .show_box ul li .menu_til{
        font-size: 24px;
    }
    .sp_tgl_opn #recu_header .hide_box .logo_area .flx_box,
    #recu_header.recruit_second .hide_box .logo_area .flx_box{
        display: flex;
        align-items: center;
        height: 120px;
        padding: 20px 225px 20px 40px;
    }
    #recu_header .hide_box .logo_area .main_logo{
        margin-right: 30px;
    }
    #recu_header .hide_box .logo_area .main_logo svg{
        width: 100%;
        max-width: 100%;
        max-height: 100%;
    }
    #recu_header .hide_box .logo_area .sub_txt,
    .sp_tgl_opn #recu_header .hide_box .logo_area .sub_txt{
        font-size: 18px;
        padding-top: 8px;
    }
    #recu_header .show_box ul li #hd_toggle_recu span{
        margin: 12px auto;
    }
    #recu_header .hide_box .link_area{
        padding: 40px 0;
    }
    #recu_header .hide_box .link_area ul.out_ul > li{
        padding: 35px 0;
    }
    #recu_header .hide_box .link_area ul.out_ul > li:first-child {
        padding: 0 0 35px;
    }
    #recu_header .hide_box .link_area ul.out_ul > li.oth_link{
        padding: 35px 0 0;
    }
    #recu_header .hide_box .link_area ul.out_ul > li .m_til{
        margin-right: 20px;
        font-size: 64px;
    }
    #recu_header .hide_box .link_area ul.in_ul{
        margin-top: 20px;
    }
    #recu_header .hide_box .link_area ul.in_ul > li{
        margin-right: 5%;
        margin-bottom: 0;
    }
    #recu_header .hide_box .link_area ul.in_ul > li a,
    #recu_header .hide_box .link_area ul.in_ul > li span{
        font-size: 20px;
    }
    #recu_header .hide_box .link_area ul.out_ul > li.oth_link ul.ol_in{
        display: flex;
    }
    #recu_header .hide_box .link_area ul.out_ul > li.oth_link ul.ol_in li{
        margin-right: 3%;
        margin-bottom: 0;
    }
    /* top_main */
    .top_main.recruit_second{
        margin-top: 120px;
    }
    /* voice_link */
	.voice_link .voice_link_ul li .txt_box .hitokoto{
		padding-left: 30px;
        padding-bottom: 0;
		font-size: 1.9vw;
	}
	.voice_link .voice_link_ul li .txt_box .name {
        display: block;
		margin-bottom: 30px;
		padding-left: 30px;
		font-size: 20px;
        font-weight: bold;
	}
    .voice_link .voice_link_ul li .txt_box .job_til{
        display: inline-block;
        padding: 10px 13px;
        font-size: 14px;
        font-weight: bold;
        background: #333;
        border-radius: 0 0 0 10px;
    }
    /* recruit_area */
    .recruit_area{
		padding: 120px 0;
		background: linear-gradient(to bottom, #fff 180px, #EDF3FF 180px);
	}
	.recruit_area .flx_box{
		display: flex;
		justify-content: space-between;
		margin: 80px auto 0;
	}
	.recruit_area .flx_box li{
		flex: 0 0 46%;
		margin: 0;
	}
	.recruit_area .flx_box li .txt_box{
		padding: 40px;
	}
	.recruit_area .flx_box li .txt_box:before{
		width: 10px;
		height: 10px;
		right: 40px;
	}
	.recruit_area .flx_box li .txt_box:after{
		width: 36px;
		height: 36px;
		right: 24px;
	}
	.recruit_area .flx_box li .txt_box .m_til{
		margin-bottom: 10px;
		font-size: 28px;
	}
	.recruit_area .flx_box li .txt_box .m_exp{
		font-size: 16px;
	}

    /* recu_footer */
    #recu_footer .ft_top{
        padding: 80px 5% 120px;
    }
    #recu_footer .ft_top .ft_m_til{
        margin-bottom: 30px;
        font-size: 120px;
    }
    #recu_footer .ft_top .ft_sub{
        margin-bottom: 30px;
        font-size: 16px;
        line-height: 2;
    }
    #recu_footer .ft_top .ft_tel{
        font-size: 24px;
    }
    #recu_footer .ft_top .ft_tel .tel{
        margin-left: 20px;
        font-size: 48px;
    }
    #recu_footer .ft_top .ft_day{
        margin-bottom: 60px;
        font-size: 16px;
    }
    #recu_footer .ft_top .entry_link{
        padding: 33px 80px 33px 40px;
    }
    #recu_footer .ft_top .entry_link:after{
        width: 36px;
        height: 36px;
        right: 40px;
    }
    #recu_footer .ft_top .entry_link:before{
        width: 10px;
        height: 10px;
        right: 56px;
    }
    #recu_footer .ft_top .flx_box .ft_img{
        flex: 0 0 56px;
        height: 56px;
        margin-right: 30px;
    }
    #recu_footer .ft_top .flx_box .ft_img svg{
        width: 56px;
        height: 56px;
    }
    #recu_footer .ft_top .flx_box .ft_txt .eng{
        font-size: 40px;
        line-height: 1.2;
    }
    #recu_footer .ft_top .flx_box .ft_txt .txt{
        font-size: 16px;
    }
    #recu_footer .ft_btm{
        padding: 60px 0 100px;
    }
    #recu_footer .ft_btm .flx_box{
        display: flex;
        align-items: center;
    }
    #recu_footer .ft_btm .flx_box li,
    #recu_footer .ft_btm .flx_box li.logo{
        margin-bottom: 0;
        margin-right: 3%;
    }

}

@media screen and (min-width: 1200px){
    /* 共通 */
    .ico_arrow{
        padding-right: 35px;
    }
    .ico_arrow02{
        padding-left: 35px;
    }
    .ico_arrow:before,
    .ico_arrow02:before{
        width: 24px;
        height: 24px;
        border: 2px solid #fff;
    }
    .ico_arrow:after,
    .ico_arrow02:after{
        width: 6px;
        height: 6px;
        right: 11px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
    }
    .ico_arrow02:after{
        right: auto;
        left: 11px;
    }
    #recu_header .hide_box .link_area ul.in_ul {
        display: flex;
    }
}

@media screen and (min-width: 1536px){

	.voice_link .voice_link_ul li .txt_box .hitokoto{
		padding-left: 37px;
        font-size: 37px;
	}
    .voice_link .voice_link_ul li .txt_box .name{
		padding-left: 43px;
    }
}
