/* common */
@font-face {
    font-family: "sans";
    src: url(../fonts/NotoSansJP-Regular.otf);
}

@font-face {
    font-family: "hiragino";
    src: url(../fonts/HiraginoKakuGothicStdW8.otf);
}

:root {
    --bg-yel: #F8F8F8;
    --green: #028080;
    --dark-green: #0A6080;
    --grey: #CCCCCC;
}

html,
body {
    font-family: 'sans';
    font-size: 16px;
    font-style: normal;
    margin: 0px;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: black;
}

a:hover {
    cursor: pointer;
    filter: brightness(80%);
}

button:hover {
    cursor: pointer;
    filter: brightness(80%);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
    padding: 0px;
    margin: 0px;
}

img {
    max-width: 100%;
}

table,
tr,
td,
input {
    box-sizing: border-box;
    border-radius: 5px;
    padding: 0.5em;
    border: none;
}

.table-box {
    overflow-x: auto;
}

table {
    border-collapse: collapse;
}

.cursor-pointer {
    cursor: pointer;
}

svg {
    width: 100%;
    height: 100%;
}

.zoom {
    transition: transform.3s;
    -webkit-transition: transform.3s;
    -moz-transition: transform.3s;
    -ms-transition: transform.3s;
    -o-transition: transform.3s;
}

.zoom:hover {
    transform: scale(1.2);
}

.d-none {
    display: none !important;
}

.opacity-0 {
    opacity: 0;
}

.pc {}

.sp {
    display: none !important;
}

@media (max-width: 768px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}

@media (max-width: 576px) {
    .pc {
        display: none !important;
    }

    .sp-sm {
        display: block !important;
    }

    .sp-sm-none {
        display: none !important;
    }
}

.img-box,
.text-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.container {
    /* max-width: calc(1480px + 100px); */
    max-width: 77vw;
    margin-inline: auto;
}

@media (max-width: 800px) {
    .container {
        padding-inline: 24px;
        max-width: 100%;
    }
}

.title .inner .number_image {
    display: inline-flex;
}

/* news-list */

.fv {
    background: var(--bg-yel);
    padding-block: 190px 4.16vw;
}

.fv .container {}

.fv .num-row {
    display: flex;
    align-items: center;
}

.fv .num-row .img-box {}

.fv .num-row .img-box img {
    display: block;
    width: 28px;
}

.fv .num-row .text {
    margin-left: 24px;
    padding-left: 24px;
    border-left: 3px solid #003131;
    font-weight: 600;
    font-size: 20px;
    color: #003131;
    line-height: 1;
}

.fv .title-row {
    margin-top: 1.66vw;
}

.fv .title-row .img-box {
    justify-content: start;
}

.fv .title-row .img-box .text {
    font-size: 80px;
    font-weight: 700;
}

.fv .title-row .img-box img {}

.news-list-div {
    margin-top: 7.13vw;
}

.news-list-div .container {
    display: flex;
    justify-content: space-between;
}

.news-cat {
    width: 30%;
    font-size: 20px;
    color: #8E8A8A;
    min-width: 185px;
}

.news-cat ul {
    margin-left: 22px;
}

.news-cat ul li {
    list-style: square;
    margin-bottom: 20px;
}

.news-cat ul li:hover {}

.news-cat ul li:first-child {}

.news-cat ul li a {
    color: #8E8A8A;
}

.news-cat ul li a:hover {
    text-decoration: underline;
}

.news-cat ul li.active {
    color: #004F7D;
}

.news-cat ul li.active a {
    color: #000;
}

.news-list {
    flex-grow: 1;
}

.news-list ul {}

.news-list ul li {
    list-style: none;
    display: flex;
    border-top: 1px solid #000;
    padding-block: 25px;
}

.news-list ul li:hover {
    background: #f3f3f3;
}

.news-list ul li:last-child {
    border-bottom: 1px solid #000;
}

.news-list ul li .left {
    border-right: 1px solid #707070;
    width: 200px;
    padding-inline: 30px;
    padding-block: 10px;
    min-width: 200px;
}

.news-list .cat {}

.news-list .date {
    color: #505050;
}

.news-list .right {
    padding-inline: 40px;
    display: flex;
    align-items: center;
    text-align: left;
}

.news-list .right a {}

.news-list .news-title {
    font-size: 20px;
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-block: 100px 130px;
}

.pagination .wp-pagenavi {}

.pagination .wp-pagenavi>* {
    border: none;
    font-size: 20px;
    margin-inline: 25px;
}

.pagination .wp-pagenavi .current {
    color: #028786;
}

.pagination .wp-pagenavi .page {}

.pagination .wp-pagenavi .extend {}

.pagination .wp-pagenavi .nextpostslink,
.pagination .wp-pagenavi .previouspostslink {
    font-size: 30px;
    font-weight: 900;
}

@media (max-width: 1920px) {
    .fv {
        padding-top: 11.6vw;
    }
}

/* @media (max-width: 1440px) {
    .fv,.fv#contact {
        padding-top: 10.4vw;
    }
} */


