@charset "utf-8";


/**
 * スマホ用設定
 */
@media ( width < 768px ) {

    #page-mv {
        position: relative;
        margin: calc( 100vw * 144 / 780 ) auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 780 / 762;
        background: #a00100;
    }
    #page-mv::before {
        position: absolute;
        content: "GENUINE\a EFFORT CAN\aTRULY\aSTAND OUT.";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba( 255, 255, 255, 0.1 );
        font-size: 21.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: left;
        line-height: calc( 248 / 236 );
        letter-spacing: 0.03em;
        white-space: pre;
        background: #a00100;
    }

    #employee-first {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: #a00100;
    }
    #employee-first::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        background: url(../images/employee-pic01-sp.jpg) no-repeat center / cover;
        opacity: 0.2;
    }
    #employee-first > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #employee-first > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }

    #employee-apply {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }

    .info-table-sec {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    .info-table-sec .info-table-head {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .info-table-sec .info-table-head > h2 {
        margin: 0;
        padding: 0;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 48 );
    }
    .info-table-sec .info-table-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .info-table-sec .info-table-info > .info-table-main {
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        border-top: 1px solid #cecece;
    }
    .info-table-sec .info-table-info > .info-table-main > dt {
        margin: 0;
        padding: 4.0vw 0 1.0vw;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 19 );
    }
    .info-table-sec .info-table-info > .info-table-main > dd {
        margin: 0;
        padding: 1.0vw 0 4.0vw;
        font-size: 4.0vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 26 / 19 );
        border-bottom: 1px solid #cecece;
    }

    #entry {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: #a00100;
    }
    #entry > .entry-box {
        position: relative;
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: rgba( 255, 255, 255, 0.1 );
        border-radius: 1.0vw;
    }
    #entry > .entry-box > h2 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: calc( 95 / 84 );
    }
    #entry > .entry-box > p {
        margin: 1.0em auto 0;
        padding: 0;
        width: 100%;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }
    #entry > .entry-box > .btn-entry {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 4.0vw auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 712 / 226;
        background: #fff;
        border: 2px solid #c30100;
        border-radius: 2.0vw;
        transition: none;
    }
    #entry > .entry-box > .btn-entry > span:nth-of-type(1) {
        display: none;
    }
    #entry > .entry-box > .btn-entry > span:nth-of-type(2) {
        display: block;
        margin: 0;
        padding: 0;
        color: #a00200;
        font-size: 8.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: center;
        line-height: 1.0;
        letter-spacing: 0.03em;
        translate: 0 15%;
    }
    #entry > .entry-box > .btn-entry > span:nth-of-type(3) {
        display: block;
        margin: 0.4em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 26 / 23 );
        translate: 0 15%;
    }
    @media ( hover: hover ) {
        #entry > .entry-box > .btn-entry:hover {
            opacity: 1.0;
        }
        #entry > .entry-box > .btn-entry:hover > span:nth-of-type(1) {
            border-width: 1px;
            transform: scale( 2.0, 2.0 );
        }
    }

    #corporate-mv {
        position: relative;
        margin: calc( 100vw * 144 / 780 ) auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 780 / 1059;
        background: #000;
        z-index: 0;
    }
    #corporate-mv::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/corporate-pic01-sp.png)  no-repeat center / cover;
        z-index: 1;
    }
    #corporate-mv::after {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        width: 83.33%;
        height: 100%;
        background: linear-gradient( to right, rgba( 0, 0, 0, 0 ) 0%, rgba( 0, 0, 0, 0.88 ) 100% );
        z-index: 2;
    }
    #corporate-mv > h1 {
        position: absolute;
        bottom: 48%;
        left: 5%;
        width: 90%;
        color: #fff;
        font-size: 10.0vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: 1.0;
        z-index: 3;
    }
    #corporate-mv > h1 > span {
        display: block;
    }
    #corporate-mv > h1 > span:nth-of-type(1) img {
        display: inline-block;
        margin: 4.0vw 0 0;
        width: 35.0vw;
        height: auto;
        aspect-ratio: 273 / 150;
        object-fit: contain;
        translate: 0 -10%;
    }
    #corporate-mv > p {
        position: absolute;
        top: 56%;
        left: 5%;
        width: 90%;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 67 / 33 );
        z-index: 3;
    }

    #corporate-first {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: #a00100;
    }
    #corporate-first > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #corporate-first > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }
    #corporate-first > .btn-common-red {
        position: relative;
        margin: 8.0vw auto 0;
        padding: 0 6.0vw;
        width: 80%;
        height: auto;
        aspect-ratio: 392 / 92;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
        background: #a00100;
        border: 1px solid #fff;
        border-radius: 4.0em;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        transition: background 0.5s ease-out, color 0.5s ease-out;
    }
    #corporate-first > .btn-common-red span {
        position: absolute;
        content: "";
        display: block;
        top: calc( 50% - 1.5em );
        right: 1.0em;
        width: 3.0em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #fff;
        border-radius: 100%;
        transition: background 0.5s ease-out;
        overflow: hidden;
    }
    #corporate-first > .btn-common-red span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-first > .btn-common-red span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-first > .btn-common-red:hover {
            opacity: 1.0;
            color: #a00100;
            background: #fff;
        }
        #corporate-first > .btn-common-red:hover span {
            background: #a00100;
        }
        #corporate-first > .btn-common-red:hover span::before {
            left: 130%;
        }
        #corporate-first > .btn-common-red:hover span::after {
            left: 30%;
        }
    }

    #contact-first {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: #a00100;
    }
    #contact-first > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 48 / 40 );
    }
    #contact-first > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #contact-form {
        margin: 0 auto;
        padding: 12.0vw 5% 16.0vw;
        width: 100%;
    }
    #contact-form .contact-table {
        margin: 0;
        padding: ;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }
    #contact-form .contact-table > dt {
        margin: 0;
        padding: 0 0 2.0vw;
        width: max-content;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
    }
    #contact-form .contact-table > dt.required::after {
        display: inline-block;
        content: "必須";
        margin-left: 3.6vw;
        color: #c30000;
        font-size: 3.6vw;
        font-weight: 500;
    }
    #contact-form .contact-table > dt.not-required::after {
        display: inline-block;
        content: "任意";
        margin-left: 3.6vw;
        color: #cecece;
        font-size: 3.6vw;
        font-weight: 500;
    }
    #contact-form .contact-table > dd {
        margin: 0;
        padding: 0 0 8.0vw;
        width: 100%;
    }
    #contact-form .contact-table > dd.contact-flex {
        display: flex;
        gap: 0 2%;
    }
    #contact-form .contact-table > dd.contact-flex > div {
        line-height: 2.0;
        width: 48%;
        font-size: 3.6vw;
    }
    #contact-form .contact-table > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea) {
        margin: 0;
        padding: 0.8em;
        width: 100%;
        font-size: 16px;
        border: 1px solid #cecece;
        border-radius: 4px;
    }
    #contact-form .contact-table > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea)::placeholder {
        color:  #cecece;
    }
    #contact-form .contact-table > dd textarea {
        height: 10.0em;
    }
    #contact-form #privacy-policy {
        margin: 8.0vw 0 0;
        padding: 4.0vw;
        width: 100%;
        height: 50.0vw;
        border: 1px solid #d6d6d6;
        overflow-y: auto;
    }
    #contact-form #privacy-policy > h2 {
        margin: 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.05em;
    }
    #contact-form #privacy-policy > p {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 3.2vw;
        font-weight: 400;
        text-align: left;
        line-height: calc( 20 / 14 );
        letter-spacing: 0.05em;
    }
    #contact-form #privacy-policy > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6wv;
        font-weight: 500;
        text-align: left;
        line-height: calc( 24 / 16 );
        letter-spacing: 0.05em;
    }
    #contact-form p.center1 {
        margin: 8.0vw 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 32 / 19 );
        letter-spacing: 0.02em;
    }
    #contact-form p.center2 {
        margin: 12.0vw 0 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #contact-form .ws-agree {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        text-align: center;
    }
    #contact-form .ws-agree label {
        display: block;
        margin: 0 auto;
        width: max-content;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 32 / 19 );
        letter-spacing: 0.02em;
    }
    #contact-form .ws-submit {
        position: relative;
        margin: 8.0vw auto 0;
        padding: 0;
        width: 80%;
        height: auto;
        aspect-ratio: 392 / 92;
        background: #fff;
        border: 1px solid #b5b5b5;
        border-radius: 4.0em;
    }
    #contact-form .ws-submit input[type="submit"] {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0;
        padding: 0 4.0vw;
        width: 100%;
        height: 100%;
        font-size: 4.0vw;
        font-weight: 500;
        font-family: inherit;
        text-align: left;
        line-height: 1.0;
        background: transparent;
        border: 0;
        cursor: pointer;
    }
    #contact-form .ws-submit .arrow {
        position: absolute;
        content: "";
        display: block;
        top: calc( 50% - 5.0vw );
        right: 4.0vw;
        width: 10.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        transition: background 0.5s ease-out;
        overflow: hidden;
    }
    #contact-form .ws-submit .arrow::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #contact-form .ws-submit .arrow::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #contact-form .ws-submit:hover input[type="submit"] {
            opacity: 1.0;
        }
        #contact-form .ws-submit:hover .arrow {
            background: #fff;
        }
        #contact-form .ws-submit:hover .arrow::before {
            left: 130%;
        }
        #contact-form .ws-submit:hover .arrow::after {
            left: 30%;
        }
    }

    #eval-reason1 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 780 / 1200;
        background: #a00200;
    }
    #eval-reason1 .reason-pic {
        position: absolute;
        top: 5%;
        left: 5%;
        margin: 0;
        padding: 0;
        width: 90%;
        height: auto;
        aspect-ratio: 2016 / 1124;
    }
    #eval-reason1 .reason-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #eval-reason1 .reason-catch {
        display: none;
    }
    #eval-reason1 .reason-info {
        position: absolute;
        top: 40%;
        left: 5%;
        width: 90%;
    }
    #eval-reason1 .reason-info > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        line-height: calc( 79 / 70 );
    }
    #eval-reason1 .reason-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: calc( 54 / 30 );
    }

    #eval-reason2 {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
        background: url(../images/eval-bg.png) no-repeat center / 740px 740px, #a00200;
        border-top: 1px solid #dd1d1b;
    }
    #eval-reason2 > h2 {
        margin: 0;
        padding: 0 5%;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 23 );
    }
    #eval-reason2 > h3 {
        margin: 0;
        padding: 0 5%;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #eval-reason2 > p {
        margin: 1.0em 0 0;
        padding: 0 5%;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #eval-reason2 > .reason-slider {
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
        overflow: hidden;
    }
    #eval-reason2 > .reason-slider .slider-wrap {
        margin: 0;
        padding: 0;
        width: calc( 50vw * 16 + 4.0vw * 15 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 4.0vw;
        animation: anim-eval-slider-sp 20.0s linear infinite;
    }
    #eval-reason2 > .reason-slider .slider-wrap .reason-pic {
        margin: 0;
        padding: 0;
        width: 50vw;
        height: auto;
        aspect-ratio: 424 / 318;
    }
    #eval-reason2 > .reason-slider .slider-wrap .reason-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 16px;
    }

    #eval-order {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #eval-order > h2 {
        margin: 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 23 );
    }
    #eval-order > h3 {
        margin: 0;
        padding: 0;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #eval-order > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #eval-order > .order-grid {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 2, 1fr );
        gap: 4.0vw;
    }
    #eval-order > .order-grid .order-item {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        background: #f4f4f4;
        border-radius: 2.0vw;
    }
    #eval-order > .order-grid .order-item .no {
        margin: 0;
        padding: 0;
        color: #a00100;
        font-size: 4.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: center;
    }
    #eval-order > .order-grid .order-item .title {
        margin: 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 900;
        text-align: center;
    }
    #eval-order > .order-grid .order-item .order-icon {
        margin: 4.0vw auto 0;
        padding: 0;
        width: 16.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    #eval-order > .order-grid .order-item .order-icon img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    #eval-order > .order-grid .order-item p {
        margin: 2.0vw 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 23 / 16 );
    }

    #genuine {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1560 / 2182;
        background: #a00100;
    }
    #genuine > .genuine-pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        opacity: 0.2;
    }
    #genuine > .genuine-info {
        position: absolute;
        top: 10%;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #genuine > .genuine-info > h2 {
        margin: 0;
        padding: 0;
        font-kerning: normal;
    }
    #genuine > .genuine-info > h2 > span:nth-of-type(1) {
        display: block;
        margin: 0 auto;
        padding: 0.2em;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
    }
    #genuine > .genuine-info > h2 > span:nth-of-type(2) {
        display: block;
        margin: 4.0vw auto 0;
        padding: 0.2em;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
    }
    #genuine > .genuine-info > p {
        margin: 1.0em auto 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 55 / 28 );
    }
    #genuine > .genuine-telop {
        position: absolute;
        bottom: 5%;
        left: 0%;
        width: max-content;
        color: #fff;
        font-size: 16.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
        animation: anim-telop-sp 8.0s linear 0s infinite;
    }

    #eval-watch {
        margin: 0 auto;
        padding: 12.0vw 0;
        background: #a00100;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #eval-watch > .watch-info {
        margin: 0;
        padding: 0 5%;
        width: 100%;
        order: 1;
    }
    #eval-watch > .watch-info > h2 {
    }
    #eval-watch > .watch-info > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 900;
        text-align: left;
    }
    #eval-watch > .watch-info > h2 span:nth-of-type(2) {
        display: block;
        margin: 0.2em 0 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #eval-watch > .watch-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #eval-watch > .watch-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1688 / 1376;
        order: 2;
    }
    #eval-watch > .watch-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #eval-chance {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        background: #a00100;
        border-top: 1px solid #dd1d1b;
    }
    #eval-chance > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 80 / 70 );
    }
    #eval-chance > h3 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 6.0vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 50 / 40 );
    }
    #eval-chance > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }

    #eval-try {
        margin: 0 auto;
        padding: 12.0vw 0;
        width: 100%;
    }
    #eval-try > h2 {
        margin: 0;
        padding: 0 5%;
        font-size: 7.2vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #eval-try > p {
        margin: 1.0em 0 0;
        padding: 0 5%;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }
    #eval-try > .try-grid {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 90%;
        display: grid;
        grid-template-columns: repeat( 1, 1fr );
        gap: 2.0vw 2.0vw;
    }
    #eval-try > .try-grid .try-item {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 570 / 320;
        border: 1px solid #cecece;
        border-radius: 1.0vw;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(1) {
        position: absolute;
        right: 2.0vw;
        bottom: 2.0vw;
        width: 10.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(1)::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(1)::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #eval-try > .try-grid .try-item:hover {
            opacity: 1.0;
        }
        #eval-try > .try-grid .try-item:hover span:nth-of-type(1) {
            background: #fff;
        }
        #eval-try > .try-grid .try-item:hover span:nth-of-type(1)::before {
            left: 130%;
        }
        #eval-try > .try-grid .try-item:hover span:nth-of-type(1)::after {
            left: 30%;
        }
    }
    #eval-try > .try-grid .try-item span:nth-of-type(2) {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        color: #f4f4f4;
        font-size: 12.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: center;
        line-height: 1.0;
        letter-spacing: 0.03em;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(3) {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        font-size: 6.0vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: 1.0;
    }

    #work-first {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 5;
        background: #c30000;
        overflow: hidden;
    }
    #work-first > .work-pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        opacity: 0.2;
    }
    #work-first > .work-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #work-first > .work-info {
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0 5%;
        width: 100%;
    }
    #work-first > .work-info > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #work-first > .work-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

    #work-second {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 6 / 8;
        background: #c30000;
        overflow: hidden;
    }
    #work-second > .work-info {
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0 5%;
        width: 100%;
    }
    #work-second > .work-info > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #work-second > .work-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

    #work-style {
        margin: 0 auto;
        padding: 20.0vw 5% 16.0vw;
        width: 100%;
    }
    #work-style > h2 {
        position: absolute;
        top: 0;
        left: 5%;
        translate: 0 -50%;
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0.5em;
        width: 90%;
        color: #fff;
        font-size: 6.0vw;
        font-weight: 700;
        text-align: center;
        line-height: 1.0;
        background: #000;
        border-radius: 1.0vw;
    }
    #work-style > h2::after {
        position: absolute;
        content: "";
        top: calc( 100% - 1px );
        width: 6.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #000;
        clip-path: polygon( 0 0, 100% 0, 50% 100% );
    }
    #work-style > p {
        margin: 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #work-style > .style-btns {
        margin: 8.0vw auto 56px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 4.0vw;
    }
    #work-style > .style-btns .style-btn {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 40%;
        height: auto;
        aspect-ratio: 392 / 98;
        color: #cecece;
        font-size: 4.0vw;
        font-weight: 700;
        line-height: 1.0;
        border: 1px solid #cecece;
    }
    #work-style > .style-btns .style-btn.active {
        color: #a00200;
        border: 1px solid #a00200;
    }
    #work-style > .style-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 6.0vw auto 0;
        padding: 0;
        background: #f4f4f4;
        border-radius: 4.0vw;
        overflow: hidden;
    }
    #work-style > .style-box .style-info {
        margin: 0;
        padding: 4.0vw 6.0vw;
        width: 100%;
    }
    #work-style > .style-box .style-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 40 );
    }
    #work-style > .style-box .style-info > p {
        margin: 2.0vw 0;
        padding: 0;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }
    #work-style > .style-box .style-info > ul {
        margin: 2.0vw 0;
        padding: 0;
        list-style: none;
    }
    #work-style > .style-box .style-info > ul li {
        display: flex;
        align-items: center;
        gap: 0 2.0vw;
        margin: 0;
        padding: 0
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 38 / 23 );
        list-style: none;
    }
    #work-style > .style-box .style-info > ul li::before {
        display: block;
        content: "";
        width: 1.0vw;
        height: 1.0vw;
        background: #a00100;
        border-radius: 100%;
    }
    #work-style > .style-box .style-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #work-style > .style-box .style-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }

    #work-flow {
        margin: 0 auto;
        padding: 12.0vw 5%;
        background: #a00100;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #work-flow > .flow-head {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #work-flow > .flow-head > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 48 );
    }
    #work-flow > .flow-head > p {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #work-flow > .flow-boxes {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #work-flow > .flow-boxes .flow-box {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        height: auto;
        background: #fff;
        border-radius: 4.0vw;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    #work-flow > .flow-boxes .flow-box + .flow-box {
        margin-top: 24px;
    }
    #work-flow > .flow-boxes .flow-box .flow-time {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0;
        padding: 0;
        width: 30%;
        color: #a00100;
        font-size: 6.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 62 / 59 );
        letter-spacing: 0.03em;
    }
    #work-flow > .flow-boxes .flow-box .flow-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0;
        padding: 0 0 0 4.0vw;
        width: 70%;
        border-left: 1px solid #cecece;
    }
    #work-flow > .flow-boxes .flow-box .flow-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 33 );
    }
    #work-flow > .flow-boxes .flow-box .flow-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }

    #work-skill {
        margin: 0 auto;
        padding: 12.0vw 5%;
        background: #a00100;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
        border-top: 1px solid #dd1d1b;
    }
    #work-skill > .skill-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        order: 2;
    }
    #work-skill > .skill-info {
        margin: 0;
        padding: 0;
        width: 100%;
        order: 1;
    }
    #work-skill > .skill-info > h2 {
        margin: 0 0 4.0vw;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #work-skill > .skill-info > p {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #work-skill > .skill-info > ul {
        margin: 0.5em 0 0.5em 1.0em;
        padding: 0;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 38 / 23 );
    }
    #work-skill > .skill-info > ul li {
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: left;
        line-height: calc( 38 / 23 );
    }

    #corporate-service {
        margin: 0 auto;
        padding: 12.0vw 5%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #corporate-service > .corporate-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #corporate-service > .corporate-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #corporate-service > .corporate-info > h2 {
        margin: 0 0 4.0vw;
        padding: 0;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #corporate-service > .corporate-info > p {
        margin: 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #corporate-service > .corporate-info > .btn-corporate {
        position: relative;
        display: flex;
        align-items: center;
        margin: 8.0vw auto 0;
        padding: 0 4.0vw;
        width: 80%;
        height: auto;
        font-size: 4.0vw;
        aspect-ratio: 392/ 92;
        border: 1px solid #cecece;
        border-radius: 4.0em;
    }
    #corporate-service > .corporate-info > .btn-corporate span {
        position: absolute;
        right: 4.0vw;
        top: calc( 50% - 5.0vw );
        width: 10.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-service > .corporate-info > .btn-corporate span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-service > .corporate-info > .btn-corporate span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-service > .corporate-info > .btn-corporate:hover {
            opacity: 1.0;
        }
        #corporate-service > .corporate-info > .btn-corporate:hover span {
            background: #fff;
        }
        #corporate-service > .corporate-info > .btn-corporate:hover span::before {
            left: 130%;
        }
        #corporate-service > .corporate-info > .btn-corporate:hover span::after {
            left: 30%;
        }
    }

    #corporate-reason {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 780 / 1450;
    }
    #corporate-reason .reason-pic {
        position: absolute;
        top: 5%;
        left: 5%;
        margin: 0;
        padding: 0;
        width: 90%;
        height: auto;
        aspect-ratio: 2016 / 1124;
    }
    #corporate-reason .reason-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #corporate-reason .reason-catch {
        display: none;
    }
    #corporate-reason .reason-info {
        position: absolute;
        top: 37%;
        left: 5%;
        width: 90%;
    }
    #corporate-reason .reason-info > h2 {
        margin: 0;
        padding: 0;
        font-size: 7.2vw;
        font-weight: 900;
        line-height: calc( 79 / 70 );
    }
    #corporate-reason .reason-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        line-height: calc( 54 / 30 );
    }
    #corporate-reason .reason-info > a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;;
        margin: 2.0em 0 0;
        padding: 0 6.0vw;
        width: 80%;
        height: auto;
        aspect-ratio: 392 / 92;
        font-size: 4.0vw;
        font-weight: 500;
        line-height: 1.0;
        border: 1px solid #B5B5B5;
        border-radius: 4.0em;
    }
    #corporate-reason .reason-info > a span {
        position: absolute;
        display: block;
        top: calc ( 50% - 5.0vw );
        right: 4.0vw;
        width: 10.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-reason .reason-info > a span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-reason .reason-info > a span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-reason .reason-info > a:hover {
            opacity: 1.0;
        }
        #corporate-reason .reason-info > a:hover span {
            background: #fff;
        }
        #corporate-reason .reason-info > a:hover span::before {
            left: 130%;
        }
        #corporate-reason .reason-info > a:hover span::after {
            left: 30%;
        }
    }

    #corporate-growth {
        margin: 0 auto;
        padding: 12.0vw 0 26.0vw;
        width: 100%;
        border-top: 1px solid #cecece;
    }
    #corporate-growth > h2 {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #corporate-growth > p {
        margin: 1.0em auto 0;
        padding: 0;
        width: 90%;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #corporate-growth > a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;;
        margin: 8.0vw auto 0;
        padding: 0 4.0vw;
        width: 80%;
        height: auto;
        aspect-ratio: 392 / 92;
        font-size: 4.0vw;
        font-weight: 500;
        line-height: 1.0;
        border: 1px solid #B5B5B5;
        border-radius: 4.0em;
    }
    #corporate-growth > a span {
        position: absolute;
        display: block;
        top: calc ( 50% - 5.0vw );
        right: 4.0vw;
        width: 10.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-growth > a span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-growth > a span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-growth > a:hover {
            opacity: 1.0;
        }
        #corporate-growth > a:hover span {
            background: #fff;
        }
        #corporate-growth > a:hover span::before {
            left: 130%;
        }
        #corporate-growth > a:hover span::after {
            left: 30%;
        }
    }
    #corporate-growth > .growth-slider {
        margin: 8.0vw auto 0;
        padding: 0;
        width: 100%;
        overflow: hidden;
    }
    #corporate-growth > .growth-slider .slider-wrap {
        margin: 0;
        padding: 0;
        width: calc( 40.0vw * 6 + 4.0vw * 5 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 4.0vw;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item {
        position: relative;
        margin: 0;
        padding: 0;
        width: 40.0vw;
        height: auto;
        aspect-ratio: 376 / 416;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item .growth-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item .growth-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1.0vw;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item span {
        position: absolute;
        display: block;
        bottom: 2.0vw;
        right: 2.0vw;
        width: 12.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover {
            opacity: 1.0;
        }
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover span {
            background: #fff;
        }
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover span::before {
            left: 130%;
        }
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover span::after {
            left: 30%;
        }
    }
    #corporate-growth > .genuine-telop {
        position: absolute;
        bottom: 4%;
        left: 0%;
        width: max-content;
        font-size: 16.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
        animation: anim-telop-sp 12.0s linear 0s infinite;
    }
    #corporate-growth > .genuine-telop span {
        color: #c30000;
    }

    #corporate-entry {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }
    #corporate-entry > .entry-info {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 960 / 554;
        background: #a00100;
    }
    #corporate-entry > .entry-info .entry-pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        hegiht: 100%;
    }
    #corporate-entry > .entry-info .entry-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        hegiht: 100%;
        object-fit: cover;
        opacity: 0.2;
    }
    #corporate-entry > .entry-info .entry-txt {
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0 40px 0 5%;
        width: 100%;
    }
    #corporate-entry > .entry-info .entry-txt h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #corporate-entry > .entry-info .entry-txt p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #corporate-entry > a {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 960 / 277;
    }
    #corporate-entry > .entry-intern {
        background: #950100;
    }
    #corporate-entry > .entry-intern > span:nth-of-type(2) {
        position: absolute;
        top: 50%;
        left: 5%;
        color: #a00200;
        font-size: 10.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 97 / 95 );
    }
    #corporate-entry > .entry-employee {
        background: #000;
    }
    #corporate-entry > .entry-employee > span:nth-of-type(2) {
        position: absolute;
        top: 50%;
        left: 5%;
        color: #0d0d0d;
        font-size: 10.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 97 / 95 );
    }
    #corporate-entry > a > span:nth-of-type(3) {
        position: absolute;
        top: 50%;
        left: 5%;
        translate: 0 -50%;
        color: #fff;
        font-size: 8.0vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        line-height: 1.0;
    }
    #corporate-entry > a > span:nth-of-type(3) span {
        display: inline-block;
        margin-left: 1.0em;
        font-size: 4.8vw;
        font-family: var(--font-gothic);
    }
    #corporate-entry > a > span:nth-of-type(1) {
        position: absolute;
        display: block;
        bottom: 2.0vw;
        right: 2.0vw;
        width: 10.0vw;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-entry > a > span:nth-of-type(1)::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-entry > a > span:nth-of-type(1)::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-entry > a:hover {
            opacity: 1.0;
        }
        #corporate-entry > a:hover > span:nth-of-type(1) {
            background: #fff;
        }
        #corporate-entry > a:hover > span:nth-of-type(1)::before {
            left: 130%;
        }
        #corporate-entry > a:hover > span:nth-of-type(1)::after {
            left: 30%;
        }
    }

    #about-philosophy {
        margin: 0 auto;
        padding: 12.0vw 5%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #about-philosophy > .philosophy-head {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #about-philosophy > .philosophy-head > h2 {
        margin: 0;
        padding: 0;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 48 );
    }
    #about-philosophy > .philosophy-head > p {
        margin: 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #about-philosophy > .philosophy-boxes {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box {
        margin: 0;
        padding: 4.0vw;
        width: 100%;
        background: #f4f4f4;
        border-radius: 4.0vw;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box + .philosophy-box {
        margin-top: 24px;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-title {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0;
        padding: 0;
        width: 30.0vw;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-title span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #a00100;
        font-size: 8.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 62 / 59 );
        letter-spacing: 0.03em;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-title s
pan:nth-of-type(2) {
        display: block;
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 700;
        font-family: var(--font-mincho);
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0;
        padding: 0 0 0 4.0vw;
        width: calc( 100% - 30.0vw );
        border-left: 1px solid #cecece;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 4.4vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 33 );
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info > p + h3 {
        margin-top: 1.0em;
    }

    #about-message {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #about-message::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        width: 45%;
        height: auto;
        aspect-ratio: 844 / 938;
        background: #a00100;
        z-index: -1;
    }
    #about-message > h2 {
        margin: 0 auto;
        padding: 0;
    }
    #about-message > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 6.0vw;
        font-weight: 900;
        text-align: left;
    }
    #about-message > h2 span:nth-of-type(2) {
        display: block;
        margin: 0.4em 0 0;
        padding: 0.2em;
        width: max-content;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
        background: #000;
        border-radius: 8px;
    }
    #about-message > .msg-flex {
        margin: 12.0vw auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8.0vw 0;
    }
    #about-message > .msg-flex .msg-info {
        margin: 0;
        padding: 80px 0 0;
        width: 100%;
        order: 1;
    }
    #about-message > .msg-flex .msg-info p {
        margin: 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 40 / 19 );
    }
    #about-message > .msg-flex .msg-info p b {
        font-size: 4.0vw;
        font-weight: 700;
    }
    #about-message > .msg-flex .msg-info p + p {
        margin-top: 1.0em;
    }
    #about-message > .msg-flex .msg-info .signature {
        display: block;
        width: 40%;
        height: auto;
        aspect-ratio: 392 / 126;
    }
    #about-message > .msg-flex .msg-info .signature img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    #about-message > .msg-flex .msg-pics {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        order: 2;
    }
    #about-message > .msg-flex .msg-pics .msg-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #about-message > .msg-flex .msg-pics .msg-pic + .msg-pic {
        margin-top: 24px;
    }
    #about-message > .msg-flex .msg-pics .msg-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }

    #business-first {
        margin: 0 auto;
        padding: 12.0vw 5% 0;
        width: 100%;
        height: auto;
    }
    #business-first > .work-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-first > .work-info > h2 {
        margin: 0;
        padding: 0;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #business-first > .work-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

    #business-style {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
    }
    #business-style > .style-btns {
        margin: 8.0vw auto 56px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 4.0vw;
    }
    #business-style > .style-btns .style-btn {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: calc( 50% - 2.0vw );
        height: auto;
        aspect-ratio: 392 / 98;
        color: #cecece;
        font-size: 4.0vw;
        font-weight: 700;
        line-height: 1.0;
        border: 1px solid #cecece;
    }
    #business-style > .style-btns .style-btn.active {
        color: #a00200;
        border: 1px solid #a00200;
    }
    #business-style > .style-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 6.0vw auto 0;
        padding: 0;
        background: #f4f4f4;
        border-radius: 4.0vw;
        overflow: hidden;
    }
    #business-style > .style-box .no {
        position: absolute;
        top: 0;
        right: 0;
        color: #a00100;
        font-size: 20.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
        z-index: 3;
    }
    #business-style > .style-box .style-info {
        margin: 0;
        padding: 8.0vw 6.0vw 4.0vw;
        width: 100%;
        order: 2;
    }
    #business-style > .style-box .style-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 8.0vw;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 40 );
    }
    #business-style > .style-box .style-info > h4 {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 4.8vw;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 47 / 40 );
    }
    #business-style > .style-box .style-info > p {
        margin: 2.0vw 0;
        padding: 0;
        font-size: 3.6vw;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }
    #business-style > .style-box .style-info > p.bar-l {
        padding-left: 4.0vw;
        border-left: 4px solid #a00100;
    }
    #business-style > .style-box .style-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        order: 1;
    }
    #business-style > .style-box .style-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }

    #business-emphasis {
        margin: 0 auto;
        padding: 12.0vw 5%;
        width: 100%;
        background: url(../images/eval-bg.png) no-repeat center / 740px 740px, #a00200;
        overflow: hidden;
    }
    #business-emphasis > h2 {
        margin: 0;
        padding: 0;
        font-kerning: normal;
        color: #fff;
        font-size: 7.2vw;
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
    }
    #business-emphasis > p {
        margin: 1.5em auto 0;
        padding: 0;
        color: #fff;
        font-size: 3.6vw;
        font-weight: 700;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

}


