/* ==========================================================================
   2カラム（ブロックエディタ）
   ========================================================================== */
.mt-be-columns {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1042px;
    padding: 60px 24px;
    margin: 0 auto;
}

/* 左カラム：.review__info 相当 */
.mt-be-columns .mt-be-column:first-child {
    display: flex;
    flex-direction: column;
    flex: 0 0 48%;
    width: 48%;
}

.mt-be-columns .mt-be-column:first-child p {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.8em;
    letter-spacing: .04em;
}

/* 右カラム：.review__img 相当 */
.mt-be-columns .mt-be-column:last-child {
    flex: 0 0 50%;
    width: 50%;
    max-width: 586px;
}

.mt-be-columns .mt-be-column:last-child p {
    margin: 0;
}

.mt-be-columns .mt-be-column:last-child img {
    border-radius: 8px;
}

/* カラム内の p は余白なし（.page-content p:not([class]) の padding を打ち消し） */
.mt-be-columns .mt-be-column p {
    padding: 0;
}

/* ==========================================================================
   見出し h2（class なし）
   ========================================================================== */
.page-content h2:not([class]) {
    width: 100%;
    max-width: 1042px;
    padding: 60px 24px 0;
    margin: 0 auto;
    color: #000;
    font-size: 3.2rem;
    line-height: 1.2em;
    letter-spacing: .04em;
    font-weight: bold;
}

/* ==========================================================================
   本文 p（class なし）
   ========================================================================== */
.page-content p:not([class]):not(ul > *):not(:where(.faq__lst *)) :not(:where(.plan-lst *)) {
    width: 100%;
    max-width: 1042px;
    padding: 0 24px;
    margin: 16px auto 0;
    font-size: 1.6rem;
    line-height: 1.8em;
}

/* ==========================================================================
   画像（ブロックエディタ挿入）
   ========================================================================== */
.page-content img.asset-image {
    box-sizing: border-box;
    width: 80%;
    padding: 0 24px;
    margin: 0 auto;
    border-radius: 8px;
}

/* 2カラム内の画像 */
.page-content .mt-be-column img.asset-image {
    width: 100%;
    padding: 0;
    aspect-ratio: 16 / 9;
}

/* ==========================================================================
   表（class なし）
   ========================================================================== */
.page-content table:not([class]) {
    box-sizing: border-box;
    width: calc(100% - 75px) !important; /* インライン width の上書き */
    max-width: 1042px;
    padding: 0 24px;
    margin: 30px auto 100px;
    table-layout: fixed;
    border-collapse: collapse;
    border: 0;
    box-shadow: 0 6px 20px rgba(89, 89, 87, 0.25);
}

/* colgroup のインライン幅を上書き（25% / 75%） */
.page-content table:not([class]) col:first-child {
    width: 25% !important;
}

.page-content table:not([class]) col:last-child {
    width: 75% !important;
}

.page-content table:not([class]) tr {
    border-top: 1px solid #b3b3b4;
}

/* border="1" 属性による枠線を打ち消し */
.page-content table:not([class]) td {
    border: 0;
    padding: 16px 20px 15px;
    font-size: 1.4rem;
    line-height: 1.8em;
    letter-spacing: .04em;
    color: #000;
    vertical-align: top;
}

/* 左列 = dt */
.page-content table:not([class]) td:first-child {
    font-weight: bold;
    background-color: #f0f0f0;
}

/* 1行目 = dl:first-child */
.page-content table:not([class]) tr:first-child td:first-child {
    background-color: #595757;
    color: #fff;
}

.page-content table:not([class]) tr:first-child td:last-child {
    background-color: #F8F8F8;
    color: #595757;
    font-weight: bold;
}

/* ==========================================================================
   画像リンク（CTAバナー等）
   ========================================================================== */
/* 下線アニメーション（::after）を無効化 */
.cms-content a:has(> img)::after,
.cms-content a:has(> img):hover::after {
    content: none;
    width: 0;
}

.cms-content a:has(> img.asset-image) {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
}

.cms-content a:has(> img.asset-image) img {
    display: block;
    border-radius: 8px;
    transition: transform 0.5s ease-in;
}

.cms-content a:has(> img.asset-image):hover img {
    transform: scale(1.05);
}

/* 横スクロール防止（任意） */
.cms-content {
    overflow-x: clip;
}

/* ==========================================================================
   SP
   ========================================================================== */
@media screen and (max-width: 767px) {
    .mt-be-columns {
        flex-direction: column !important; /* インラインstyleとの競合回避 */
    }

    .mt-be-columns .mt-be-column:first-child,
    .mt-be-columns .mt-be-column:last-child {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }
}

.hue-movie-sec .iframe-wrap {
    border-radius: 8px;
    overflow: hidden;
    isolation: isolate;
}

.hue-movie-sec .iframe-wrap iframe {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}

.page-content ul:not([class]) {
    max-width: 1042px;
    padding: 0 30px;
    margin: 16px auto 0;
    font-size: 1.6rem;
    line-height: 1.8em;
    list-style: disc inside;
}

.plan-lst.plan-lst-3 p {
    padding: 0;
}
