    @charset "UTF-8";
    /* /////////////////// */
    /*     common     */
    /* ///////////////// */
    img {
        /* border-radius: 10px; */
    }

    .m-lg-cut {
        display: none;
    }
    .m-sm-cut {
        display: block;
    }

    @media screen and (max-width: 1024px) {
        .h2-left {
            text-align: left;
        }
    }

    @media screen and (max-width: 1024px) {
        .m-lg-cut {
            display: block;
        }
        .m-sm-cut {
            display: none;
        }
    }

    /* /////////////////// */
    /*     PHILOSOPHY     */
    /* ///////////////// */
    .section_philosophy {
        padding-top: 60px;
        padding-bottom: 64px;
    }

    .aboutus_wrap {
        display: flex;
        justify-content: space-between;
    }

    .aboutus_img_wrap {
        width: 456px;
        background-color: var(--gray);
    }

    .aboutus_img {
        object-fit: contain;
        margin-left: var(--n-margin-width1);
        position: sticky;
        border-radius: 10px;;
        top: 140px;
    }

    .aboutus_msg_wrap {
        min-width: 628px;
        display: flex;
        flex-direction: column;
        gap: 56px;
    }

    .aboutus_vision_sub {
        width: 92px;
        height: 37px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--green);
        color: var(--white);
        border-radius: 5px;
        font-family: var(--font-mincho);
        font-size: 20px;
        letter-spacing: 0.1em;
        font-weight: var(--font-weight__bold);
        margin-bottom: 19px;
        margin-top: 65px;
    }
    
    .m_aboutus_head {
        font-size: 30px;
        font-weight: var(--font-weight__bold);
        font-family: var(--font-mincho);
        color: var(--green);
    }

    .m_aboutus_text {
        font-weight: var(--font-weight__medium);
        letter-spacing: 0.1em;
        line-height: 40px;
        margin-top: 22px;
        color: var(--green);
    }

    @media screen and (max-width: 1024px) {
        .aboutus_wrap {
            display: block;
        }

        .aboutus_img_wrap {
            width: 100%;
            background-color: var(--gray);
        }
        
        .aboutus_img {
            object-fit: cover;
            margin-left: auto;
            margin-right: auto;
            position: static;
            max-height: 350px;
            min-height: 220px;
        }

        .aboutus_msg_wrap {
            margin-top: 20px;
            min-width: auto;
            gap: 50px;
        }
        
        .aboutus_vision_sub {
            width: 79px;
            font-size: 16px;
            margin-top: 50px;
            margin-bottom: 15px;
        }
    
        .m_aboutus_head {
            font-size: 20px;
        }
    
        .m_aboutus_text {
            font-size: 14px;
            letter-spacing: 0.082em;
            line-height: 30px;
            margin-top: 16px;
        }
    }
    @media screen and (max-width: 768px) {
        .m_aboutus_text-pre {
            /* 768px */
            display: block;
            margin-top: 40px;
        }
    }



    /* /////////////////// */
    /*      GREETING      */
    /* ///////////////// */
    .greeting-bg {
        overflow: hidden;
    }

    .greeting-bg_inner {
        background: var(--white);
        border-top-left-radius: 2150px 1318px;
        border-top-right-radius: 2150px 1318px;
        margin-left: -100px;
        margin-right: -100px;
        padding-top: 107px;
        padding-left: 100px;
        padding-right: 100px;
    }

    .aboutus_greeting_mv_wrap {
        margin-top: 40px;
        position: relative;
    }

    .aboutus_greeting_mv_content {
        position: absolute;
        top: 50%;
        left: 23%;
        transform: translate(-50%, -50%);
    }

    .aboutus_greeting_mv_message {
        font-size: 30px;
        font-weight: var(--font-weight__bold);
        letter-spacing: 0.1em;
        line-height: 50px;
        color: var(--white);
    }

    .aboutus_greeting_mv_message-position {
        font-size: 20px;
        font-weight: var(--font-weight__bold);
        letter-spacing: 0.1em;
        color: var(--white);
    }

    .aboutus_greeting_msg {
        margin-top: 53px;
        font-weight: var(--font-weight__bold);
        line-height: 40px;
        text-align: center;
        color: var(--green);
    }

    @media screen and (max-width: 1024px) {
        .greeting-bg_inner {
            border-top-left-radius: 1500px 802px;
            border-top-right-radius: 1500px 802px;
        }
    
        .aboutus_greeting_mv_wrap {
            margin-top: -10px;
            position: static;
        }

        /* .aboutus_greeting_mv {
            aspect-ratio: 318/183;
        } */

        .aboutus_greeting_mv_img {
            /* width: 100%;
            height: 100%; */
            min-height: 183px;
            object-fit: cover;
        }
    
        .aboutus_greeting_mv_content {
            margin-top: 20px;
            position: static;
            transform: translate(0, 0);
        }
    
        .aboutus_greeting_mv_message {
            font-size: 20px;
            line-height: 30px;
            color: var(--black);
        }
    
        .aboutus_greeting_mv_message-position {
            font-size: 14px;
            color: var(--black);
            margin-top: 20px;
        }
    
        .aboutus_greeting_msg {
            margin-top: 20px;
            font-size: 14px;
            line-height: 30px;
            letter-spacing: 0.08em;
            text-align: left;
        }
    }
    @media screen and (max-width: 450px) {
        .greeting-bg_inner {
            border-top-left-radius: 808px 600px;
            border-top-right-radius: 808px 600px;
            padding-top: 72px;
        }
    }


    /* //////////////// */
    /*     COMPANY     */
    /* ////////////// */
    /* .pgrsv_company {
        background-image: url(../img/page/pgtype1-mv__bg.jpg);
        width: 100%;
        height: 390px;
        background-size: cover;
        background-position: bottom;
    } */

    .pgrsv_company {
        background-image: url(../img/page/pgsrv-voices__bg.jpg);
        width: 100%;
        height: 390px;
        background-size: 100% 100%;
        background-position: bottom;
    }

    .aboutus_company_table {
        margin-top: 12px;
        width: 100%;
        color: var(--green);
    }

    .aboutus_company_table-row {
        border-top: 1px solid var(--black2);
        display: flex;
        align-items: center;
    }

    .aboutus_company_table-row:last-child {
        border-bottom: 1px solid var(--black2);
    }

    .aboutus_company_table-head {
        width: 225px;
        text-align: left;
    }

    .aboutus_company_table-data {
        padding: 23px 0;
        line-height: 30px;
    }

    @media screen and (max-width: 1024px) {
        .pgrsv_company {
            height: 111px;
        }

        .aboutus_company_table-row {
            flex-direction: column;
            gap: 14px;
            padding: 25px 0;
            align-items: start;
        }

        .aboutus_company_table-head {
            width: 100%;
            font-size: 14px;
        }

        .aboutus_company_table-data {
            padding: 0;
            font-size: 14px;
            line-height: 25px;
        }
    }


    /* //////////////// */
    /*     HISTORY     */
    /* ////////////// */    
    .aboutus_history {
        padding: 150px 0 120px;
    }

    .aboutus_history_wrap {
        display: grid;
        grid-template-columns: 1fr 532px;
        column-gap: 30px;
    }


    .pgsrv_history {
        background-image: url(../img/page/pgtype1-mv__bg.jpg);
    }

    /* TIMELINE */
    .aboutus_history_timeline_item-wrap {
        /* min-width: 438px; */
    }

    .aboutus_history_timeline-list-item .aboutus_history_timeline_item-wrap {
        position: relative;
        padding: 0 0 38px 25px;
        margin-left: 20px;
        border-left: 1px solid var(--black2);
    }

    .aboutus_history_timeline-list-item-last .aboutus_history_timeline_item-wrap {
        padding: 0 0 0 25px;
    }

    .aboutus_history_timeline-list-item .aboutus_history_timeline_item-wrap::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0px; 
        transform: translate(-50%, -50%);
        width: 18px;
        height: 18px;
        background-color: var(--orange);
        border-radius: 50%;
    }

    .aboutus_history_timeline_date {
        color: var(--orange);
        font-size: 25px;
        font-weight: var(--font-weight__bold);
        transform: translateY(-50%);
    }

    .aboutus_history_timeline_content {
        font-size: 16px;
        font-weight: var(--font-weight__bold);
        line-height: 35px;
        margin-top: 5px;
        transform: translateY(-19px);
        color: var(--green);
    }

    .aboutus_history_timeline_content_span {
        font-weight: var(--font-weight__medium);
    }

    .aboutus_history_img_group {
        display: grid;
        grid-template-rows: 284px 284px 284px;
        grid-template-columns: 252px 252px;
        row-gap: 41px;
        column-gap: 28px;
    }

    .aboutus_history_img_group img {
        border-radius: 10px;
    }

    .aboutus_history_img_01 {
        grid-row: 1/2;
        grid-column: -1/1;
    }
    .aboutus_history_img_02 {
        grid-row: 2/3;
        grid-column: 1/2;
    }
    .aboutus_history_img_03 {
        grid-row: 2/3;
        grid-column: 2/3;
    }
    .aboutus_history_img_04 {
        grid-row: 3/4;
        grid-column: -1/1;
    }

    @media screen and (max-width: 1024px) {
        .aboutus_history {
            padding: 100px 0 66px;
        }
    
        .aboutus_history_wrap {
            grid-template-columns: 100%;
            margin-top: 30px;
        }
    
        /* TIMELINE */
        .aboutus_history_timeline_item-wrap {
            min-width: 100%;
        }
    
        .aboutus_history_timeline-list-item .aboutus_history_timeline_item-wrap {
            padding: 0 0 57px 25px;
            margin-left: auto;
        }

        .aboutus_history_timeline-list-item-last .aboutus_history_timeline_item-wrap {
            padding: 0 0 0 25px;
        }
    
        .aboutus_history_timeline_date {
            font-size: 20px;
        }
    
        .aboutus_history_timeline_content {
            font-size: 14px;
            line-height: 30px;
            letter-spacing: 0.08em;
            margin-top: 0px;
            transform: translateY(0px);
        }
    
        .aboutus_history_img_group {
            margin-top: 84px;
            display: grid;
            grid-template-rows: auto auto auto;
            grid-template-columns: 1fr 1fr;
            row-gap: 24px;
            column-gap: 16px;
        }
    }

    .u-500-cut {
        display: none;
    }

    @media screen and (max-width: 500px) {
        .u-500-cut {
            display: block;
        }
    }



    /* //////////////// */
    /*     TERATO追加    */
    /* //////////////   */
    .m_section#company {
        position: relative;
    }
    
    .aboutus-anime1.anime-type1 {
        top: -170px;
    }
    .aboutus-anime__obj1 {
        width: 614px;
        height: 614px;
        right: -428px;
    }
    
    .aboutus-anime__obj2 {
        width: 614px;
        height: 614px;
        right: -367px;
        top: 98px;
    }

    @media screen and (max-width: 1024px) {
        .aboutus-anime1.anime-type1 {
            top: -54px;
        }
        
        .aboutus-anime__obj1 {
            width: 268px;
            height: 268px;
            right: -186px;
        }
        
        .aboutus-anime__obj2 {
            width: 268px;
            height: 268px;
            right: -160px;
            top: 40px;
        }
    }


    /* //////////////// */
    /*     TERATO追加:暫定追加画像きたら消す    */
    /* //////////////   */
    .aboutus_greeting_mv_content {
        position: unset;
        text-align: center;
        transform: unset;
    }
    
    .aboutus_greeting_mv_message {
        color: var(--green);
    }
    
    .aboutus_greeting_mv_content .aboutus_greeting_mv_message-position {
        display: none;
    }
    
    .aboutus_greeting_mv_message-position {
        display: block;
        color: var(--green);
        text-align: center;
        padding-top: 20px;
    }
    @media screen and (max-width: 1024px) {

    
        .aboutus_greeting_mv_content {
            text-align: left;
        }
        .aboutus_greeting_mv_message-position {
            text-align: left;
            padding-top: 0;
        }
    }
    