@charset "utf-8";

.form-errors {
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 1.5em;
}

.form-error {
	color: #ff0000;
	background-color: #ff000022;
	border: 1px solid #ff0000;
	border-radius: .5em;
	padding: .5em .75em;
	margin: 0 1.5em;
}

.form-error + .form-error {
	margin-top: .75em;
}

button[data-ajax-trigger="fav"][data-fav="0"] > img:last-child {
	display: none;
}
button[data-ajax-trigger="fav"][data-fav="1"] > img:first-child {
	display: none;
}
[data-ajax-trigger="apply"][data-state="done"] {
	background-color: #ccc;
}


/**
 * image uploader
 */
form .image-uploader {
    position: relative;
    box-sizing: content-box;
    width: 500px;
    min-height: 100px;
    padding: 10px;
    border-width: 1px;
    border-style: dashed;
    border-color: #aaa;
    transition: all .2s ease-out;
}
form .image-uploader.has-image {
    border-style: solid;
    border-color: #ccc;
}
form .image-uploader:hover {
    border-color: #0693e366;
    background-color: #0693e322;
}
form .image-uploader + .image-uploader {
    margin-top: 20px;
}
form .image-uploader input {
    height: auto !important;
    border: none !important;
}

/**
 * upload image preview
 */
form .image-preview {
    position: relative;
    display: inline-block;
}
form .image-preview > img {
    display: block;
}
form .image-preview > .overlay {
    position: absolute; top: 0; left: 0;
    box-sizing: border-box;
    width: 100%; height: 100%;
    padding: 8px;
}
form .image-preview > .overlay label {
    display: inline-block;
    background-color: #444a;
    transition: background-color .2s;
    color: white;
    padding: .25em .5em;
    cursor: pointer;
}
form .image-preview > .overlay label:hover {
    background-color: #444d;
}
form .image-preview > .overlay label > input[type="checkbox"] {
    width: auto; height: auto;
}

/* ---- Dirty Fixes -------- -
/* There are some inevitable structural differences in the theme templates from the original HTML.
 * The styles below patches the broken styles caused by those differences.
 */

.mypage_profile .keepBtn {
	margin-top: 4em;
}

#signup .step-content-wrap .step-content {
	display: none;
}
#signup[data-state="1"] .step-content-wrap .step-content:first-child {
	display: block;
}
#signup[data-state="2"] .step-content-wrap .step-content:nth-child(2) {
	display: block;
}
.search .search__select {
    align-items: center;
}
.header .headerLogo__text {
    margin-top: 8px;
}
.underPage_single_contentHtml h1{
	font-size: 26px;
	font-weight: 500;
	color: #002769;
	line-height: 1.8;
	width: 100%;
	max-width: 874px;
	margin: 0 auto 0;
}
.underPage_single_content {
    padding: 50px 0;
}
.entry-cotent_head{
	width: 100%;
	max-width: 874px;
	margin: 30px auto 0;
}
.entry-cotent_head p{
	font-size: 26px;
	font-weight: 700;
}
.entry-cotent_head span{
	font-size: 30px;
	font-weight: 700;
	margin-top: 20px;
	display: block;
}
.entry-cotent_nav{
	margin: 30px auto 55px;
	max-width: 874px;
}
.entry-cotent_navContent {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    margin-bottom: 15px;
}
.entry-cotent_navContent li {
    border-radius: 5px;
    color: #fff;
    font-size: 15px;
    margin: 0 10px 0 0;
    padding: 3px 10px;
}
.entry-cotent_navContent li:first-of-type {
    background-color: #009d39!important;
}
.entry-cotent_navContent li:nth-of-type(2) {
    background-color: #65c4f2!important;
}
.entry-cotent_info{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto 50px;
	width: 100%;
	max-width: 874px;
}
.entry-cotent_infoImg{
    max-width: 300px;
    width: 100%;
    height: 250px;
	overflow: hidden;
}