/**
 * PC用設定
 */
@media ( width >= 768px ) {

    #page-mv {
        position: relative;
        margin: 128px auto 0;
        padding: 0 max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 604;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }
    #page-mv::before {
        position: absolute;
        content: "GENUINE EFFORT CAN\aTRULY STAND OUT.";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba( 255, 255, 255, 0.1 );
        font-size: 12.0vw;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: left;
        line-height: calc( 248 / 236 );
        letter-spacing: 0.03em;
        white-space: pre;
        background: #a00100;
        z-index: 1;
    }
    #page-mv > h1 {
        position: relative;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 58px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 58 );
        z-index: 2;
    }
    #page-mv > .breadcrumbs {
        position: relative;
        margin: 26px 0 0;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 24px;
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        text-align: left;
        line-height: 1.0;
        z-index: 2;
    }
    #page-mv > .breadcrumbs > a {
        color: #fff;
    }
    #page-mv > .breadcrumbs > span {
        color: #fff8;
    }
    #page-mv > .breadcrumbs > :is(a,span) + :is(a,span)::before {
        content: ">";
        display: inline-block;
        margin-right: 24px;
    }

    #employee-first {
        margin: 0 auto;
        padding: 129px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        background: #a00100;
    }
    #employee-first::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        background: url(../images/employee-pic01-pc.jpg) no-repeat center / cover;
        opacity: 0.2;
    }
    #employee-first > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 70px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #employee-first > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }

    #employee-apply {
        margin: 0 auto;
        padding: 144px max( 5%, calc( 50vw - 640px ) ) 136px;
        width: 100%;
    }

    .info-table-sec {
        margin: 0 auto;
        padding: 100px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0;
    }
    .info-table-sec .info-table-head {
        margin: 0;
        padding: 0;
        width: 340px;
    }
    .info-table-sec .info-table-head > h2 {
        margin: 0;
        padding: 0;
        font-size: 48px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 48 );
    }
    .info-table-sec .info-table-info {
        margin: 0;
        padding: 0;
        width: calc( 100% - 340px );
    }
    .info-table-sec .info-table-info > .info-table-main {
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 300px 1fr;
        gap: 0;
        border-top: 1px solid #cecece;
    }
    .info-table-sec .info-table-info > .info-table-main > dt {
        margin: 0;
        padding: 32px 0;
        font-size: 19px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 19 );
        border-bottom: 1px solid #cecece;
    }
    .info-table-sec .info-table-info > .info-table-main > dd {
        margin: 0;
        padding: 32px 0;
        font-size: 19px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 26 / 19 );
        border-bottom: 1px solid #cecece;
    }

    #entry {
        margin: 0 auto;
        padding: 72px 0;
        width: 100%;
        background: #a00100;
    }
    #entry > .entry-box {
        position: relative;
        margin: 0 auto;
        padding: 72px 300px 72px 40px;
        width: 90%;
        background: rgba( 255, 255, 255, 0.1 );
        border-radius: 8px;
    }
    #entry > .entry-box > h2 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        max-width: 1280px;
        color: #fff;
        font-size: 84px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 95 / 84 );
    }
    #entry > .entry-box > p {
        margin: 1.0em auto 0;
        padding: 0;
        width: 100%;
        max-width: 1280px;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 53 / 28 );
    }
    #entry > .entry-box > .btn-entry {
        position: absolute;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        top: calc( 50% - 115px );
        right: max( 5%, calc( 50vw - 640px ) );
        width: 230px;
        height: auto;
        aspect-ratio: 1 / 1;
        transition: none;
    }
    #entry > .entry-box > .btn-entry > span:nth-of-type(1) {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        border: 2px solid #c30100;
        border-radius: 100%;
        transition: transform 0.3s ease-out, border 0.3s ease-out;
    }
    #entry > .entry-box > .btn-entry > span:nth-of-type(2) {
        display: block;
        color: #a00200;
        font-size: 48px;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: center;
        line-height: 1.0;
        letter-spacing: 0.03em;
        translate: 0 15%;
    }
    #entry > .entry-box > .btn-entry > span:nth-of-type(3) {
        display: block;
        font-size: 23px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 26 / 23 );
        translate: 0 15%;
    }
    @media ( hover: hover ) {
        #entry > .entry-box > .btn-entry:hover {
            opacity: 1.0;
        }
        #entry > .entry-box > .btn-entry:hover > span:nth-of-type(1) {
            border-width: 1px;
            transform: scale( 2.0, 2.0 );
        }
    }

    #corporate-mv {
        position: relative;
        margin: 128px auto 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 829;
        background: #000;
        z-index: 0;
    }
    #corporate-mv::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../images/corporate-pic01-pc.png)  no-repeat center / cover;
        z-index: 1;
    }
    #corporate-mv::after {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        width: 83.33%;
        height: 100%;
        background: linear-gradient( to right, rgba( 0, 0, 0, 0 ) 0%, rgba( 0, 0, 0, 0.88 ) 100% );
        z-index: 2;
    }
    #corporate-mv > h1 {
        position: absolute;
        bottom: 48%;
        left: 40%;
        width: 50%;
        color: #fff;
        font-size: 84px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: 1.0;
        z-index: 3;
    }
    #corporate-mv > h1 > span {
        display: block;
    }
    #corporate-mv > h1 > span:nth-of-type(1) img {
        display: inline-block;
        width: 273px;
        height: auto;
        aspect-ratio: 273 / 150;
        object-fit: contain;
        translate: 0 -10%;
    }
    #corporate-mv > p {
        position: absolute;
        top: 56%;
        left: 40%;
        width: 50%;
        color: #fff;
        font-size: 33px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 67 / 33 );
        z-index: 3;
    }

    #corporate-first {
        margin: 0 auto;
        padding: 72px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        background: #a00100;
    }
    #corporate-first > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 70px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #corporate-first > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }
    #corporate-first > .btn-common-red {
        position: relative;
        margin: 40px auto 0;
        padding: 0 40px;
        width: 392px;
        height: auto;
        aspect-ratio: 392 / 92;
        color: #fff;
        font-size: 19px;
        font-weight: 500;
        text-align: center;
        line-height: 1.0;
        background: #a00100;
        border: 1px solid #fff;
        border-radius: 4.0em;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        transition: background 0.5s ease-out, color 0.5s ease-out;
    }
    #corporate-first > .btn-common-red span {
        position: absolute;
        content: "";
        display: block;
        top: calc( 50% - 1.5em );
        right: 1.0em;
        width: 3.0em;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #fff;
        border-radius: 100%;
        transition: background 0.5s ease-out;
        overflow: hidden;
    }
    #corporate-first > .btn-common-red span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-first > .btn-common-red span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-first > .btn-common-red:hover {
            opacity: 1.0;
            color: #a00100;
            background: #fff;
        }
        #corporate-first > .btn-common-red:hover span {
            background: #a00100;
        }
        #corporate-first > .btn-common-red:hover span::before {
            left: 130%;
        }
        #corporate-first > .btn-common-red:hover span::after {
            left: 30%;
        }
    }

    #contact-first {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        background: #a00100;
    }
    #contact-first > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 40px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 40 );
    }
    #contact-first > p {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #contact-form {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 508px ) ) 120px;
        width: 100%;
    }
    #contact-form .contact-table {
        margin: 0;
        padding: ;
        width: 100%;
        display: grid;
        grid-template-columns: 400px 1fr;
        gap: 40px 0;
    }
    #contact-form .contact-table > dt {
        margin: 0;
        padding: 0;
        width: max-content;
        font-size: 19px;
        font-weight: 700;
        text-align: left;
    }
    #contact-form .contact-table > dt.required::after {
        display: inline-block;
        content: "必須";
        margin-left: 16px;
        color: #c30000;
        font-size: 16px;
        font-weight: 500;
    }
    #contact-form .contact-table > dt.not-required::after {
        display: inline-block;
        content: "任意";
        margin-left: 16px;
        color: #cecece;
        font-size: 16px;
        font-weight: 500;
    }
    #contact-form .contact-table > dd {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #contact-form .contact-table > dd.contact-flex {
        display: flex;
        gap: 0 2%;
    }
    #contact-form .contact-table > dd.contact-flex > div {
        line-height: 2.0;
        width: 48%;
    }
    #contact-form .contact-table > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea) {
        margin: 0;
        padding: 0.8em;
        width: 100%;
        font-size: 16px;
        border: 1px solid #cecece;
        border-radius: 4px;
    }
    #contact-form .contact-table > dd :is(input[type="text"],input[type="email"],input[type="tel"],textarea)::placeholder {
        color:  #cecece;
    }
    #contact-form .contact-table > dd textarea {
        height: 10.0em;
    }
    #contact-form #privacy-policy {
        margin: 72px 0 0;
        padding: 40px;
        width: 100%;
        height: 251px;
        border: 1px solid #d6d6d6;
        overflow-y: auto;
    }
    #contact-form #privacy-policy > h2 {
        margin: 0;
        padding: 0;
        font-size: 20px;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.05em;
    }
    #contact-form #privacy-policy > p {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 14px;
        font-weight: 400;
        text-align: left;
        line-height: calc( 20 / 14 );
        letter-spacing: 0.05em;
    }
    #contact-form #privacy-policy > h3 {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 16px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 24 / 16 );
        letter-spacing: 0.05em;
    }
    #contact-form p.center1 {
        margin: 48px 0 0;
        padding: 0;
        font-size: 19px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 32 / 19 );
        letter-spacing: 0.02em;
    }
    #contact-form p.center2 {
        margin: 88px 0 0;
        padding: 0;
        font-size: 23px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #contact-form .ws-agree {
        margin: 48px 0 0;
        padding: 0;
        width: 100%;
        text-align: center;
    }
    #contact-form .ws-agree label {
        display: block;
        margin: 0 auto;
        width: max-content;
        font-size: 19px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 32 / 19 );
        letter-spacing: 0.02em;
    }
    #contact-form .ws-submit {
        position: relative;
        margin: 48px auto 0;
        padding: 0;
        width: 392px;
        height: auto;
        aspect-ratio: 392 / 92;
        background: #fff;
        border: 1px solid #b5b5b5;
        border-radius: 4.0em;
    }
    #contact-form .ws-submit input[type="submit"] {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0;
        padding: 0 40px;
        width: 100%;
        height: 100%;
        font-size: 19px;
        font-weight: 500;
        font-family: inherit;
        text-align: left;
        line-height: 1.0;
        background: transparent;
        border: 0;
        cursor: pointer;
    }
    #contact-form .ws-submit .arrow {
        position: absolute;
        content: "";
        display: block;
        top: calc( 50% - 30px );
        right: 20px;
        width: 60px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        transition: background 0.5s ease-out;
        overflow: hidden;
    }
    #contact-form .ws-submit .arrow::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #contact-form .ws-submit .arrow::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #contact-form .ws-submit:hover input[type="submit"] {
            opacity: 1.0;
        }
        #contact-form .ws-submit:hover .arrow {
            background: #fff;
        }
        #contact-form .ws-submit:hover .arrow::before {
            left: 130%;
        }
        #contact-form .ws-submit:hover .arrow::after {
            left: 30%;
        }
    }

    #eval-reason1 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 870;
        background: #a00200;
    }
    #eval-reason1 .reason-pic {
        position: absolute;
        top: 50%;
        right: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0;
        width: calc( 100vw * 804 / 1920 );
        height: auto;
        aspect-ratio: 804 / 562;
    }
    #eval-reason1 .reason-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-position: left center;
        object-fit: cover;
    }
    #eval-reason1 .reason-catch {
        position: absolute;
        bottom: 88%;
        left: 1%;
        transform-origin: left bottom;
        transform: rotate( 90deg );
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 100vw * 115 / 1920 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
    }
    #eval-reason1 .reason-info {
        position: absolute;
        top: 10%;
        left: 16%;
        width: 38%;
    }
    #eval-reason1 .reason-info > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 100vw * 70 / 1920 );
        font-weight: 900;
        line-height: calc( 79 / 70 );
    }
    #eval-reason1 .reason-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: calc( 100vw * 23 / 1920 );
        font-weight: 500;
        line-height: calc( 46 / 23 );
    }
    #eval-reason1 .reason-info > a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;;
        margin: 2.0em 0 0;
        padding: 0 calc( 40 * 100vw / 1920 );
        width: calc( 392 * 100vw / 1920 );
        height: auto;
        aspect-ratio: 392 / 92;
        font-size: calc( 19 * 100vw / 1920 );
        font-weight: 500;
        line-height: 1.0;
        border: 1px solid #B5B5B5;
        border-radius: 4.0em;
    }
    #eval-reason1 .reason-info > a::before {
        position: absolute;
        content: "";
        display: block;
        top: calc ( 50% - 30 * 100vw / 1920 );
        right: calc( 20 * 100vw / 1920 );
        width: calc( 60 * 100vw / 1920 );
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
    }
    #eval-reason1 .reason-info > a::after {
        position: absolute;
        content: "";
        display: block;
        top: calc ( 50% - 12 * 100vw / 1920 );
        right: calc( 38 * 100vw / 1920 );
        width: calc( 24 * 100vw / 1920 );
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
    }

    #eval-reason2 {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
        background: url(../images/eval-bg.png) no-repeat center / 740px 740px, #a00200;
        border-top: 1px solid #dd1d1b;
    }
    #eval-reason2 > h2 {
        margin: 0;
        padding: 0 5%;
        color: #fff;
        font-size: 23px;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 23 );
    }
    #eval-reason2 > h3 {
        margin: 0;
        padding: 0 5%;
        color: #fff;
        font-size: 70px;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #eval-reason2 > p {
        margin: 1.0em 0 0;
        padding: 0 5%;
        color: #fff;
        font-size: 23px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #eval-reason2 > .reason-slider {
        margin: 56px 0 0;
        padding: 0;
        width: 100%;
        overflow: hidden;
    }
    #eval-reason2 > .reason-slider .slider-wrap {
        margin: 0;
        padding: 0;
        width: calc( 424px * 16 + 24px * 15 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 24px;
        animation: anim-eval-slider-pc 20.0s linear infinite;
    }
    #eval-reason2 > .reason-slider .slider-wrap .reason-pic {
        margin: 0;
        padding: 0;
        width: 424px;
        height: auto;
        aspect-ratio: 424 / 318;
    }
    #eval-reason2 > .reason-slider .slider-wrap .reason-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 16px;
    }

    #eval-order {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
    }
    #eval-order > h2 {
        margin: 0;
        padding: 0;
        font-size: 23px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 23 );
    }
    #eval-order > h3 {
        margin: 0;
        padding: 0;
        font-size: 70px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #eval-order > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #eval-order > .order-grid {
        margin: 52px auto 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat( 4, 1fr );
        gap: 24px;
    }
    #eval-order > .order-grid .order-item {
        margin: 0;
        padding: 32px;
        width: 100%;
        background: #f4f4f4;
        border-radius: 16px;
    }
    #eval-order > .order-grid .order-item .no {
        margin: 0;
        padding: 0;
        color: #a00100;
        font-size: 23px;
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: center;
    }
    #eval-order > .order-grid .order-item .title {
        margin: 0;
        padding: 0;
        font-size: 23px;
        font-weight: 900;
        text-align: center;
    }
    #eval-order > .order-grid .order-item .order-icon {
        margin: 24px auto 0;
        padding: 0;
        width: 80px;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    #eval-order > .order-grid .order-item .order-icon img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    #eval-order > .order-grid .order-item p {
        margin: 12px 0 0;
        padding: 0;
        font-size: 16px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 23 / 16 );
    }

    #genuine {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 850;
        background: #a00100;
    }
    #genuine > .genuine-pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        opacity: 0.2;
    }
    #genuine > .genuine-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #genuine > .genuine-info {
        position: absolute;
        bottom: 37%;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #genuine > .genuine-info > h2 {
        margin: 0;
        padding: 0;
        font-kerning: normal;
    }
    #genuine > .genuine-info > h2 > span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 23 * 100vw / 1920 );
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
    }
    #genuine > .genuine-info > h2 > span:nth-of-type(2) {
        display: block;
        margin: calc( 24 * 100vw / 1920 ) auto 0;
        padding: 0;
        color: #fff;
        font-size: calc( 70 * 100vw / 1920 );
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
    }
    #genuine > .genuine-info > p {
        margin: 1.5em auto 0;
        padding: 0;
        color: #fff;
        font-size: calc( 23 * 100vw / 1920 );
        font-weight: 700;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #genuine > .genuine-telop {
        position: absolute;
        bottom: 4%;
        left: 0%;
        width: max-content;
        color: #fff;
        font-size: calc( 236 * 100vw / 1920 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
        animation: anim-telop-pc 12.0s linear 0s infinite;
    }

    #eval-watch {
        margin: 0 auto;
        padding: 80px 0;
        background: #a00100;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #eval-watch > .watch-info {
        margin: 0;
        padding: 0 40px 0 max( 5%, calc( 50vw - 640px ) );
        width: 54%;
    }
    #eval-watch > .watch-info > h2 {
    }
    #eval-watch > .watch-info > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 900;
        text-align: left;
    }
    #eval-watch > .watch-info > h2 span:nth-of-type(2) {
        display: block;
        margin: 0.2em 0 0;
        padding: 0;
        color: #fff;
        font-size: 70px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #eval-watch > .watch-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #eval-watch > .watch-pic {
        margin: 0;
        padding: 0;
        width: 46%;
        height: auto;
        aspect-ratio: 1688 / 1376;
    }
    #eval-watch > .watch-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #eval-chance {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        background: #a00100;
        border-top: 1px solid #dd1d1b;
    }
    #eval-chance > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 70px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #eval-chance > h3 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 40px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 40 );
    }
    #eval-chance > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }

    #eval-try {
        margin: 0 auto;
        padding: 80px 0;
        width: 100%;
    }
    #eval-try > h2 {
        margin: 0;
        padding: 0 5%;
        font-size: 70px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: calc( 81 / 70 );
    }
    #eval-try > p {
        margin: 1.0em 0 0;
        padding: 0 5%;
        font-size: 28px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 53 / 28 );
    }
    #eval-try > .try-grid {
        margin: 52px auto 0;
        padding: 0;
        width: 90%;
        display: grid;
        grid-template-columns: repeat( 3, 1fr );
        gap: 0 25px;
    }
    #eval-try > .try-grid .try-item {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 570 / 320;
        border: 1px solid #cecece;
        border-radius: 8px;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(1) {
        position: absolute;
        right: 10px;
        bottom: 10px;
        width: 60px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(1)::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(1)::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #eval-try > .try-grid .try-item:hover {
            opacity: 1.0;
        }
        #eval-try > .try-grid .try-item:hover span:nth-of-type(1) {
            background: #fff;
        }
        #eval-try > .try-grid .try-item:hover span:nth-of-type(1)::before {
            left: 130%;
        }
        #eval-try > .try-grid .try-item:hover span:nth-of-type(1)::after {
            left: 30%;
        }
    }
    #eval-try > .try-grid .try-item span:nth-of-type(2) {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        color: #f4f4f4;
        font-size: calc( 84 * 100vw / 1920 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        text-align: center;
        line-height: 1.0;
        letter-spacing: 0.03em;
    }
    #eval-try > .try-grid .try-item span:nth-of-type(3) {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        font-size: calc( 40 * 100vw / 1920 );
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: center;
        line-height: 1.0;
    }

    #work-first {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 756;
        background: #c30000;
        overflow: hidden;
    }
    #work-first > .work-pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        opacity: 0.2;
    }
    #work-first > .work-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #work-first > .work-info {
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0 5%;
        width: 100%;
    }
    #work-first > .work-info > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 70 * min( 90vw, 1400px ) / 1400 );
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #work-first > .work-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: calc( 23 * min( 90vw, 1400px ) / 1400 );
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

    #work-second {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 756;
        background: #c30000;
        overflow: hidden;
    }
    #work-second > .work-info {
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0 5%;
        width: 100%;
    }
    #work-second > .work-info > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 70 * min( 90vw, 1400px ) / 1400 );
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #work-second > .work-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: calc( 23 * min( 90vw, 1400px ) / 1400 );
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

    #work-style {
        margin: 0 auto;
        padding: 120px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
    }
    #work-style > h2 {
        position: absolute;
        top: 0;
        left: 50%;
        translate: -50% -50%;
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 1016px;
        max-width: 90%;
        height: 97px;
        color: #fff;
        font-size: 33px;
        font-weight: 700;
        line-height: 1.0;
        background: #000;
        border-radius: 8px;
    }
    #work-style > h2::after {
        position: absolute;
        content: "";
        top: calc( 100% - 1px );
        width: 40px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #000;
        clip-path: polygon( 0 0, 100% 0, 50% 100% );
    }
    #work-style > p {
        margin: 0;
        padding: 0;
        font-size: 23px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }
    #work-style > .style-btns {
        margin: 80px auto 56px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 24px;
    }
    #work-style > .style-btns .style-btn {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 392px;
        height: auto;
        aspect-ratio: 392 / 98;
        color: #cecece;
        font-size: 23px;
        font-weight: 700;
        line-height: 1.0;
        border: 1px solid #cecece;
    }
    #work-style > .style-btns .style-btn.active {
        color: #a00200;
        border: 1px solid #a00200;
    }
    #work-style > .style-box {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        margin: 40px auto 0;
        padding: 0;
        background: #f4f4f4;
        border-radius: 24px;
        overflow: hidden;
    }
    #work-style > .style-box .style-info {
        margin: 0;
        padding: 48px 64px 48px 56px;
        width: 55%;
    }
    #work-style > .style-box .style-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 40px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 40 );
    }
    #work-style > .style-box .style-info > p {
        margin: 16px 0;
        padding: 0;
        font-size: 19px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }
    #work-style > .style-box .style-info > ul {
        margin: 16px 0;
        padding: 0;
        list-style: none;
    }
    #work-style > .style-box .style-info > ul li {
        display: flex;
        align-items: center;
        gap: 0 16px;
        margin: 0;
        padding: 0
        font-size: 23px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 38 / 23 );
        list-style: none;
    }
    #work-style > .style-box .style-info > ul li::before {
        display: block;
        content: "";
        width: 8px;
        height: 8px;
        background: #a00100;
        border-radius: 100%;
    }
    #work-style > .style-box .style-pic {
        margin: 0;
        padding: 0;
        width: 45%;
        height: 100%;
    }
    #work-style > .style-box .style-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    #work-flow {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        background: #a00100;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #work-flow > .flow-head {
        margin: 0;
        padding: 0;
        width: 380px;
    }
    #work-flow > .flow-head > h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 48px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 48 );
    }
    #work-flow > .flow-head > p {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #work-flow > .flow-boxes {
        margin: 0;
        padding: 0;
        width: calc( 100% - 380px );
    }
    #work-flow > .flow-boxes .flow-box {
        margin: 0;
        padding: 40px;
        width: 100%;
        height: auto;
        aspect-ratio: 912 / 224;
        background: #fff;
        border-radius: 24px;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    #work-flow > .flow-boxes .flow-box + .flow-box {
        margin-top: 24px;
    }
    #work-flow > .flow-boxes .flow-box .flow-time {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0;
        padding: 0;
        width: 200px;
        color: #a00100;
        font-size: 59px;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 62 / 59 );
        letter-spacing: 0.03em;
    }
    #work-flow > .flow-boxes .flow-box .flow-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0;
        padding: 0 0 0 48px;
        width: calc( 100% - 200px);
        border-left: 1px solid #cecece;
    }
    #work-flow > .flow-boxes .flow-box .flow-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 33px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 33 );
    }
    #work-flow > .flow-boxes .flow-box .flow-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 19px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }

    #work-skill {
        margin: 0 auto;
        padding: 80px 0;
        background: #a00100;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid #dd1d1b;
    }
    #work-skill > .skill-pic {
        margin: 0;
        padding: 0;
        width: 45%;
        height: auto;
    }
    #work-skill > .skill-info {
        margin: 0;
        padding: 0 max( 5%, calc( 50vw - 640px ) ) 0 0;
        width: 50%;
    }
    #work-skill > .skill-info > h2 {
        margin: 0 0 24px;
        padding: 0;
        color: #fff;
        font-size: 70px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #work-skill > .skill-info > p {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #work-skill > .skill-info > ul {
        margin: 0.5em 0 0.5em 1.0em;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 38 / 23 );
    }
    #work-skill > .skill-info > ul li {
        color: #fff;
        font-size: 23px;
        font-weight: 700;
        text-align: left;
        line-height: calc( 38 / 23 );
    }

    #corporate-service {
        margin: 0 auto;
        padding: 80px 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #corporate-service > .corporate-pic {
        margin: 0;
        padding: 0;
        width: 45%;
        height: auto;
    }
    #corporate-service > .corporate-info {
        margin: 0;
        padding: 0 max( 5%, calc( 50vw - 640px ) ) 0 0;
        width: 50%;
    }
    #corporate-service > .corporate-info > h2 {
        margin: 0 0 24px;
        padding: 0;
        font-size: 70px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #corporate-service > .corporate-info > p {
        margin: 0;
        padding: 0;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #corporate-service > .corporate-info > .btn-corporate {
        position: relative;
        display: flex;
        align-items: center;
        margin: 52px 0 0;
        padding: 0 40px;
        width: 392px;
        height: auto;
        aspect-ratio: 392/ 92;
        border: 1px solid #cecece;
        border-radius: 4.0em;
    }
    #corporate-service > .corporate-info > .btn-corporate span {
        position: absolute;
        right: 20px;
        top: calc( 50% - 30px );
        width: 60px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-service > .corporate-info > .btn-corporate span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-service > .corporate-info > .btn-corporate span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-service > .corporate-info > .btn-corporate:hover {
            opacity: 1.0;
        }
        #corporate-service > .corporate-info > .btn-corporate:hover span {
            background: #fff;
        }
        #corporate-service > .corporate-info > .btn-corporate:hover span::before {
            left: 130%;
        }
        #corporate-service > .corporate-info > .btn-corporate:hover span::after {
            left: 30%;
        }
    }

    #corporate-reason {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 1920 / 870;
    }
    #corporate-reason .reason-pic {
        position: absolute;
        top: 50%;
        right: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0;
        width: calc( 100vw * 804 / 1920 );
        height: auto;
        aspect-ratio: 804 / 562;
    }
    #corporate-reason .reason-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-position: left center;
        object-fit: cover;
    }
    #corporate-reason .reason-catch {
        position: absolute;
        bottom: 88%;
        left: 1%;
        transform-origin: left bottom;
        transform: rotate( 90deg );
        margin: 0;
        padding: 0;
        color: #f4f4f4;
        font-size: calc( 100vw * 115 / 1920 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
    }
    #corporate-reason .reason-info {
        position: absolute;
        top: 10%;
        left: 16%;
        width: 38%;
    }
    #corporate-reason .reason-info > h2 {
        margin: 0;
        padding: 0;
        font-size: calc( 100vw * 70 / 1920 );
        font-weight: 900;
        line-height: calc( 79 / 70 );
    }
    #corporate-reason .reason-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: calc( 100vw * 23 / 1920 );
        font-weight: 500;
        line-height: calc( 46 / 23 );
    }
    #corporate-reason .reason-info > a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;;
        margin: 2.0em 0 0;
        padding: 0 calc( 40 * 100vw / 1920 );
        width: calc( 392 * 100vw / 1920 );
        height: auto;
        aspect-ratio: 392 / 92;
        font-size: calc( 19 * 100vw / 1920 );
        font-weight: 500;
        line-height: 1.0;
        border: 1px solid #B5B5B5;
        border-radius: 4.0em;
    }
    #corporate-reason .reason-info > a span {
        position: absolute;
        display: block;
        top: calc ( 50% - 30 * 100vw / 1920 );
        right: calc( 20 * 100vw / 1920 );
        width: calc( 60 * 100vw / 1920 );
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-reason .reason-info > a span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-reason .reason-info > a span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-reason .reason-info > a:hover {
            opacity: 1.0;
        }
        #corporate-reason .reason-info > a:hover span {
            background: #fff;
        }
        #corporate-reason .reason-info > a:hover span::before {
            left: 130%;
        }
        #corporate-reason .reason-info > a:hover span::after {
            left: 30%;
        }
    }

    #corporate-growth {
        margin: 0 auto;
        padding: 80px 0 18.0vw;
        width: 100%;
        border-top: 1px solid #cecece;
    }
    #corporate-growth > h2 {
        margin: 0 auto;
        padding: 0;
        width: 90%;
        max-width: 1280px;
        font-size: 70px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #corporate-growth > p {
        margin: 1.0em auto 0;
        padding: 0;
        width: 90%;
        max-width: 1280px;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #corporate-growth > a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-start;;
        margin: -92px max( 5%, calc( 50vw - 640px ) ) 0 auto;
        padding: 0 40px;
        width: 392px;
        height: auto;
        aspect-ratio: 392 / 92;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.0;
        border: 1px solid #B5B5B5;
        border-radius: 4.0em;
    }
    #corporate-growth > a span {
        position: absolute;
        display: block;
        top: calc ( 50% - 30px );
        right: 20px;
        width: 60px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-growth > a span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-growth > a span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-growth > a:hover {
            opacity: 1.0;
        }
        #corporate-growth > a:hover span {
            background: #fff;
        }
        #corporate-growth > a:hover span::before {
            left: 130%;
        }
        #corporate-growth > a:hover span::after {
            left: 30%;
        }
    }
    #corporate-growth > .growth-slider {
        margin: 80px auto 0;
        padding: 0;
        width: 100%;
        overflow: hidden;
    }
    #corporate-growth > .growth-slider .slider-wrap {
        margin: 0;
        padding: 0;
        width: calc( 376px * 6 + 48px * 5 );
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 48px;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item {
        position: relative;
        margin: 0;
        padding: 0;
        width: 376px;;
        height: auto;
        aspect-ratio: 376 / 416;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item .growth-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item .growth-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item span {
        position: absolute;
        display: block;
        bottom: 20px;
        right: 20px;
        width: 60px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item span::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-growth > .growth-slider .slider-wrap .slider-item span::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover {
            opacity: 1.0;
        }
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover span {
            background: #fff;
        }
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover span::before {
            left: 130%;
        }
        #corporate-growth > .growth-slider .slider-wrap .slider-item:hover span::after {
            left: 30%;
        }
    }
    #corporate-growth > .genuine-telop {
        position: absolute;
        bottom: 4%;
        left: 0%;
        width: max-content;
        font-size: calc( 236 * 100vw / 1920 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
        animation: anim-telop-pc 12.0s linear 0s infinite;
    }
    #corporate-growth > .genuine-telop span {
        color: #c30000;
    }

    #corporate-entry {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
    }
    #corporate-entry > .entry-info {
        grid-row: span 2;
        position: relative;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 960 / 554;
        background: #a00100;
    }
    #corporate-entry > .entry-info .entry-pic {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        width: 100%;
        hegiht: 100%;
    }
    #corporate-entry > .entry-info .entry-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        hegiht: 100%;
        object-fit: cover;
        opacity: 0.2;
    }
    #corporate-entry > .entry-info .entry-txt {
        position: absolute;
        top: 50%;
        left: 0;
        translate: 0 -50%;
        margin: 0;
        padding: 0 40px 0 max( 5%, calc( 50vw - 640px ) );
        width: 100%;
    }
    #corporate-entry > .entry-info .entry-txt h2 {
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: calc( 70 * min( 100vw, 1600px ) / 1600 );
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 70 );
    }
    #corporate-entry > .entry-info .entry-txt p {
        margin: 1.0em 0 0;
        padding: 0;
        color: #fff;
        font-size: calc( 23 * min( 100vw, 1600px ) / 1600 );
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #corporate-entry > a {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 960 / 277;
    }
    #corporate-entry > .entry-intern {
        background: #950100;
    }
    #corporate-entry > .entry-intern > span:nth-of-type(2) {
        position: absolute;
        top: 50%;
        left: 5%;
        color: #a00200;
        font-size: calc( 95 * min( 100vw, 1600px ) / 1600 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 97 / 95 );
    }
    #corporate-entry > .entry-employee {
        background: #000;
    }
    #corporate-entry > .entry-employee > span:nth-of-type(2) {
        position: absolute;
        top: 50%;
        left: 5%;
        color: #0d0d0d;
        font-size: calc( 95 * min( 100vw, 1600px ) / 1600 );
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 97 / 95 );
    }
    #corporate-entry > a > span:nth-of-type(3) {
        position: absolute;
        top: 50%;
        left: 5%;
        translate: 0 -50%;
        color: #fff;
        font-size: calc( 58 * min( 100vw, 1600px ) / 1600 );
        font-weight: 700;
        font-family: var(--font-mincho);
        line-height: 1.0;
    }
    #corporate-entry > a > span:nth-of-type(3) span {
        display: inline-block;
        margin-left: 1.0em;
        font-size: calc( 33 * min( 100vw, 1600px ) / 1600 );
        font-family: var(--font-gothic);
    }
    #corporate-entry > a > span:nth-of-type(1) {
        position: absolute;
        display: block;
        bottom: 20px;
        right: 20px;
        width: 60px;
        height: auto;
        aspect-ratio: 1 / 1;
        background: #c30000;
        border-radius: 100%;
        overflow: hidden;
        transition: background 0.5s ease-out;
    }
    #corporate-entry > a > span:nth-of-type(1)::before {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: 30%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-white.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    #corporate-entry > a > span:nth-of-type(1)::after {
        position: absolute;
        content: "";
        display: block;
        top: 30%;
        left: -130%;
        width: 40%;
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(../images/icon-arrow-r-red.svg) no-repeat center / contain;
        transition: left 0.5s ease-out;
    }
    @media ( hover: hover ) {
        #corporate-entry > a:hover {
            opacity: 1.0;
        }
        #corporate-entry > a:hover > span:nth-of-type(1) {
            background: #fff;
        }
        #corporate-entry > a:hover > span:nth-of-type(1)::before {
            left: 130%;
        }
        #corporate-entry > a:hover > span:nth-of-type(1)::after {
            left: 30%;
        }
    }

    #about-philosophy {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #about-philosophy > .philosophy-head {
        margin: 0;
        padding: 0;
        width: 380px;
    }
    #about-philosophy > .philosophy-head > h2 {
        margin: 0;
        padding: 0;
        font-size: 48px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 79 / 48 );
    }
    #about-philosophy > .philosophy-head > p {
        margin: 0;
        padding: 0;
        font-size: 23px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 46 / 23 );
    }
    #about-philosophy > .philosophy-boxes {
        margin: 0;
        padding: 0;
        width: calc( 100% - 380px );
    }
    #about-philosophy > .philosophy-boxes .philosophy-box {
        margin: 0;
        padding: 40px;
        width: 100%;
        background: #f4f4f4;
        border-radius: 24px;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box + .philosophy-box {
        margin-top: 24px;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-title {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0;
        padding: 0;
        width: 240px;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-title span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        color: #a00100;
        font-size: 59px;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: calc( 62 / 59 );
        letter-spacing: 0.03em;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-title s
pan:nth-of-type(2) {
        display: block;
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 23px;
        font-weight: 700;
        font-family: var(--font-mincho);
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin: 0;
        padding: 0 0 0 48px;
        width: calc( 100% - 240px);
        border-left: 1px solid #cecece;
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 33px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 33 );
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 19px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }
    #about-philosophy > .philosophy-boxes .philosophy-box .philosophy-info > p + h3 {
        margin-top: 1.0em;
    }

    #about-message {
        margin: 0 auto;
        padding: 100px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
    }
    #about-message::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        width: 45%;
        height: auto;
        aspect-ratio: 844 / 938;
        background: #a00100;
        z-index: -1;
    }
    #about-message > h2 {
        margin: 0 auto;
        padding: 0;
    }
    #about-message > h2 span:nth-of-type(1) {
        display: block;
        margin: 0;
        padding: 0;
        font-size: 48px;
        font-weight: 900;
        text-align: left;
    }
    #about-message > h2 span:nth-of-type(2) {
        display: block;
        margin: 0.4em 0 0;
        padding: 0.2em;
        width: max-content;
        color: #fff;
        font-size: 70px;
        font-weight: 900;
        text-align: left;
        line-height: 1.0;
        background: #000;
        border-radius: 8px;
    }
    #about-message > .msg-flex {
        margin: 88px auto 0;
        padding: 0;
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    #about-message > .msg-flex .msg-info {
        margin: 0;
        padding: 80px 0 0;
        width: 50%;
    }
    #about-message > .msg-flex .msg-info p {
        margin: 0;
        padding: 0;
        font-size: 19px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 40 / 19 );
    }
    #about-message > .msg-flex .msg-info p b {
        font-size: 23px;
        font-weight: 700;
    }
    #about-message > .msg-flex .msg-info p + p {
        margin-top: 1.0em;
    }
    #about-message > .msg-flex .msg-info .signature {
        display: block;
        width: 196px;
        height: auto;
        aspect-ratio: 392 / 126;
    }
    #about-message > .msg-flex .msg-info .signature img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    #about-message > .msg-flex .msg-pics {
        margin: 0;
        padding: 0;
        width: calc( 50% - 64px );
        height: auto;
    }
    #about-message > .msg-flex .msg-pics .msg-pic {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }
    #about-message > .msg-flex .msg-pics .msg-pic + .msg-pic {
        margin-top: 24px;
    }
    #about-message > .msg-flex .msg-pics .msg-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: auto;
    }

    #business-first {
        margin: 0 auto;
        padding: 140px max( 5%, calc( 50vw - 640px ) ) 0;
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    #business-first > .work-info {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    #business-first > .work-info > h2 {
        margin: 0;
        padding: 0;
        font-size: 70px;
        font-weight: 900;
        text-align: center;
        line-height: calc( 79 / 70 );
    }
    #business-first > .work-info > p {
        margin: 1.0em 0 0;
        padding: 0;
        font-size: 23px;
        font-weight: 500;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

    #business-style {
        margin: 0 auto;
        padding: 80px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
    }
    #business-style > .style-btns {
        margin: 0 auto 56px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 24px;
    }
    #business-style > .style-btns .style-btn {
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        width: 392px;
        height: auto;
        aspect-ratio: 392 / 98;
        color: #cecece;
        font-size: 23px;
        font-weight: 700;
        line-height: 1.0;
        border: 1px solid #cecece;
    }
    #business-style > .style-btns .style-btn.active {
        color: #a00200;
        border: 1px solid #a00200;
    }
    #business-style > .style-box {
        position: relative;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        margin: 40px auto 0;
        padding: 0;
    }
    #business-style > .style-box .no {
        position: absolute;
        top: 0;
        right: 0;
        color: #a00100;
        font-size: 139px;
        font-weight: 400;
        font-family: var(--font-alphabet);
        line-height: 1.0;
        letter-spacing: 0.03em;
        z-index: 3;
    }
    #business-style > .style-box .style-info {
        margin: 0;
        width: 70%;
        background: #f4f4f4;
        border-radius: 24px;
    }
    #business-style > .style-box.right .style-info {
        margin: 0 auto 0 0;
        padding: 48px 160px 48px 56px;
    }
    #business-style > .style-box.left .style-info {
        margin: 0 0 0 auto;
        padding: 48px 56px 48px 160px;
    }
    #business-style > .style-box .style-info > h3 {
        margin: 0;
        padding: 0;
        font-size: 40px;
        font-weight: 900;
        text-align: left;
        line-height: calc( 47 / 40 );
    }
    #business-style > .style-box .style-info > h4 {
        margin: 0.5em 0 0;
        padding: 0;
        font-size: 28px;
        font-weight: 700;
        font-family: var(--font-mincho);
        text-align: left;
        line-height: calc( 47 / 40 );
    }
    #business-style > .style-box .style-info > p {
        margin: 16px 0;
        padding: 0;
        font-size: 19px;
        font-weight: 500;
        text-align: left;
        line-height: calc( 38 / 19 );
    }
    #business-style > .style-box .style-info > p.bar-l {
        padding-left: 24px;
        border-left: 4px solid #a00100;
    }
    #business-style > .style-box .style-pic {
        position: absolute;
        top: 50%;
        translate: 0 -50%;
        margin: 0;
        padding: 0;
        width: 40%;
        height: 80%;
        z-index: 2;
    }
    #business-style > .style-box.right .style-pic {
        left: auto;
        right: 0;
    }
    #business-style > .style-box.left .style-pic {
        right: auto;
        left: 0;
    }
    #business-style > .style-box .style-pic img {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 24px;
    }

    #business-emphasis {
        margin: 0 auto;
        padding: 120px max( 5%, calc( 50vw - 640px ) );
        width: 100%;
        background: url(../images/eval-bg.png) no-repeat center / 740px 740px, #a00200;
        overflow: hidden;
    }
    #business-emphasis > h2 {
        margin: 0;
        padding: 0;
        font-kerning: normal;
        color: #fff;
        font-size: 70px;
        font-weight: 900;
        text-align: center;
        line-height: 1.0;
    }
    #business-emphasis > p {
        margin: 1.5em auto 0;
        padding: 0;
        color: #fff;
        font-size: 23px;
        font-weight: 700;
        text-align: center;
        line-height: calc( 46 / 23 );
    }

}


@keyframes anim-eval-slider-pc {
    0%   { transform: translateX( 0 ); }
    100% { transform: translateX( calc( -424px * 8 - 24px * 8 ) ); }
}


@keyframes anim-eval-slider-sp {
    0%   { transform: translateX( 0 ); }
    100% { transform: translateX( calc( -50.0vw * 8 - 4.0vw * 8 ) ); }
}


@keyframes anim-telop-pc {
    0%   { transform: translateX( 0vw ); }
    100% { transform: translateX( -192.0vw ); }
}


@keyframes anim-telop-sp {
    0%   { transform: translateX( 0 ); }
    100% { transform: translateX( -250vw ); }
}



.wpcf7-list-item {
    display: block;
}
.wpcf7-list-item + .wpcf7-list-item {
    margin-top: 12px;
}


.wpcf7-spinner {
    position: absolute;
    top: 100%;
    left: 50%;
    margin: 0;
    translate: -50% 0;
}
