@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Roboto:wght@300;400;500;700&display=swap');

@font-face {
    font-family: 'MyFont';
    src: url('../font/Hiragino Mincho ProN W3.otf') format('truetype');
}

p,
h1,
h2,
h3,
h4,
h5,
a,
th,
td,
tr,
select,
input,
span {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1.2px;
    line-height: 1.5;
    font-family: 'Noto Sans JP', sans-serif;
    color: #333;
}

img {
    width: 100%;
}

main {

    overflow: hidden;
}

a {
    text-decoration: none;
    color: #333;
}

.container {
    width: 1200px;
    margin: auto;
}

.container10 {
    width: 1000px;
    margin: auto;
}

header .HeadNav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .HeadNav .HeadLogo h1 img {
    width: 175px;
}

header .HeadNav .HeadLogo {
    width: 20%;
    margin-left: 5vw;
}

header .HeadNav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;

}

header .HeadNav ul li a {
    font-size: 16px;
    font-weight: 500;
    color: #004098;
}

header .HeadNav ul li {
    margin-left: 3em;
    margin-top: 1em;
}

header {
    height: 80px;
    position: fixed;
    top: 0;
    z-index: 10000;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
}

/* 2023/02/04追加 */
.header-top {
    display: flex;
    flex-wrap: wrap;
}

.menu-list {
    margin-top: 0;
}

.menu-list.privacy-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: 0.5em;
    color: #333;
    font-size: 12px;
}

/* //2023/02/04追加 */

.TopBackImage {
    background-image: url("../img/top/MV_pc.jpeg");
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    height: calc(100vh - 80px);
    padding-top: 80px;
}

.TitleSection {
    padding-top: 80px;
}

.Title {
    padding: 50px 0;
}

.Title h2 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    /*font-family: 'Roboto', sans-serif;*/
}

.Title h2 span {
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    font-family: 'Roboto', sans-serif;
}

.pankuzu {
    text-align: right;
    padding-top: 50px;
}

.pankuzu p {
    font-weight: 300;
}

header .HeadNav ul .HeadContact {
    margin-top: unset;
}

.HeadContact a img {
    height: 80px;
    width: 100px;
}

.TopBackImage .TopTitle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.JobSearch h2 img {
    width: 123px;
}

.TopBackImage .TopTitle h2 {
    color: #fff;
    font-size: 44px;
    font-weight: 300;
    letter-spacing: 1px;
    width: max-content;
    font-family: MyFont;
}

.TopBackImage .TopTitle span {
    color: #fff;
    font-size: 40px;
    font-weight: 400;
    margin-right: 0.5em;
    letter-spacing: 1.5px;
    position: relative;
    bottom: 30px;
    font-family: 'Roboto', sans-serif;
}

/*フォーム*/
.TopForm {
    border-radius: 0 7px 0 7px;
    background-color: #F1F1F1;
    padding: 30px;
}

.search_container {
    box-sizing: border-box;
}

.search_container input[type="text"] {
    background: #fff;
    border: none;
    height: 40px;
    width: 80%;
}

.search_container input[type="text"]:focus {
    outline: 0;
}

.search_container input[type="submit"] {
    cursor: pointer;
    font-family: FontAwesome;
    border: none;
    background: #333333;
    color: #fff;
    font-size: 16px;
    outline: none;
    width: 19%;
    height: 40px;
}

.TopFormWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.TopFormWrap .TopFormItem01 {
    width: 25%;
}

.TopFormWrap .TopFormItem02 {
    width: 25%;
}

.TopFormWrap .TopFormItem03 {
    width: 50%;
}

.cp_ipselect {
    overflow: hidden;
    width: 90%;
    text-align: center;
}

.cp_ipselect select {
    width: 100%;
    padding-right: 1em;
    padding-left: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.cp_ipselect select::-ms-expand {
    display: none;
}

.cp_ipselect.cp_sl01 {
    position: relative;
    border-radius: 2px;
    background: #ffffff;
}

.cp_ipselect.cp_sl01::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0.9em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #666666;
    pointer-events: none;
}

.cp_ipselect.cp_sl01 select {
    line-height: 40px;
    color: #666666;
}

.JobSearch {
    background-color: #F1F1F1;
    display: inline-block;
    padding: 10px 30px 0 30px;
    border-radius: 7px 7px 0 0;
}

.JobSearch h2 {
    font-size: 22px;
    font-family: Impact;
}

.JobSearch h2 span {
    font-size: 22px;
    color: #DC0112;
    font-family: Impact;
    padding-right: 0.25em;
}

.JobSearch01 {
    background-color: #004098;
    display: inline-block;
    padding: 5px 0;
    width: 160px;
    margin: auto;
    text-align: center;
    border-radius: 0 0 7px 7px;
}

.JobSearch01 a {
    font-size: 13px;
    font-weight: 500;
    color: #fff;
}

.JobSearch02 {
    background-color: #DC0112;
    display: inline-block;
    padding: 5px 0;
    width: 160px;
    margin: auto;
    text-align: center;
    border-radius: 0 0 7px 7px;
}