.fv .num-row .img-box img {
    justify-content: flex-start;
}

.fv .num-row .img-box img {
    width: 90%;
}

.fv .num-row .text {}

.fv .title-row .img-box {
    display: inline-block;
}

.fv .title-row .img-box img {
    width: 80%;
}

.fv .title-row .img-box .text {
    font-size: 70px;
}

/* news */
.news-cat {
    font-size: 16px;
}

.news-list .news-title {
    font-size: 16px;
}

.news-list ul li .left {
    font-size: 13px;
}

@media (max-width: 1440px) {}

@media (max-width: 1200px) {

    .fv {}

    .fv .container {}

    .fv .num-row {}

    .fv .num-row .img-box {}

    .fv .num-row .img-box img {}

    .fv .num-row .text {}

    .fv .title-row {}

    .fv .title-row .img-box {}

    .fv .title-row .img-box .text {}

    .fv .title-row .img-box img {}

    .news-list-div {}

    .news-list-div .container {}

    .news-cat {}

    .news-cat ul {}

    .news-cat ul li {}

    .news-cat ul li:hover {}

    .news-cat ul li:first-child {}

    .news-cat ul li a {}

    .news-cat ul li.active {}

    .news-cat ul li.active a {}

    .news-list {}

    .news-list ul {}

    .news-list ul li {}

    .news-list ul li .left {
        min-width: 160px;
        width: 160px;
        padding-inline: 20px;
    }

    .news-list .cat {}

    .news-list .date {}

    .news-list .right {
        padding-inline: 25px;
    }

    .news-list .right a {}

    .news-list .news-title {}

    .pagination {}

    .pagination .wp-pagenavi {}

    .pagination .wp-pagenavi>* {
        margin-inline: 15px;
    }

    .pagination .wp-pagenavi .current {}

    .pagination .wp-pagenavi .page {}

    .pagination .wp-pagenavi .extend {}

    .pagination .wp-pagenavi .nextpostslink,
    .pagination .wp-pagenavi .previouspostslink {}

    .pagination img {}
}

@media (max-width: 768px) {

    .fv {
        padding-block: 100px 30px;
    }

    .fv .container {}

    .fv .num-row {}

    .fv .num-row .img-box {}

    .fv .num-row .img-box img {}

    .fv .num-row .text {}

    .fv .title-row {}

    .fv .title-row .img-box {}

    .fv .title-row .img-box .text {
        font-size: 50px;
    }

    .fv .title-row .img-box img {}

    .news-list-div {}

    .news-list-div .container {
        flex-direction: column;
    }

    .news-cat {
        width: 100%;
    }

    .news-cat ul {
        display: flex;
    }

    .news-cat ul li {
        margin-right: 60px;
    }

    .news-cat ul li:hover {}

    .news-cat ul li:first-child {}

    .news-cat ul li a {}

    .news-cat ul li.active {}

    .news-cat ul li.active a {}

    .news-list {}

    .news-list ul {
        padding: 0;
    }

    .news-list ul li {}

    .news-list ul li .left {}

    .news-list .cat {}

    .news-list .date {}

    .news-list .right {}

    .news-list .right a {}

    .news-list .news-title {}

    .pagination {
        margin-block: 25px 30px;
    }

    .pagination .wp-pagenavi {}

    .pagination .wp-pagenavi>* {
        margin-inline: 1vw;
        font-size: 12px;
    }

    .pagination .wp-pagenavi .current {}

    .pagination .wp-pagenavi .page {}

    .pagination .wp-pagenavi .extend {}

    .pagination .wp-pagenavi .nextpostslink,
    .pagination .wp-pagenavi .previouspostslink {
        font-size: 18px;
    }

    .pagination img {}
}

@media (max-width: 576px) {

    .fv {}

    .fv .container {}

    .fv .num-row {}

    .fv .num-row .img-box {}

    .fv .num-row .img-box img {
        width: 16px;
    }

    .fv .num-row .text {
        font-size: 10px;
        margin-left: 7px;
        padding-left: 7px;
        border-left: 2px solid;
    }

    .fv .title-row {
        width: 140px;
        margin-top: 10px;
    }

    .fv .title-row.news {
        width: 99px;
    }

    .fv .title-row.recruit-title {
        width: 221px;
    }

    .fv .title-row .img-box {}

    .fv .title-row .img-box .text {
        font-size: 30px;
    }

    .fv .title-row .img-box img {}

    .news-list-div {}

    .news-list-div .container {}

    .news-cat {}

    .news-cat ul {
        padding-left: 16px;
        margin-block: 0;
        margin-bottom: 5px;
    }

    .news-cat ul li {
        font-size: 12px;
        margin-right: 40px;
        margin-block: 0;
    }

    .news-cat ul li:last-child {
        margin-right: 0;
    }

    .news-cat ul li:hover {}

    .news-cat ul li:first-child {}

    .news-cat ul li a {}

    .news-cat ul li.active {}

    .news-cat ul li.active a {}

    .news-list {}

    .news-list ul {}

    .news-list ul li {
        padding-block: 15px;
    }

    .news-list ul li .left {
        font-size: 10px;
        min-width: 80px;
        width: 80px;
        padding-inline: 0;
    }

    .news-list .cat {}

    .news-list .date {}

    .news-list .right {
        padding-inline: 15px;
    }

    .news-list .right a {}

    .news-list .news-title {
        font-size: 12px;
    }

    .pagination {}

    .pagination .wp-pagenavi {}

    .pagination .wp-pagenavi>* {}

    .pagination .wp-pagenavi .current {}

    .pagination .wp-pagenavi .page {}

    .pagination .wp-pagenavi .extend {}

    .pagination .wp-pagenavi .nextpostslink,
    .pagination .wp-pagenavi .previouspostslink {}

    .pagination img {}
}

