@import url(normalize.css);

@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css);

@font-face {
    font-family: 'NIS_SMS5N2';
    src: url(../font/NIS_SMS5N.woff2);
}

@font-face {
    font-family: 'NIS_SMS5N';
    src: url(../font/NIS_SMS5N.woff);
}

/*  common

------------------ */

* {

    box-sizing: border-box;

}

html {

    font-size: 62.5%;

}

body {

    padding-top: 80px;

    font-size: 1.4rem;

    line-height: 1.5;

}

body.scroll-lock {

    position: fixed;

    left: 0px;

    right: 0px;

    top: 0px;

    bottom: 0px;

}

::selection {

    background: rgba(0, 0, 0, 0.8);

    color: #fff;

}

::-moz-selection {

    background: rgba(0, 0, 0, 0.8);

    color: #fff;

}

h1,
h2,
h3,
h4,
h5 {

    font-weight: 300;

    font-family: NIS_SMS5N2, NIS_SMS5N;

    letter-spacing: 0.2rem;

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

}

img {

    max-width: 100%;

    height: auto;

}

.container {

    width: calc(100% - 40px);

    max-width: 1200px;

    margin: 0 auto;

}

.container_l {

    width: calc(100% - 40px);

    max-width: 1600px;

    margin: 0 auto;

}

.container_s {

    width: calc(100% - 40px);

    max-width: 920px;

    margin: 0 auto;

}

.underline {

    text-decoration: underline;

}

hr {

    margin: 40px 0;

    border: none;

    border-top: 1px solid #ddd;

}



#recruit {}

#recruit h2 {

    margin-top: 100px;

    font-size: 4rem;

    text-align: center;

}

#recruit h3 {

    font-size: 2.8rem;

    text-align: center;

}

#recruit p {

    font-size: 1.6rem;

    line-height: 1.8;

}

#recruit .link {

    margin: 60px 0;

    text-align: center;

}

#recruit .link a {

    width: 400px;

    height: 80px;

    margin: 0 auto;

    display: block;

    background: #0f376b;

    color: #fff;

    text-decoration: none;

    text-align: center;

    line-height: 80px;

    font-family: serif;

    font-weight: 600;

    font-size: 2.4rem;

    letter-spacing: 0.2rem;

    text-indent: 0.2rem;

    transition: opacity 0.2s ease;

}

#recruit .topimg picture {

    width: 100%;

    height: auto;

}

#recruit .topimg picture img {

    width: 100%;

    height: auto;

    display: block;

}

.top-btn-wrap {
    width: 100%;
}

.top-btn-wrap.--fte {
    margin-top: 100px;
}

.top-btn {
    display: block;
    background: #B01E2B;
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    width: 100%;
    max-width: 1000px;
    text-decoration: none;
    margin: 0 auto;
    transition: all .3s;
}


.top-btn:hover {
    opacity: .8;
}

#recruit .greeting {

    text-align: center;

}



#recruit .feature {}

#recruit .feature ul.feature_list {

    margin: 0;

    padding: 0;

    list-style: none;

}

#recruit .feature ul.feature_list li {

    min-height: 400px;

    margin: 0;

    padding: 60px 0;

    background-size: cover;

    display: flex;

    flex-direction: column;

    justify-content: center;

}

#recruit .feature ul.feature_list li:nth-child(1) {
    background-image: url(../img/recruit/bg_point_01.jpg);
}

#recruit .feature ul.feature_list li:nth-child(2) {
    background-image: url(../img/recruit/bg_point_02.jpg);
}

#recruit .feature ul.feature_list li:nth-child(3) {
    background-image: url(../img/recruit/bg_point_03.jpg);
}

#recruit .feature ul.feature_list li:nth-child(4) {
    background-image: url(../img/recruit/bg_point_04.jpg);
}

#recruit .feature ul.feature_list li .inner {

    width: calc(100% - 40px);

    max-width: 640px;

    min-height: 300px;

    margin: 0 auto;

    padding: 0 40px 20px;

    background: #0C3668;

    color: #fff;

    overflow: hidden;

    display: flex;

    flex-direction: column;

    justify-content: center;

}

#recruit .staff {}

#recruit .staff ul.staff_list {

    width: 100%;

    margin: 0;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: row;

    flex-wrap: wrap;

}

#recruit .staff ul.staff_list li {

    width: calc(25% - 10px);

    margin: 5px;

    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);

}

#recruit .staff ul.staff_list li .img {

    line-height: 0;

}

#recruit .staff ul.staff_list li .txt {

    padding: 10px;

}

#recruit .staff ul.staff_list li .txt .name {

    font-size: 2.4rem;

    font-family: NIS_SMS5N2, NIS_SMS5N, serif;

}

