@charset "UTF-8";

/* ========================================
   会社案内ページ
   1rem = 16px
   PC基準幅：1920px
======================================== */
body {
    background: #f3f2ed;
    color: #0f1111;
    font-family: "Shippori Mincho", serif;
}

section h2
{
	font-size: 5.5vw;
	font-weight: 400;
	line-height: 2;
    margin-bottom: 3vw;
}

.company-message,
.company-profile {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 5vw;
    width: 100%;
    padding: 5vw 5.5vw;
}


/* ========================================
   代表メッセージ
======================================== */
.company-message { margin-top: 8vw; }

/* メッセージ全体 */
.company-message_body { margin-left: auto; }

/* 各文章のまとまり */
.company-message_section { margin-bottom: 5vw; }

/* 小見出し */
.company-message_heading {
    margin-bottom: .5vw;
    font-size: 4.5vw;
    font-weight: 500;
    line-height: 2;
}

/* 本文 */
.company-message_body p {
    margin-bottom: 1.5vw;
    font-size: 3.5vw;
    line-height: 2.4;
    font-weight: 400;
}

/* 代表者署名 */
.company-message_signature {
    /* margin-top: 3rem; */
    text-align: right;
    font-size: 4vw !important;
}


/* ========================================
   会社概要
======================================== */
.company-table {
    display: grid;
    grid-template-columns: 1fr 2.8fr;
    align-content: start;

    width: 100%;
    margin: 0;
    font-size: 3.5vw;
    line-height: 2;
}

.company-table dt,
.company-table dd {
    display: flex;
    align-items: center;

    min-width: 0;
    margin: 0;
    padding: 1.1rem 0;

    border-bottom: 1px solid #a5a49e;
}

.company-table dt { padding-right: 1rem; }
.company-table dd { overflow-wrap: anywhere; }

/* 最後の項目には下線を付けない */
.company-table dt:nth-last-child(2),
.company-table dd:last-child { border-bottom: none; }


/* ========================================
   アクセス
======================================== */
.company-access {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 5vw;

    width: 100%;
    padding: 5vw 5.5vw 15vw;
}

.company-map {
    width: 100%;
    aspect-ratio: 1 / 1.7;
    overflow: hidden;
}

.company-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.company-address {
    grid-column: 1;
    margin-top: 2vw;
    font-size: 3.5vw;
    line-height: 2.2;
}

.company-address p { margin: 0; }

/* アクセス案内ボタン */
.company-address a {
    display: inline-block;
    margin-top: 1vw;
    padding: 0.7vw 1.5vw;

    border: 1px solid #a5a49e;
    color: inherit;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
}

.company-address a:active {
    background-color: #1e4035;
    color: #fff;
}
