@charset "UTF-8";
@media screen and (max-width: 1024px) {

}
@media screen and (max-width: 768px) {
/* 全体 *//* 全体 *//* 全体 *//* 全体 *//* 全体 *//* 全体 */
    .sub-content {
    width: 95%;
    margin: 40px auto;
    padding: 24px 14px;
    gap: 60px;
    box-sizing: border-box;
    border-radius: 4px;
    }
    .sub-about-message {
        padding: 0 20px;
        box-sizing: border-box;
    }
    .spacer-md {
        height: 20px !important;
    }
    .content-title {
        font-size: 20px;
        text-align: center;
        margin: 0 auto 20px;
    }
    .content-title span {
        display: block;
        font-size: 14px;
        margin-top: 8px;
    }
    .company-vew {
        background-image: url(../images/SPcompany-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .used-vew {
        background-image: url(../images/SPuse-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .case-vew {
        background-image: url(../images/SPcase-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .plant-vew {
        background-image: url(../images/SPplant-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .recruit-vew {
        background-image: url(../images/SPrecruit-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .works-vew {
        background-image: url(../images/SPworks-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .factory-vew {
        background-image: url(../images/SPfactory-back001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
    .download-vew {
        background-image: url(../images/SPdownload-001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
        .contact-vew {
        background-image: url(../images/SPcontact-001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }

    .int001-vew {
        background-image: url(../images/SPint-001.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }

    .int002-vew {
        background-image: url(../images/SPint-002.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }

    .int003-vew {
        background-image: url(../images/SPint-003.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }

    .int004-vew {
        background-image: url(../images/SPint-004.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }

    .int005-vew {
        background-image: url(../images/SPint-005.jpg);
        background-position: center;
        background-size: contain;
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 720 / 240;
    }
/* ダウンロードページ *//* ダウンロードページ *//* ダウンロードページ */
    .download-list {
        gap: 20px;
    }
    .download-item {
        width: 100%;
        padding: 20px;
    }
    .download-info {
        margin-bottom: 12px;
    }
    .download-thumb {
        margin-bottom: 12px;
    }
    .download-btn {
        width: 100%;
        max-width: 100%;
    }

/* 納入実績ページ *//* 納入実績ページ *//* 納入実績ページ */
    .works-content {
        width: 95%;
        margin: 40px auto;
        padding: 24px 14px;
        gap: 40px;
        box-sizing: border-box;
    }
    .works-section-title {
        font-size: 18px;
        margin-bottom: 16px;
    }
    .works-subsection-title {
        font-size: 15px;
        margin: 24px 0 10px;
        padding: 6px 10px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        background-color: #e8e8e8;
    }
    .works-subsection-title span {
        font-size: 14px;
    }
    .works-info tr {
        display: block;
        margin-bottom: 8px;
    }
    .works-info th,
    .works-info td {
        width: 100%;
        display: block;
        padding: 4px 12px;
        font-size: 14px;
    }
    .works-info th {
        background-color: #f5f5f5;
        border-bottom: none;
    }
    .works-info td {
        border-bottom: none;
    }
    .factory01 .works-info th,
    .factory01 .works-info td {
        width: 100%;
    }

/* 企業ページ *//* 企業ページ *//* 企業ページ *//* 企業ページ */
    .other-call ul {
        display: flex;
        flex-direction: column;
        margin-bottom: 0px;
    }
    .other-call ul li:first-child {
        border: none;
        padding: 0px;
    }
    .other-call ul li:last-child {
        padding: 0 0 8px 0;
    }
    .access-flex {
        flex-direction: column;
        gap: 40px;
    }
    .access-title {
        text-align: left;
    }
    .company-info-img {
        margin-top: 0px;
    }

    .company-mess {
    width: 100%;
    margin: 0px;
    padding-top: 11px;
    padding-right: 22px;
    padding-left: 22px;
    padding-bottom: 22px;
    box-sizing: border-box;
    line-height: 1.7;
    }
    .president-com {
    margin-top: 14px;
    margin-bottom: 21px;
    }

/* プラントページ *//* プラントページ *//* プラントページ *//* プラントページ */
    .plant02.sub-content-2,
    .plant03.sub-content-2,
    .plant04.sub-content-2,
    .plant05.sub-content-2,
    .plant06.sub-content-2 {
        margin-bottom: 80px;
    }
    .plant01.sub-content-2,
    .plant02.sub-content-2 {
        margin-bottom: 32px;
    }
    .plant-t1, .plant-t1-L {
        margin: 0 auto 32px;
    }
    .plant-t2 {
        margin-top: 32px;
        margin-left: 0;
    }
    .plant01.sub-content-2 {
        flex-direction: column-reverse;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .sub-content-2_001 {
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
    }
    .sub-content-2_002 {
        position: static;
        margin: 0 auto;
        padding: 0px;
        box-sizing: border-box;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .plant02.sub-content-2 {
        padding: 0;
        box-sizing: border-box;
    }
    .plant-map {
        position: relative;
        max-width: 768px;
        width: 100%;
        height: auto;
        aspect-ratio: 365 / 160;
        background-image: url(../images/SPplant-map.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
    .plant-cont001 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        flex-direction: column;
    }
    .plant-cont001_001 {
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
    .plant-p {
        max-width: 764px;
        width: 100%;
        height: auto;
    }
    .plant-cont002 {
        width: 100%;
        margin: 0 auto ;
        padding: 0;
        box-sizing: border-box;
        flex-direction: column-reverse;
    }
    .plant-cont002_001 {
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
    .plant-cont003 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        flex-direction: column-reverse;
    }
    .plant-cont003_001 {
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
    .plant-cont004 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        flex-direction: column;
    }
    .plant-cont004_001 {
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
/* SP用画像 */
    .plant-p {
        width: 100vw;
        max-width: 560px;
        height: auto;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .plant-p-L {
        width: 100vw;
        max-width: 560px;
        height: auto;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        /* margin: 32px auto; */
    }
    .plant-pp {
        max-width: 560px;
        width: 100%;
        height: auto;
        margin: 32px auto 0;
    }

/* インタビューページ *//* インタビューページ *//* インタビューページ */
    .SPsub-content-int {
            margin: 0 auto 60px;
    }
    @media (max-width: 560px) {
        .int-txt-cont {
            padding: 0;
            box-sizing: border-box;
        }
    }

    @media (max-width: 560px) {
    /* 企業ページ *//* 企業ページ *//* 企業ページ *//* 企業ページ */
        th, td {
            width:100%;
            display:block;
        }
        .company-info th {
            width: 100%;
            padding: 6px 20px;
            min-height: 20px;
            box-sizing: border-box;
        }
        .company-info td {
            width: 100%;
            padding: 20px;
            box-sizing: border-box;
        }
        .officers-table td {
            padding: 0;
        }
        .officers-table td:last-child {
        padding-left: 14px !important;
        padding-bottom: 14px;
        box-sizing: border-box;
        }

        .company-info tr:not(:last-child) th, .company-info tr:not(:last-child) td {
            border: none;
        }
        th.top-th {
            border-radius: 0;
        }
        th.bot-th {
            border-radius: 0;
        }
        .map {
        /* margin-top: 60px; */
        position: relative;
        width: 100%;
        padding-top: 75%;
        /* 4:3のアスペクト比 (3/4 = 0.75 = 75%) */
        height: 0;
        }
        .related-companies-flex {
            margin-top: 0;
        }
        .related-company-item {
        display: flex;
        gap: 0px;
        width: 100%;
        }
        .related-company-map {
        position: relative;
        width: 84%;
        padding-top: 66%;
        height: 0;
        box-sizing: border-box;
        }
        .company-info.related-info-table {
            padding: 30px 10px 0;
            box-sizing: border-box;
        } 
        .company-info.related-info-table tbody {
            width: 100%;
            display: block;
        } 
        .company-info.related-info-table tr {
            width: 100%;
            display: block;
        }
        .company-info.related-info-table th,
        .company-info.related-info-table td {
            width: 100%;
            display: block;
        }
        /* .company-info.related-info-table ul {
            margin-bottom: 14px;
        } */

    /* 採用ページ *//* 採用ページ *//* 採用ページ *//* 採用ページ */
        .recruit-info th {
            width: 100%;
            padding: 6px 20px;
            min-height: 20px;
            box-sizing: border-box;
        }
        .recruit-info td {
            width: 100%;
            padding: 20px;
            box-sizing: border-box;
        }
        .recruit-info tr:not(:last-child) th,
        .recruit-info tr:not(:last-child) td {
            border: none;
        }
        .recruit-info th.top-th {
            border-radius: 0;
        }
        .recruit-info th.bot-th {
            border-radius: 0;
        }
        .recruit-mail-img {
            height: 20px;
        }

    }/* 560〆 */

/* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html */
/* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html *//* used.html */
    .about-message.used {
        margin: 20px auto;
    }

    .used-car {
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
    }
    .used-sozai-flex {
        flex-direction: column-reverse;
        gap: 8px;
    }
    .used-sozai-img {
        width: 90%;
        height: auto;
        margin: 0 auto;
        left: inherit;
    }
    .sozai-t1 {
        margin: 32px auto;
    }
    .used-sozai-text {
        width: 100%;
        max-width: 768px;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .sozai-t2 {
        width: 100%;
        max-width: 768px;
        margin-left: auto;
    }
    .car-t2 {
        text-align: center;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .sub-about-message.limit {
        padding: 0 20px;
        box-sizing: border-box;
    }
    .sub-about-message.rules {
        padding: 0 20px;
        box-sizing: border-box;
    }
    .sub-about-message001.used {
        font-size: 16px;
        margin-bottom: 16px;
        text-align: left;
    }
    .used .next-btn-001 {
        margin-top: 60px;
    }
    .used-make {
        display: flex;
        flex-direction: column;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .sub-about-message.text-size-md {
        padding: 0;
        margin-bottom: 0;
    }
    .SPmap-gif {
        position: relative;
        max-width: 520px;
        width: 100%;
        height: auto;
        aspect-ratio: 750 / 594;
        object-fit: cover;
        background-image: url(../images/map-s.gif);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: contain;
        margin: 64px auto 64px!important;
    }
    .map-gif-text {
    position: absolute;
    width: 100%;
    max-width: 380px;
    top: 62%;
    left: 50%;
    transform: translateX(-50%);
    color: #116e59;
    text-shadow:
        2px 2px 0 #fff,
        -2px 2px 0 #fff,
        2px -2px 0 #fff,
        -2px -2px 0 #fff,
        2px 0 0 #fff,
        -2px 0 0 #fff,
        0 2px 0 #fff,
        0 -2px 0 #fff;
}
.sub-about-message.rules {
    max-width: 560px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
    text-align: left;
}
@media screen and (max-width: 560px) {
    .map-gif-text {
        font-size: 14px;
    }
        .sub-about-message.rules {
        max-width: 320px;
        margin: 0 auto;
        padding: 0 10px;
        box-sizing: border-box;
        text-align: left;
    }
}
    .sub-about-message.text-size-lg {
        padding: 0;
    }
    .about-message001-02.conbot {
        margin: 40px auto;
        padding: 0 20px;
        text-align: left;
    }
    .used-car-img {
        margin: 32px auto;
    }
    .used03 .next-btn-001 {
        margin: 16px auto 60px;
    }
    .used04 .next-btn-001 {
        margin: 16px auto 60px;
    }
    @media (max-width: 560px) {
        .sub-about-message {
            padding: 0 20px;
            box-sizing: border-box;
        }
        .used .next-btn-001 {
            margin-top: 0px;
        }
        .sozai-t1 {
            max-width: 520px;
            margin: 30px 0 20px;
        }
        .sozai-t2 {
            font-weight: 400;
            max-width: 520px;
            width: 100%;
            font-size: 1.0em;
            margin-left: 0px;
            padding: 0 20px;
            box-sizing: border-box;
        }
        .sub-about-message.conbot {
            font-size: 16px;
            padding: 0;
            margin: 60px auto 0;
        }
        .car-t2 {
            text-align: left;
            padding: 0 20px;
            box-sizing: border-box;
        }
        .used-car-img {
            margin: 0 auto;
        }
        .used-sozai-text {
            padding: 0;
        }
        .sub-about-message.used {
            padding: 0;
        }
        .sub-about-message.limit {
            padding: 0;
        }
        .sub-about-message.rules {
            padding: 0;
        }
    }

/* お問い合わせページ *//* お問い合わせページ *//* お問い合わせページ */
    .contact-intro {
        margin-bottom: 30px;
        padding: 0 10px;
    }
    .contact-form {
        padding: 0 10px;
    }
    .contact-table th,
    .contact-table td {
        width: 100%;
        display: block;
        padding: 12px 0;
    }
    .contact-table th {
        padding-bottom: 8px;
        border-bottom: none;
        background-color: transparent;
    }
    .contact-table td {
        padding-top: 0;
    }
    .contact-table .required {
        font-size: 11px;
        padding: 2px 6px;
    }
    .contact-table input[type="text"],
    .contact-table input[type="email"],
    .contact-table input[type="tel"],
    .contact-table textarea {
        font-size: 16px;
        padding: 10px 12px;
    }
    .radio-group {
        gap: 10px;
    }
    .privacy-policy {
        margin-top: 30px;
        padding: 20px 15px;
    }
    .privacy-policy h3 {
        font-size: 16px;
        margin-bottom: 16px;
    }
    .privacy-content {
        max-height: 150px;
        padding: 15px;
        font-size: 13px;
    }
    .form-confirm {
        margin-top: 24px;
    }
    .confirm-label {
        font-size: 14px;
    }
    .form-submit {
        margin-top: 30px;
    }
    .submit-btn {
        width: 100%;
        max-width: 300px;
        padding: 14px 24px;
        font-size: 15px;
    }

    .thanks-back-button {
        width: 100%;
        max-width: 300px;
        padding: 14px 24px;
        font-size: 15px;
    }

    /* サブページ用 how-list セクション */
    .sub-how-section {
        padding: 40px 10px;
    }
    .sub-how-section .SPhow-list {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 0;
    }
    .sub-how-section .SPhow-list li {
        color: #fff;
        position: relative;
        max-width: 500px;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0;
        height: auto;
        aspect-ratio: 3 / 1;
        border-radius: 0;
        box-sizing: border-box;
        overflow: hidden;
    }
    .sub-how-section .SPhow-list li:nth-child(1) {
        margin-left: 0;
        margin-right: auto;
    }
    .sub-how-section .SPhow-list li:nth-child(2) {
        margin: 0 auto;
    }
    .sub-how-section .SPhow-list li:nth-child(3) {
        margin-left: auto;
        margin-right: 0;
    }
    .sub-how-section .SPhow-list-btn-img {
        position: absolute;
        z-index: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .sub-how-section .SPhow-list-btn-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .sub-how-section .SPhow-list-title {
        position: relative;
        z-index: 10;
        font-size: 20px;
        gap: 6px;
        display: flex;
        flex-direction: column;
    }
    .sub-how-section .SPhow-list-001 .SPhow-list-title {
        position: absolute;
        z-index: 10;
        top: 20px;
        right: inherit;
    }
    .sub-how-section .SPhow-list-001 .SPhow-list-title001 {
        position: relative;
        top: 0;
        left: 0;
        right: inherit;
        background-color: #16a440;
        padding: 4px 20px;
        box-sizing: border-box;
        display: inline-block;
        margin-right: auto;
        margin-left: 10px;
    }
    .sub-how-section .SPhow-list-002 .SPhow-list-title {
        position: absolute;
        z-index: 10;
        right: auto;
        top: 0;
    }
    .sub-how-section .SPhow-list-002 .SPhow-list-title001 {
        background-color: #1435a6;
        padding: 4px 20px;
        box-sizing: border-box;
        display: inline-block;
        margin-left: 20px;
        margin-right: auto;
    }
    .sub-how-section .SPhow-list-002 .SPhow-list-title002 {
        background-color: #1435a6;
        padding: 4px 20px;
        box-sizing: border-box;
        display: inline-block;
        margin-left: 20px;
        margin-right: auto;
    }
    .sub-how-section .SPhow-list-003 .SPhow-list-title {
        position: relative;
        z-index: 10;
        left: 0px;
    }
    .sub-how-section .SPhow-list-003 .SPhow-list-title001 {
        background-color: #dc419f;
        padding: 4px 20px;
        box-sizing: border-box;
        display: inline-block;
        margin-left: 10px;
        margin-right: auto;
    }
    .sub-how-section .SPhow-list-003 .SPhow-list-title002 {
        background-color: #dc419f;
        padding: 4px 20px;
        box-sizing: border-box;
        display: inline-block;
        margin-left: 10px;
        margin-right: auto;
    }

/* インタビューページ know-list */
    .int.know-list {
        max-width: 560px;
    }
    .intv01 .know {
        padding: 0;
    }

}/* 768〆 *//* 768〆 *//* 768〆 *//* 768〆 *//* 768〆 */

@media screen and (max-width: 560px) {
    .sub-how-section .SPhow-list li:nth-child(1),
    .sub-how-section .SPhow-list li:nth-child(2),
    .sub-how-section .SPhow-list li:nth-child(3) {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    .sub-how-section .SPhow-list-001 .SPhow-list-btn-img {
        padding: 0 10px 0 40px;
        box-sizing: border-box;
    }
    .sub-how-section .SPhow-list-002 .SPhow-list-btn-img {
        padding: 0 0 0 50px;
        box-sizing: border-box;
    }
    .sub-how-section .SPhow-list-003 .SPhow-list-btn-img {
        padding: 0 10px 0 40px;
        box-sizing: border-box;
    }
}