#recruit .staff ul.staff_list li .txt .detail {

    margin: 10px 0;

}

#recruit .staff ul.staff_list li .txt .comment p {

    font-size: 1.2rem;

}

#recruit .system {}

#recruit .system .h2_sub {

    margin: 100px 0 -80px;

    text-align: center;

}

#recruit .system .h2_sub span {

    padding: 0 40px 10px;

    display: inline-block;

    border-bottom: 2px solid #ddd;

    font-family: serif;

    font-size: 2rem;

    font-weight: 600;

    position: relative;

}

#recruit .system .h2_sub span::before,

#recruit .system .h2_sub span::after {

    content: "";

    width: 16px;

    height: 16px;

    margin-left: -8px;

    display: block;

    transform: rotate(45deg);

    position: absolute;

    left: 50%;

}

#recruit .system .h2_sub span::before {

    background: #ddd;

    bottom: -10px;

}

#recruit .system .h2_sub span::after {

    background: #fff;

    bottom: -7px;

}

#recruit .system h2+picture img {

    width: 100%;

    height: auto;

    display: block;

}

#recruit .system .system_set {

    margin: 60px 0;

    text-align: center;

}

#recruit .system ul.system_list {

    margin: 0 0 60px;

    padding: 0;

    list-style: none;

}

#recruit .system ul.system_list li {

    position: relative;

}

#recruit .system ul.system_list li::before {

    content: attr(title);

    text-align: center;

    line-height: 40px;

    font-size: 2.4rem;

    font-weight: 600;

    width: 40px;

    height: 40px;

    margin-top: -20px;

    display: block;

    position: absolute;

    top: 50%;

    left: 0;

}

#recruit .system ul.system_list li::after {

    content: "";

    width: 60px;

    height: 60px;

    display: block;

    background-size: contain;

    background-position: center;

    background-repeat: no-repeat;

    position: absolute;

    right: 4px;

    bottom: 10px;

}

#recruit .system ul.system_list li:nth-child(1)::after {
    background-image: url(../img/recruit/icon_follow01.png);
}

#recruit .system ul.system_list li:nth-child(2)::after {
    background-image: url(../img/recruit/icon_follow02.png);
}

#recruit .system ul.system_list li:nth-child(3)::after {
    background-image: url(../img/recruit/icon_follow03.png);
}

#recruit .system ul.system_list li:nth-child(4)::after {
    background-image: url(../img/recruit/icon_follow04.png);
}

#recruit .system ul.system_list li:nth-child(5)::after {
    background-image: url(../img/recruit/icon_follow05.png);
}

#recruit .system ul.system_list li:nth-child(6)::after {
    background-image: url(../img/recruit/icon_follow06.png);
}

#recruit .system ul.system_list li .inner {

    padding: 20px 0 20px 50px;

    position: relative;

    border-bottom: 2px solid #ddd;

    display: flex;

    flex-direction: row;

    justify-content: space-between;

}

#recruit .system ul.system_list li .inner::before,

#recruit .system ul.system_list li .inner::after {

    content: "";

    width: 16px;

    height: 16px;

    margin-left: -8px;

    display: block;

    transform: rotate(45deg);

    position: absolute;

    left: 50%;

}

#recruit .system ul.system_list li .inner::before {

    background: #ddd;

    bottom: -10px;

}

#recruit .system ul.system_list li .inner::after {

    background: #fff;

    bottom: -7px;

}

#recruit .system ul.system_list li:last-child .inner {

    border-bottom: none;

}

#recruit .system ul.system_list li:last-child .inner::before,

#recruit .system ul.system_list li:last-child .inner::after {

    display: none;

}

#recruit .system ul.system_list li .ttl {

    width: 320px;

    font-size: 2.4rem;

    font-weight: 600;

    display: flex;

    flex-direction: column;

    justify-content: center;

}

#recruit .system ul.system_list li .detail {

    flex: 1;

    padding-right: 20px;

}

#recruit .career .h2_sub {

    margin: 60px 0 -80px;

    text-align: center;

}

#recruit .career .h2_sub span {

    font-size: 2rem;

    font-family: serif;

}

#recruit .career picture img {

    width: 100%;

}

#recruit .career .career_set {

    width: calc(100% - 40px);

    max-width: 980px;

    margin: -120px auto 0;

    padding: 40px;

    background: #fff;

    position: relative;

    z-index: 1;

}

#recruit .career .career_set img {

    margin: 100px 0 0;

}

#recruit .others ul.others_list {

    width: 100%;

    margin: 60px 0 0;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: row;

    justify-content: center;

}