/* news-detail */
.news-detail {}

.news-detail .container {
    padding-block: 144px 120px;
    padding-inline: 20px;
    width: 61.97vw;
}

.news-detail .news-title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 3.36%;
}

.news-detail .date-row {
    display: flex;
    font-size: 15px;
}

.news-detail .date-row .date {
    display: flex;
    align-items: center;
    margin-right: 3.27%;
}

.news-detail .date-row .news-detail-cat {
    color: #000;
}

.news-detail .date-row ul {
    display: flex;
}

.news-detail .date-row li {
    list-style: square;
    color: #004F7D;
    margin-inline: 25px;
}

.news-detail .desc {
    font-size: 24px;
    margin-top: 80px;
    line-height: 2;
}

.news-detail .sns-row {
    margin-top: 120px;
    display: flex;
}

.news-detail .sns-row a {
    display: flex;
    align-items: center;
}

.news-detail .sns-row .text {
    font-size: 18px;
    border-right: 1px solid #000;
    line-height: 1.2;
    padding-right: 35px;
    margin-right: 10px;
}

.news-detail .sns-row .fa {
    font-size: 35px;
    margin-left: 25px;
}

.news-detail .more {
    border: 1px solid #000;
    width: fit-content;
    margin-inline: auto;
    margin-top: 110px;
}

.news-detail .more a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 477px;
    position: relative;
}

.news-detail .more a:hover {
    background: #000;
    filter: brightness(100%);
}

.news-detail .more a:hover * {
    color: #fff;
}

.news-detail .more .text {
    font-size: 16px;
}

.news-detail .more .fa {
    position: absolute;
    left: 50%;
    transform: translate(160px, 0px);
}

@media (max-width: 1200px) {
    .news-detail {}

    .news-detail .container {
        width: 77vw;
    }

    .news-detail .news-title {}

    .news-detail .date-row {}

    .news-detail .date-row .date {}

    .news-detail .date-row .news-detail-cat {}

    .news-detail .date-row ul {}

    .news-detail .date-row li {}

    .news-detail .desc {}

    .news-detail .sns-row {}

    .news-detail .sns-row a {}

    .news-detail .sns-row .text {}

    .news-detail .sns-row .fa {}

    .news-detail .more {}

    .news-detail .more a {}

    .news-detail .more .text {}

    .news-detail .more .fa {}
}

@media (max-width: 768px) {
    .news-detail {}

    .news-detail .container {
        padding-inline: 50px;
        padding-block: 50px;
        width: auto;
    }

    .news-detail .news-title {
        font-size: 18px;
    }

    .news-detail .date-row {
        font-size: 10px;
        margin-top: 20px;
    }

    .news-detail .date-row .date {}

    .news-detail .date-row .news-detail-cat {}

    .news-detail .date-row ul {
        padding-left: 20px;
    }

    .news-detail .date-row li {
        margin-inline: 15px;
    }

    .news-detail .desc {
        font-size: 12px;
        margin-top: 20px;
    }

    .news-detail .sns-row {
        margin-top: 100px;
    }

    .news-detail .sns-row a {}

    .news-detail .sns-row .text {
        font-size: 12px;
    }

    .news-detail .sns-row .fa {
        font-size: 20px;
    }

    .news-detail .more {
        margin-top: 30px;
    }

    .news-detail .more a {
        height: 40px;
        width: 294px;
        max-width: 78vw;
    }

    .news-detail .more .text {
        font-size: 14px;
    }

    .news-detail .more .fa {
        transform: translate(-15px, 0px);
        right: 0;
        left: unset;
    }
}

@media (max-width: 576px) {
    .news-detail {}

    .news-detail .container {
        padding-inline: 40px;
    }

    .news-detail .news-title {}

    .news-detail .date-row {}

    .news-detail .date-row .date {}

    .news-detail .date-row .news-detail-cat {}

    .news-detail .date-row ul {}

    .news-detail .date-row li {}

    .news-detail .desc {}

    .news-detail .sns-row {}

    .news-detail .sns-row a {}

    .news-detail .sns-row .text {}

    .news-detail .sns-row .fa {}

    .news-detail .more {}

    .news-detail .more a {}

    .news-detail .more .text {}

    .news-detail .more .fa {}
}

