/* 共通 */

.flex{ display: flex; }

/* 代表メッセージ */

.message section div{ margin-bottom: 40px; text-align: left; }

.message .flex{ gap: 32px; }

.message .flex,.message .flex .txt,.message .flex .img{ margin-bottom: 0; }

.message h2{ margin: 40px auto 64px; font-size: 24px; font-weight: 600; text-align: center; }

.message h3{ margin: 72px auto 40px; font-size: 20px; font-weight: 600; text-align: center; }

.message p{ line-height: 2.4; }

.message strong{ font-size: 1.2em; }

.message .flex p:last-child{ margin-top: 40px; }

.message .name{ margin-top: 24px; text-align: right; }

/* 会社概要 */
.about table{ margin: 0 auto; border-collapse: separate; border-spacing: 24px; }

.about table th{ padding-right: 32px; }

.about h2{ margin: 112px auto 56px; font-size: 28px; }

.about .flex{ justify-content: space-around; }

.about li{ width: 47%; }

.about li h3{ margin-bottom: 24px; font-size: 20px; }

.about li iframe{ width: 100%; height: 320px; }

@media (max-width: 979px) {

    .about h2{ margin: 13.867vw auto 10.667vw; font-size: 7.467vw; }

    .about table tr,.about .flex{ display: flex; flex-direction: column; }

    .about table tr{ margin-bottom: 6.4vw; }

    .about table th{ padding-right: 0; margin-bottom: 1.067vw; }

    .about table th{ font-size: 4.267vw; }

    .about .flex{ gap: 12.8vw; }

    .about .flex li{ width: 100%; }

    .message section div{ margin-bottom: 5.333vw; }
    
    .message h2{ margin: 5.333vw auto; font-size: 4.8vw; line-height: 2; }

    .message h3{ margin: 5.333vw auto 4.267vw; font-size: 4.267vw; line-height: 2; }

    .message p{ line-height: 2.2; }

    .message .flex{ flex-direction: column-reverse; gap: 0; }

}