#recruit .others ul.others_list li {

    flex: 1;

}

#recruit .others ul.others_list li .img {

    text-align: center;

}

#recruit .others ul.others_list li .detail {

    margin: 20px 0 0;

    text-align: center;

    font-size: 2rem;

    font-weight: 600;

}

#recruit .others ul.others_list li .detail small {

    font-weight: 300;

    font-size: 1.2rem;

}

#recruit .lineup {}

#recruit .lineup ul.lineup_list {

    margin: 0;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: row;

    flex-wrap: wrap;

}

#recruit .lineup ul.lineup_list li {

    margin: 10px 10px 0 0;

}

#recruit .lineup ul.lineup_list li a {

    height: 50px;

    padding: 0 50px 0 20px;

    display: block;

    text-decoration: none;

    background: #283c6e;

    color: #fff;

    font-size: 1.6rem;

    line-height: 50px;

    position: relative;

    transition: background 0.2s ease;

}

#recruit .lineup ul.lineup_list li a::after {

    content: "\f138";

    font-family: "font awesome 5 free";

    font-weight: 600;

    font-size: 1.2rem;

    line-height: 20px;

    text-align: center;

    width: 20px;

    height: 20px;

    margin-top: -10px;

    display: block;

    position: absolute;

    top: 50%;

    right: 5px;

}

#recruit .flow {}

#recruit .flow .flow_set {

    width: 100%;

    padding-top: 100px;

    display: flex;

    flex-direction: row;

    position: relative;

    justify-content: flex-end;

}

#recruit .flow .flow_set .img {

    width: 50%;

    position: absolute;

    left: 0;

    top: 0;

    z-index: -1;

}

#recruit .flow .flow_set .detail {

    width: 70%;

    padding: 60px 60px 0;

    background: rgba(255, 255, 255, 0.9);

}

#recruit .flow .flow_set .detail ul.flow_list {

    width: 100%;

    margin: 0;

    padding: 0;

    list-style: none;

}

#recruit .flow .flow_set .detail ul.flow_list li {

    position: relative;

}

#recruit .flow .flow_set .detail ul.flow_list li::before {

    content: attr(title);

    text-align: center;

    line-height: 20px;

    font-size: 2rem;

    font-weight: 600;

    width: 20px;

    height: 20px;

    margin-top: -10px;

    display: block;

    position: absolute;

    top: 50%;

    left: 20px;

}

#recruit .flow .flow_set .detail ul.flow_list li::after {

    content: "";

    width: 40px;

    height: 40px;

    display: block;

    background-position: center;

    background-repeat: no-repeat;

    background-size: contain;

    position: absolute;

    bottom: 10px;

    right: 10px;

    opacity: 0.6;

}

#recruit .flow .flow_set .detail ul.flow_list li:nth-child(1)::after {
    background-image: url(../img/recruit/icon_saiyo01.png);
}

#recruit .flow .flow_set .detail ul.flow_list li:nth-child(2)::after {
    background-image: url(../img/recruit/icon_saiyo02.png);
}

#recruit .flow .flow_set .detail ul.flow_list li:nth-child(3)::after {
    background-image: url(../img/recruit/icon_saiyo03.png);
}

#recruit .flow .flow_set .detail ul.flow_list li:nth-child(4)::after {
    background-image: url(../img/recruit/icon_saiyo04.png);
}

#recruit .flow .flow_set .detail ul.flow_list li:nth-child(5)::after {
    background-image: url(../img/recruit/icon_saiyo05.png);
}

#recruit .flow .flow_set .detail ul.flow_list li:nth-child(6)::after {
    background-image: url(../img/recruit/icon_saiyo06.png);
}

#recruit .flow .flow_set .detail ul.flow_list li .inner {

    min-height: 96px;

    padding: 20px 0 20px 60px;

    position: relative;

    border-bottom: 1px solid #ddd;

    display: flex;

    flex-direction: column;

    justify-content: center;

}

#recruit .flow .flow_set .detail ul.flow_list li .inner::before,

#recruit .flow .flow_set .detail ul.flow_list li .inner::after {

    content: "";

    width: 16px;

    height: 16px;

    margin-left: -8px;

    display: block;

    transform: rotate(45deg);

    position: absolute;

    left: 50%;

}

#recruit .flow .flow_set .detail ul.flow_list li .inner::before {

    background: #ddd;

    bottom: -9px;

}

#recruit .flow .flow_set .detail ul.flow_list li .inner::after {

    background: #fff;

    bottom: -7px;

}

#recruit .flow .flow_set .detail ul.flow_list li:last-child .inner {

    border: none;

}

