@charset "utf-8";


/**
 * スマホ用設定
 */
@media ( width < 768px ) {

    main {
        margin: calc( 100vw * 157 / 780 ) auto 0;
        padding: 0;
        width: 100%;
    }

    #mv {
        margin: 0 auto;
        width: 100%;
        height: auto;
        aspect-ratio: 2 / 1;
    }
    #mv .mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #mv .mv-bg img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-position: 60% 50%;
        object-fit: cover;
    }
    #mv .mv-box {
        position: absolute;
        left: 5%;
        top: 50%;
        margin: 0;
        padding: 0;
        width: 90%;
        height: auto;
        translate: 0 -50%;
    }
    #mv .mv-box h1 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #mv .mv-box h1 span:nth-of-type(1) {
        color: #fff;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #mv .mv-box h1 span:nth-of-type(2) {
        color: #fff;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }

    #page-main .breadcrumbs {
        margin: 0 auto;
        padding: 4.0vw 0;
        width: 90%;
        color: #bfbfbf;
        font-size: 2.8vw;
        font-weight: 400;
    }
    #page-main .breadcrumbs a {
        color: #07273e;
    }
    #page-main .breadcrumbs span {
        color: #bfbfbf;
    }

    #company-greeting {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #company-greeting .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 2;
    }
    #company-greeting .greeting-info {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        order: 1;
    }
    #company-greeting .greeting-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #company-greeting .greeting-info h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-greeting .greeting-info h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-greeting .greeting-info p {
        margin: 1.5em 0 0;
        color: #07273e;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 41 / 18 );
    }

    #company-philosophy {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #company-philosophy h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #company-philosophy h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-philosophy h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-philosophy p {
        margin: 1.5em 0 0;
        color: #07273e;
        font-size: 4.8vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 68 / 38 );
    }

    #company-profile {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: #f5faff;
    }
    #company-profile .profile-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #company-profile .profile-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #company-profile .profile-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-profile .profile-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-profile .profile-wrap .profile-table {
        margin: 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }
    #company-profile .profile-wrap .profile-table > dt {
        margin: 0;
        padding: 2.0em 0 0.5em 1.0em;
        width: 100%;
        color: #07273e;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
    }
    #company-profile .profile-wrap .profile-table > dd {
        margin: 0;
        padding: 0.5em 0 2.0em;
        width: 100%;
        color: #07273e;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        border-bottom: 1px solid #1065c7;
    }

    #company-history {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #company-history .history-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #company-history .history-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #company-history .history-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-history .history-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-history .history-wrap .history-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #company-history .history-wrap .history-box {
        position: relative;
        margin: 0;
        padding: 0 0 4.0vw 6.0vw;
        width: 100%;
    }
    #company-history .history-wrap .history-box::before {
        position: absolute;
        content: "";
        left: 2.0vw;
        top: 1.0vw;
        width: 1px;
        height: 100%;
        background: #ebebeb;
    }
    #company-history .history-wrap .history-box::after {
        position: absolute;
        content: "";
        left: 0;
        top: 1.0vw;
        width: 2.0vw;
        height: 2.0vw;
        background: #fff;
        border: 1.0vw solid #1165c7;
        border-radius: 100%;
    }
    #company-history .history-wrap .history-box:last-child::before {
        content: none;
    }
    #company-history .history-wrap .history-box .head {
        margin: 0;
        padding: 0;
        color: #1165c7;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-history .history-wrap .history-box .desc {
        margin: 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
    }

    #recruit-first {
        margin: 8.0vw auto 0;
        padding: 0 0 16.0vw;
        width: 100%;
    }
    #recruit-first .recruit-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #recruit-first .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 2;
    }
    #recruit-first .recruit-info {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 1;
    }
    #recruit-first .recruit-info h2 {
        margin: 0;
        padding: 0;
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
    }
    #recruit-first .recruit-info p {
        margin: 1.5em 0 0;
        color: #07273e;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 41 / 18 );
    }

    #recruit-job {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: #f5faff;
    }
    #recruit-job .recruit-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #recruit-job .recruit-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #recruit-job .recruit-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #recruit-job .recruit-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #recruit-job .recruit-wrap .btn-common {
        margin: 8.0vw auto 0 0;
        padding: 0 1.0em;
        width: 80%;
        height: auto;
        aspect-ratio: 312 / 64;
        color: #1165c7;
        font-size: 4.0vw;
        font-weight: 500;
        font-family: var(--font-mincho);
        border: 1px solid #1165c7;
        border-radius: 1.0vw;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #recruit-job .recruit-wrap .btn-common::after {
        content: "";
        width: 0.5em;
        height: auto;
        aspect-ratio: 1 / 1;
        border-right: 2px solid #1165c7;
        border-bottom: 2px solid #1165c7;
        transform-origin: 71% 71%;
        transform: rotate(45deg);
    }
    #recruit-job .recruit-box {
        margin: 8.0vw auto 0;
        padding: 4.0vw;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
        background: #fff;
    }
    #recruit-job .recruit-box .pic {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        order: 2;
    }
    #recruit-job .recruit-box .recruit-info {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 1;
    }
    #recruit-job .recruit-box .recruit-info h3 {
        margin: 0;
        padding: 0 0 0 0.8em;
        font-size: 4.8vw;
        font-weight: 500;
        text-align: left;
        border-left: 4px solid #1165c7;
    }
    #recruit-job .recruit-box .recruit-info p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
    }
    #recruit-job .recruit-box .recruit-info h4 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
    }
    #recruit-job .recruit-box .recruit-info ul {
        margin: 2.0vw 0 0;
        padding: 0;
        list-style: none;
    }
    #recruit-job .recruit-box .recruit-info ul li {
        margin: 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        list-style: none;
    }
    #recruit-job .recruit-box .recruit-info ul li::before {
        display: inline-block;
        content: "●";
        margin: 0 1.0em 0 0;
        color: #1165c7;
        scale: 0.6 0.6;
    }

    #recruit-require {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #recruit-require .recruit-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    #recruit-require .recruit-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #recruit-require .recruit-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #recruit-require .recruit-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #recruit-require .recruit-wrap .recruit-table {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        border-top: 1px solid #ebebeb;
        border-left: 1px solid #ebebeb;
    }
    #recruit-require .recruit-wrap .recruit-table > dt {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        background: #f8f8f8;
        border-right: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
    }
    #recruit-require .recruit-wrap .recruit-table > dd {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        border-right: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
    }

    #recruit-environment {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #recruit-environment .pic {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #recruit-environment .recruit-wrap {
        position: relative;
        margin: -4.0vw auto 0;
        padding: 4.0vw;
        width: 90%;
        background: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
        z-index: 1;
    }
    #recruit-environment .recruit-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #recruit-environment .recruit-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #recruit-environment .recruit-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #recruit-environment .recruit-wrap .recruit-info {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 41 / 18 );
    }

    #recruit-howto {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: url(../images/pic-recruit-bg.jpg) no-repeat center / cover;
    }
    #recruit-howto h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #recruit-howto h2 span:nth-of-type(1) {
        color: #fff;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: center;
        letter-spacing: 0.07em;
    }
    #recruit-howto h2 span:nth-of-type(2) {
        color: #fff;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: center;
        letter-spacing: 0.1em;
    }
    #recruit-howto p {
        margin: 1.5em 0 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
        line-height: calc( 41 / 18 );
    }
    #recruit-howto .btn-common {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 90%;
        height: auto;
        aspect-ratio: 560 / 104;
        color: #07273e;
        font-size: 4.0vw;
        font-weight: 500;
        font-family: var(--font-mincho);
        background: #fff;
        border-radius: 1.0vw;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 8px;
    }
    #recruit-howto .btn-common::before {
        content: "";
        width: 1.6em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #1165c7;
        -webkit-mask-image: url(../images/icon-contact-white.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-image: url(../images/icon-contact-white.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
    }

    #recruit-faq {
        margin: 0 auto;
        padding: 12.0vw 0 16.0vw;
        width: 100%;
    }
    #recruit-faq h2 {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #recruit-faq h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: center;
        letter-spacing: 0.07em;
    }
    #recruit-faq h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: center;
        letter-spacing: 0.1em;
    }
    #recruit-faq .faq-box {
        margin: 8.0vw auto 0;
        padding: 4.0vw;
        width: 90%;
        background: #f8f8f8;
    }
    #recruit-faq .faq-box + .faq-box {
        margin-top: 4.0vw;
    }
    #recruit-faq .faq-box .faq-q {
        margin: 0;
        padding: ;
        width: 100%;
        font-size: 4.0vw;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 4.0vw;
    }
    #recruit-faq .faq-box .faq-q::before {
        content: "Q";
        width: 6.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        display: grid;
        place-items: center;
        color: #fff;
        font-size: 4.0vw;
        font-weight:600;
        font-family: var(--font-alphabet);
        background: #1165c7;
        border-radius: 100%;
    }
    #recruit-faq .faq-box .faq-a {
        margin: 1.5em 0 0;
        padding: ;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        line-height: calc( 28 / 15 );
    }

    #business-first {
        margin: 8.0vw auto 0;
        padding: 0 0 16.0vw;
        width: 100%;
    }
    #business-first .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #business-first .business-wrap h2 {
        margin: 0 auto;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 50 / 38 );
    }
    #business-first .business-wrap h2 span {
        color: #1165c7;
    }
    #business-first .business-wrap p {
        margin: 2.0em auto 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 41 / 18 );
    }

    #business-activity {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: #f5faff;
    }
    #business-activity .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #business-activity .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-activity .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-activity .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-activity .activity-grid {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 4.0vw 0;
    }
    #business-activity .activity-grid .activity-item {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        background: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    #business-activity .activity-grid .activity-item .icon {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 50%;
        height: auto;
        aspect-ratio: 132 / 123;
    }
    #business-activity .activity-grid .activity-item .icon img {
        margin: 0; 
        padding: 0;
        width: 70%;
        height: 70%;
        object-fit: contain;
    }
    #business-activity .activity-grid .activity-item h3 {
        margin: 0;
        padding: 0;
        width: 100%;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 28 / 20 );
    }

    #business-process {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #business-process .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #business-process .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-process .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-process .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-process .process-box {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0;
    }
    #business-process .process-box + .process-box {
        margin-top: 2.0vw;
    }
    #business-process .process-box .no {
        position: relative;
        display: grid;
        place-items: center;
        margin: 0 8.0vw 0 0;
        padding: 0;
        width: 16.0vw;
        height: 16.0vw;
        color: #fff;
        font-size: 4.8vw;
        font-weight: 600;
        line-height: 1.0;
        background: #1165c7;
        border-radius: 100%;
    }
    #business-process .process-box .no::after {
        position: absolute;
        content: "";
        top: 8.0vw;
        left: 16.0vw;
        width: 8.0vw;
        height: 1px;
        border-top: 1px dashed #a9c4e3;
    }
    #business-process .process-box.seafood {
        align-items: flex-start;
    }
    #business-process .process-box.seafood .no {
        margin-top: 12.0vw;
    }
    #business-process .process-box.seafood .no::after {
    }
    #business-process .process-box .inner {
        margin: 0;
        padding: 4.0vw;
        width: calc( 100% - 24.0vw );
        border: 1px solid #a9c4e3;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-process .process-box .inner .inner-l {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-process .process-box .inner .inner-l h3 {
        margin: 0;
        padding: 0;
        color: #1165c7;
        font-size: 4.0vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-process .process-box .inner .inner-l h4 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
    }
    #business-process .process-box .inner .inner-l p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 32 / 18 );
    }
    #business-process .process-box .inner .inner-r {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 348 / 199;
    }
    #business-process .process-box .inner .inner-r .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #business-process .process-box .inner .inner-r .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-process .process-box .inner-seafood {
        margin: 0;
        padding: 4.0vw;
        width: calc( 100% - 24.0vw );
        border: 1px solid #a9c4e3;
    }
    #business-process .process-box .inner-seafood .head {
        margin: 0;
        padding: 1.0em 2.0em;
        width: 100%;
        background: #1165c7;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2.0vw 0;
    }
    #business-process .process-box .inner-seafood .head span:nth-of-type(1) {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.1em;
    }
    #business-process .process-box .inner-seafood .head span:nth-of-type(2) {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 500;
        line-height: 1.0;
    }
    #business-process .process-box .inner-seafood .seafood-grid {
        margin: 4.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 4.0vw 0;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 432 / 278;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic::before {
        position: absolute;
        content: attr(data-no);
        top: 0;
        left: 0;
        width: 8.0vw;
        height: 8.0vw;
        display: grid;
        place-items: center;
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: center;
        letter-spacing: 0.1em;
        background: #f5faff;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic figcaption {
        margin: 0.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
    }

    #business-facility {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #business-facility .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #business-facility .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-facility .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-facility .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-facility .facility-grid {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        border-top: 1px solid #ebebeb;
        border-left: 1px solid #ebebeb;
    }
    #business-facility .facility-grid .facility-item {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-right: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
    }
    #business-facility .facility-grid .facility-item .pic {
        margin: 0;
        padding: 0;
        width: 28%;
        height: auto;
        aspect-ratio: 160 / 120;
    }
    #business-facility .facility-grid .facility-item .pic img {
        margin: 0; 
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-facility .facility-grid .facility-item h3 {
        margin: 0;
        padding: 0;
        width: calc( 100% - 28% - 4.0vw );
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 28 / 20 );
    }
    #business-facility .blue-box {
        margin: 8.0vw auto 0;
        padding: 2.0em 0;
        width: 90%;
        color: #1065c7;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        border: 1px solid #1065c7;
    }

    #business-case {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: #f5faff;
    }
    #business-case .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #business-case .business-wrap .business-l {
        width: 100%;
    }
    #business-case .business-wrap .business-r {
        width: 100%;
    }
    #business-case .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-case .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-case .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-case .business-wrap ul {
        margin: 0;
        padding: 0;
        width: 100%;
        list-style: none;
    }
    #business-case .business-wrap ul li {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 4.0vw;
        margin: 0;
        padding: 3.6vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 500;
        list-style: none;
        background: #fff;
    }
    #business-case .business-wrap ul li::before {
        display: inline-block;
        content: "";
        margin: 0;
        padding: 0;
        width: 6.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-check-blue.svg) no-repeat center / contain;
    }
    #business-case .business-wrap ul li + li {
        margin-top: 2.0vw;
    }

    #business-character {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: #f5faff;
    }
    #business-character .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #business-character .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-character .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-character .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-character .business-flex {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        gap: 4.0vw 0;
    }
    #business-character .business-flex .business-item {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 1;
    }
    #business-character .business-flex .business-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1040 / 634;
        order: 2;
    }
    #business-character .business-flex .business-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-character .business-flex .business-item .no {
        margin: 0;
        padding: 0;
        width: 100%;
        color: #1165c7;
        font-size: 12.0vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
    }
    #business-character .business-flex .business-item h3 {
        margin: 0 0 4.0vw;
        padding: 0;
        width: 100%;
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 500;
        text-align: left;
    }
    #business-character .business-flex .business-item ul {
        margin: 0;
        padding: 4.0vw 0 0;
        width: 100%;
        border-top: 1px solid #1065c7;
        list-style: none;
    }
    #business-character .business-flex .business-item ul li {
        position: relative;
        margin: 0;
        padding: 0 0 0 1.5em;;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 29 / 18 );
        list-style: none;
    }
    #business-character .business-flex .business-item ul li + li {
        margin-top: 0.2em;
    }
    #business-character .business-flex .business-item ul li::before {
        position: absolute;
        content: "●";
        margin: 0;
        padding: 0;
        top: 0;
        left: 0;
        color: #1165c7;
        scale: 0.5 0.5;
    }

    #business-product {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #business-product .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #business-product .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-product .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-product .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-product .business-wrap p {
        margin: 1.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
    }
    #business-product .product-grid {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 4.0vw 0;
    }
    #business-product .product-grid .product-item {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-product .product-grid .product-item .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 768 / 516;
    }
    #business-product .product-grid .product-item .pic img {
        margin: 0; 
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-product .product-grid .product-item .pic figcaption {
        margin: 0.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
    }

    #business-media {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: #f5faff;
    }
    #business-media .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-item: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #business-media .business-wrap .business-l {
        width: 100%;
    }
    #business-media .business-wrap .business-r {
        width: 100%;
    }
    #business-media .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #business-media .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 8.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-media .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 3.6vw;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-media .business-wrap p {
        margin: 2.0em 0 0;
        padding: 0;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
    }

    #contact-form {
        margin: 8.0vw auto 0;
        padding: 0 0 16.0vw;
        width: 100%;
    }
    #contact-form .contact-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }
    #contact-form h2 {
        margin: 0 auto;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 50 / 38 );
    }
    #contact-form .ws-label {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        font-size: 4.8vw;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 2.0vw;
    }
    #contact-form .ws-label.required::after {
        content: "必須";
        display: block;
        margin: 0;
        padding: 0.2em 0.4em;
        color: #fff;
        font-size: 3.6vw;
        line-height: 1.0;
        background: #cc3300;
    }
    #contact-form .ws-label.not-required::after {
        content: "任意";
        display: block;
        margin: 0;
        padding: 0.2em 0.4em;
        color: #fff;
        font-size: 3.6vw;
        line-height: 1.0;
        background: #999;
    }
    #contact-form .ws-input {
        margin: 2.0vw 0 0;
        padding: 0;
        width: 100%;
    }
    #contact-form .ws-input label {
        display: block;
        margin: 2.0vw 0 0;
        padding: 0 0 0 2.0vw;
        width: 100%;
        font-size: 3.6vw;
        font-weight: 400;
    }
    #contact-form .ws-input :is(input[type="text"],input[type="tel"],input[type="email"],textarea) {
        margin: 0;
        padding: 0.5em 1.0em;
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        font-family: inherit;
        border: 1px solid #ccc;
        border-radius: 1.0vw;
    }
    #contact-form .ws-input textarea {
        height: 10.0em;
    }
    #contact-form .ws-privacy-policy {
        margin: 8.0vw 0 0;
        padding: 1.0em;
        width: 100%;
        height: 300px;
        border: 1px solid #ccc;
        overflow-y: auto;
    }
    #contact-form .ws-privacy-policy > h3 {
        margin: 2.0em 0 0;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: center;
    }
    #contact-form .ws-privacy-policy > h3:first-child {
        margin-top: 0;
    }
    #contact-form .ws-privacy-policy > h4 {
        margin: 2.0em 0 0;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
    }
    #contact-form .ws-privacy-policy > p {
        margin: 1.0em 0 0;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: left;
    }
    #contact-form .ws-agree {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        text-align: center;
    }
    #contact-form .ws-submit {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
    }
    #contact-form .ws-submit input[type="submit"] {
        display: block;
        margin: 0;
        padding: 0.5em 2.0em;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 600;
        background: var(--fg-color);
        border: 0;
        border-radius: 1.0vw;
    }

}