.JobSearch02 a {
    font-size: 13px;
    font-weight: 500;
    color: #fff;
}

.TopSearchWrapSub {
    text-align: end;
}

.TopJobSearchWrap {
    position: relative;
    bottom: 100px;
    left: 0;
    right: 0;
    margin: auto;
}

/*フォーム*/
.TopCompanyLeft h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 55px;
    font-weight: 800;
    color: #004098;
}

.TopCompanyLeft span {
    border-top: #004098 solid 3px;
    width: 100px;
    display: block;
    margin-bottom: 15px;
}

.TopCompanyLeft p {
    font-size: 15px;
    font-weight: 400;
}

.TCLComment {
    padding: 50px 0;
}

.TCLComment p {
    line-height: 3;
}

.TopCompanyWrapper {
    display: flex;
    align-items: end;
    justify-content: space-between;
}

.TopCompanyWrapper .TopCompanyLeft {
    width: 52%;
}

.TopCompanyWrapper .TopCompanyRight {
    width: 38%;
}

.TopCompanyRight ul li {
    margin-bottom: 1em;
}

.TopCompanyRight ul .facebook:before {
    content: '';
    display: block;
    background-image: url("../img/top/company/f_logo_RGB-Blue_58.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    margin-right: 0.5em;
}

.TopCompanyRight ul .facebook {
    display: flex;
    align-items: center;
}

.TopCompanyRight ul .instagram:before {
    content: '';
    display: block;
    background-image: url("../img/top/company/Instagram_Glyph_Gradient_RGB.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    margin-right: 0.5em;
}

.TopCompanyRight ul .instagram {
    display: flex;
    align-items: center;
}

.TopCompanyRight ul .youtube:before {
    content: '';
    display: block;
    background-image: url("../img/top/company/YoutubeLogo.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    margin-right: 0.5em;
}

.TopCompanyRight ul .youtube {
    display: flex;
    align-items: center;
}

.textBottom li a {
    text-decoration: revert;
}

.TopCompanyLeftButton {
    text-align: right;
}

.TopCompanyLeftButton a {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding: 0.75em 4em;
    color: #333;
    font-size: 16px;
    font-weight: 700;
    background-color: #F1F1F1;
    border: solid 1px #C3C3C3;
    transition: 0.3s;
    border-radius: 50px;
    box-shadow: 0px 4px 15px -7px rgba(0, 0, 0, 0.4);
}

.TopCompany {
    margin-bottom: 80px;
}

.TopNewsWrapper h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 55px;
    font-weight: 800;
    color: #DC0112;
}

.TopNewsWrapper span {
    border-top: #DC0112 solid 3px;
    width: 100px;
    display: block;
    margin-bottom: 15px;
}

.TopNewsWrapper p {
    font-size: 15px;
    font-weight: 400;
}

.news-list {
    list-style: none outside;
    margin: 0;
    padding: 0;
}

.news-list .item a:not(.title.position_mark a):not(.title.no-line a) {
    display: flex;
    flex-wrap: wrap;
    flex-wrap: nowrap;
    align-items: center;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #CCC;
    padding: 20px 20px;
}

.news-list .item:first-child a {
    border-top: 1px solid #CCC;
}

.news-list .item .date {
    margin: 0;
    min-width: 140px;
    font-size: 16px;
    color: #000;
    padding: 0 20px 0 0;
}

.news-list .item .category {
    margin: 0;
    min-width: 140px;
    padding: 0 20px 0 0;
}

.news-list .item .category span {
    color: #DC0112;
    text-align: center;
    display: inline-block;
    padding: 5px 20px;
    font-size: 12px;
    line-height: 1;
    border: solid 1px #DC0112;
    width: unset;
    margin-bottom: unset;
}

.news-list .item .title {
    margin: 0;
    width: 100%;
}

.news-list .item a:hover .title {
    color: #00F;
}

.TopNews .news-list {
    padding: 50px 0;
}

.TopNews {
    margin-bottom: 80px;
}

.TopBusinessWrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

.TopBusinessWrapper .TopBusinessItem {
    width: 31%;
}

.TopBusinessWrapper .TopBusinessItem h3 {
    font-size: 16px;
    font-weight: 600;
    margin-top: 15px;
}

.TopBusinessWrapper .TopBusinessItem p {
    letter-spacing: 1px;
    line-height: 2;
    font-size: 15px;
}

.TopBusinessWrapper .TopBusinessItem span {
    border-top: #004098 solid 3px;
    width: 24px;
    display: block;
    margin-bottom: 15px;
    margin-top: 15px;
}

.TopBusiness {
    margin-bottom: 150px;
}

.TopRecruitWrapper {
    display: flex;
    position: relative;
}

.TopRecruitWrapper .TRWLeft {
    width: 70%;
}

.TopRecruitWrapper .TRWRight {
    width: 45%;
    position: absolute;
    right: 0;
    top: 150px;
    background-color: #fff;
    padding: 70px 0 0 70px;
}

.TopRecruitButton {
    text-align: right;
    margin-top: 50px;
}

.TopRecruitButton a {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding: 0.75em 4em;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    background-color: #F1F1F1;
    border: solid 1px #C3C3C3;
    transition: 0.3s;
    border-radius: 50px;
    box-shadow: 0px 4px 15px -7px rgba(0, 0, 0, 0.4);
}

.TopRecruit {
    margin-bottom: 250px;
}

footer {
    background-color: #000;

}

footer ul {
    /*init*/
    margin: 0;
    padding: 0;
    list-style: none;
}

footer ul {
    display: flex;
    align-items: center;
    width: 1000px;
    height: 100px;
    margin: 0 auto;
}

footer li {
    flex-grow: 1;
    text-align: center;
    height: 16px;
}

footer li a {
    color: #fff;
    position: relative;
    bottom: 6px;
}

/*footer li:hover {*/
/*    background-color: #ff9a9a;*/
/*}*/

footer li + li {
    border-left: 1px solid #fff;
}

.CopyRight {
    background-color: #fff;
    padding: 10px;
    text-align: center;
}

.TopAccessWrapper .TopAccessLeft {
    width: 25%;
}

.TopAccessWrapper .TopAccessRight {
    width: 70%;
}

.TopAccessWrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.TopAccessLeft div:first-child {
    margin-bottom: 30px;
}

.TopAccessWrapper p {
    line-height: 2;
}

.TopAccess {
    margin-bottom: 80px;
}

.NewsCat {
    background-color: #004098;
    padding: 30px 0;
}

.NewsWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}

.NewsWrapper .NewsLeft p {
    color: #fff;
    margin-right: 2em;
}

.NewsWrapper .NewsRight select {
    padding: 5px 10px;
    width: 270px;
}

.NewsWrapper .NewsRight .cp_ipselect {
    width: 100%;
}

.NewsBackShadow {
    background: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    margin-bottom: 80px;
}

.NewsContents {
    padding: 50px 0 50px 0;
}

.NewsContents .news-list .item a:first-of-type {
    border-top: unset;
}

/*ページネーション*/
.pagination {
    margin: 40px 0 0;
}

.nav-links {
    display: flex;
    justify-content: center;
}

.pagination .page-numbers {
    display: inline-block;
    margin-right: 20px;
    padding: 8px 15px;
    color: #000000;
    border: solid 1px #333;
}

.pagination .current {
    padding: 8px 15px;
    background: #004098;
    color: #fff;
}

.pagination .prev,
.pagination .next {
    background: transparent;
    box-shadow: none;
    color: #000;
}

.pagination .dots {
    background: transparent;
    box-shadow: none;
}

/*ページネーション*/
.NewsBackShadowSingle {
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 16%);
    margin-bottom: 80px;
}