#recruit .flow .flow_set .detail ul.flow_list li:last-child .inner::before,

#recruit .flow .flow_set .detail ul.flow_list li:last-child .inner::after {

    display: none;

}

#recruit .flow .flow_set .detail ul.flow_list li .inner .main {

    font-size: 1.6rem;

    font-weight: 600;

}

#recruit .flow .flow_set .detail ul.flow_list li .inner .sub {

    margin: 10px 0 0;

    color: #666;

    font-size: 1.2rem;

}

#recruit .flow .flow_set .detail ul.flow_list li .inner {}

#recruit .form_wrap {

    padding: 100px;

    background: #f5f5f5;

}

#recruit .form ul.form_list {

    margin: 0;

    padding: 0;

    list-style: none;

}

#recruit .form ul.form_list li {

    padding: 30px 0;

    display: flex;

    flex-direction: row;

    border-top: 1px solid #eee;

    background: #fff;

}

#recruit .form ul.form_list li:first-child {

    border-top: none;

}

#recruit .form ul.form_list li .ttl {

    width: 240px;

    padding: 0 20px;

}

#recruit .form ul.form_list li .ttl label {

    display: block;

    font-weight: 600;

    line-height: 36px;

}

#recruit .form ul.form_list li .ttl.required label {

    padding-right: 60px;

    position: relative;

}

#recruit .form ul.form_list li .ttl.required label::after {

    content: "必須";

    color: rgb(255, 255, 255);

    font-size: 1.2rem;

    text-align: center;

    line-height: 20px;

    width: 40px;

    height: 20px;

    margin-top: -10px;

    display: inline-block;

    position: absolute;

    right: 0px;

    top: 50%;

    background: #af1e2b;

}

#recruit .form ul.form_list li .detail {

    flex: 1;

    padding: 0 40px;

}

#recruit .form ul.form_list li.submit {

    padding: 60px 0;

    background: none;

}

#recruit .form ul.form_list li.submit input[type="submit"] {

    height: 60px;

    margin: 0 auto;

    padding: 0 40px;

    border: none;

    border-radius: 4px;

    background: #0f376b;

    color: #fff;

    font-size: 2.4rem;

    font-weight: 600;

    font-family: serif;

    cursor: pointer;

    transition: opacity 0.2s ease;

}

#recruit .form input[type="text"],

#recruit .form input[type="email"],

#recruit .form input[type="tel"] {

    width: 100%;

    padding: 8px;

    font-size: 1.6rem;

    border: 1px solid #ddd;

}

#recruit .form .age input[type="text"] {

    width: 60px;

    margin-right: 10px;

    text-align: right;

}

#recruit .form .radio label,

#recruit .form .checkbox label {

    padding: 8px;

    display: block;

    cursor: pointer;

}

#recruit .form .radio label span,

#recruit .form .checkbox label span {

    margin-left: 10px;

}

#recruit .company {}

#recruit .company table.company_list {

    width: 100%;

    border-collapse: collapse;

    border-top: 1px solid #ddd;

}

#recruit .company table.company_list tbody tr th,

#recruit .company table.company_list tbody tr td {

    padding: 20px 40px;

    border-bottom: 1px solid #ddd;

    vertical-align: top;

    text-align: left;

}

#recruit .company table.company_list tbody tr th {

    width: 240px;

}

#recruit .company table.company_list tbody tr td {

    border-left: 1px solid #ddd;

}

.tab_menu {
    display: flex;
    justify-content: center;
    gap: 1em;
    margin-bottom: 50px;
    padding-left: 0;
    margin-top: 1em;
}

.tab_menu_item {
    width: calc(100% / 4 - 10px);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #828282;
    font-family: NIS_SMS5N2, NIS_SMS5N;
    color: #fff;
    font-weight: 400;
    padding-top: .5em;
    padding-bottom: .5em;
    font-size: 24px;
    text-align: center;
    cursor: pointer;
}

.tab_menu_item.active {
    background: #0f376b;
}


.tab_menu_item span {
    font-size: .8em;
}

.guide_ta {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}

.guide_ta.show {
    display: block;
    opacity: 1;
    visibility: visible;
}




header {

    width: 100%;

    position: fixed;

    top: 0;

    left: 0;

    background: #fff;

    z-index: 1000;

}

header .wrap {

    width: 100%;

    height: 100px;

    padding: 0 20px;

    display: flex;

    flex-direction: row;

    align-items: center;

    justify-content: space-between;

}

header .logo h1 {

    width: 100%;

    max-width: 300px;

    margin: 0;

}

header .logo h1 a {

    padding: 0 20px;

    display: flex;

    flex-direction: column;

    justify-content: center;

}