.entry-cotent_infoImg img{
    object-fit: cover;
    object-position: center;
    max-width: 300px;
    width: 100%;
    height: 250px;
    overflow: hidden;
}
.entry-cotent_infoTx{
	max-width: 380px;
	width: 100%;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 500;
    margin: 0 0 0 30px;
}
.entry-cotent_btn {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 25px auto 0;
	max-width: 874px;
	margin: 105px auto;
}
.entry-cotent_btnLink a {
    transition: .3s;
}
.entry-cotent_btnLink a:hover {
    opacity: 0.8;
}
.entry-cotent_tableTitle{
	font-size: 20px;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	font-weight: 500;
	padding: 15px 0;
	text-align: center;
}
.entry-cotent_table{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 64px auto 0;
	width: 100%;
	max-width: 874px;
}
.entry-cotent_tableImgs{
    max-width: 300px;
    width: 100%;
}
.entry-cotent_tableImgs p{
	margin-bottom: 30px;
}
.entry-cotent_tableImgs img{
    object-fit: cover;
    object-position: center;
    max-width: 300px;
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.entry-cotent_tableTx{
	max-width: 380px;
	width: 100%;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 500;
    margin: 0 0 0 30px;
}
.entry-cotent_tableTx tr{
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
}
.entry-cotent_tableTx tr th{
	width: 152px;
	padding: 25px 0;
	font-weight: 500;
	vertical-align: middle;
}
.entry-cotent_tableTx tr td{
	font-size: 15px;
	line-height: 1.4;
	padding: 25px 0;
	font-weight: 500;
}
.entry-cotent_tableImg{
	margin-bottom: 60px;
}
.entry-cotent_btn.lastmargin{
	margin: 92px auto 0;
}
#google_language_translator select.goog-te-combo {
    color: #32373c;
    height: 31px!important;
    margin: 0;
}
.jobtags .jobtag {
    border-radius: 5px;
    color: #fff;
    font-size: 15px;
    margin-right: 11px;
    padding: 6px 0;
    text-align: center;
}
.jobtags .jobtag:first-of-type {
    background-color: #009d39!important;
    width: 108px;
}
.jobtags .jobtag:nth-of-type(2) {
    background-color: #65c4f2!important;
    width: 69px;
}
.joboffer .jobofferContent__innerText {
    line-height: 1.86666;
    margin-top: 4px;
}
.joboffer .swiper-slide {
    border: 1px solid #0042af;
    padding: 1% 1%;
    width: 480px!important;
    box-sizing: content-box;
}
.underPage_single_companyInfo{
    margin: 0px auto 0;
    width: 100%;
    padding: 0 80px 0;
    max-width: 874px;
}
.underPage_single_companyInfo img {
    width: 100%;
    height: auto;
}
.underPage_single_contentHtml{
    margin: 64px auto 0;
    width: 100%;
    padding: 0 80px 0;
    max-width: 874px;
    line-height: 1.6
}
.mypage_fa .keepBtn{
    width: 332px;
    margin: 60px auto;
    background-color: #002769;
    color: #fff;
    padding: 15px;
    text-align: center;
    border-radius: 5px;
}
.mypage_fa .keepBtn a {
    color: #fff;
}
.header .headerbtn {
    width: 8vw;
}
.header .headerMenuWrap {
    width: 901px;
}
.mv .form__headImg {
    width: 72.41%;
}
.mv .form {
    width: 25.95%;
}
.mv .form__btn {
    font-size: 24px;
}
.mv .form__text {
    font-size: 11px;
}
.mv .form__btnArrow {
    width: 2vw;
}
.mv .form__selectWrap input {
    height: 35px;
}
.mv .form__select {
    font-size: 16px;
    padding: 1.088%;
}
.mv .mv__subhead {
    font-size: 29px;
}
.header .headermenuListWrap {
    justify-content: flex-end;
}
.underPageBreadcrumb{
	width: 100%;
	background-color: #002769;
}
.underPageBreadcrumbIn{
	max-width: 1406px;
	margin: 0 auto;
	padding: 0 15px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100px;
}
.underPageBreadcrumbIn h2 {
    border-right: 1px solid #fff;
    padding: 8px 15px 8px 0;
    margin-right: 15px;
}
.underPageBreadcrumbIn h2 img{
	width: 141px;
	height: auto;
}
.underPageBreadcrumbIn .underPageBreadcrumbInList{
	font-size: 30px;
	letter-spacing: 0.03em;
}
.underPageBreadcrumbIn .underPageBreadcrumbInList a{
	color: #fff;
	letter-spacing: 0.03em;
}
.underPageBreadcrumbIn .underPageBreadcrumbInList span{
	color: #fff;
	letter-spacing: 0.03em;
}
/*contact*/
.jobcontact_title h2 {
    text-align: center;
    font-size: 26px;
    font-weight: 900;
    letter-spacing: 0.12em;
    margin-bottom: 50px;
    color: #002769;
    position: relative;
}
.jobcontact_title h2:after{
	content: "";
    border-bottom: 2px solid #002769;
    position: absolute;
    bottom: -15px;
	width: 100px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.jobcontact_title p{
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.12em;
    color: #002769;
    text-align: center;
}

/*about*/
.underPage_contents.UnderAbout{
	max-width: 1368px;
}
.UnderAbout .about_title{
	font-size: 40px;
	color: #002769;
	margin-bottom: 70px;
	text-align: center;
	font-weight: 700;
}
.UnderAbout .about_title h2{
	font-weight: 700;
}

.UnderAbout .about_title span{
	color: #FF0000;
}

.UnderAbout .about_intro{
	margin-bottom: 105px;
}
.UnderAbout .about_intro ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.UnderAbout .about_intro ul li{
	width: 424px;
}
.UnderAbout .about_intro ul li img{
	width: 100%;
	margin-bottom: 25px;
}
.UnderAbout .about_intro ul li p{
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
}

.UnderAbout .about_content{
	background-color: #E2F6FF;
	margin: 0 calc(49.3% - 50vw);
	width: 100vw;
	padding: 100px 0;
	text-align: center;
}

.UnderAbout .about_content h2{
	font-size: 40px;
	color: #002769;
	text-align: center;
	font-weight: 700;
}

.UnderAbout .about_content .about_content_top{
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
	margin: 40px auto 80px;
}

.UnderAbout .about_content h3{
	font-size: 40px;
	color: #002769;
	text-align: center;
	font-weight: 700;
}

.UnderAbout .about_content .about_content_bottom{
	font-size: 20px;
	line-height: 1.8;
	font-weight: 500;
	margin: 40px auto 0;
}

.UnderAbout .about_cv{
	background-color: #001538;
	margin: 0 calc(49.3% - 50vw);
	width: 100vw;
	text-align: center;
	padding-bottom: 115px;
}
.UnderAbout .about_cv h2{
	font-size: 40px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
	padding-top: 100px;
}

.UnderAbout .about_cv a{
	display: inline-block;
	width: 100%;
	max-width: 600px;
	margin: 115px auto 0;
}

.UnderAbout .about_step{
	background-color: #EFEFEF;
	margin: 0 calc(49.3% - 50vw);
	width: 100vw;
	padding: 100px 0;
	text-align: center;
}
.UnderAbout .about_step h2{
	font-size: 40px;
	color: #002769;
	text-align: center;
	font-weight: 700;
}

.UnderAbout .about_step_in{
	position: relative;
	background-color: #fff;
	max-width: 1368px;
	width: 100%;
	margin: 50px auto 0;
	padding: 68px 0;
}

.UnderAbout .about_step_in ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1140px;
	margin: 0 auto
}