/* recruit */
.recruit-main {
    margin-top: 50px;
    position: relative;
}

.recruit-main .text_area {
    position: relative;
    top: 60px;
    z-index: 1;
}

.recruit-main .text_area .main-text {
    display: flex;
    letter-spacing: -0.01em;
    font-family: "Noto Sans JP";
    font-weight: bold;
}

.recruit-main .main-text:before {
    content: '';
    width: 5%;
}

.recruit-main .main-text:first-child:before {
    content: none;
}

.recruit-main .main-text:nth-child(3):before {
    width: 15%;
}

.recruit-main .main-text p {
    padding: 4px;
    background: #000;
    color: #fff;
    display: inline-block;
    font-size: 60px;
    font-weight: 700;
}

.recruit-main .main-text p span {
    font-size: 28px;
}

.recruit-main .main-text:first-child p {
    border: 1px solid #000;
    background: #fff;
    color: #000;
    display: inline-flex;
}

.recruit-main .main-text:last-child p {
    display: inline-flex;
}

.recruit-main .img-box:before {
    content: '';
    display: block;
    padding-top: 10%;
}

.recruit-main .img-box img {
    width: 60%;
    position: absolute;
    top: 0;
    right: 0;
}

.recruit {
    padding-top: 100px;
    padding-bottom: 230px;
}

.recruit .container {}

.recruit .container>.title {
    font-size: 40px;
    display: flex;
    flex-direction: column;
    font-weight: 700;
}

.recruit .container>.title .desc {
    font-size: 16px;
    margin-top: 26px;
    font-weight: 500;
}

.recruit ul {
    margin: 0;
    padding: 0;
    padding-block: 30px;
    padding-left: 10.13%;
}

.recruit ul li {
    list-style: none;
    display: flex;
}

.recruit .left {
    display: flex;
    align-items: center;
    position: relative;
}

.recruit .bar {}

.recruit .h-bar {
    width: 29.40%;
    height: 1px;
    background: #000;
    flex-grow: 1;
    min-width: 50px;
}

.recruit .v-bar {
    height: 100%;
    width: 1px;
    background: #000;
    position: absolute;
    left: 0;
}

.recruit li:first-child .v-bar {}

.recruit li:last-child .v-bar {
    display: none;
}

.recruit li:last-child .right>.img-box {
    position: relative;
}

.recruit li:last-child .right>.img-box:before {
    content: "";
    width: 1px;
    height: calc(50% + 45px);
    background: #000;
    position: absolute;
    top: -45px;
    left: 0;
}

.recruit .right {
    display: flex;
    padding-block: 45px;
    flex-grow: 1;
    text-align: left;
}

.recruit .right .img-box {
    flex-grow: 1;
    width: 54.79%;
}

.recruit .right .img-box img {
    width: 45.37%;
}

.recruit .right .text-box {
    display: flex;
    flex-direction: column;
    align-items: start;
    margin-left: 60px;
    width: 41.19%;
    justify-content: space-between;
    line-height: 2;
}

.recruit .right .text-box .title-row {}

.recruit .right .text-box .title-row .img-box {
    justify-content: start;
}

.recruit .right .text-box .title-row .img-box img {
    min-width: auto;
}

.recruit .right .text-box .title-row .title {
    font-size: 24px;
    font-weight: 700;
}

.recruit .right .text-box .desc {}

.recruit .right .text-box a {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000;
    width: fit-content;
    padding-right: 5px;
}

.recruit .right .text-box a:hover {}

.recruit .right .text-box a .text {
    margin-right: 80px;
}

.recruit .right .text-box a .fa {}

@media (max-width: 1440px) {

    /* recruit */
    .recruit .container>.title {
        font-size: 38px;
    }

    .recruit .container>.title .desc {
        margin-top: 20px;
        font-size: 14px;
    }

    .recruit .right .text-box .title-row .title {
        font-size: 22px;
    }

    .recruit .right p {
        font-size: 14px;
    }

    .recruit .right .text-box a .text {
        margin-right: 70px;
    }

    .recruit .right .img-box img {
        width: 53.9%;
    }

}

@media (max-width: 1200px) {
    .recruit-main {}

    .recruit-main .text {
        font-size: 20px;
        padding-top: 20px;
    }

    .recruit-main .img-box {}

    .recruit-main .img-box img {}

    .recruit {}

    .recruit .container {}

    .recruit .container>.title {}

    .recruit .container>.title .desc {}

    .recruit ul {
        padding-left: 12px;
    }

    .recruit ul li {}

    .recruit .left {}

    .recruit .bar {}

    .recruit .h-bar {}

    .recruit .v-bar {}

    .recruit li:first-child .v-bar {}

    .recruit li:last-child .v-bar {}

    .recruit li:last-child .right>.img-box {}

    .recruit li:last-child .right>.img-box:before {}

    .recruit .right {}

    .recruit .right .img-box {}

    .recruit .right .img-box img {}

    .recruit .right .text-box {
        margin-left: 5vw;
    }

    .recruit .right .text-box .title-row {}

    .recruit .right .text-box .title-row .img-box {}

    .recruit .right .text-box .title-row .img-box img {}

    .recruit .right .text-box .title-row .title {}

    .recruit .right .text-box .desc {}

    .recruit .right .text-box a {}

    .recruit .right .text-box a:hover {}

    .recruit .right .text-box a .text {}

    .recruit .right .text-box a .fa {}
}