header .logo h1 a img {

    width: 100%;

    display: block;

    transition: opacity 0.2s ease;

}

header .nav {

    height: 100%;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

}

header .nav nav {

    height: 100%;

    display: flex;

    flex-direction: column-reverse;

    align-items: flex-end;

}

header .nav nav ul.main {

    margin: 0;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: row;

}

header .nav nav ul.main li a {

    height: 40px;

    padding: 0 16px;

    display: inline-block;

    text-decoration: none;

    color: #333;

    line-height: 40px;

    position: relative;

}

header .nav nav ul.main li a::after {

    content: "";

    width: 100%;

    height: 0;

    display: block;

    position: absolute;

    background: #0f376b;

    bottom: 0;

    left: 0;

}

header .nav nav ul.sub {

    margin: 0 0 10px;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: row;

}

header .nav nav ul.sub li.entry a {

    width: 160px;

    height: 40px;

    line-height: 40px;

    color: #fff;

    text-decoration: none;

    text-align: center;

    display: block;

    background: #0f376b;

    transition: opacity 0.2s ease;

}

header .nav nav ul.sub li.tel {

    margin-right: 40px;

}

header .nav nav ul.sub li.tel a {

    width: 180px;

    height: 40px;

    display: block;

    text-decoration: none;

    line-height: 1;

}

header .nav nav ul.sub li.tel a span {

    padding: 4px 0 4px 24px;

    display: inline-block;

    float: right;

    color: #333;

    font-weight: 600;

    font-size: 2rem;

    position: relative;

}

header .nav nav ul.sub li.tel a span::before {

    content: "\f095";

    font-family: "font awesome 5 free";

    font-weight: 600;

    font-size: 16px;

    line-height: 16px;

    text-align: center;

    width: 16px;

    height: 16px;

    margin-top: -8px;

    display: block;

    position: absolute;

    left: 0;

    top: 50%;

}

header .nav nav ul.sub li.tel a small {

    display: inline-block;

    clear: both;

    float: right;

    color: #666;

}

.btn_hnav {

    width: 40px;

    height: 40px;

    position: fixed;

    top: 10px;

    right: 10px;

    z-index: 1001;

    display: none;

}

.btn_hnav span {

    width: 40px;

    height: 40px;

    display: block;

    position: relative;

    cursor: pointer;

    background: #fff;

    border: 1px solid #eee;

    text-indent: -9999px;

}

.btn_hnav span::before {

    content: "\f0c9";

    font-family: "font awesome 5 free";

    font-weight: 600;

    font-size: 16px;

    line-height: 24px;

    text-align: center;

    text-indent: 0;

    color: #666;

    width: 24px;

    height: 24px;

    margin-left: -12px;

    margin-top: -12px;

    display: block;

    position: absolute;

    left: 50%;

    top: 50%;

}

.btn_hnav span.active::before {

    content: "\f00d";

}





footer {

    background: #003E6D;

    color: #fff;

}

footer #f_nav {

    padding: 40px 0;

}

footer #f_nav nav ul {

    margin: 0 auto;

    padding: 0;

    list-style: none;

    display: flex;

    flex-direction: row;

    justify-content: center;

}

footer #f_nav nav ul li {

    border-left: 1px solid rgba(255, 255, 255, 0.2);

}

footer #f_nav nav ul li:first-child {

    border: none;

}

footer #f_nav nav ul li a {

    padding: 6px 40px;

    color: #fff;

    text-decoration: none;

    display: inline-block;

    transition: color 0.2s ease, background 0.2s ease;

}

footer #info {

    padding: 40px 0;

}

footer #info .info_set {

    width: 100%;

    display: flex;

    flex-direction: row;

}

footer #info .info_set>* {

    flex: 1;

    padding: 0 20px;

}

footer #info .info_set h2 {

    margin: 0 0 10px;

    padding: 0 0 10px;

    font-size: 1.6rem;

    border-bottom: 1px solid #fff;

}

footer #info .info_set .logo {

    display: flex;

    flex-direction: column;

    justify-content: center;

}

footer #info .info_set .logo a {

    max-width: 300px;

    padding: 10px;

    display: block;

    line-height: 1;

}

footer #info .info_set .logo a img {

    transition: opacity 0.2s ease;

}

footer #info .info_set .adr a {

    color: #fff;

    text-decoration: none;

}

footer #info .info_set .contact .tel {

    margin: 20px 0 0;

}

footer #info .info_set .contact .tel a {

    padding: 4px 10px 4px 30px;

    color: #fff;

    text-decoration: none;

    font-size: 3.2rem;

    font-weight: 600;

    font-family: serif;

    line-height: 1;

    letter-spacing: 0.2rem;

    display: inline-block;

    position: relative;

    transition: opacity 0.2s ease;

}