.UnderAbout .about_step_in ul li{
	width: 252px;
	text-align: center;
    z-index: 2;
}

.UnderAbout .about_step_in ul li img{
	width: 106px;
	height: auto;
}
.UnderAbout .about_step_in ul li h3{
	font-size: 25px;
	font-weight: 700;
	margin: 30px auto;
}
.UnderAbout .about_step_in ul li p{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}
.UnderAbout .about_step_line{
    position: absolute;
    height: 1px;
    width: 65%;
    background-color: #002769;
    top: 125px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
}
.article_year{
    margin-top: 5px;
    font-size: 14px;
}
.blogContent .newsSide{
    width: 320px;
    padding: 0 10px;
}
.blogContent .side-title{
    font-size: 16px;
    font-weight: 700;
    background-color: #002769;
    padding: 10px;
    text-align: left;
    width: 100%;
    color: #fff;
}
.blogContent .newsSide ul li{
    font-size: 16px;
    border:1px solid #000;
    padding: 10px;
    text-align: left; 
}
.blog-boxHead .blogTitle{
    font-size: 20px;
    color: #002769;
    margin-bottom: 15px;
}
.blog-boxHead time{
    font-size: 16px;
    margin-bottom: 30px;
    display: block;
}
.blog-boxHead .post_title{
    font-size: 32px;
    line-height: 1.4;
    color: #002769;
    font-weight: 700;
}
.blogContent .snsShe {
    text-align: right;
    margin: 60px auto 80px;
}
.blogContent .post_content{
    line-height: 1.8;
    font-size: 20px;
}
.authorArea{
    border:solid 1px #000;
    padding: 50px 64px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 120px;
}
.authorAreaImg{
    width: 141px;
    margin: 0 55px 0 0;
}
.authorAreaInfo{
    width: 670px;
}
.authorAreaInfo h3{
    font-size: 18px;
    margin-bottom: 15px;
}
.authorAreaInfo span{
    font-size: 28px;
    margin-bottom: 50px;
    font-weight: 700;
    display: block;
}
.authorAreaInfo p{
    font-size: 18px;
    line-height: 2;
    word-break: break-all;
}
.header {
    width: 100%;
    position: fixed;
    z-index: 999999999;
    top: 0;
    height: 100px;
}
.mv {
    margin-top: 100px;
}
.mv .form {
    top: 22.18%;
}
.breadcrumbs {
    padding: 115px 50px 14px;
}
.blog-box{
    padding: 0 10px;
}
.stepForm_box_req{
    text-align: right;
}
.stepForm_box_req p{
    font-size: 18px;
    color: #002769;
    margin: 0 25px 0 0;
}
.header .menuList_icon {
    width: 20px;
}
.stepForm_box_main_tableTd input[type=email] {
    background-color: #fff;
    border: 1px solid #707070;
    height: 80px;
}
.stepForm_box_main_tableTd input[type=password] {
    background-color: #fff;
    border: 1px solid #707070;
    height: 80px;
}
.header.companyH{
    background-color: #256de6;
}
@media screen and (max-width: 1480px){
.UnderAbout .about_title {
    font-size: 32px;
    color: #002769;
    margin-bottom: 70px;
    text-align: center;
    font-weight: 700;
}
.UnderAbout .about_intro ul li {
    width: 320px;
}
.UnderAbout .about_intro {
    max-width: 1050px;
    margin: 0 auto 105px;
}
.UnderAbout .about_intro ul li p {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 500;
}
.UnderAbout .about_step_in {
    position: relative;
    background-color: #fff;
    max-width: 1000px;
    width: 100%;
    margin: 50px auto 0;
    padding: 68px 0;
}
.UnderAbout .about_step_in ul {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    max-width: 990px;
    margin: 0 auto;
}
.UnderAbout .about_step_in ul li {
    width: 222px;
    text-align: center;
    z-index: 2;
}
.UnderAbout .about_step_in ul li img {
    width: 96px;
    height: auto;
}
.UnderAbout .about_step_in ul li h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 20px auto;
}
.UnderAbout .about_step_in ul li p {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}
}