/**
 * PC用設定
 */
@media ( width >= 768px ) {

    main {
        margin: 0 auto 0 0;
        padding: 0;
        width: calc( 100% - 160px );
    }

    #mv {
        margin: 0;
        width: 100%;
        height: auto;
    }
    #mv .mv-bg {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #mv .mv-bg img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #mv .mv-box {
        position: absolute;
        left: max( 40px, calc( 50% - 600px ) );
        top: 50%;
        margin: 0;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        height: auto;
        translate: 0 -50%;
    }
    #mv .mv-box h1 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #mv .mv-box h1 span:nth-of-type(1) {
        color: #fff;
        font-size: 53px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #mv .mv-box h1 span:nth-of-type(2) {
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }

    #page-main .breadcrumbs {
        margin: 0 auto;
        padding: 40px 0;
        width: 90%;
        max-width: 1200px;
        color: #bfbfbf;
        font-size: 12px;
        font-weight: 400;
    }
    #page-main .breadcrumbs a {
        color: #07273e;
    }
    #page-main .breadcrumbs span {
        color: #bfbfbf;
    }

    #company-greeting {
        margin: 40px auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #company-greeting .pic {
        margin: 0;
        padding: 0;
        width: calc( 100% * 880 / 1760 );
    }
    #company-greeting .greeting-info {
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 1.0 - 880 / 1760 ) - 80px );
    }
    #company-greeting .greeting-info h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #company-greeting .greeting-info h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-greeting .greeting-info h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-greeting .greeting-info p {
        margin: 1.5em 0 0;
        color: #07273e;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 41 / 18 );
    }

    #company-philosophy {
        margin: 0 auto;
        padding: 120px max( 40px, calc( 50% - 600px ) );
        width: 100%;
    }
    #company-philosophy h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #company-philosophy h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-philosophy h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-philosophy p {
        margin: 1.5em 0 0;
        color: #07273e;
        font-size: 38px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 68 / 38 );
    }

    #company-profile {
        margin: 0 auto;
        padding: 120px 0;
        width: 100%;
        background: #f5faff;
    }
    #company-profile .profile-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #company-profile .profile-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #company-profile .profile-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-profile .profile-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-profile .profile-wrap .profile-table {
        margin: 0;
        padding: 0;
        width: calc( 100% - 320px );
        display: grid;
        grid-template-columns: 160px 1fr;
        gap: 0;
    }
    #company-profile .profile-wrap .profile-table > dt {
        margin: 0;
        padding: 3.0em 0 3.0em 40px;
        width: 100%;
        color: #07273e;
        font-size: 16px;
        font-weight: 500;
        text-align: left;
        border-bottom: 1px solid #1065c7;
    }
    #company-profile .profile-wrap .profile-table > dt:first-of-type {
        border-top: 1px solid #1065c7;
    }
    #company-profile .profile-wrap .profile-table > dd {
        margin: 0;
        padding: 3.0em 0 3.0em 50px;
        width: 100%;
        color: #07273e;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
        border-bottom: 1px solid #ebebeb;
    }
    #company-profile .profile-wrap .profile-table > dd:first-of-type {
        border-top: 1px solid #ebebeb;
    }

    #company-history {
        margin: 0 auto;
        padding: 120px 0;
        width: 100%;
    }
    #company-history .history-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #company-history .history-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #company-history .history-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #company-history .history-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-history .history-wrap .history-info {
        margin: 0;
        padding: 0;
        width: calc( 100% - 320px );
    }
    #company-history .history-wrap .history-box {
        position: relative;
        margin: 0;
        padding: 0 0 40px 48px;
        width: calc( 100% - 320px );
    }
    #company-history .history-wrap .history-box::before {
        position: absolute;
        content: "";
        left: 8px;
        top: 4px;
        width: 1px;
        height: 100%;
        background: #ebebeb;
    }
    #company-history .history-wrap .history-box::after {
        position: absolute;
        content: "";
        left: 0;
        top: 8px;
        width: 12px;
        height: 12px;
        background: #fff;
        border: 4px solid #1165c7;
        border-radius: 100%;
    }
    #company-history .history-wrap .history-box:last-child::before {
        content: none;
    }
    #company-history .history-wrap .history-box .head {
        margin: 0;
        padding: 0;
        color: #1165c7;
        font-size: 22px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #company-history .history-wrap .history-box .desc {
        margin: 0;
        padding: 0;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
    }

    #recruit-first {
        margin: 40px auto 0;
        padding: 0 0 120px;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #recruit-first .recruit-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #recruit-first .pic {
        margin: 0;
        padding: 0;
        width: calc( 100% * 448 / 1200 );
    }
    #recruit-first .recruit-info {
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 1.0 - 448 / 1200 ) - 80px );
    }
    #recruit-first .recruit-info h2 {
        margin: 0;
        padding: 0;
        color: #07273e;
        font-size: 38px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
    }
    #recruit-first .recruit-info p {
        margin: 1.5em 0 0;
        color: #07273e;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 41 / 18 );
    }

    #recruit-job {
        margin: 0 auto;
        padding: 90px 0;
        width: 100%;
        background: #f5faff;
    }
    #recruit-job .recruit-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #recruit-job .recruit-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #recruit-job .recruit-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #recruit-job .recruit-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #recruit-job .recruit-wrap .btn-common {
        margin: 40px auto 0 0;
        padding: 0 1.0em;
        width: 312px;
        height: auto;
        aspect-ratio: 312 / 64;
        color: #1165c7;
        font-size: 20px;
        font-weight: 500;
        font-family: var(--font-mincho);
        border: 1px solid #1165c7;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #recruit-job .recruit-wrap .btn-common::after {
        content: "";
        width: 0.5em;
        height: auto;
        aspect-ratio: 1 / 1;
        border-right: 2px solid #1165c7;
        border-bottom: 2px solid #1165c7;
        transform-origin: 71% 71%;
        transform: rotate(45deg);
    }
    #recruit-job .recruit-box {
        margin: 40px auto 0;
        padding: 24px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #fff;
    }
    #recruit-job .recruit-box .pic {
        margin: 0;
        padding: 0;
        width: calc( 100% * 448 / 1200 );
        height: auto;
    }
    #recruit-job .recruit-box .recruit-info {
        margin: 0;
        padding: 0;
        width: calc( 100% * ( 1.0 - 448 / 1200 ) - 80px );
    }
    #recruit-job .recruit-box .recruit-info h3 {
        margin: 0;
        padding: 0 0 0 0.8em;
        font-size: 24px;
        font-weight: 500;
        text-align: left;
        border-left: 4px solid #1165c7;
    }
    #recruit-job .recruit-box .recruit-info p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 15px;
        font-weight: 400;
        text-align: left;
    }
    #recruit-job .recruit-box .recruit-info h4 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 20px;
        font-weight: 500;
        text-align: left;
    }
    #recruit-job .recruit-box .recruit-info ul {
        margin: 10px 0 0;
        padding: 0;
        list-style: none;
    }
    #recruit-job .recruit-box .recruit-info ul li {
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-weight: 400;
        list-style: none;
    }
    #recruit-job .recruit-box .recruit-info ul li::before {
        display: inline-block;
        content: "●";
        margin: 0 1.0em 0 0;
        color: #1165c7;
        scale: 0.6 0.6;
    }

    #recruit-require {
        margin: 0 auto;
        padding: 90px 0;
        width: 100%;
    }
    #recruit-require .recruit-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #recruit-require .recruit-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #recruit-require .recruit-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #recruit-require .recruit-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #recruit-require .recruit-wrap .recruit-table {
        margin: 0;
        padding: 0;
        width: calc( 100% - 320px );
        display: grid;
        grid-template-columns: 160px 1fr;
        gap: 0;
        border-top: 1px solid #ebebeb;
        border-left: 1px solid #ebebeb;
    }
    #recruit-require .recruit-wrap .recruit-table > dt {
        margin: 0;
        padding: 2.0em 0 2.0em 40px;
        width: 100%;
        font-size: 16px;
        font-weight: 500;
        text-align: left;
        background: #f8f8f8;
        border-right: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
    }
    #recruit-require .recruit-wrap .recruit-table > dd {
        margin: 0;
        padding: 2.0em 0 2.0em 50px;
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
        border-right: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
    }

    #recruit-environment {
        margin: 0 auto;
        padding: 90px 0;
        width: 100%;
    }
    #recruit-environment .pic {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        height: auto;
    }
    #recruit-environment .recruit-wrap {
        position: relative;
        margin: calc( -40 * min( 80vw, 1080px ) / 1080 ) auto 0;
        padding: 40px;
        width: 80%;
        max-width: 1080px;
        background: #fff;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        z-index: 1;
    }
    #recruit-environment .recruit-wrap h2 {
        margin: 0;
        padding: 0;
        width: 40%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #recruit-environment .recruit-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #recruit-environment .recruit-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #recruit-environment .recruit-wrap .recruit-info {
        margin: 0;
        padding: 0;
        width: calc( 60% - 80px );
        font-size: 18px;
        font-weight: 400;
        line-height: calc( 41 / 18 );
    }

    #recruit-howto {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
        background: url(../images/pic-recruit-bg.jpg) no-repeat center / cover;
    }
    #recruit-howto h2 {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px 0;
    }
    #recruit-howto h2 span:nth-of-type(1) {
        color: #fff;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: center;
        letter-spacing: 0.07em;
    }
    #recruit-howto h2 span:nth-of-type(2) {
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: center;
        letter-spacing: 0.1em;
    }
    #recruit-howto p {
        margin: 1.5em 0 0;
        color: #fff;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
        line-height: calc( 41 / 18 );
    }
    #recruit-howto .btn-common {
        margin: 40px auto 0;
        padding: 0;
        width: 90%;
        max-width: 560px;
        height: auto;
        aspect-ratio: 560 / 104;
        color: #07273e;
        font-size: 22px;
        font-weight: 500;
        font-family: var(--font-mincho);
        background: #fff;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 8px;
    }
    #recruit-howto .btn-common::before {
        content: "";
        width: 1.6em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #1165c7;
        -webkit-mask-image: url(../images/icon-contact-white.svg);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        -webkit-mask-position: center;
        mask-image: url(../images/icon-contact-white.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: center;
    }

    #recruit-faq {
        margin: 0 auto;
        padding: 80px 0 160px;
        width: 100%;
    }
    #recruit-faq h2 {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px 0;
    }
    #recruit-faq h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: center;
        letter-spacing: 0.07em;
    }
    #recruit-faq h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: center;
        letter-spacing: 0.1em;
    }
    #recruit-faq .faq-box {
        margin: 48px auto 0;
        padding: 32px;
        width: 90%;
        max-width: 1080px;
        background: #f8f8f8;
    }
    #recruit-faq .faq-box + .faq-box {
        margin-top: 17px;
    }
    #recruit-faq .faq-box .faq-q {
        margin: 0;
        padding: ;
        width: 100%;
        font-size: 18px;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 20px;
    }
    #recruit-faq .faq-box .faq-q::before {
        content: "Q";
        width: 40px;
        height: auto;
        aspect-ratio: 1 / 1;
        display: grid;
        place-items: center;
        color: #fff;
        font-size: 20px;
        font-weight:600;
        font-family: var(--font-alphabet);
        background: #1165c7;
        border-radius: 100%;
    }
    #recruit-faq .faq-box .faq-a {
        margin: 1.5em 0 0;
        padding: ;
        width: 100%;
        font-size: 15px;
        font-weight: 400;
        line-height: calc( 28 / 15 );
    }

    #business-first {
        margin: 40px auto 0;
        padding: 0 0 80px;
        width: 100%;
    }
    #business-first .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #business-first .business-wrap h2 {
        margin: 0 auto;
        padding: 0;
        font-size: 38px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 50 / 38 );
    }
    #business-first .business-wrap h2 span {
        color: #1165c7;
    }
    #business-first .business-wrap p {
        margin: 2.0em auto 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 41 / 18 );
    }

    #business-activity {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
        background: #f5faff;
    }
    #business-activity .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #business-activity .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-activity .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-activity .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-activity .activity-grid {
        margin: 40px auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
    #business-activity .activity-grid .activity-item {
        margin: 0;
        padding: 24px;
        width: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #business-activity .activity-grid .activity-item .icon {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 132px;
        height: 123px;
    }
    #business-activity .activity-grid .activity-item .icon img {
        margin: 0; 
       padding: 0;
        width: 70%;
        height: 70%;
        object-fit: contain;
    }
    #business-activity .activity-grid .activity-item h3 {
        margin: 0;
        padding: 0;
        width: calc( 100% - 132px - 24px );
        font-size: 20px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 28 / 20 );
    }

    #business-process {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    #business-process .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #business-process .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-process .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-process .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-process .business-wrap p {
        margin: 1.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
    }
    #business-process .process-box {
        position: relative;
        margin: 64px auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0;
    }
    #business-process .process-box + .process-box {
        margin-top: 16px;
    }
    #business-process .process-box::before {
        position: absolute;
        content: "";
        top: 0;
        left: 34px;
        width: 4px;
        height: 100%;
        background: #e8eff8;
    }
    #business-process .process-box + .process-box::before {
        top: -16px;
        height: calc( 100% + 16px );
    }
    #business-process .process-box .no {
        position: relative;
        display: grid;
        place-items: center;
        margin: 0 104px 0 0;
        padding: 0;
        width: 72px;
        height: 72px;
        color: #fff;
        font-size: 36px;
        font-weight: 600;
        line-height: 1.0;
        background: #1165c7;
        border-radius: 100%;
    }
    #business-process .process-box .no::after {
        position: absolute;
        content: "";
        top: 36px;
        left: 72px;
        width: 104px;
        height: 1px;
        border-top: 1px dashed #a9c4e3;
    }
    #business-process .process-box.seafood {
        align-items: flex-start;
    }
    #business-process .process-box.seafood .no {
        margin-top: 84px;
    }
    #business-process .process-box.seafood .no::after {
    }
    #business-process .process-box .inner {
        margin: 0;
        padding: 24px;
        width: calc( 100% - 176px );
        border: 1px solid #a9c4e3;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #business-process .process-box .inner .inner-l {
        margin: 0;
        padding: 0 0 0 24px;
        width: calc( 100% - 34% - 24px );
    }
    #business-process .process-box .inner .inner-l h3 {
        margin: 0;
        padding: 0;
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-process .process-box .inner .inner-l h4 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 20px;
        font-weight: 500;
        text-align: left;
    }
    #business-process .process-box .inner .inner-l p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 32 / 18 );
    }
    #business-process .process-box .inner .inner-r {
        margin: 0;
        padding: 0;
        width: 34%;
        height: auto;
        aspect-ratio: 348 / 199;
    }
    #business-process .process-box .inner .inner-r .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #business-process .process-box .inner .inner-r .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-process .process-box .inner-seafood {
        margin: 0;
        padding: 24px;
        width: calc( 100% - 176px );
        border: 1px solid #a9c4e3;
    }
    #business-process .process-box .inner-seafood .head {
        margin: 0;
        padding: 1.0em 2.0em;
        width: 100%;
        background: #1165c7;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 40px;
    }
    #business-process .process-box .inner-seafood .head span:nth-of-type(1) {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.1em;
    }
    #business-process .process-box .inner-seafood .head span:nth-of-type(2) {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 20px;
        font-weight: 500;
        line-height: 1.0;
    }
    #business-process .process-box .inner-seafood .seafood-grid {
        margin: 24px auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 4, 1fr );
        gap: 24px;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 432 / 278;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic::before {
        position: absolute;
        content: attr(data-no);
        top: 0;
        left: 0;
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: center;
        letter-spacing: 0.1em;
        background: #f5faff;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic::after {
        position: absolute;
        content: "";
        top: calc( 50% - 8px - 12px );
        left: 100%;
        width: 12px;
        height: 16px;
        background: #1165c7;
        clip-path: polygon( 0 0, 100% 50%, 0 100% );
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item:nth-child(4) .pic::after {
        content: none;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-process .process-box .inner-seafood .seafood-grid .seafood-item .pic figcaption {
        margin: 0.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 16px;
        font-weight: 500;
        text-align: center;
    }

    #business-facility {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    #business-facility .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #business-facility .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-facility .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-facility .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-facility .facility-grid {
        margin: 40px auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        border-top: 1px solid #ebebeb;
        border-left: 1px solid #ebebeb;
    }
    #business-facility .facility-grid .facility-item {
        margin: 0;
        padding: 24px;
        width: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-right: 1px solid #ebebeb;
        border-bottom: 1px solid #ebebeb;
    }
    #business-facility .facility-grid .facility-item .pic {
        margin: 0;
        padding: 0;
        width: 28%;
        height: auto;
        aspect-ratio: 160 / 120;
    }
    #business-facility .facility-grid .facility-item .pic img {
        margin: 0; 
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-facility .facility-grid .facility-item h3 {
        margin: 0;
        padding: 0;
        width: calc( 100% - 28% - 24px );
        font-size: 20px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 28 / 20 );
    }
    #business-facility .blue-box {
        margin: 56px auto 0;
        padding: 2.0em 0;
        width: 90%;
        max-width: 1000px;
        color: #1065c7;
        font-size: 20px;
        font-weight: 500;
        text-align: center;
        border: 1px solid #1065c7;
    }

    #business-case {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
        background: #f5faff;
    }
    #business-case .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #business-case .business-wrap .business-l {
        width: 320px;
    }
    #business-case .business-wrap .business-r {
        width: calc( 100% - 320px );
    }
    #business-case .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-case .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-case .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-case .business-wrap ul {
        margin: 0;
        padding: 0;
        width: 100%;
        list-style: none;
    }
    #business-case .business-wrap ul li {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 24px;
        margin: 0;
        padding: 16px;
        width: 100%;
        font-size: 20px;
        font-weight: 500;
        list-style: none;
        background: #fff;
    }
    #business-case .business-wrap ul li::before {
        display: inline-block;
        content: "";
        margin: 0;
        padding: 0;
        width: 40px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-check-blue.svg) no-repeat center / contain;
    }
    #business-case .business-wrap ul li + li {
        margin-top: 16px;
    }

    #business-character {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
        background: #f5faff;
    }
    #business-character .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #business-character .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-character .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-character .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-character .business-flex {
        margin: 40px auto 0;
        padding: 0;
        width: 90%;
        max-width: 1080px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0;
    }
    #business-character .business-flex + .business-flex {
        margin-top: 48px;
    }
    #business-character .business-flex .business-item {
        margin: 0;
        padding: 0;
        width: calc( 50% + 20px );
    }
    #business-character .business-flex .business-pic {
        margin: 0;
        padding: 0;
        width: calc( 50% - 20px );
        height: auto;
        aspect-ratio: 1040 / 634;
    }
    #business-character .business-flex .business-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-character .business-flex .business-item .no {
        margin: 0;
        padding: 0;
        width: 100%;
        color: #1165c7;
        font-size: 74px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
    }
    #business-character .business-flex .business-item h3 {
        margin: 0 0 25px;
        padding: 0;
        width: 100%;
        color: #07273e;
        font-size: 28px;
        font-weight: 500;
        text-align: left;
    }
    #business-character .business-flex .business-item ul {
        margin: 0;
        padding: 25px 0 0;
        width: 100%;
        border-top: 1px solid #1065c7;
        list-style: none;
    }
    #business-character .business-flex .business-item ul li {
        position: relative;
        margin: 0;
        padding: 0 0 0 1.5em;;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 29 / 18 );
        list-style: none;
    }
    #business-character .business-flex .business-item ul li + li {
        margin-top: 0.2em;
    }
    #business-character .business-flex .business-item ul li::before {
        position: absolute;
        content: "●";
        margin: 0;
        padding: 0;
        top: 0;
        left: 0;
        color: #1165c7;
        scale: 0.5 0.5;
    }
    #business-character .business-flex .business-item:nth-child(2) :is(.no,h3,ul) {
        padding-left: 40px;
    }

    #business-product {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    #business-product .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
    }
    #business-product .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-product .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-product .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-product .business-wrap p {
        margin: 1.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
    }
    #business-product .product-grid {
        margin: 40px auto 0;
        padding: 0;
        width: 100%;
        max-width: 1200px;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        gap: 24px;
    }
    #business-product .product-grid .product-item {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-product .product-grid .product-item .pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 768 / 516;
    }
    #business-product .product-grid .product-item .pic img {
        margin: 0; 
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #business-product .product-grid .product-item .pic figcaption {
        margin: 0.5em 0 0;
        padding: 0;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        text-align: center;
    }

    #business-media {
        margin: 0 auto 152px;
        padding: 80px 0;
        width: 100%;
        background: #f5faff;
    }
    #business-media .business-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1200px;
        display: flex;
        align-item: flex-start;
        justify-content: space-between;
    }
    #business-media .business-wrap .business-l {
        width: calc( 50% - 24px );
    }
    #business-media .business-wrap .business-r {
        width: calc( 50% - 24px );
    }
    #business-media .business-wrap h2 {
        margin: 0;
        padding: 0;
        width: 320px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px 0;
    }
    #business-media .business-wrap h2 span:nth-of-type(1) {
        color: #07273e;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        letter-spacing: 0.07em;
    }
    #business-media .business-wrap h2 span:nth-of-type(2) {
        color: #1165c7;
        font-size: 16px;
        font-weight: 600;
        font-family: var(--font-alphabet);
        text-align: left;
        letter-spacing: 0.1em;
    }
    #business-media .business-wrap p {
        margin: 2.0em 0 0;
        padding: 0;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        text-align: left;
    }

    #contact-form {
        margin: 40px auto 0;
        padding: 0 0 120px;
        width: 100%;
    }
    #contact-form .contact-wrap {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 800px;
    }
    #contact-form h2 {
        margin: 0 auto;
        padding: 0;
        font-size: 38px;
        font-weight: 600;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 50 / 38 );
    }
    #contact-form .ws-label {
        margin: 40px 0 0;
        padding: 0;
        width: 100%;
        font-size: 22px;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 20px;
    }
    #contact-form .ws-label.required::after {
        content: "必須";
        display: block;
        margin: 0;
        padding: 0.2em 0.4em;
        color: #fff;
        font-size: 16px;
        line-height: 1.0;
        background: #cc3300;
    }
    #contact-form .ws-label.not-required::after {
        content: "任意";
        display: block;
        margin: 0;
        padding: 0.2em 0.4em;
        color: #fff;
        font-size: 16px;
        line-height: 1.0;
        background: #999;
    }
    #contact-form .ws-input {
        margin: 10px 0 0;
        padding: 0;
        width: 100%;
    }
    #contact-form .ws-input label {
        display: block;
        margin: 10px 0 0;
        padding: 0 0 0 20px;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
    }
    #contact-form .ws-input :is(input[type="text"],input[type="tel"],input[type="email"],textarea) {
        margin: 0;
        padding: 0.5em 1.0em;
        width: 100%;
        font-size: 18px;
        font-weight: 400;
        font-family: inherit;
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    #contact-form .ws-input textarea {
        height: 10.0em;
    }
    #contact-form .ws-privacy-policy {
        margin: 40px 0 0;
        padding: 1.0em;
        width: 100%;
        height: 300px;
        border: 1px solid #ccc;
        overflow-y: auto;
    }
    #contact-form .ws-privacy-policy > h3 {
        margin: 2.0em 0 0;
        font-size: 24px;
        font-weight: 700;
        text-align: center;
    }
    #contact-form .ws-privacy-policy > h3:first-child {
        margin-top: 0;
    }
    #contact-form .ws-privacy-policy > h4 {
        margin: 2.0em 0 0;
        font-size: 20px;
        font-weight: 500;
        text-align: left;
    }
    #contact-form .ws-privacy-policy > p {
        margin: 1.0em 0 0;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
    }
    #contact-form .ws-agree {
        margin: 40px 0 0;
        padding: 0;
        width: 100%;
        text-align: center;
    }
    #contact-form .ws-submit {
        margin: 40px 0 0;
        padding: 0;
        width: 100%;
    }
    #contact-form .ws-submit input[type="submit"] {
        display: block;
        margin: 0;
        padding: 0.5em 2.0em;
        color: #fff;
        font-size: 20px;
        font-weight: 600;
        background: var(--fg-color);
        border: 0;
        border-radius: 8px;
    }

}