footer #info .info_set .contact .tel a::before {

    content: "\f095";

    font-family: "font awesome 5 free";

    font-weight: 600;

    font-size: 2rem;

    line-height: 20px;

    text-align: center;

    width: 20px;

    height: 20px;

    margin-top: -10px;

    display: block;

    position: absolute;

    top: 50%;

    left: 0;

}

footer #copy {

    background: #092c5b;

}

footer #copy p.copy {

    margin: 0;

    padding: 10px 0;

    text-align: center;

    font-size: 1.2rem;

}

#sp_footer {

    display: none;

    width: 100%;

    position: fixed;

    bottom: 0;

    left: 0;

    z-index: 1001;

}

#sp_footer .wrap {

    background: #fff;

}

#sp_footer .wrap ul {

    width: 100%;

    margin: 0;

    padding: 4px;

    list-style: none;

    display: flex;

    flex-direction: row;

    justify-content: space-between;

}

#sp_footer .wrap ul li {

    width: calc(50% - 2px);

}

#sp_footer .wrap ul li a {

    display: block;

    height: 50px;

    text-align: center;

    text-decoration: none;

    line-height: 50px;

    color: #333;

    border: 1px solid #ddd;

    border-radius: 4px;

    position: relative;

    background: #fafafa;

}

#sp_footer .wrap ul li a span {

    width: 100%;

    height: 12px;

    font-size: 1rem;

    line-height: 1;

    letter-spacing: 0.1rem;

    text-indent: 0.1rem;

    text-align: center;

    display: block;

    position: absolute;

    bottom: 0;

    left: 0;

}

#sp_footer .wrap ul li a::before {

    width: 38px;

    height: 38px;

    margin-left: -19px;

    display: block;

    position: absolute;

    top: 0;

    left: 50%;

    font-family: "font awesome 5 free";

    font-weight: 600;

    font-size: 2rem;

    text-align: center;

    line-height: 38px;

}

#sp_footer .wrap ul li.tel a::before {
    content: "\f095";
}

#sp_footer .wrap ul li.entry a::before {
    content: "\f044";
}

@media (pointer: fine) {

    #recruit .link a:hover {

        opacity: 0.6;

    }

    #recruit .lineup ul.lineup_list li a:hover {

        background: #af1e2b;

    }

    #recruit .form .radio label:hover,

    #recruit .form .checkbox label:hover {

        background: #fafafa;

    }

    #recruit .form ul.form_list li.submit input[type="submit"]:hover {

        opacity: 0.6;

    }

    header .logo h1 a:hover img {

        opacity: 0.6;

    }

    header .nav nav ul.main li a:hover {

        background: #fafafa;

    }

    header .nav nav ul.main li a:hover::after {

        height: 2px;

    }

    header .nav nav ul.sub li.entry a:hover {

        opacity: 0.6;

    }

    header .nav nav ul.sub li.tel a:hover span {

        color: #af1e2b;

    }

    .btn_hnav span:hover::before {

        color: #333;

    }

    footer #f_nav nav ul li a:hover {

        background: #fff;

        color: #003E6D;

    }

    footer #info .info_set .logo a:hover img {

        opacity: 0.6;

    }

    footer #info .info_set .adr a:hover {

        text-decoration: underline;

    }

    footer #info .info_set .contact .tel a:hover {

        opacity: 0.6;

    }

}

@media screen and (max-width:1290px) {

    .tab_menu_item {
        width: 45%;
    }

}

