.page .page-2columns {
    margin: 4em auto;
    padding: 0 2vw;
}

@media screen and (max-width:767px) {
    .page .page-2columns {
        padding: 0;
    }
}

.page .page-2columns .left-box {
    padding-right: 4em;
    border-right: 1px solid var(--main_subcolor);
}

@media screen and (max-width:767px) {
    .page .page-2columns .left-box {
        padding-right: 0;
        border-right: none;
    }
}

.page .page-2columns .left-box .main-title {
    font-size: 3.5rem;
    line-height: 1;
    margin: 0 0 1em;
}

.page .page-2columns .left-box .main-title .en {
    font-weight: 200;
}

.page .page-2columns .left-box .lead {
    line-height: 2;
    margin-bottom: 1em;
}

.page .right-box {
    padding-left: 4em;
}

@media screen and (max-width:767px) {
    .page .right-box {
        padding-left: 0;
    }
}

.page .about-table table {
    margin: 0 auto;
    line-height: 1.8;
}

.page .about-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.page .about-table.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
    padding: 1.5em 0;
    border-bottom: 1px solid var(--main_subcolor) !important;
    vertical-align: top;
}


/* page company */
:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp {
    max-width: 800px;
}

:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp h2 {
    font-size: min(1.2em, 3.6vw);
    line-height: 1.4;
    margin-top: 2em;
}

:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp h3 {
    font-size: min(1em, 3.5vw);
    line-height: 1.4;
    margin-top: 2em;
}

:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp p,
:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp li {
    font-size: min(.9em, 3.3vw);
    line-height: 1.8;
    font-weight: 300;
}


:where(.page-company, .page-terms, .page-privacy-policy, .page-law, .page-contact, .page-brand) .index-wrp .title {
    text-align: center;
    padding: 1em 0;
}

:where(.page-contact, .page-brand) .index-wrp .title {
    font-family: var(--en);
    font-weight: 300;
}

:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp .wp-block-table td {
    padding: 1.5em 1em;
    font-size: min(.9em, 3.3vw);
    line-height: 1.8;
    font-weight: 300;
}

:where(.page-company, .page-terms, .page-privacy-policy, .page-law) .index-wrp .wp-block-table td:first-child {
    width: 25%;
    padding-left: 0;
}

/* page brand */

.about-hd {
    padding: 0;
    font-size: min(4em, 6vw);
    font-weight: 200;
    margin-top: 0;
}

:where(.page-brand) .index-wrp .title {
    margin-bottom: .25em;
    padding-bottom: 0;
}

.brand-content-wrp {
    max-width: 100%;
    margin: 3em auto;
    padding: 1em;
}

.brand-lead-wrp {
    max-width: 740px;
    margin: 1em auto;
    padding: 1em;
}

@media screen and (max-width:767px) {
    .brand-lead-wrp {
        padding: 0;
    }
}

.brand-content-wrp .lead {
    font-size: min(1.1em, 5vw);
    line-height: 1.8;
}

.brand-lead-wrp p {
    font-size: min(.95em, 3.5vw);
    line-height: 2.7;
    text-align: justify;
}

.brand-concept {
    font-size: min(1.05em, 4vw);
    line-height: 1.6;
    gap: 1.5em;
    margin: 3em auto;
    max-width: 100%;
}

.brand-concept .concept-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    font-family: var(--en);
    width: 8em;
    height: 8em;
    border-radius: 100%;
    border: 1px solid #ccc;
}

@media screen and (max-width:767px) {
    .brand-concept .concept-box {
        font-size: 3vw;
    }
}

.brand-concept .concept-title {
    display: inline-block;
    font-weight: 300;
}

.brand-concept .concept-title .sml {
    display: block;
}

.about-video {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.about-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}