/*　環境に配慮したものづくり
---------------------------------------------------------------------------*/
/* =================================
   Environmental Policy
================================= */

.environmental_policy {
    padding: 0 0 5px;
    background: #fff;
}

.environmental_policy__inner {
    margin: -80px auto 0;
}

/* =================================
   Content
================================= */

.environmental_policy__content {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

/* =================================
   Text
================================= */

.environmental_policy__text {
    flex: 1;
    min-width: 0;
}

.environmental_policy__description {
    margin: 0 0 40px;

    color: #333;
    font-size: 15px;
    line-height: 2;
}

/* =================================
   4 Points
================================= */

.environmental_policy__points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: -20px 0;
}

.environmental_policy__point {
    display: flex;
    align-items: flex-start;
    gap: 16px;

    padding: 15px 0;

    border-bottom: 1px solid #d8d8d8;
}

.environmental_policy__point::before {
    content: "";
    width: 10px;
    height: 10px;
    margin-top: 8px;

    border-radius: 50%;
    background: #000;

    flex-shrink: 0;
}

.environmental_policy__point p {
    margin: 0;

    color: #333;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
}

/* =================================
   Image
================================= */

.environmental_policy__image {
    flex: 0 0 38%;
}

.environmental_policy__image img {
    width: 100%;
    display: block;
}

/* =================================
   Tablet
================================= */

@media (max-width: 1100px) {

    .environmental_policy__inner {
        margin: -40px auto 0;
    }

    .environmental_policy__content {
        gap: 40px;
    }

    .environmental_policy__points {
        margin-bottom: 10px;
    }

}

/* =================================
   Smartphone
================================= */

@media (max-width: 768px) {

    .environmental_policy__inner {
        margin: 0 auto;
    }

    .environmental_policy__content {
        flex-direction: column;
        gap: 30px;
        margin-top: 30px;
    }

    .environmental_policy__text {
        width: 100%;
    }

    .environmental_policy__image {
        width: 100%;
        margin: 0 auto;
    }

    .environmental_policy__description {
        font-size: 13px;
        line-height: 1.9;
    }

    .environmental_policy__points {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 10px;
    }

    .environmental_policy__point {
        padding: 15px;
    }

    .environmental_policy__point p {
        font-size: 13px;
    }

}

/*　基本方針
---------------------------------------------------------------------------*/

.environment_policy__inner {
    margin: 0 auto;
}

/* ==================================================
   項目
================================================== */

.policy_item {
    display: flex;
    gap: 12px;

    padding: 10px 0;
}

/* ==================================================
   番号
================================================== */

.policy_number {
    flex-shrink: 0;

    min-width: 24px;

    color: #0b1830;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

/* ==================================================
   文章
================================================== */

.policy_content {
    flex: 1;
    min-width: 0;
}

.policy_title {
    margin: 0;

    color: #0b1830;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}

.policy_text {
    margin-top: 18px;

    color: #555;
    font-size: 15px;
    line-height: 2;
}

/* ==================================================
   スマホ
================================================== */

@media screen and (max-width: 768px) {

    .policy_item {
        gap: 10px;
        padding: 15px 0;
    }

    .policy_number {
        min-width: 18px;
        font-size: 16px;
    }

    .policy_title {
        font-size: 16px;
    }

    .policy_text {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.9;
    }

}

/*　組織体制図
---------------------------------------------------------------------------*/

/* ==================================================
   マネジメント活動
================================================== */

.management_activity__inner {
    margin: 0 auto;
}

/* ==================================================
   ブロック
================================================== */

.management_block {
    margin-top: 40px;
}

.management_block:first-of-type {
    margin-top: 20px;
}

/* ==================================================
   レイアウト
================================================== */

.management_card {
    display: flex;
    align-items: flex-start;
    gap: 80px;
    margin-top: 30px;
}

/* 左：文章を広く */

.management_card__content {
    flex: 3;
    min-width: 0;
}

/* 右：画像を小さめ */

.management_card__image {
    flex: 1;
}

.management_card__image img {
    width: 100%;
    display: block;

    border: 1px solid #e5e5e5;
}

/* ==================================================
   本文
================================================== */

.management_text {
    margin-top: 24px;

    color: #555;
    font-size: 15px;
    line-height: 2;
}

/* 最初の文章のみ余白を消す */

.management_card__content .management_text:first-of-type {
    margin-top: 0;
}

/* ==================================================
   リンク
================================================== */

.management_link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 30px;

    color: #555;
    text-decoration: none;
    font-size: 15px;
    line-height: 2;

    transition: opacity .3s ease;
}

.management_link:hover {
    opacity: .7;
}

.management_link:hover .management_link__circle {
    transform: translateX(4px);
}

.management_link__text {
    font-size: inherit;
    line-height: inherit;
}

/* ==================================================
   丸矢印
================================================== */

.management_link__circle {
    width: 24px;
    height: 24px;

    border-radius: 50%;
    background: #0b1830;

    position: relative;
    flex-shrink: 0;

    transition: transform .3s ease;
}

.management_link__circle::before {
    content: "";
    position: absolute;

    top: 50%;
    left: 50%;

    width: 5px;
    height: 5px;

    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;

    transform: translate(-60%, -50%) rotate(45deg);
}

/* ==================================================
   PDFアイコン
================================================== */

.pdf_icon {
    width: 18px;
    height: 18px;

    color: #d32f2f;
    flex-shrink: 0;
}

/* ==================================================
   タブレット
================================================== */

@media screen and (max-width: 1000px) {

    .management_card {
        gap: 40px;
    }

}

/* ==================================================
   スマホ
================================================== */

@media screen and (max-width: 768px) {

    .management_block {
        margin-top: 50px;
    }

    .management_card {
        flex-direction: column;
        gap: 30px;
        margin-top: 20px;
    }

    /* スマホでは画像を先に表示 */

    .management_card__image {
        order: -1;
        width: 100%;
        margin: 0 auto;
    }

    .management_card__content {
        width: 100%;
    }

    .management_text {
        margin-top: 18px;

        font-size: 13px;
        line-height: 1.9;
    }

    .management_card__content .management_text:first-of-type {
        margin-top: 0;
    }

    .management_link {
        margin-top: 20px;
        font-size: 13px;
    }

    .management_link__circle {
        width: 18px;
        height: 18px;
    }

    .management_link__circle::before {
        width: 4px;
        height: 4px;
    }

    .pdf_icon {
        width: 16px;
        height: 16px;
    }

}

/*外部認証(表)
---------------------------------------------------------------------------*/

/* =================================
   Profile Table
================================= */

.profile-table {
    width: 100%;
    margin: 35px 0 0;

    border-collapse: collapse;

    font-size: 15px;
    color: #333;

    border: 1px solid #d8d8d8;
}

/* =================================
   Common
================================= */

.profile-table th,
.profile-table td {
    padding: 22px 20px;
    text-align: left;
    vertical-align: middle;
    line-height: 1.8;

    border-bottom: 1px solid #d8d8d8;
}

/* =================================
   Header Cell
================================= */

.profile-table th {
    width: 220px;

    background: #eef4f8;
    color: #0b1830;
    font-weight: 700;

    border-right: 1px solid #d8d8d8;
}

/* =================================
   Data Cell
================================= */

.profile-table td {
    background: #fcfcfc;
}

/* =================================
   Smartphone
================================= */

@media (max-width: 768px) {

    .profile-table {
        width: 100%;
        margin-top: 25px;
        font-size: 12px;
    }

    .profile-table th,
    .profile-table td {
        padding: 12px 10px;
        line-height: 1.6;
    }

    .profile-table th {
        width: 90px;
    }

}