@media screen and (max-width: 1024px) {

    body {

        padding-top: 60px;

    }

    header .wrap {

        height: 60px;

        justify-content: center;

    }

    header .nav {

        width: 300px;

        height: calc(100vh - 60px);

        background: #fafafa;

        position: fixed;

        top: 60px;

        right: -300px;

    }

    header .nav nav {

        flex-direction: column;

        align-items: flex-start;

    }

    header .nav nav ul.main {

        width: 100%;

        flex-direction: column;

    }

    header .nav nav ul.main li {

        border-bottom: 1px solid #eee;

    }

    header .nav nav ul.main li:first-child {

        border-top: 1px solid #eee;

    }

    header .nav nav ul.main li a {

        display: block;

        height: 60px;

        padding: 0 40px 0 16px;

        line-height: 60px;

        background: #fff;

    }

    header .nav nav ul.main li a::before {

        content: "\f0d7";

        font-family: "font awesome 5 free";

        font-weight: 600;

        font-size: 12px;

        line-height: 16px;

        text-align: center;

        color: #999;

        width: 40px;

        height: 16px;

        margin-top: -8px;

        display: block;

        position: absolute;

        right: 0;

        top: 50%;



    }

    header .nav nav ul.sub {

        width: 100%;

        margin: 40px 0 0;

        padding: 0 10px;

        flex-direction: column-reverse;

    }

    header .nav nav ul.sub li.entry a {

        width: 100%;

        height: 60px;

        border-radius: 4px;

        line-height: 60px;

        font-size: 1.6rem;

        letter-spacing: 0.2rem;

        text-indent: 0.2rem;

    }

    header .nav nav ul.sub li.tel {

        margin: 40px 0 0;

    }

    header .nav nav ul.sub li.tel a {

        width: 100%;

        height: 60px;

        text-align: center;

        display: flex;

        flex-direction: column;

        justify-content: center;

    }

    header .nav nav ul.sub li.tel a span {

        padding: 4px 0 10px;

        float: none;

        font-size: 2.4rem;

        text-align: center;

        color: #af1e2b;

    }

    header .nav nav ul.sub li.tel a span::before {

        width: auto;

        height: auto;

        margin-right: 10px;

        line-height: 1;

        display: initial;

        position: initial;

    }

    .btn_hnav {

        display: block;

    }

    footer #f_nav {

        padding: 0;

    }

    footer #f_nav nav ul {

        flex-direction: column;

        justify-content: flex-start;

    }

    footer #f_nav nav ul li {

        border: none;

        border-bottom: 1px solid rgba(255, 255, 255, 0.2);

    }

    footer #f_nav nav ul li:first-child {

        border-bottom: 1px solid rgba(255, 255, 255, 0.2);

    }

    footer #f_nav nav ul li a {

        width: 100%;

        padding: 20px 20px;

        display: block;

        text-align: center;

        position: relative;

    }

    footer #f_nav nav ul li a::before {

        content: "\f0d7";

        font-family: "font awesome 5 free";

        font-weight: 600;

        font-size: 1.2rem;

        line-height: 20px;

        text-align: center;

        width: 20px;

        height: 20px;

        margin-top: -10px;

        display: block;

        position: absolute;

        top: 50%;

        right: 10px;

    }

    footer #info {

        padding: 0;

    }

    footer #info .info_set {

        flex-direction: column;

    }

    footer #info .info_set h2 {

        text-align: center;

    }

    footer #info .info_set>* {

        padding: 10px 10px;

    }

    footer #info .info_set .logo {

        margin: 30px 0;

        align-items: center;

    }

    footer #info .info_set .logo a {

        max-width: 240px;

    }

    footer #info .info_set .logo a img {

        width: 100%;

    }

    footer #info .info_set .contact {

        text-align: center;

    }

    footer #copy {

        background: #092c5b;

    }

    footer #copy p.copy {

        margin: 0;

        padding: 10px 0;

        text-align: center;

        font-size: 1.2rem;

    }

    #recruit .staff ul.staff_list li {

        width: calc(100% / 3 - 10px);

    }

    #recruit .staff ul.staff_list li .txt .name {

        font-size: 2rem;

    }

    #recruit .staff ul.staff_list li .txt .detail {

        margin: 10px 0;

        font-size: 1.2rem;

    }

    #recruit .system ul.system_list li .ttl {

        width: 200px;

        font-size: 2rem;

    }

}

@media screen and (min-width: 768px) {

    .onlySP {
        display: none;
    }

}

