@charset "UTF-8";

/* ==============================
法人概要
============================== */
.pagetitle_wrap {
    background: url(../img/company_img/pagetitle_bg.jpg) center center no-repeat;
    background-size: cover;
}

/*経営理念-------------------*/
.philosophy {
    font-size: var(--font-xl);
    margin-bottom: 40px;
    font-weight: 900;
    color: var(--maincolor);
}

.policy_list {
    text-align: left;

    &>li {
        position: relative;
        padding-left: 2em;
        font-size: var(--font-l);

        &::before {
            font-family: 'Material Symbols Outlined';
            font-weight: normal;
            font-style: normal;
            line-height: 1;
            display: inline-block;
            content: "\e123";
            color: var(--maincolor);
            font-size: 1.4em;
            position: absolute;
            inset: 0.1em auto auto 0;
        }

        &+li {
            margin-top: 0.5em;
            padding-top: 0.5em;
            border-top: 2px dotted var(--subcolor);

            &::before {
                inset: 0.5em auto auto 0;
            }
        }
    }
}

/*代表挨拶-------------------*/
.greeting_box {
    background: var(--bg-white);
    border-radius: var(--base-radius);
    padding: 18px;

    .cts_p {
        line-height: 2;
    }

    .name {
        text-align: right;
        margin-top: 30px;

        .s_em {
            display: inline-block;
            margin-right: 1em;
        }
    }

    @media (width>=768px) {
        padding: 40px;
    }
}


/*法人概要-------------------*/


/*アクセスマップ-------------------*/
.gmap {
    border-radius: var(--base-radius);
    overflow: hidden;
}

/*沿革-------------------*/
.history_table {
    text-align: left;
    position: relative;
    z-index: 2;

    :is(th) {
        white-space: nowrap;
    }

    &::before {
        content: "";
        width: 2px;
        height: calc(100% - 2em);
        display: block;
        background: var(--subcolor);
        position: absolute;
        z-index: -1;
        left: 1em;
        top: 1em;
    }

    .year {
        font-size: 1.5em;
        color: var(--maincolor);
        font-weight: 900;
        padding-right: 8px;
        vertical-align: top;

        &::after {
            content: "年";
            font-size: 0.6em;
            font-weight: 500;
            display: inline-block;
            margin-left: 0.1em;
        }

        .year_num {
            background: var(--bg-white);
            position: relative;
            z-index: 10;
        }
    }

    .month {
        text-align: right;
        font-size: 1.2em;
        font-weight: 900;
        padding-right: 0.5em;
        vertical-align: top;
        color: #55b651;

        &::after {
            content: "月";
            font-size: 0.8em;
            font-weight: 500;
            margin-left: 0.1em;
        }
    }

    .month {
        padding-block: 0.3em;
    }

    :is(td) {
        padding-top: 0.5em;
        padding-bottom: 2em;
    }

    :is(tr):has(.year) {
        .month {
            padding-top: 0.2em;
        }

        :is(td) {
            padding-top: 0.5em;
            padding-bottom: 0.5em;
        }
    }

    @media (width >=768px) {
        &::before {
            left: 2em;
        }
        .year {
            font-size: 2em;
        }

        .month {
            padding-right: 1em;
            padding-block: 0.5em;
        }

        :is(td) {
            padding-top: 0.9em;
            padding-bottom: 2em;
        }

        :is(tr):has(.year) {
            .month {
                padding-top: 0.7em;
            }

            :is(td) {
                padding-top: 0.9em;
                padding-bottom: 0.5em;
            }
        }
    }
}