@media (max-width: 768px) {
    .recruit-caption p {
        margin: 30px auto;
        font-size: 12px;
    }

    .recruit-main .main-text p span {
        font-size: 0.6em;
    }

    .recruit-main {
        flex-direction: column;
        margin-top: 25px;
    }

    .recruit-main .text {
        width: 100%;
        margin-right: 0;
        font-size: 16px;
        max-width: 100%;
        padding-top: 0;
    }

    .recruit-main .text_area {
        width: 86%;
        margin: 0 auto;
        top: 30px;
    }

    .recruit-main .main-text p {
        font-size: 7.2vw;
    }

    .recruit-main .img-box {
        margin-top: 30px;
    }

    .recruit-main .img-box img {
        width: 100%;
    }

    .recruit {
        padding-top: 9vw;
        padding-bottom: 0;
    }

    .recruit .container {
        padding: 24px;
    }

    .recruit .container>.title {
        font-size: 18px;
    }

    .recruit .container>.title .desc {
        font-size: 12px;
        margin-top: 10px;
    }

    .recruit ul {}

    .recruit ul li {}

    .recruit .left {}

    .recruit .bar {}

    .recruit .h-bar {
        width: 30px;
        min-width: auto;
    }

    .recruit .right .text-box {
        width: auto;
    }

    .recruit .v-bar {}

    .recruit li:first-child .v-bar {}

    .recruit li:last-child .v-bar {}

    .recruit li:last-child .right>.img-box {
        position: relative;
    }

    .recruit li:last-child .right>.img-box:before {
        content: "";
        width: 1px;
        height: 50%;
        background: #000;
        position: absolute;
        top: 0;
        left: 0;
    }

    .recruit .right {
        flex-direction: column;
        padding-block: 0px 10vw;
    }

    .recruit .right .img-box {
        width: 100%;
    }

    .recruit .right .img-box img {
        width: calc(100% - 9vw);
        min-width: auto;
    }

    .recruit .right .text-box {
        margin-left: 9vw;
        margin-top: 25px;
    }

    .recruit .right .text-box .title-row {}

    .recruit .right .text-box .title-row .img-box {}

    .recruit .right .text-box .title-row .img-box img {
        width: auto;
        width: 38px;
    }

    .recruit .right .text-box .title-row .title {
        font-size: 14px;
        display: block;
    }

    .recruit .right .text-box .desc {
        font-size: 12px;
        margin-block: 8px 20px;
    }

    .recruit .right .text-box a {
        font-size: 12px;
    }

    .recruit .right .text-box a:hover {}

    .recruit .right .text-box a .text {
        margin-right: 10vw;
    }

    .recruit .right .text-box a .fa {}
}

@media (max-width: 576px) {
    .recruit-main {
        margin-top: 20px;
    }

    .recruit-main .text {
        font-size: 12px;
    }

    .recruit-main .img-box {
        margin-top: 20px;
    }

    .recruit-main .img-box img {}

    .recruit {}

    .recruit .container {}

    .recruit .container>.title {}

    .recruit .container>.title .desc {
        font-size: 10px;
    }

    .recruit ul {}

    .recruit ul li {}

    .recruit .left {}

    .recruit .bar {}

    .recruit .h-bar {}

    .recruit .v-bar {}

    .recruit li:first-child .v-bar {}

    .recruit li:last-child .v-bar {}

    .recruit li:last-child .right>.img-box {}

    .recruit li:last-child .right>.img-box:before {}

    .recruit .right {}

    .recruit .right .img-box {}

    .recruit .right .img-box img {}

    .recruit .right .text-box {}

    .recruit .right .text-box .title-row .img-box {}

    .recruit .right .text-box .title-row .img-box img {}

    .recruit .right .text-box .title-row .title {}

    .recruit .right .text-box .desc {}

    .recruit .right .text-box a {}

    .recruit .right .text-box a:hover {}

    .recruit .right .text-box a .text {}

    .recruit .right .text-box a .fa {}
}

/* contact, contact-confirm, contact-complete */
.contact {
    padding-block: 160px 240px;
}

.contact_title p {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
}

.contact .container {}

.contact form {}

.contact .steps {
    display: flex;
    justify-content: center;
    margin-bottom: 160px;
}

.contact .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #CCCCCC;
}

.contact .step .num-box {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #CCCCCC;
    font-size: 30px;
    font-weight: 700;
    position: relative;
    /* background: red; */
}

.contact .step .text {
    font-size: 20px;
    margin-top: 13px;
    font-weight: 700;
}

.contact .step01 {}

.contact .step01 .num-box {
    border: none;
    background: var(--dark-green);
    color: #fff;
}