@media screen and (max-width: 767.98px) {

    .onlyPC {
        display: none;
    }

    #recruit h2 {

        margin-top: 60px;

        font-size: 3rem;

    }

    #recruit h3 {

        font-size: 2rem;

    }

    #recruit p {

        font-size: 1.4rem;

    }

    .top-btn {
        width: 90%;
        margin: 0 auto;
        font-size: 5vw;
    }

    .top-btn-wrap.--fte {
        margin-top: 40px;
    }

    .tab_menu {
        flex-direction: column;
        gap: 1em;
        margin-bottom: 25px;
    }

    .tab_menu_item {
        width: 90%;
        margin: 0 auto;
        font-size: 5vw;
    }

    .tab_menu_item br {
        display: none;
    }

    #recruit .link a {

        width: calc(100% - 40px);

        max-width: 320px;

        height: 60px;

        line-height: 60px;

    }

    #recruit .feature ul.feature_list li {

        padding: 40px 0;

    }

    #recruit .staff ul.staff_list {

        width: calc(100% + 20px);

        margin-left: -10px;

    }

    #recruit .staff ul.staff_list li {

        width: calc(50% - 10px);

    }

    #recruit .staff ul.staff_list li .img {

        line-height: 0;

    }

    #recruit .system .h2_sub {

        margin: 60px 0 -40px;

    }

    #recruit .system .h2_sub span {

        padding: 0 20px 10px;

        font-size: 1.6rem;

    }

    #recruit .system .system_set {

        margin: 40px 0;

    }

    #recruit .system .system_set p {

        text-align: justify;

    }

    #recruit .system ul.system_list {

        margin: 0 0 40px;

    }

    #recruit .system ul.system_list li {

        margin: 10px 0;

    }

    #recruit .system ul.system_list li::before {

        content: attr(title)".";

        text-align: left;

        line-height: 1.5;

        font-size: 2rem;

        width: 24px;

        height: 24px;

        margin-top: 0;

        top: 0;

        left: 0;

    }

    #recruit .system ul.system_list li::after {

        display: none;

    }

    #recruit .system ul.system_list li .inner {

        padding: 0 0;

        border-bottom: none;

        flex-direction: column;

        justify-content: flex-start;

    }

    #recruit .system ul.system_list li .inner::before,

    #recruit .system ul.system_list li .inner::after {

        display: none;

    }

    #recruit .system ul.system_list li .ttl {

        width: 100%;

        padding-left: 24px;

        border-bottom: 1px solid #ddd;

    }

    #recruit .system ul.system_list li .detail {

        flex: 1;

        padding: 0;

    }

    #recruit .system ul.system_list li .detail p {

        text-align: justify;

    }



    #recruit .career .h2_sub {

        margin: 40px 0 -60px;

    }

    #recruit .career .h2_sub span {

        font-size: 1.6rem;

    }

    #recruit .career .career_set {

        width: 100%;

        margin: 0 auto;

        padding: 0;

    }

    #recruit .career .career_set img {

        margin: 20px 0 0;

    }

    #recruit .others ul.others_list {

        margin: 40px 0 0;

    }

    #recruit .others ul.others_list li {

        padding: 0 4px;

    }

    #recruit .others ul.others_list li .detail {

        font-size: 1.4rem;

    }

    #recruit .lineup ul.lineup_list {

        width: calc(100% + 10px);

        margin-right: -10px;

    }

    #recruit .lineup ul.lineup_list li {

        width: calc(50% - 10px);

    }

    #recruit .lineup ul.lineup_list li.long {

        width: 100%;

    }

    #recruit .lineup ul.lineup_list li a {

        padding: 0 30px;

        text-align: center;

    }

    #recruit .flow .flow_set {

        padding-top: 0;

        flex-direction: column;

        justify-content: flex-start;

    }

    #recruit .flow .flow_set .img {

        width: 100%;

        position: inherit;

    }

    #recruit .flow .flow_set .detail {

        width: 100%;

        padding: 0;

        background: none;

    }

    #recruit .flow .flow_set .detail ul.flow_list {

        margin: 20px 0;

    }

    #recruit .flow .flow_set .detail ul.flow_list li {

        margin: 0 0 10px;

        padding: 0;

    }

    #recruit .flow .flow_set .detail ul.flow_list li::before {

        display: none;

    }

    #recruit .flow .flow_set .detail ul.flow_list li::after {

        margin-top: -20px;

        bottom: auto;

        right: auto;

        top: 50%;

        left: 0;

    }

    #recruit .flow .flow_set .detail ul.flow_list li .inner {

        min-height: 60px;

        padding: 10px 0 10px 60px;

    }

    #recruit .form_wrap {

        padding: 20px 0 0;

    }

    #recruit .form ul.form_list li {

        padding: 10px 20px;

        flex-direction: column;

    }

    #recruit .form ul.form_list li .ttl {

        width: 100%;

        padding: 0;

    }

    #recruit .form ul.form_list li .detail {

        padding: 10px 0;

    }

    #recruit .form ul.form_list li.submit {

        padding: 20px 0 40px;

    }

    #recruit .form ul.form_list li.submit input[type="submit"] {

        height: 50px;

        font-size: 1.6rem;

    }

    #recruit .company table.company_list {

        margin: 0 0 60px;

    }

    #recruit .company table.company_list tbody tr th,

    #recruit .company table.company_list tbody tr td {

        width: 100%;

        padding: 0;

        display: block;

        border: none;

    }

    #recruit .company table.company_list tbody tr th {

        padding: 10px 0;

    }

    #recruit .company table.company_list tbody tr td {

        padding: 0 0 16px;

        border-bottom: 1px solid #ddd;

    }

    #recruit .company table.company_list tbody tr td iframe {

        height: 30vh;

    }

    #sp_footer {

        display: block;

    }

}