.SingleNewsContents {
    padding: 80px 0;
}

.SingleNewsContents ul h2 {
    font-size: 32px;
    font-weight: 600;
    border-bottom: #004098 solid 3px;
    padding: 10px 0;
}

.SingleNewsContents ul .date {
    padding: 30px 0 50px 0 !important;
}

.SingleNewsContents ul .SingleContentHeight {
    min-height: 400px;
    font-weight: 300;
    border-bottom: #004098 solid 3px;
}

.button03 {
    margin-top: 50px;
}

.button03 a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 1em 2em;
    width: 300px;
    color: #183F93;
    font-size: 18px;
    font-weight: 700;
    border: 2px solid #183F93;
}

.button03 a:hover {
    transition: 0.5s;
    background-color: rgba(24, 63, 147, 0.7);
    color: #fff;
}

.side {
    width: 25%;
}

.side .SideBorder {
    border: solid 1px #666666;
}

.content {
    width: 70%;
    margin-left: 10px;
    /*サイドバーとメインコンテンツの間に隙間                    をあけた*/
}

article {
    display: flex;
    justify-content: space-between;
}

.JobSearchSection article .side .SideTitle {
    background-color: #F1F1F1;
    text-align: center;
    margin: 5px;
    padding: 20px 0;
}

.JobSearchSection article .side .SideTitle h3 {
    font-size: 24px;
    font-weight: 500;
}

.JobSearchSection article .side .SideWrapper {
    padding: 30px 50px 0 50px;
}

.JobSearchSection article .side .SideWrapper > div {
    margin-bottom: 30px;
}

.JobSearchSection article .side .SideWrapper > div h4 {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 300;
}

.JobSearchSection article .side .SideWrapper .cp_ipselect select {
    border: solid 1px #333;
}

.JobSearchSection article .side .SideWrapper .cp_ipselect {
    width: 100%;
}

.checkboxJobs div .md-checkbox-ul {
    margin-left: 1em;
}

.checkboxJobs div .md-checkbox-ul li {
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 1.5em;
}

.checkboxJobs div .md-checkbox-ul li .md-checkbox-checkbox {
    margin-right: 0.75em;
}

.JobSearchSection div .keyword input {
    width: 100%;
    height: 40px;
    border: solid 1px #333;
}

/*.JobSearchSection div .keyword {*/
/*    margin-left: 1em;*/
/*}*/