.contact .step01 .text {
    color: #000;
}

.contact .step02 {
    margin-inline: 120px;
}

.contact .step02 .num-box:before {}

.contact .step02 .num-box:after {
    left: 100px;
}

.contact .step02 .num-box:before,
.contact .step02 .num-box:after {
    content: "";
    width: 119px;
    height: 2px;
    background: #CCCCCC;
    position: absolute;
    right: 100px;
}

.contact-confirm .step02 {}

.contact .mw_wp_form_preview .step02 .num-box {
    background: var(--dark-green);
    border: none;
    color: #fff;
}

.contact .mw_wp_form_preview .step02 .text {
    color: #000;
}

.contact-complete .step {}

.contact-complete .step .num-box {
    background: var(--dark-green);
    color: #fff;
    border: none;
}

.contact-complete .step .text {
    color: #000;
}

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

.contact .row .col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 48%;
}

.contact label {
    font-size: 24px;
    font-weight: bold;
    width: 100%;
    margin-block: 30px 20px;
}

.contact .input {
    width: 100%;
    border-radius: 2px;
    border: 1px solid var(--grey);
    background: #f4f4f4;
    height: 67px;
}

.contact .input.textarea {
    height: 240px;
}

.contact input {
    font-size: 20px;
    background: #F4F4F4;
    height: 100%;
    width: 100%;
    padding-left: 1em;
    outline: none;
    border-radius: 0;
}

.contact .input-name .input {
    width: 46%;
}

.contact textarea {
    width: 100%;
    background: #F4F4F4;
    border: none;
    padding: 1em;
    font-size: 20px;
    outline: none;
    height: 100%;
}

.contact .privacy {
    display: flex;
    align-items: center;
    width: fit-content;
    margin-inline: auto;
    margin-block: 70px;
    flex-wrap: wrap;
}

.contact .privacy span.error {
    width: 100%;
}

.contact .mw_wp_form_preview .privacy {
    display: none;
}

.contact .mw_wp_form_preview .input {
    padding-inline: 1em;
    display: flex;
    align-items: center;
    font-size: 20px;
    background: none;
}

.contact .mw_wp_form_preview .input.input.textarea {
    align-items: start;
    padding: 1em;
}

.contact .privacy input {
    width: 24px;
    height: 24px;
    border-radius: 5px;
    margin-right: 15px;
}

.contact .privacy-label {
    display: flex;
    font-size: 20px;
}

.contact .privacy .mwform-checkbox-field-text {
    display: none;
}

.contact .privacy-label a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.contact .privacy-label .text {}

.contact .confirm-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 600px;
    margin-inline: auto;
    margin-top: 120px;
}

.contact .confirm-btn input:hover {
    cursor: pointer;
}

.contact .confirm-btn input {
    width: 600px;
    height: 120px;
    margin-inline: auto;
    font-size: 30px;
    color: #fff;
    background: var(--green);
    font-weight: 700;
    margin-block: 30px;
}

.contact .confirm-btn input.is-disabled {
    background: #BCBCBC;
}

.contact .confirm-btn input.is-disabled:hover {
    cursor: default;
}

.mw_wp_form_preview .confirm-btn input {
    background: var(--green);
}

.contact .confirm-btn input.back-btn {
    background: none;
    border: 4px solid var(--green);
    color: var(--green);
}

.contact .confirm-btn:hover input {}

.contact textarea::placeholder {
    color: #ccc;
}

@media (max-width: 1920px) {
    .fv#contact {
        padding-top: 8.8vw;
    }

    .contact {
        padding-top: 8.33vw;
    }

    .contact .steps {
        margin-bottom: 7.2vw;
    }

    .contact .step .num-box {
        width: 5.2vw;
        height: 5.2vw;
        font-size: 1.56vw;
    }

    .contact .step .text {}

    .contact .step01 {}

    .contact .step01 .num-box {}

    .contact .step01 .text {}

    .contact .step02 {
        margin-inline: 6.19vw;
    }

    .contact .step02 .num-box:before {}

    .contact .step02 .num-box:after {
        left: 5.2vw;
    }

    .contact .step02 .num-box:before,
    .contact .step02 .num-box:after {
        width: 6.19vw;
        right: 5.2vw;
    }
}

@media (max-width: 1600px) {
    .contact {}

    .contact .container {}

    .contact form {}

    .contact .steps {}

    .contact .step {}

    .contact .step .num-box {}

    .contact .step .text {}

    .contact .step01 {}

    .contact .step01 .num-box {}

    .contact .step01 .text {}

    .contact .step02 {}

    .contact .step02 .num-box:before {
        right: 4.95vw;
    }

    .contact .step02 .num-box:after {
        left: 4.96vw;
    }

    .contact .step02 .num-box:before,
    .contact .step02 .num-box:after {}

    .contact-confirm .step02 {}

    .contact-confirm .step02 .num-box {}

    .contact-confirm .step02 .text {}

    .contact-complete .step {}

    .contact-complete .step .num-box {}

    .contact-complete .step .text {}

    .contact .row {}

    .contact .row .col {}

    .contact label {}

    .contact input {}

    .contact .input-name .input {}

    .contact textarea {}

    .contact .privacy {}

    .contact .privacy input {}

    .contact .privacy-label {}

    .contact .privacy-label a {}

    .contact .privacy-label .text {}

    .contact .confirm-btn {}

    .contact .confirm-btn:hover {}

    .contact .confirm-btn input {}

    .contact .confirm-btn:hover input {}
}