@media screen and (max-width: 768px){
.UnderAbout .about_title {
    font-size: 5.2vw;
    color: #002769;
    margin-bottom: 10vw;
    text-align: center;
    font-weight: 700;
    line-height: 1.6;
}
.UnderAbout .about_intro {
    max-width: 93.2%;
    margin: 0 auto 10vw;
}
.UnderAbout .about_intro ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}
.UnderAbout .about_intro ul li {
    width: 100%;
    text-align: center;
}
.UnderAbout .about_intro ul li img {
    width: 50%;
    margin: 0 auto 2vw;
}
.UnderAbout .about_intro ul li p {
    font-size: 3.2vw;
    line-height: 1.8;
    font-weight: 500;
    margin-bottom: 5vw;
}
.UnderAbout .about_content {
    background-color: #E2F6FF;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 10vw 0;
    text-align: center;
}
.UnderAbout .about_content h2 {
    font-size: 5.2vw;
    color: #002769;
    text-align: center;
    font-weight: 700;
}
.UnderAbout .about_content .about_content_top {
    font-size: 3.2vw;
    line-height: 1.8;
    font-weight: 500;
    margin: 5vw auto 15vw;
}
.UnderAbout .about_content h3 {
    font-size: 5.2vw;
    color: #002769;
    text-align: center;
    font-weight: 700;
}
.UnderAbout .about_content .about_content_bottom {
    font-size: 3.2vw;
    line-height: 1.8;
    font-weight: 500;
    margin: 5vw auto 0;
}
.UnderAbout .about_cv {
    background-color: #001538;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    text-align: center;
    padding-bottom: 10vw;
}
.UnderAbout .about_cv a {
    display: inline-block;
    width: 100%;
    max-width: 84vw;
    margin: 10vw auto 0;
}
.UnderAbout .about_step {
    background-color: #EFEFEF;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 10vw 0;
    text-align: center;
}
.UnderAbout .about_step h2 {
    font-size: 5.2vw;
    color: #002769;
    text-align: center;
    font-weight: 700;
}
.UnderAbout .about_step_in {
    position: relative;
    background-color: #fff;
    max-width: 93.2%;
    width: 100%;
    margin: 10vw auto 0;
    padding: 10vw 0;
}
.UnderAbout .about_step_in ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 80%;
    flex-direction: column;
}
.UnderAbout .about_step_in ul li {
    width: 100%;
    text-align: center;
    z-index: 2;
    margin: 0 auto 10vw;
}
.UnderAbout .about_step_in ul li img {
    width: 50%;
    height: auto;
}
.UnderAbout .about_step_in ul li h3 {
    font-size: 4.2vw;
    font-weight: 700;
    margin: 3vw auto;
}
.UnderAbout .about_step_in ul li p {
    font-size: 3.2vw;
    font-weight: 500;
    line-height: 1.5;
}
.UnderAbout .about_step_line {
    position: absolute;
    height: 1px;
    width: 65%;
    background-color: #002769;
    top: 125px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 1;
    display: none;
}
.UnderAbout .about_cv h2 {
    font-size: 3.8vw;
    color: #fff;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    padding-top: 10vw;
}
	.underPageBreadcrumbIn {
    max-width: 100%;
    margin: 0 auto;
    padding: 1vw 2vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: auto;
    }
    .underPageBreadcrumbIn h2 img {
    width: 15vw;
    height: auto;
    vertical-align: baseline;
}
.underPageBreadcrumbIn h2 {
    border-right: 1px solid #fff;
    padding: 0.5vw 2vw 1vw 0;
    margin-right: 2vw;
}
.underPageBreadcrumbIn .underPageBreadcrumbInList {
    font-size: 2.82vw;
    letter-spacing: 0.03em;
}
.jobcontact_title h2 {
    text-align: center;
    font-size: 5.2vw;
    font-weight: 900;
    letter-spacing: 0.12em;
    margin-bottom: 10vw;
    color: #002769;
    position: relative;
}
.underPage.mypage.wide .jobcontact .stepForm_box {
    padding: 0 0 10vw;
}
.jobcontact_title p {
    font-size: 4.2vw;
    line-height: 1.8;
    letter-spacing: 0.12em;
    color: #002769;
    text-align: center;
}
.mw_wp_form_confirm .jobcontact .stepForm_box_main_tableTd {
    border-bottom: 1px solid #cacaca;
    font-size: 3.6vw;
    padding-bottom: 5vw;
}
	.jobtags .jobtag {
		border-radius: 5px;
		color: #fff;
		font-size: 2.32vw;
		margin-right: 11px;
		padding: 1vw 1vw;
		text-align: center;
	}
	.jobtags .jobtag:first-of-type {
		background-color: #009d39!important;
		width: auto;
	}
	.jobtags .jobtag:nth-of-type(2) {
		background-color: #65c4f2!important;
		width: auto;
	}

	.about {
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.about .about__img {
		width: 100%;
	}
	.about .aboutContent {
		background: #002769;
		color: #fff;
		padding: 4.82% 0 3.27% 6.56%;
		width: 100%;
	}
	.joboffer .swiper-slide {
		border: 1px solid #0042af;
		margin-right: 30px;
		padding: 1.48% 0 1.79% 2.5%;
		width: 100%!important;
	}
	.headerMenuWrap{
		display: flex;
		width: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.header .headermenuListWrap {
		align-items: center;
		display: flex;
		white-space: nowrap;
		width: 80%;
		flex-direction: column;
		justify-content: center;
		border-bottom: 1px solid #fff;
		padding: 0 0 3vw;
		margin: 0 auto;
		border-right: none;
	}
	.header .headermenuLists {
		margin: 0 auto 15vw;
	}
	.header .headermenuLists:last-child {
		margin: 0 auto 15vw;
	}
	.headerLogo img {
		width: 25vw;
	}
	.header .headerLogo__text {
		font-family: ryo-gothic-plusn,sans-serif;
		font-size: 2.32vw;
		letter-spacing: .05em;
		margin-left: 2vw;
		margin-top: 1vw;
	}
	.header {
		align-items: center;
		background: #001538;
		color: #fff;
		display: flex;
		justify-content: space-between;
		padding: 2vw 3vw;
        height: auto;
	}
	.header .headerBtnWrap {
		display: flex;
		margin: 15vw auto;
		align-items: center;
		justify-content: center;
	}

	.hamburger {
		width: 10.82vw;
		height: 10vw;
		display: flex !important;
		justify-content: center;
		align-items: center;
	  }
	  .line {
		width: 18px;
		height: 2px;
		background-color: #fff;
		position: relative;
		transition: 0.3s;
	  }
	  .line::before,
	  .line::after {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: #fff;
		transition: 0.3s;
	  }
	  .line::before {
		left: 0;
		transform: translateY(-5px);
	  }
	  .line::after {
		left: 0;
		transform: translateY(5px);
	  }
	  .open .hamburger .line {
		background-color: transparent;
	  }
	  .open .hamburger .line::before,
	  .open .hamburger .line::after {
		content: "";
		transition: 0.2s;
	  }
	  .open .hamburger .line::before {
		transform: rotate(45deg);
	  }
	  .open .hamburger .line::after {
		transform: rotate(-45deg);
		z-index: 99;
	  }
	  .headerMenuWrap {
		-webkit-transition: 0.3s;
		z-index: 9999;
		position: fixed;
		right: -100%;
		width: 100%;
		height: 100%;
		background-color: rgb(0 21 56 / 80%);
		text-align: center;
		transition: 0.3s;
		top: 13vw;
		color: #fff;
	  }
	  .header .headerMenuWrap {
		display: block;
		width: 100%;
		padding: 10vw 0;
	  }
      .header .headerbtn {
    width: auto;
    padding: 3vw 6vw;
}
.underPage.mypage .mypage_nav {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 100%;
    flex-direction: column;
}
.underPage.mypage .mypage_nav {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 5vw auto 0;
    max-width: 100%;
    flex-direction: column;
    /* width: 100%; */
}
.underPage.mypage .mypage_navLink {
    background-color: #002769;
    margin: 0 auto 2vw;
    text-align: center;
    width: 100%;
}
.underPage.mypage .mypage_navLink a {
    align-items: center;
    color: #fff;
    display: flex;
    justify-content: center;
    padding: 3vw 0;
    transition: .3s;
    font-size: 2.8vw;
    margin: 0 auto;
}
.underPageBreadcrumb {
    width: 100%;
    background-color: #002769;
    margin-top: 14vw;
}
.underPage.blogContent {
    margin: 10vw auto;
    max-width: 100%;
    flex-direction: column;
}
.blogContent .post_content {
    line-height: 1.8;
    font-size: 3.2vw;
    word-break: break-word;
}
.blog-boxHead .blogTitle {
    font-size: 3.2vw;
    color: #002769;
    margin-bottom: 2vw;
}
.blog-boxHead time {
    font-size: 3.2vw;
    margin-bottom: 5vw;
    display: block;
}
.blog-boxHead .post_title {
    font-size: 4.2vw;
    line-height: 1.4;
    color: #002769;
    font-weight: 700;
}
.blogContent .snsShe {
    text-align: right;
    margin: 10vw auto 10vw;
    padding-right: 2vw;
}
.blogContent .newsSide {
    width: 100%;
    padding: 0 10px;
}
	  .open .headerMenuWrap {
		right: 0;
		transition: 0.3s;
	  }
	  .head_menu {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		font-size: 20px;
		font-weight: bold;
	  }
	  .head_menu li {
		font-size: 4.2vw;
		padding: 5vw 0;
		text-align: center;
		border-bottom: 1px solid #fff;
	  }
	  .head_menu li a {
		color: #fff;
	  }
	  .mv .company {
		background: #707070;
		color: #fff;
		font-family: ryo-gothic-plusn,sans-serif;
		text-align: center;
		width: 66vw;
	}
	.mv .form {
		background: #002769;
		border-radius: 17px;
		position: absolute;
		width: 93.2%;
		top: 380px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.mv .form__headImg {
		display: block;
		margin: 0 auto;
		width: 62.41%;
	}
	.mv .step01, .mv .step02 {
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: .05em;
		padding: 1.28% 0;
		text-align: center;
		width: 50%;
	}
	.mv .form__address {
		margin-bottom: 3vw;
		margin-top: 4vw;
	}
	.mv .form__selectHead {
		color: #fff;
		font-family: UD Shin Go Medium,sans-serif;
		font-size: 3.6vw;
		letter-spacing: .05em;
		margin-bottom: 1vw;
	}
	.mv .form__selectWrap input {
		border-radius: 5px;
		height: 8vw;
		font-size: 16px;
	}
	.mv .form__select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border-radius: 5px;
		color: #3c3c3c;
		font-family: UD Shin Go Medium,sans-serif;
		font-size: 16px;
		letter-spacing: 0 .3em;
		padding: 1.088%;
		width: 100%;
	}
	.mv .form__btn {
		background: #0042af;
		border: 2px solid #002769;
		border-radius: 8px;
		color: #fff;
		display: block;
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: .05em;
		margin: 0 auto 5.53%;
		padding: 2.79% 0;
		position: relative;
		text-align: center;
		width: 83.64%;
	}
	.mv .form__btnArrow {
		position: absolute;
		right: 3.77%;
		top: 50%;
		transform: translateY(-50%);
		width: 5vw;
	}
	.mv {
		position: relative;
		margin-bottom: 75vw;
    margin-top: 14vw;
	}
	.search {
		border: 2px solid #002769;
		border-radius: 10px;
		box-shadow: 0 2px 3pxrgba(0,0,0,.16);
		margin: 4.042% auto 0;
		padding: 4.29% 0 4.41%;
		position: relative;
		width: 93.2%;
	}
	.search .selectItem {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: none;
		border-radius: 6px;
		color: #c9c9c9;
		font-size: 4.2vw;
		padding: 3.91% 0 3.91% 27.3%;
	}
	.search .selectItemWrap:before {
		background-image: url(../img/marker.svg);
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		height: 4vw;
		left: 6.46%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 5vw;
	}
	.search .selectItemWrap {
		position: relative;
		width: 40.45%;
	}
	.search .cross {
		margin: 0 3.33%;
		width: 3vw;
	}
	.search .select01:after, .search .select02:after {
		border-color: #0042af transparent transparent;
		border-style: solid;
		border-width: 2vw 1.5vw 0;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		top: 50%;
		contain-intrinsic-height: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		right: 2%;
	}
	.search .search-now {
		left: 4.3%;
		position: absolute;
		top: -9.47%;
		width: 25vw;
	}
	.search .search__select {
		align-items: center;
		margin: 3vw auto 0;
	}
	.search .arrow__under {
		display: block;
		margin: 3.44% auto 3.32%;
		width: 7vw;
	}
	.search .searchBtn {
		background: #002769;
		border-radius: 8px;
		box-shadow: 0 2px 3pxrgba(0,0,0,.16);
		color: #fff;
		display: flex;
		font-size: 4.2vw;
		justify-content: center;
		letter-spacing: .03em;
		margin: 0 auto;
		padding: 1.28% 0;
		position: relative;
		text-align: center;
		width: 93%;
		align-items: center;
	}
	.search .searchBtn img {
		width: 4vw;
	}
	.joboffer {
		margin: 5.79% auto 0;
		width: 93.23%;
	}
	.joboffer .joboffer__head {
		color: #002769;
		font-size: 5.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		position: relative;
	}
	.joboffer .joboffer__head .border {
		background: #002769;
		display: block;
		height: 2px;
		margin: 2vw auto 0;
		width: 100%;
	}
	.joboffer .joboffer__head .more {
		font-size: 3.2vw;
		font-weight: 400;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.joboffer .contentHead {
		color: #002769;
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		line-height: 1.65;
	}
	.joboffer .jobofferContent__flex {
		display: flex;
		margin-top: 4.39%;
		flex-direction: column;
	}
	.joboffer .swiper-slide {
		border: 1px solid #0042af;
		margin-right: 0;
		padding: 3vw;
		width: 93%!important;
	}
	.joboffer .jobofferContent__flex img {
		width: 100%;
		height: auto;
	}
	.joboffer .jobofferContent__inner {
		margin: 4% auto;
		width: 100%;
	}
	.joboffer .jobofferContent__innerText {
		line-height: 1.4;
		margin-top: 5vw;
	}
    .joboffer .swiper-button-next, .joboffer .swiper-button-prev {
        height: 10vw;
        position: absolute;
        width: 10vw;
    }
    .joboffer .swiper-button-next {
        right: 0;
    }
    .joboffer .swiper-button-prev {
        left: 0;
    }
    .joboffer .swiper-button-next:after {
        border-color: transparent transparent transparent #002769;
        border-width: 2vw 0 2vw 4vw;
        left: 4vw;
    }
    .joboffer .swiper-button-prev:after {
        border-color: transparent #002769 transparent transparent;
        border-width: 2vw 4vw 2vw 0;
		left: 2vw;
    }
	.new {
		margin: 5.67% auto 0;
		width: 93.2%;
	}
	
	.new .new__head {
		color: #002769;
		font-size: 5.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		position: relative;
	}
	.new .new__head .border {
		background: #002769;
		display: block;
		height: 2px;
		margin: 2vw auto 0;
		width: 100%;
	}
	.new .new__head .border-shadow {
		display: none;
	}
	.new .new__head .more {
		font-size: 3.2vw;
		font-weight: 400;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.new .newContent {
		border-bottom: 1px dashed #5c5c5c;
		display: flex;
		padding: 3vw 0;
		position: relative;
		align-items: center;
		flex-direction: column;
		width: 100%;
	}
	.new .newContent__inner {
		color: #002769;
		flex: 100%;
		padding: 0 0 2vw;
		width: 100%;
		text-align: left;
	}
	.new .newContent__head {
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		margin-bottom: 2.46%;
	}
	.new .job, .new .place {
		font-size: 3.82vw;
		font-weight: 700;
		margin-left: 1%;
		margin-right: 3.52%;
	}
	.new .job__detail, .new .place__detail {
		color: #000;
		font-size: 3.82vw;
		font-style: normal;
	}
	.newContent__innerFlex img {
		width: 3vw;
	}
	.newContent__innerFlex img {
		width: 3vw;
	}
	.new .newContent__img {
		margin: 2vw auto 0;
		width: 100%;
		height: auto;
	}
	.new .new__arrow {
		color: #002769;
		display: inline-block;
		font-size: 7vw;
		position: absolute;
		right: 5.15%;
		top: 12%;
		transform: translateY(-50%);
	}
	.about {
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin: 10vw 0;
	}
	.about .aboutContent {
		background: #002769;
		color: #fff;
		padding: 5vw 5vw;
		width: 100%;
	}
	.about .about__head {
		font-size: 5.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		line-height: 1.625;
		margin-top: 5.7%;
	}
	.about .about__text {
		font-family: ryo-gothic-plusn,sans-serif;
		font-size: 3.2vw;
		letter-spacing: .05em;
		line-height: 2;
		margin-top: 4.75%;
	}
	.about .about__btn {
		background: red;
		border-radius: 8px;
		box-shadow: 0 1px 3pxrgba(0,0,0,.16);
		color: #fff;
		display: block;
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: .02em;
		margin-top: 5.43%;
		padding: 3.8% 0 3.8%;
		position: relative;
		text-align: center;
		width: 100%;
	}
	.infomation {
		margin: 6.46% auto 0;
		width: 93.2%;
	}
	
	.infomation .infomation__head {
		color: #002769;
		font-size: 5.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		position: relative;
	}
	.infomation .infomation__head .border {
		background: #002769;
		display: block;
		height: 2px;
		margin: 2vw auto 0;
		width: 100%;
	}
	.infomation .infomation__head .more {
		font-size: 3.2vw;
		font-weight: 400;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.infomation .infomationContentWrap {
		display: flex;
		flex-wrap: wrap;
		margin-top: 4.84%;
		align-items: flex-start;
		justify-content: space-between;
	}
	.infomation .infomationContent {
		border: 1px solid #0042af;
		display: flex;
		flex-direction: column;
		margin: 0;
		padding: 1vw;
		width:48.5%;
	}
	.infomation .infomationContent__head {
		color: #002769;
		flex-grow: 1;
		font-size: 3.2vw;
		font-weight: 700;
		line-height: 1.65;
		margin-top: 4.39%;
	}
	.infomation .infomation__text {
		font-size: 2.62vw;
		line-height: 1.86666;
		margin: 1vw auto 9.28%;
	}
	.infomation .infomation__btn {
		background: #002769;
		border-radius: 8px;
		box-shadow: 0 1px 3pxrgba(0,0,0,.16);
		color: #fff;
		display: block;
		font-size: 3.2vw;
		font-weight: 700;
		letter-spacing: .02em;
		margin: 0 auto 1vw;
		padding: 4.13% 0;
		position: relative;
		text-align: center;
		width: 100%;
	}
	.infomation .infomation__arrow {
		font-size: 2vw;
		position: absolute;
		right: 3vw;
		top: 50%;
		transform: translateY(-50%);
	}
	.infomation .infomationContent {
		border: 1px solid #0042af;
		display: flex;
		flex-direction: column;
		margin: 0 0 4vw;
		padding: 1vw;
		width: 48.5%;
	}
	.underPage {
		align-items: flex-start;
		display: flex;
		justify-content: space-between;
		margin: 10vw auto;
		max-width: 100%;
		flex-direction: column-reverse;
	}
	.breadcrumbs {
		background-color: #f8f8f8;
		padding: 1.5vw 1vw;
	}
	.breadcrumbs ul li {
		font-size: 2.32vw;
		margin: 0 1vw 0 0;
	}
	.breadcrumbs ul li :after {
		color: #707070;
		content: ">";
		margin: 0 0 0 1vw;
	}
	.breadcrumbs ul li {
		font-size: 2.82vw;
		margin: 0 1vw 0 0;
		border-collapse: collapse;
		white-space: nowrap;
	}
	.breadcrumbs ul {
		align-items: center;
		display: flex;
		justify-content: flex-start;
		overflow-x: scroll;
	}
	.breadcrumbs {
		background-color: #f8f8f8;
		padding: 2vw 1vw;
		overflow: hidden;
    margin-top: 14vw;
	}
	.underPage_single {
		margin-bottom: 10vw;
		padding: 0;
		text-align: left;
	}
	.underPage_contents {
		max-width: 93.2%;
		width: 100%;
		margin: 0 auto;
	}
	.underPage_single_head h2 {
		color: #002769;
		font-size: 5.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		margin-bottom: 3vw;
	}
	.underPage_single_head p {
		font-size: 3.82vw;
		line-height: 1.4;
	}
	.underPage_single_head {
		margin: 0 auto 5vw;
		text-align: left;
	}
	.underPage_single_job table tr {
		border: 1px solid #707070;
		height: auto;
	}
	.underPage_single_job table th {
		align-items: center;
		color: #002769;
		display: flex;
		font-weight: 700;
		justify-content: flex-start;
		line-height: 1;
		margin: 0 -13vw 0 0;
		padding: 3vw 0 3vw 6vw;
		width: auto;
		font-size: 4.2vw;
	}
	.underPage_single_job table th img {
		margin: 0 2vw 0 0;
		width: 4vw;
	}
	.underPage_single_job table td {
		font-weight: 500;
		font-size: 4.2vw;
	}
	.underPage_single_btn {
		margin: 10vw auto;
		text-align: center;
	}
	.underPage_single_btn a {
		background-color: red;
		border-radius: 5px;
		color: #fff;
		display: block;
		font-size: 4.2vw;
		letter-spacing: .03em;
		margin: 0 auto;
		max-width: 60%;
		padding: 4vw 0;
		width: 100%;
	}
	.underPage_single_jobInfo {
    margin: 0 auto 10vw;
    }
	.underPage_single_jobInfoTitle {
		font-size: 5.2vw;
		margin-bottom: 2vw;
	}
	.underPage_single_content {
		padding: 5vw 2vw;
	}
	.underPage_single_contentHtml h1 {
		font-size: 4.2vw;
		font-weight: 500;
		color: #002769;
		line-height: 1.8;
		width: 100%;
		max-width: 100%;
		margin: 0 auto 0;
	}
	.entry-cotent_head {
		width: 100%;
		max-width: 100%;
		margin: 5vw auto 0;
	}
	.entry-cotent_head p {
		font-size: 4.2vw;
		font-weight: 700;
	}
	.entry-cotent_head span {
		font-size: 5.6vw;
		font-weight: 700;
		margin-top: 3vw;
		display: block;
	}
	.entry-cotent_nav {
		margin: 5vw auto;
		max-width: 100%;
	}
	.entry-cotent_navContent {
		align-items: center;
		display: flex;
		justify-content: flex-start;
		margin-bottom: 2vw;
	}
	.entry-cotent_navContent li {
		border-radius: 5px;
		color: #fff;
		font-size: 2.32vw;
		margin: 0 10px 0 0;
		padding: 3px 10px;
	}
	.entry-cotent_info {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin: 0 auto 10vw;
		width: 100%;
		max-width: 100%;
		flex-direction: column;
	}
	.entry-cotent_infoImg {
		max-width: 100%;
		width: 100%;
		height: 50vw;
		overflow: hidden;
	}
	.entry-cotent_infoImg img {
		object-fit: cover;
		object-position: center;
		max-width: 100%;
		width: 100%;
		height: 50vw;
		overflow: hidden;
	}
	.entry-cotent_infoTx {
		max-width: 100%;
		width: 100%;
		font-size: 3.28vw;
		line-height: 1.6;
		font-weight: 500;
		margin-top: 3vw;
    margin-left: 0;
	}
	.entry-cotent_btn {
		align-items: center;
		display: flex;
		justify-content: space-between;
		margin: 25px auto 0;
		max-width: 100%;
		margin: 10vw auto;
		flex-direction: column;
	}
	.entry-cotent_btn .entry-cotent_btnLink{
		margin: 0 auto 3vw;
	}
	.entry-cotent_tableTitle {
		font-size: 4.2vw;
		border-top: 1px solid #707070;
		border-bottom: 1px solid #707070;
		font-weight: 500;
		padding: 2vw 0;
		text-align: center;
	}
	.entry-cotent_table {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin: 5vw auto 0;
		width: 100%;
		max-width: 874px;
		flex-direction: column;
	}
	.entry-cotent_tableImgs {
		max-width: 100%;
		width: 100%;
	}
	.entry-cotent_tableImgs img {
		object-fit: cover;
		object-position: center;
		max-width: 100%;
		width: 100%;
		height: 50vw;
		overflow: hidden;
	}
	.entry-cotent_tableTx {
		max-width: 100%;
		width: 100%;
		font-size: 3.28vw;
		line-height: 1.6;
		font-weight: 500;
    margin-left: 0;
	}
	.entry-cotent_tableTx tr th {
		width: 20vw;
		padding: 3vw 0;
		font-weight: 500;
		vertical-align: middle;
	}
	.entry-cotent_tableTx tr td {
		font-size: 3.28vw;
		line-height: 1.4;
		padding: 3vw 0;
		font-weight: 500;
	}
	.underPage_single_companyInfo h3 {
		color: #002769;
		font-size: 4.2vw;
		font-weight: 700;
		letter-spacing: .03em;
		margin-bottom: 3vw;
	}
	.underPage_sidebar {
		border: 1px solid #002769;
		max-width: 93.2%;
		width: 100%;
		margin: 0 auto;
	}
	.underPage_sidebarContentsTitle {
		border-bottom: 1px solid #002769;
		color: #002769;
		font-size: 4.2vw;
		padding: 3vw;
		text-align: left;
	}
	.underPage_sidebarContent {
		border-bottom: 1px solid #002769;
		margin: 0 auto;
		max-width: 93.2%;
		padding: 5vw 0;
	}
	.underPage_sidebarTitle {
		align-items: center;
		display: flex;
		font-size: 4.2vw;
		font-weight: 500;
		justify-content: flex-start;
	}
	.underPage_sidebarTitle img {
		margin: 0 2vw 0 0;
		width: 4vw;
	}
	.underPage_sidebarSubmitBtn .submit {
		background-color: #002769;
		border-radius: 10px;
		color: #fff;
		cursor: pointer;
		font-family: inherit;
		font-size: 4.2vw;
		font-weight: 500;
		padding: 3vw 0;
		width: 100%;
	}
	.underPage_archiveContent {
		border: 1px solid #002769;
		margin-bottom: 10vw;
		padding: 5vw 2vw;
		text-align: left;
	}
	.underPage_archiveContentTitle {
		color: #002769;
		font-size: 4.2vw;
		letter-spacing: .03em;
		line-height: 1.5;
		margin-bottom: 3vw;
	}
	.underPage_archiveContentInfoArea {
		font-size: 4.2vw;
		font-weight: 700;
	}
	.underPage_archiveContentInfoName {
		font-size: 4.2vw;
		font-weight: 700;
		margin: 3vw 0;
	}
	.underPage_archiveContentInfoMore {
		align-items: flex-start;
		display: flex;
		justify-content: space-between;
		width: 100%;
		flex-direction: column;
	}
	.underPage_archiveContentInfoMoreImg {
		height: 50vw;
		-o-object-fit: cover;
		object-fit: cover;
		overflow: hidden;
		width: 100%;
	}
	.underPage_archiveContentInfoMoreTx {
		height: auto;
		letter-spacing: .03em;
		width: 100%;
		margin-top: 3vw;
	}
	.underPage_archiveContentInfoMoreTx h4 {
		color: #002769;
		font-size: 4.2vw;
		font-weight: 700;
		margin-bottom: 3vw;
	}
	.underPage_archiveContentInfoMoreTx p {
		font-size: 3.82vw;
		line-height: 1.6;
	}
	.underPage_archiveContentBtn {
		align-items: center;
		display: flex;
		justify-content: space-between;
		margin: 3vw auto 0;
		flex-direction: column;
	}
	.underPage_archiveContentBtnLink {
		margin: 0 0 3vw;
	}
	.underPage_single_contentHtml {
    margin: 0 auto 0;
    width: 100%;
    padding: 0 0 0;
    max-width: 100%;
    line-height: 1.6;
    }
    .underPage_single_companyInfo {
    margin: 0px auto 0;
    width: 100%;
    padding: 0;
    max-width: 874px;
    }
    .stepForm_box_main_table {
    margin: 00px auto;
    width: 100%;
}
.stepForm_box_req p {
    font-size: 3.2vw;
    color: #002769;
    margin: 0 0 5vw 0;
}
.stepForm_box_req {
    text-align: left;
}
.stepForm_box_req p {
    font-size: 3.2vw;
    color: #002769;
    margin: 0 0 4vw 4vw;
}
.stepForm_box_main_tableTd input[type=email] {
    background-color: #fff;
    border: 1px solid #707070;
    font-size: 16px;
    height: 10vw;
}
}