.SearchCrick {
    margin: 0 5px 5px 5px;
}

.SearchCrick input[type="submit"] {
    cursor: pointer;
    font-family: FontAwesome;
    border: none;
    background: #333333;
    color: #fff;
    font-size: 16px;
    outline: none;
    width: 100%;
    height: 40px;
}

.kaisha {
    width: 100%;
}

.kaisha th,
.kaisha td {
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    padding: 20px;
    vertical-align: middle;
}

.kaisha th {
    background-color: #F1F1F1;
    vertical-align: middle;
    width: 30%;
}

.JobSearchWrapper .JSWContents {
    border: solid 1px #707070;
    width: 48%;
}

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

.JSWItem {
    margin: 15px;
}

.JSWContents .JSWItem h2 {
    font-size: 22px;
    font-weight: 500;
    margin: 20px 0;
}

.JSWIWork {
    margin: 20px 0;
}

.JSWIWork span {
    background-color: #004098;
    color: #fff;
    font-size: 14px;
    padding: 2px 15px;
    display: inline-block;
}

.JSWILinkWrap {
    display: flex;
    justify-content: space-evenly;
}

.JobSearchWrapper .JSWContents {
    margin-bottom: 40px;
}

.JSWILinkWrap > div {
    width: 43%;

}

.JSWILinkWrap .JSWILinkLeft a {
    border: solid 1px #333;
    border-radius: 20px;
    width: 100%;
    display: inline-block;
    text-align: center;
    line-height: 30px;
    font-size: 14px;
}

.JSWILinkWrap .JSWILinkRight input {
    padding: 0;
    border: solid 1px #DC0112;
    background-color: #fff;
    color: #DC0112;
    border-radius: 20px;
    width: 100%;
    display: inline-block;
    text-align: center;
    line-height: 30px;
    font-size: 14px;
}

.JSWILinkWrap .JSWILinkRight input:hover {
    cursor: pointer;
}

.content .snumber span {
    color: #DC0112;
    font-weight: bold;
    font-family: 'M+ 1p';
    font-size: 24px;

}

.content .snumber {
    position: absolute;
    top: -60px;
    left: 0;
}

.content .snumber span span {
    color: #DC0112;
    font-weight: bold;
    font-family: 'M+ 1p';
    font-size: 34px;

}

.content .snumber {
    font-weight: bold;
    font-family: 'M+ 1p';
    font-size: 24px;
}

.content .snumber02 {
    font-weight: bold;
    font-family: 'M+ 1p';
    font-size: 24px;
}

.content02 {
    position: relative;
}

.JobSearchSection {
    margin: 50px 0 100px 0;
}

.JSWItem .kaisha {
    min-height: 250px;
}


.kaisha02 {
    width: 100%;
    margin: 30px 0 0 0;
}

.kaisha02 th,
.kaisha02 td {
    padding: 20px;
    width: 100%;
    display: block;
    text-align: left;
}

.kaisha02 td {
    font-size: 18px;
}

.kaisha02 th {
    background-color: #F9F9F9;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
}

.SingleJSWrap {
    display: flex;
    justify-content: space-evenly;
    margin-top: 50px;
}

.SingleJSWrapbutton03 a {
    display: inline-block;
    text-align: center;
    margin: 0 auto;
    padding: 0.75em 0;
    border-radius: 30px;
    width: 350px;
    color: #fff;
    background-color: #000;
    font-size: 18px;
    font-weight: 700;
}

.SingleJSWrapbutton04 input {
    display: inline-block;
    text-align: center;
    border: unset;
    margin: 0 auto;
    padding: 0.75em 2em;
    border-radius: 30px;
    width: 350px;
    color: #fff;
    background-color: #DC0112;
    font-size: 18px;
    font-weight: 700;
}

.SingleJSWrapbutton04 input:hover {
    cursor: pointer;
    opacity: 70%;
    transition: 0.5s;
}

.SingleJSWrap div a:hover {
    opacity: 70%;
    transition: 0.5s;
}

.EntryCont p {
    text-align: center;
    font-size: 22px;
    line-height: 2;
    font-weight: 300;
}

.EntryFlowWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 80px 0;
}


.EntryFlowWrap .EFWWrap {
    height: 160px;
    width: 160px;
    text-align: center;
    border: #DC0112 solid 1px;
    background-color: #fff;
    border-radius: 50%;
}

.EntryFlowWrap .EFWWItemActive {
    height: 160px;
    width: 160px;
    text-align: center;
    background-color: #DC0112;
    border-radius: 50%;
}

.EFWWrap {
    position: relative;
}

.EFWWrap .EFWWItem {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
}


.EFWWrap .EFWWItem p,
.EFWWrap .EFWWItem span {
    line-height: 1.8;
}

.EFWWItemActive .EFWWItem p,
.EFWWItemActive .EFWWItem span {
    color: #fff;
    font-size: 16px;
    line-height: 1.8;
}

.EntryFlowWrap > span {
    border-top: #DC0112 solid 2px;
    display: block;
    width: 40px;
    margin: 0 1.5em;
}