@media (max-width: 1440px) {
    .fv .title-row.contact_title {}

    .fv#contact {
        padding-top: 10.4vw;
    }

    .contact .step .text {
        font-size: 18px;
    }

    .contact label {
        font-size: 22px;
        margin-block: 30px 15px;
    }

    .contact .privacy-label {
        font-size: 18px;
    }

    .contact .confirm-btn {
        max-width: 600px;
        margin-top: 100px;
    }

    .contact .step02 .num-box:before,
    .contact .step02 .num-box:after {
        right: 5.0vw;
        z-index: -1;
    }

    .contact .confirm-btn input {
        width: 500px;
        height: 110px;
        font-size: 28px;
    }
}

@media (max-width: 1200px) {
    .contact {}

    .contact .container {}

    .contact form {}

    .contact .steps {}

    .contact .step {}

    .contact .step .num-box {}

    .contact .step .text {}

    .contact .step01 {}

    .contact .step01 .num-box {}

    .contact .step01 .text {}

    .contact .step02 {}

    .contact .step02 .num-box:before {}

    .contact .step02 .num-box:after {}

    .contact .step02 .num-box:before,
    .contact .step02 .num-box:after {}

    .contact-confirm .step02 {}

    .contact-confirm .step02 .num-box {}

    .contact-confirm .step02 .text {}

    .contact-complete .step {}

    .contact-complete .step .num-box {}

    .contact-complete .step .text {}

    .contact .row {}

    .contact .row .col {}

    .contact label {}

    .contact input {}

    .contact .input-name .input {}

    .contact textarea {}

    .contact .privacy {}

    .contact .privacy input {}

    .contact .privacy-label {}

    .contact .privacy-label a {}

    .contact .privacy-label .text {}

    .contact .confirm-btn {}

    .contact .confirm-btn:hover {}

    .contact .confirm-btn input {}

    .contact .confirm-btn:hover input {}
}

@media (max-width: 768px) {
    .fv#contact {
        padding-block: 100px 30px;
    }

    .contact {
        padding-block: 60px 100px;
    }

    .contact .mw_wp_form_preview .input {
        font-size: 12px;
    }

    .contact .container {}

    .contact form {}

    .contact .steps {
        margin-bottom: 5vw;
    }

    .contact .step {}

    .contact .step .num-box {
        width: 47px;
        height: 47px;
        font-size: 18px;
    }

    .contact .step .text {
        font-size: 12px;
    }

    .contact .step01 {}

    .contact .step01 .num-box {}

    .contact .step01 .text {}

    .contact .step02 {
        margin-inline: 10vw;
    }

    .contact .step02 .num-box:before {}

    .contact .step02 .num-box:after {
        left: 45px;
    }

    .contact .step02 .num-box:before,
    .contact .step02 .num-box:after {
        width: 10vw;
        right: 45px;
    }

    .contact-confirm .step02 {}

    .contact-confirm .step02 .num-box {}

    .contact-confirm .step02 .text {}

    .contact-complete .step {}

    .contact-complete .step .num-box {}

    .contact-complete .step .text {}

    .contact .row {
        flex-direction: column;
    }

    .contact .row .col {
        width: 100%;
    }

    .contact label {
        font-size: 14px;
    }

    .contact input {
        font-size: 12px;
        height: 100%;
    }

    .contact .input-name .input {}

    .contact .input {
        height: 40px;
    }

    .contact .input.textarea {
        height: 140px;
    }

    .contact textarea {
        font-size: 12px;
    }

    .contact .privacy {
        margin-block: 30px;
    }

    .contact .privacy input {
        width: 16px;
        margin-right: 10px;
    }

    .contact .privacy-label {
        font-size: 14px;
    }

    .contact .privacy-label a {}

    .contact .privacy-label .text {}

    .contact .confirm-btn {
        margin-top: 50px;
    }

    .contact .confirm-btn:hover {}

    .contact .confirm-btn input {
        width: 100%;
        height: 70px;
        font-size: 20px;
        margin-block: 10px;
    }

    .contact .confirm-btn:hover input {}
}

