@media screen and (max-width: 1023px) {
    .page-nav {
        padding: 40px 16px 0;
    }

    /* 社長メッセージ */
    /* ----------------------------------- */
    .top-message {
        padding: 60px 0px;
        margin: 0 auto;
        max-width: 532px;
        overflow: hidden;
    }

    /* 画像を除く全セクションの左右に16px適用 */
    .top-message>.section-title,
    .top-message-profile-text,
    .top-message-text {
        padding: 0 16px;
    }

    .top-message-profile-image>img {
        width: 100%;
    }

    .top-message-text {
        margin-top: 24px;
        position: relative;
    }

    .top-message-text-bg {
        position: absolute;
        z-index: -1;
    }

    .top-message-text-bg--01 {
        width: 305px;
        height: 179px;
        right: -80px;
        top: 15.5%;
        transform: rotate(-8deg);
    }

    .top-message-text-bg--02 {
        width: 299px;
        height: 216px;
        top: 52%;
        left: -48px;
    }


    .top-message-text-bg--03 {
        width: 305px;
        height: 179px;
        right: -104px;
        top: 78%;
        transform: rotate(-4deg);
    }

    .top-message-text-bg--04 {
        width: 237.44px;
        height: 92px;
        right: -52px;
        top: 97.5%;
    }

    .top-message-text p {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.04em;
        color: #2E2E2E;
    }

    .top-message-profile-text {
        display: flex;
        gap: 12px;
        align-items: center;
        margin-top: -76px;
    }

    .top-message-profile-text-detail p {
        font-family: "Noto Sans JP";
        font-style: normal;
        line-height: 100%;
        letter-spacing: 0.04em;
        color: #2e2e2e;
    }

    .top-message-profile-text-detail-position {
        font-weight: 400;
        font-size: 14px;
    }

    .top-message-profile-text-detail-name {
        font-weight: 700;
        font-size: 20px;
        margin-top: 8px;
    }


    /* 経営理念 */
    /* ----------------------------------- */
    /* philosophy */
    .philosophy-wrapper>.section-title,
    .history>.section-title,
    .company-profile>.section-title {
        text-align: center;
    }

    .philosophy-wrapper .section-title__title,
    .history .section-title__title,
    .company-profile .section-title__title {
        margin: 6px auto 0;
    }

    .philosophy {
        max-width: 532px;
        margin: 60px auto 0;
        padding: 0 0 60px;
        position: relative;
        overflow: hidden;
    }

    .philosophy-bg {
        position: absolute;
        z-index: -1;
    }

    .philosophy-bg-01 {
        width: 280px;
        height: 221px;
        left: 0;
        top: 5%;
    }

    .philosophy-bg-02 {
        width: 390px;
        height: 227px;
        right: -27%;
        top: 37.8%;
        transform: rotate(-4deg);
    }

    .philosophy-bg-03 {
        width: 359px;
        height: 270px;
        left: 0;
        top: 64.4%;
    }

    .philosophy-content {
        padding: 60px 0 40px;
    }

    .philosophy-content-image {
        width: 100%;
        margin-top: -28px;
        position: relative;
        z-index: -1;
    }

    .philosophy-mission-content,
    .philosophy-vision-content {
        border-top: 1px solid #D9D9D9;
    }

    .philosophy-content-top {
        display: flex;
        gap: 8px;
        padding: 0 16px;
    }

    .philosophy-content-top-text {
        font-family: "Poppins";
        font-style: normal;
        font-weight: 700;
        font-size: 16px;
        line-height: 100%;
        letter-spacing: 0.04em;
        color: #FFA620;
    }

    .philosophy-content-title {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 700;
        font-size: 24px;
        line-height: 180%;
        letter-spacing: 0.04em;
        color: #2E2E2E;
        margin-top: 40px;
        padding: 0 16px;
    }

    .philosophy-content-description {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 200%;
        letter-spacing: 0.04em;
        color: #2e2e2e;
        margin-top: 40px;
        padding: 0 16px;
    }

    .philosophy-content-description+.philosophy-content-description {
        margin-top: 20px;
    }

    /* 沿革・年表 */
    /* ----------------------------------- */
    .history-table {
        background: #f6f6f6;
        margin-top: 40px;
    }

    .history-table-inner {
        max-width: 532px;
        margin: 0 auto;
        padding: 40px 16px 60px;
    }

    .history-table-inner-flow {
        padding-bottom: 60px;
    }

    .history-table-inner-flow-item {
        display: flex;
        align-items: flex-start;
        gap: 16px;
    }

    .history-table-inner-flow-item-head {
        font-family: "Poppins";
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 130%;
        color: #ffa620;
        min-width: 77px;
        margin-top: 4px;
        padding-top: 20px;
    }

    .history-table-inner-flow-item-body {
        min-width: initial;
        padding-bottom: 20px;
        border-bottom: 1px solid #bbbbbb;
        position: relative;
        width: 100%;
    }

    .history-table-inner-flow-item:first-child .history-table-inner-flow-item-body::before {
        content: "";
        position: absolute;
        width: 6px;
        height: 10px;
        background-color: #f6f6f6;
        top: 0;
        left: -40px;
    }

    .history-table-inner-flow-item:last-child .history-table-inner-flow-item-body {
        border-bottom: none;
    }

    .history-table-inner-flow-item-body-wrapper {
        padding-left: 35px;
        border-left: 2px solid #ffa620;
        padding-top: 20px;
        max-width: 400px;
        width: 100%;
    }

    .history-table-inner-flow-item:first-child .history-table-inner-flow-item-body-wrapper {
        padding-top: 0;
    }

    .history-table-inner-flow-item:first-child .history-table-inner-flow-item-head {
        padding-top: 0;
    }

    .history-table-inner-flow-item-body p {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 160%;
        color: #2e2e2e;
    }

    .history-table-inner-flow-item-body p::before {
        content: "";
        display: inline-block;
        width: 8px;
        height: 8px;
        border-radius: 100%;
        background-color: #ffa620;
        margin-left: -40px;
        margin-right: 32px;
        position: relative;
        top: -2px;
    }

    .history-table-inner-flow-item-body img {
        margin-top: 8px;
        width: 100%;
    }

    .history-table-inner-bottom-award,
    .history-table-inner-bottom-certification {
        display: flex;
        align-items: flex-start;
    }

    .history-table-inner-bottom-award-title,
    .history-table-inner-bottom-certification-title {
        display: flex;
        gap: 4px;
    }

    .history-table-inner-bottom-award-title-icon_img {
        width: 17.51px;
        height: 22px;
    }

    .history-table-inner-bottom-award-title-text,
    .history-table-inner-bottom-certification-title-text {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        color: #2e2e2e;
        width: 78px;
    }

    .history-table-inner-bottom-award-content_img {
        max-width: 400px;
        margin-bottom: 8px;
        width: 100%;
    }

    .history-table-inner-bottom-award-content {
        border-top: 1px solid #bbbbbb;
        border-bottom: 1px solid #bbbbbb;
        padding: 20px 0 60px;
    }

    .history-table-inner-bottom-award-content li {
        list-style: initial;
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 180%;
        color: #2e2e2e;
    }

    .history-table-inner-bottom-award-content ol {
        margin-left: 24px;
    }

    .history-table-inner-bottom-certification-content-text {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 180%;
        color: #2e2e2e;
    }

    .history-table-inner-bottom-certification-content-item {
        display: flex;
        align-items: center;
        padding: 20px 0;
        border-bottom: 1px solid #bbbbbb;
    }

    .history-table-inner-bottom-certification-content-text {
        margin-left: 16px;
    }

    .history-table-inner-bottom-certification-1-content_img {
        width: 56.47px;
        height: 60px;
    }

    .history-table-inner-bottom-certification-2-content_img {
        width: 65.08px;
        height: 60px;
    }

    /* 会社情報*/
    /* ----------------------------------- */
    .company-profile {
        padding: 60px 16px;
        max-width: 532px;
        margin: 0 auto;
    }

    .company-profile-list {
        margin-top: 40px;
    }

    .company-profile-list-item {
        padding: 24px 0;
        border-bottom: 1px solid #d9d9d9;
    }

    .company-profile-list-item:first-child {
        border-top: 1px solid #d9d9d9;
    }

    .company-profile-list-item p {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-size: 16px;
        line-height: 160%;
        color: #2E2E2E;
    }

    .company-profile-list-item-head {
        font-weight: 700;
    }

    .company-profile-list-item-body {
        font-weight: 400;
        margin-top: 16px;
    }

    .company-profile-list-item-body p+p {
        margin-top: 10px;
    }

    .company-profile-list-item-body img {
        width: 80px;
        height: auto;
    }

    .company-profile-list-item-body span {
        font-weight: 700;
    }

    .company-profile-list-item-link {
        color: #FFA620;
    }

    .flex-image {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
}

@media screen and (min-width: 1024px) {
    .page-wrapper {
        position: relative;
        overflow: hidden;
    }

    .page-asirai-top {
        position: absolute;
        top: 27px;
        left: 50%;
        transform: translateX(39.5%);
    }

    /* 社長メッセージ */
    /* ----------------------------------- */
    .top-message {
        padding: 80px 0;
        position: relative;
        overflow: hidden;
    }

    .top-message-asirai-top {
        position: absolute;
        top: 275px;
        left: 50%;
        transform: translateX(-212.5%);
    }

    .top-message-asirai-bottom {
        position: absolute;
        bottom: 185px;
        left: 50%;
        transform: translateX(-237%);
    }

    .top-message-asirai-right {
        position: absolute;
        bottom: 134px;
        left: 50%;
        transform: translateX(39.5%);
    }

    .top-message .section-title,
    .philosophy .section-title {
        max-width: 1112px;
        margin: 0 auto;
        padding: 0 16px;
    }

    .top-message .section-title {
        margin-bottom: 80px;
    }

    .top-message-profile-image {
        position: relative;
        z-index: 10;
    }

    .top-message-profile-image_img {
        width: 452px;
    }

    .top-message-profile {
        position: relative;
    }

    .top-message-content {
        display: flex;
        gap: 40px;
        max-width: 1112px;
        margin: 0 auto;
        padding: 0 16px;
    }

    .top-message-text {
        position: relative;
        z-index: 10;
    }

    .top-message-text p {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.04em;
        color: #000000;
    }

    .top-message-profile-asirai-mid {
        position: absolute;
        top: 325px;
        left: 117px;
    }

    .top-message-profile-text {
        display: flex;
        gap: 12px;
        align-items: center;
        position: absolute;
        top: 545px;
        right: 0;
    }

    .top-message-profile-text-detail p {
        font-family: "Noto Sans JP";
        font-style: normal;
        line-height: 100%;
        letter-spacing: 0.04em;
        color: #2e2e2e;
    }

    .top-message-profile-text-detail-position {
        font-weight: 400;
        font-size: 18px;
    }

    .top-message-profile-text-detail-name {
        font-weight: 700;
        font-size: 24px;
        margin-top: 8px;
    }

    /* 経営理念 */
    /* ----------------------------------- */
    .philosophy {
        padding: 80px 0 0;
    }

    .philosophy-wrapper {
        position: relative;
    }

    .philosophy-purpose-content,
    .philosophy-mission-content,
    .philosophy-vision-content {
        max-width: 1080px;
        margin: 0 auto;
    }

    .philosophy-purpose-wrapper,
    .philosophy-mission-wrapper,
    .philosophy-vision-wrapper {
        padding: 0 16px;
    }

    .philosophy-content {
        width: 433px;
        position: relative;
    }

    .philosophy-content-top {
        display: flex;
    }

    .philosophy-content-top-text {
        font-family: "Poppins";
        font-style: normal;
        font-weight: 700;
        font-size: 16px;
        line-height: 100%;
        letter-spacing: 0.04em;
        color: #f9bf11;
        margin-left: 8px;
    }

    .philosophy-content-title {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 700;
        font-size: 32px;
        line-height: 180%;
        letter-spacing: 0.04em;
        color: #2e2e2e;
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .philosophy-content-description {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 200%;
        letter-spacing: 0.04em;
        color: #2e2e2e;
    }

    .philosophy-content-description+.philosophy-content-description {
        margin-top: 20px;
    }

    .philosophy-purpose-wrapper {
        padding-top: 160px;
        position: relative;
        overflow: hidden;
        margin-bottom: 62px;
    }

    .philosophy-purpose-image {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-4%);
    }

    .philosophy-purpose-asirai-left {
        position: absolute;
        top: 297px;
        left: 50%;
        transform: translateX(-191.5%);
    }

    .philosophy-purpose-content {
        padding-bottom: 120px;
        border-bottom: 1px solid #d9d9d9;
    }

    .philosophy-mission-wrapper {
        padding-top: 58px;
        position: relative;
        overflow: hidden;
        padding-bottom: 48px;
    }

    .philosophy-mission-image {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-99.5%);
    }

    .philosophy-mission-asirai-right {
        position: absolute;
        top: 260px;
        left: 50%;
        transform: translateX(52.5%);
    }

    .philosophy-mission-content {
        padding-bottom: 220px;
        border-bottom: 1px solid #d9d9d9;
        display: flex;
        justify-content: flex-end;
    }

    .philosophy-mission-content .philosophy-content {
        width: 466px;
    }

    .philosophy-vision-wrapper {
        padding-top: 162px;
        position: relative;
        overflow: hidden;
        margin-bottom: 65px;
        margin-top: -48px;
    }

    .philosophy-vision-asirai-left {
        position: absolute;
        bottom: 6px;
        left: 50%;
        transform: translateX(-67.5%);
    }

    .philosophy-vision-image {
        position: absolute;
        bottom: 72px;
        left: 50%;
        transform: translateX(-4%);
    }

    /* 沿革・年表 */
    /* ----------------------------------- */
    .history {
        padding: 135px 0;
        position: relative;
    }

    .history-asirai-top {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(598%);
    }

    .history .section-title {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
    }

    .history-description {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
        margin-top: 60px;
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        letter-spacing: 0.04em;
        color: #000000;
    }

    .history-table {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
        background: #f6f6f6;
        margin-top: 60px;
    }

    .history-table-inner {
        max-width: 800px;
        margin: 0 auto;
        padding: 60px 0;
    }

    .history-table-inner-flow {
        padding-bottom: 60px;
    }

    .history-table-inner-flow-item {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .history-table-inner-flow-item-head {
        font-family: "Poppins";
        font-style: normal;
        font-weight: 500;
        font-size: 20px;
        line-height: 100%;
        color: #ffa620;
        min-width: 77px;
        margin-top: 4px;
        padding-top: 20px;
    }

    .history-table-inner-flow-item-body {
        min-width: 651px;
        padding-bottom: 20px;
        border-bottom: 1px solid #bbbbbb;
        position: relative;
    }

    .history-table-inner-flow-item:first-child .history-table-inner-flow-item-body::before {
        content: "";
        position: absolute;
        width: 6px;
        height: 10px;
        background-color: #f6f6f6;
        top: 0;
        left: -40px;
    }

    .history-table-inner-flow-item:last-child .history-table-inner-flow-item-body {
        border-bottom: none;
    }

    .history-table-inner-flow-item-body-wrapper {
        padding-left: 35px;
        border-left: 2px solid #ffa620;
        padding-top: 20px;
    }

    .history-table-inner-flow-item:first-child .history-table-inner-flow-item-body-wrapper {
        padding-top: 0;
    }

    .history-table-inner-flow-item:first-child .history-table-inner-flow-item-head {
        padding-top: 0;
    }

    .history-table-inner-flow-item-body p {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 160%;
        color: #2e2e2e;
    }

    .history-table-inner-flow-item-body p::before {
        content: "";
        display: inline-block;
        width: 8px;
        height: 8px;
        border-radius: 100%;
        background-color: #ffa620;
        margin-left: -40px;
        margin-right: 32px;
        position: relative;
        top: -2px;
    }

    .history-table-inner-flow-item-body img {
        margin-top: 8px;
        width: 400px;
        height: auto;
    }

    .history-table-inner-bottom-award,
    .history-table-inner-bottom-certification {
        display: flex;
        align-items: flex-start;
    }

    .history-table-inner-bottom-award-title,
    .history-table-inner-bottom-certification-title {
        display: flex;
    }

    .history-table-inner-bottom-award-title-icon_img {
        width: 17.51px;
        height: 22px;
    }

    .history-table-inner-bottom-award-title-text,
    .history-table-inner-bottom-certification-title-text {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 700;
        font-size: 20px;
        line-height: 100%;
        color: #2e2e2e;
        width: 78px;
    }

    .history-table-inner-bottom-award-content_img {
        max-width: 400px;
        margin-bottom: 8px;
    }

    .history-table-inner-bottom-award-content {
        border-top: 1px solid #bbbbbb;
        border-bottom: 1px solid #bbbbbb;
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .history-table-inner-bottom-award-content li {
        list-style: initial;
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #2e2e2e;
    }

    .history-table-inner-bottom-award-content ol {
        margin-left: 24px;
    }

    .history-table-inner-bottom-certification-content-item {
        display: flex;
        align-items: center;
        padding: 20px 0;
        border-bottom: 1px solid #bbbbbb;
    }

    .history-table-inner-bottom-certification-content-text {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 180%;
        color: #2e2e2e;
    }

    .history-table-inner-bottom-certification-content-text {
        margin-left: 20px;
    }

    .history-table-inner-bottom-certification-1-content_img {
        width: 56.47px;
        height: 60px;
    }

    .history-table-inner-bottom-certification-2-content_img {
        width: 65.08px;
        height: 60px;
    }

    /* 会社情報*/
    /* ----------------------------------- */
    .company-profile {
        padding: 80px 0;
        max-width: 980px;
        margin: 0 auto;
    }

    .company-profile-list {
        margin-top: 60px;
    }

    .company-profile-list-item {
        display: flex;
        gap: 40px;
        align-items: flex-start;
        padding: 16px 0;
        border-bottom: 1px solid #d9d9d9;
    }

    .company-profile-list-item:first-child {
        border-top: 1px solid #d9d9d9;
    }

    .company-profile-list-item p {
        font-family: "Noto Sans JP";
        font-style: normal;
        font-size: 16px;
        line-height: 160%;
        color: #2e2e2e;
    }

    .company-profile-list-item-head {
        font-weight: 700;
        min-width: 180px;
    }

    .company-profile-list-item-body {
        font-weight: 400;
        min-width: 760px;
    }

    .company-profile-list-item-body p+p {
        margin-top: 10px;
    }

    .company-profile-list-item-body img {
        width: 72px;
        height: auto;
    }

    .company-profile-list-item-body span {
        font-weight: 700;
    }

    .company-profile-list-item-link {
        color: #FFA620;
    }

    .flex-image {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
}