/*エントリーフォーム*/
.contact-ttl {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
}

.contact-table {
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid #ccc;
}

.contact-item,
.contact-body {
    padding: 20px;
    border: 1px solid #ccc;
}

.contact-item {
    text-align: left;
    width: 30%;
    background-color: #F9F9F9;
    vertical-align: middle;
}

.contact-body {
    width: 70%;
}

.form-text {
    width: -webkit-fill-available;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

}


.contact-sex-txt {
    display: inline-block;
    margin-left: 5px;
}

.form-select {
    width: 180px;
    height: 40px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact-skill {
    display: block;
}


.contact-skill-txt {
    display: inline-block;
    margin-left: 5px;
}

.form-textarea {
    width: -webkit-fill-available;
    padding: 10px;
    height: 200px;
    border-radius: 5px;
    border: 1px solid #ccc;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
}

.contact-submit {
    width: 250px;
    background-color: #333;
    color: #fff;
    font-weight: bold;
    display: block;
    margin: 0 auto;
    font-size: 16px;
    padding: 15px;
    border-radius: 100vh;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;

}

.Posr {
    position: relative;
    display: inline-block;
}

.PosCenter {
    text-align: center;
    margin-bottom: 1rem;
}

.Posr:after {
    content: '';
    width: 10px;
    height: 10px;
    display: block;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 1.5em;
    top: 0;
    bottom: 0;
    margin: auto;
}

.EntryForm {
    margin-bottom: 100px;
}

.DesiredContactBody {
    display: flex;
    /*justify-content: space-evenly;*/
    flex-wrap: wrap;
    padding: 20px;
}

.DesiredContactBody .mwform-checkbox-field {
    width: 50%;
    margin-left: unset !important;
    margin-right: 10px;
}

.DesiredContactBody label {
    width: 50%;
}

.DesiredContactBody .contact-sex {
    width: 20%;
}

/* プライバシーポリシー */
.privacy-policy {
    margin: 50px auto;
    height: 200px;
    overflow: scroll;
    padding: 25px;
    border: 1px solid #ECECEC;
    line-height: 1.5;
}

.privacy-policy__item .privacy-policy__item__desc {
    list-style: circle;
    margin: 25px 0;
}

.privacy-policy__item__desc li {
    margin-left: 25px;
}

.privacy-policy h2 {
    font-weight: 600;
    margin-bottom: 25px;
}

.CheckCeter {
    text-align: center;
    margin-bottom: 40px;
}

.CheckCeter span {
    font-size: 20px;
}

/*エントリーフォーム*/
.businessSection {
    margin-bottom: 100px;
}

.BusinessWrapBackImage {
    background-image: url("../img/business/backimage.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: relative;
}

#access .BusinessWrapBackImage {
    background-image: unset;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /*height: 780px;*/
    position: relative;
}

#message .BusinessWrapBackImage {
    background-image: url("../img/message/MESSAGE.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: relative;
}

#philosophy .BusinessWrapBackImage {
    background-image: url("../img/philosophy/teamwork-3213924_1920.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: relative;
}

#about .BusinessWrapBackImage {
    background-image: url("../img/about/back.jpg");
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    height: 524px;
    position: relative;
}

#company .BusinessWrapBackImage {
    background-image: url("../img/company/4786802_l.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: relative;
}

.ChildBWBI {
    background-image: url("../img/business/it/coding-1853305.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: unset;
}

#product-technology-field .ChildBWBI {
    background-image: url("../img/business/pro/car-3075497_1920.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: unset;
}

#study .ChildBWBI {
    background-image: url("../img/business/stu/nack.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 524px;
    position: unset;
}

.BusinessWrapBackImage .BWBITitle {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

#company .BusinessWrapBackImage .BWBITitle {
    position: absolute;
    top: unset;
    right: unset;
    bottom: 0;
    left: 0;
    transform: unset;
}

#philosophy .BusinessWrapBackImage .BWBITitle {
    position: absolute;
    top: unset;
    right: unset;
    bottom: 0;
    left: 0;
    transform: unset;
}

.ChildBWBI .ChildBWBITitle {
    position: absolute;
    left: 0;
    bottom: -86px;
    width: 100%;
}

.posr {
    position: relative;
}

.BusinessWrapBackImage .BWBITitle h2 {
    background-color: #fff;
    line-height: 100px;
    padding: 0 100px 0 50px;
    font-size: 30px;
    font-weight: 600;
}

#company .BusinessWrapBackImage .BWBITitle h2 {
    background-color: rgba(255, 255, 255, 0.8);
    line-height: 100px;
    padding: 0 150px 0 50px;
    font-size: 30px;
    font-weight: 600;
}

.ChildBWBI .ChildBWBITitle > div {
    background-color: #F1F1F1;
    line-height: 100px;
    font-size: 30px;
    font-weight: 600;
    padding-top: 40px;
    padding-bottom: 40px;
    margin-right: calc((100vw - 1000px) / 2);
    padding-left: calc((100vw - 1200px) / 2);
}