@media (max-width: 576px) {
    .contact {}

    .contact .container {}

    .contact form {}

    .contact .steps {}

    .contact .step {}

    .contact .step .num-box {}

    .contact .step .text {}

    .contact .step01 {}

    .contact .step01 .num-box {}

    .contact .step01 .text {}

    .contact .step02 {}

    .contact .step02 .num-box:before {}

    .contact .step02 .num-box:after {}

    .contact .step02 .num-box:before,
    .contact .step02 .num-box:after {}

    .contact-confirm .step02 {}

    .contact-confirm .step02 .num-box {}

    .contact-confirm .step02 .text {}

    .contact-complete .step {}

    .contact-complete .step .num-box {}

    .contact-complete .step .text {}

    .contact .row {}

    .contact .row .col {}

    .contact label {}

    .contact input {}

    .contact .input-name .input {}

    .contact textarea {}

    .contact .privacy {}

    .contact .privacy input {}

    .contact .privacy-label {}

    .contact .privacy-label a {}

    .contact .privacy-label .text {}

    .contact .confirm-btn {}

    .contact .confirm-btn:hover {}

    .contact .confirm-btn input {}

    .contact .confirm-btn:hover input {}
}

/* contact-confirm */
.contact-confirm {}

.contact-confirm input {
    background: none;
}

.contact-confirm textarea {
    background: none;
    border: 1px solid var(--grey);
}

.contact-confirm .confirm-btn {}

.contact-confirm .confirm-btn .send-btn {
    border: 4px solid var(--green);
    background: var(--green);
}

.contact-confirm .confirm-btn .edit-btn {
    border: 4px solid var(--green);
    background: none;
    color: var(--green);
}

/* contact-complete */
.contact-complete {}

.contact-complete .complete-desc {
    font-size: 30px;
    font-weight: bold;
    line-height: 2;
    text-align: center;
}

@media (max-width: 1440px) {
    .contact-complete .complete-desc {
        font-size: 26px;
    }
}

@media (max-width: 768px) {
    .contact-complete .complete-desc {
        font-size: 18px;
    }
}

.is-disabled {
    pointer-events: none;
}

/* media */
main article .media {
    position: relative;
    padding-top: 7.6vw;
    padding-bottom: 12vw;
    background: #f8f8f8;
    overflow: hidden;
}

.media .local_navi {
    background: #333;
    color: #fff;
}

.media .local_navi ul {
    width: 90%;
    margin: 0 auto 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.media .local_navi ul li {
    width: 25%;
    padding: 20px;
    text-align: center;
}

.media .local_navi ul li a {
    color: #fff;
    display: block;
}

#contents.media {
    margin-top: 100px;
}

@media (max-width: 768px) {
    main article .media {
        padding-top: 88px;
    }
}
	
/* ニュースのヘッダーを白に */
.post-type-archive-news header,
.single-news header {
    background: #fff;
    padding-bottom: 35px;
}

@media (max-width: 1050px) {

    .post-type-archive-news header,
    .single-news header {
        background: #fff;
        padding-bottom: 24px;
    }
}


/* 採用ページ変更による追加調整 */
.text-box-wrap {
    width: 41.19%;
    margin-left: 60px;
}

.recruit .right {
    align-items: flex-start;
}

.recruit .right .img-box {
    position: relative;
}

.recruit .right .img-box .add_text {
    position: absolute;
    top: -40px;
    left: 55%;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
}

.recruit .right .text-box-wrap .text-box {
    width: auto;
    margin-left: 0;
    margin-bottom: 90px;
}

.recruit .right .text-box a {
    border: 1px solid #000;
    text-align: center;
    display: block;
    width: 300px;
    padding-right: 0;
    padding: 16px 0;
    margin-top: 10px;
}

.recruit .right .text-box a .text {
    margin-right: 0;
    line-height: 1;
    position: relative;
}

.recruit .right .text-box a .text img:nth-of-type(1) {
    width: 16px;
    vertical-align: bottom;
    position: relative;
    top: 1px;
    left: 3px;
}

.recruit .right .text-box a .text img:nth-of-type(2) {
    width: 9px;
    position: absolute;
    right: 11px;

}

.recruit .right .text-box .title-row {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.recruit .right .text-box .title-row .img-box-num {
    width: 54px;
    display: flex;
    align-items: center;
    margin-right: 24.5px;
}

.recruit .right .text-box .title-row .title {
    line-height: 1;
}


@media (max-width: 1480px) {
    .recruit .right .text-box .title-row .title {
        font-size: 20px;
    }
}

@media (max-width: 1480px) {
    .recruit .right .img-box .add_text {
        left: 46%;
    }
}

@media (max-width: 768px) {
    .text-box-wrap {
        width: auto;
        margin-left: 9vw;
    }

    .recruit .right .img-box {
        margin-top: 30px;
    }

    .recruit .last .right .img-box {
        margin-top: 0px;
    }

    .recruit .right .img-box .add_text {
        position: absolute;
        top: -30px;
        left: 9vw;
        font-size: 18px;
    }

    .recruit .right .text-box a {
        width: 100%;
    }

    .recruit .right .text-box .title-row {
        margin-bottom: 0;
    }

    .recruit .right .text-box .title-row .title {
        font-size: 16px;
    }

    .recruit .right .text-box-wrap .text-box {
        margin-bottom: 54px;
    }

    .recruit .right .text-box .title-row .img-box-num {
        width: 33px;
        margin-right: 12px;
    }
}