.BusinessWrap02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}

.BusinessBorder {
    background: transparent;
    border-bottom: 1px solid #f1f1f1;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
    margin-bottom: 30px;
}

.BusinessWrap02 > div {
    width: 48%;
}

.BusinessWrap02 .TopBusinessItem h3 {
    font-size: 24px;
    font-weight: 600;
    margin-top: 50px;
    margin-left: 30px;
}

.ChildBWBLeft {
    margin-right: 1em;
    width: 77px;
    height: 92px;
}

#product-technology-field .ChildBWBLeft {
    margin-right: 1em;
    width: 91px;
    height: 80px;
}

#study .ChildBWBLeft {
    margin-right: 1em;
    width: 91px;
    height: 93px;
}

.ChildBWBRight p {
    line-height: 2;
    font-weight: 300;
}

.ChildBWBWrap {
    display: flex;
    align-items: center;
}

.BusinessWrap02 .TopBusinessItem span {
    border-top: #CA2B24 solid 3px;
    width: 32px;
    display: block;
    margin-bottom: 15px;
    margin-top: 15px;
    margin-left: 30px;
}

.BusinessWrap02 .TopBusinessItem p {
    letter-spacing: 1px;
    line-height: 2;
    font-size: 16px;
    margin-left: 30px;
    margin-bottom: 100px;
}

.BOTitle {
    text-align: center;
}

.BOTitle h2 {
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    font-size: 56px;
    letter-spacing: 0.04em;
    margin: 80px 0;
}

.BOWrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}

.BOWrap div {
    width: 31%;
    text-align: center;
}

.BOWrap div h3 {
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 0.1em;
    margin-top: 30px;
}

.ChildBusinessSkills {
    padding-top: 100px;
}

.ChildBSItem01 {
    margin-bottom: 50px;
}

.ChildBSItem01 h2 {
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 1.5em;
}

.ChildBSItem02 {
    margin-bottom: 100px;
}

.ChildBSItem02 h2 {
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 1.5em;
}

.button04 a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 1em 2em;
    width: 300px;
    color: #DC0112;
    font-size: 18px;
    font-weight: 700;
    border: 3px solid #DC0112;
}


.button04 a:hover {
    color: #fff;
    text-decoration: none;
    background-color: rgba(220, 1, 18, 0.68);
    transition: 0.5s;
}

.CBSCompanyWrap {
    background-color: #F1F1F1;
    padding: 10px;
    margin: 100px 0 130px 0;
}

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

.CBSCompanyWrap > div .CBSCWLeft {
    width: 20%;
    padding-left: 1em;
}

.CBSCompanyWrap > div .CBSCWRight {
    width: 80%;
    background-color: #fff;
    padding: 5px 0;
}

.CBSCWRight ul {
    /*init*/
    margin: 0;
    padding: 0;
    list-style: none;
}

.CBSCWRight ul {
    display: flex;
    align-items: center;
    width: 800px;
    height: 50px;
    margin: 0 auto;
}

.CBSCWRight li {
    flex-grow: 1;
    text-align: center;
}

.CBSCWRight li + li {
    border-left: 2px solid #C3C3C3;
}

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

.CompanySectionWrapper > div {
    width: 30%;
    margin-bottom: 3.5em;
}

.CompanySectionWrapper > div:last-child {
    margin-bottom: 100px;
}

.CompanySectionWrapper > div span {
    font-size: 15px;
}

.CompanySectionWrapper .buttonCom a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    font-size: 24px;
    font-weight: 700;
    transition: 0.3s;
    font-family: 'Roboto', sans-serif;
}

.NewHover > div:hover {
    opacity: 70%;
    transition: 0.5s;
}

.CompanySectionWrapper .buttonCom a::after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 1px solid #333333;
    border-right: 1px solid #333333;
    transform: rotate(45deg);
}

.AboutSection .news-list {
    list-style: none outside;
    margin-bottom: 100px;
    padding: 0;
}

.AboutSection .news-list .item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex-wrap: nowrap;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #CCC;
    padding: 20px 20px;
}

.AboutSection .news-list .item:first-child {
    border-top: 1px solid #CCC;
}

.AboutSection .news-list .item .date {
    margin: 0;
    min-width: 200px;
    font-size: 16px;
    color: #000;
    padding: 0 20px 0 0;
}

.AboutSection .news-list .item .category {
    margin: 0;
    min-width: 140px;
    padding: 0 20px 0 0;
}

.AboutSection .news-list .item .category span {
    background: #999;
    color: #FFF;
    text-align: center;
    display: inline-block;
    padding: 5px 20px;
    font-size: 12px;
    line-height: 1;
}

.AboutSection .news-list .item .title {
    margin: 0;
    width: 100%;
}

.AboutSection .news-list .item a:hover .title {
    color: #00F;
}

.IPWrap {
    display: flex;
    align-items: center;
}

.IPWrap:nth-child(2) {
    margin: 50px 0;
}

.IPWrap .InIPWLeft {
    width: 30%;
}

.IPWrap .InIPWRight {
    width: 70%;
}

.IPWrap .InIPWRight p {
    font-size: 16px;
    line-height: 2;
}

.IPWrap .InIPWLeft h2 {
    font-size: 24px;
    font-weight: 500;
}

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

.PhilosophyWrapper .InPWRight {
    width: 40%;
}

.PhilosophyWrapper .InPWLeft {
    width: 48%;
}

.MessageComment {
    line-height: 2;
}

.MessageDaihyou {
    display: flex;
    align-items: center;
    justify-content: end;
    padding-top: 50px;
}

.MessageDaihyou h3 {
    font-size: 40px;
    letter-spacing: 2px;
    font-family: 'LingWai SC';
}

.MessageDaihyou span {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 2px;
    margin-right: 2em;
}

.TopBusinessItem a:hover {
    opacity: 70%;
    transition: 0.5s;
}

.BOWrap a:hover {
    opacity: 70%;
    transition: 0.5s;
}

.buttonCom a:hover {
    opacity: 60%;
    transition: 0.5s;
}

.AccessWrap {
    display: flex;
    margin-bottom: 50px;
}


.AccessWrap .AWLeft h3 {
    font-size: 16px;
    font-weight: 600;
    margin-right: 5em;
    min-width: 100px;
}

.RecruitSectionWrapper {
    height: 500px;
    position: relative;
}

.RecruitSection {
    margin-bottom: 150px;
}

.RSWLeft {
    background-image: url("../img/recruit/rireki.jpg");
    width: 70vw;
    height: 380px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;

}

#web .RSWLeft {
    background-image: url("../img/recruit/web/code-1839406_1920.jpg");
    width: 70vw;
    height: 380px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;

}

#ai .RSWLeft {
    background-image: url(../img/top/business/item03.jpg);
    width: 70vw;
    height: 380px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    position: absolute;
    top: 0;
    left: 0;

}

#erp .RSWLeft {
    background-image: url(../img/add_image.jpg);
    width: 70vw;
    height: 380px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;

}

#infrastructure .RSWLeft {
    background-image: url(../img/top/business/item02.jpg);
    width: 70vw;
    height: 380px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;

}

.RecruitTable .kaisha02 td {
    font-size: 16px;
    padding: 30px 0 30px 20px;
    line-height: 2;
}

.EntryCenter {
    text-align: center;
    margin: 50px 0 100px 0;
}

.EntryCenter a {
    display: inline-block;
    background-color: #DC0112;
    color: #FFFFFF;
    padding: 15px;
    width: 250px;
    border-radius: 30px;
}

.RSWRight {
    background-color: #F1F1F1;
    padding: 50px;
    position: absolute;
    right: 0;
    bottom: 0;
    /*padding-right: calc((100vw - 50vw) / 2);*/
    margin-left: calc((100vw - 50vw) / 1);
}

.RSWRight div h3 {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 30px;
}

.RSWRight div p {
    font-size: 16px;
    font-weight: 300;
}

.Recruit02Wrapper01 {
    display: flex;
    align-items: flex-end;
    margin-bottom: 200px;
}

.Recruit02Wrapper01 .R02ItemLeft {
    width: 50%;
    flex: 1;
    margin-left: calc(50% - 50vw);
}

.Recruit02Wrapper01 .R02ItemLeft div {
    background-image: url("../img/top/business/item02.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 400px;
    width: 100%;
}

.Recruit02Wrapper01 .R02ItemRight {
    width: 50%;
}

.Recruit02Wrapper01 .R02ItemRight > div {
    margin-left: 50px;
}

.Recruit02Wrapper01 .R02ItemRight div p {
    margin: 65px 0;
}

.Recruit02Wrapper01 .R02ItemRight div h3 {
    font-size: 24px;
    font-weight: 600;
}

.Recruit02Wrapper02 {
    display: flex;
    align-items: flex-end;
    margin-bottom: 200px;
}

.Recruit02Wrapper02 .R02ItemLeft {
    width: 50%;
    flex: 1;
    margin-right: calc(50% - 50vw);
}

.Recruit02Wrapper02 .R02ItemLeft div {
    background-image: url("../img/top/business/item03.jpg");
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    height: 400px;
    width: 100%;
}

.Recruit02Wrapper03 .R02ItemLeft div {
    background-image: url("../img/add_image.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    height: 400px;
    width: 100%;
}

.link_tr a {
    color: #004098;
    border-bottom: #004098 solid 1px;
}

.non_margin {
    margin-bottom: unset !important;
}

.Title .add_title {
    margin-top: 0.5rem;
    font-size: 35px;
}

.RSWRight div .non_margin {
    font-size: 27px;
}

.Recruit02Wrapper04 .R02ItemLeft div {
    background-image: url("../img/top/business/item01.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    height: 400px;
    width: 100%;
}

.Recruit02Wrapper02 .R02ItemRight {
    width: 50%;
}

.Recruit02Wrapper02 .R02ItemRight > div {
    margin-right: 50px;
}

.Recruit02Wrapper02 .R02ItemRight div p {
    margin: 65px 0;
}

.Recruit02Wrapper02 .R02ItemRight div h3 {
    font-size: 24px;
    font-weight: 600;
}

.buttonRecruit a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    transition: 0.3s;
    padding-bottom: 5px;
    border-bottom: solid 2px #000;
}

.buttonRecruit a::after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    transform: rotate(45deg);
}

.buttonRecruit a:hover {
    opacity: 70%;
}

.Recruit02Wrapper02:last-child {
    margin-bottom: 150px;
}

.btn {
    display: none;
}

.essential {
    background-color: #DC0112;
    color: #fafafa;
    font-size: 12px;
    padding: 5px 15px;
    border-radius: 3px;
    font-weight: normal;
    margin-left: 10px;
}

#contact .DesiredContactBody .mwform-checkbox-field {
    width: unset;
}

#contact .EntryFlowWrap .EFWWItemActive {
    background-color: #004098;
}

#contact .EntryFlowWrap .EFWWrap {
    border: #004098 solid 1px;
}

#contact .EntryFlowWrap > span {
    border-top: #004098 solid 2px;
}

#contact .essential {
    background-color: #004098;
}

#contact-confirmation .EntryFlowWrap .EFWWItemActive {
    background-color: #004098;
}

#contact-confirmation .EntryFlowWrap .EFWWrap {
    border: #004098 solid 1px;
}

#contact-confirmation .EntryFlowWrap > span {
    border-top: #004098 solid 2px;
}

#contact-confirmation .essential {
    background-color: #004098;
}

#contact-thanks .EntryFlowWrap .EFWWItemActive {
    background-color: #004098;
}

#contact-thanks .EntryFlowWrap .EFWWrap {
    border: #004098 solid 1px;
}

#contact-thanks .EntryFlowWrap > span {
    border-top: #004098 solid 2px;
}

#contact-thanks .essential {
    background-color: #004098;
}

.Non {
    display: none;
}

.JSWILinkWrap .JSWILinkRight input:hover {
    color: #FFFFFF;
    background-color: #DC0112;
    transition: 0.5s;
}

.JSWILinkWrap .JSWILinkLeft a:hover {
    color: #FFFFFF;
    background-color: #000000;
    transition: 0.5s;
}

.button18 a::before {
    content: '';
    position: absolute;
    top: calc(50%);
    right: 1em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #333;
    transition: 0.3s;
}

.button18 a::after {
    content: '';
    position: absolute;
    top: 53%;
    right: 1em;
    transform: translateY(-50%);
    width: 25px;
    height: 2px;
    background-color: #333;
    transition: 0.3s;
}

.button18 a:hover {
    text-decoration: none;
    background-color: #bbbbbb;
}

.button18 a:hover::before,
.button18 a:hover::after {
    right: -1em;
}

.MessageDaihyou h3 img {
    width: 170px;
    position: relative;
    top: 10px;
}

.buttonRecruit a:after {
    position: absolute;
    right: 0;
    transition: 0.5s;
}

.buttonRecruit a:hover:after {
    right: -1em;
}

.buttonRecruit a {
    position: relative;
}

#Header_ID .Add_menu-list-wrap {
    width: 100%;
}

#Header_ID .Pc_menu_wraps {
    display: flex;
    flex-wrap: wrap;
}

#Header_ID .Pc_menu_wraps .add_menu_inner_block {
    margin-top: 0;
}

#Header_ID .Add_menu_subList_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#Header_ID .Add_menu_subList_wrap .Add_menu_subList_block {
    /* margin-top: 0.5em; */
    margin-top: unset;
    margin-bottom: 0.5em;
}

#Header_ID .Add_menu_subList_wrap .Add_menu_subList_block .Add_menu_subList_text {
    color: #000;
    font-size: 12px;
}

.AboutSection .news-list .item .position_mark {
    position: relative;
    display: inline-block;
    width: unset;
}

.position_mark:after {
    content: '';
    display: block;
    background-image: url(../img/mark.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    right: -110px;
    transform: translateY(-50%);
}

.add_BusinessWrap02 > div {
    width: 31%;
}

.add_BusinessWrap02 .TopBusinessItem p {
    margin-left: unset;
}

.add_BusinessWrap02 .TopBusinessItem span {
    margin-left: unset;
}

.add_BusinessWrap02 .TopBusinessItem h3 {
    margin-top: 10px;
    margin-left: unset;
}
.add_section_rec .buttonRecruit a {
    border-bottom: dashed 2px #000;
}
@media screen and (max-width: 768px) {
    .AboutSection .news-list .item .position_mark {
        width: 100%;
    }

    .position_mark:after {
        content: unset;
    }

    .RSWRight div .non_margin {
        font-size: 5vw;
        white-space: nowrap;
    }

    .add_RecruitSection .RSWRight {
        margin-left: calc((100vw - 90vw) / 1);
    }

    .add_RecruitSection .RecruitSectionWrapper{
        height: 245px;
    }
    .add_title_sp{
        font-size: 6.5vw !important;
    }
    .add_title{
        line-height: 1.4 !important;
    }
}