/* ==========================================================================
   料金プラン（price-lp）最終完全版
   ========================================================================== */

.price-lp {
    color: #333;
    line-height: 1.8;
    font-size: 1.6rem;
    padding-top: 80px; /* h1見出しとの干渉回避 */
}

.lp-inner {
    max-width: 970px;
    margin: 0 auto;
    padding: 0 20px;
}

.lp-full-bg {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    position: relative;
    padding: 50px 0;
}

/* 導入メッセージ */
.lp-intro-header {
    background-color: #f4f7f9;
    background-image: url(https://school.curious-world.co.jp/wp-content/uploads/2026/02/PXL_20220507_042223435.png);
    padding: 80px 0;
    margin-bottom: 60px;
    text-align: center;
}

.lp-main-catch {
    font-size: 2.4rem;
    font-weight: 900;
    color: #004a99;
    line-height: 1.5;
    margin-bottom: 30px;
}

/* 各見出し */
.lp-sec-title {
    font-size: 2.6rem;
    color: #004a99;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 900;
}

.lp-sub-headline {
    font-size: 2.2rem;
    color: #004a99;
    margin: 80px 0 40px;
    font-weight: 900;
    text-align: center;
}

/* 料金表 */
.lp-price-table-clean {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #fff;
}
.lp-price-table-clean th {
    background-color: #004a99;
    color: #fff;
    padding: 20px;
    text-align: left;
}
.lp-price-table-clean td {
    padding: 20px;
    font-weight: bold;
    border-bottom: 1px solid #eee;
}
.lp-price-table-clean tr:nth-child(even) td {
    background-color: #f8fafc;
}
.lp-price-table-clean .price-val {
    color: #ff8c00;
    text-align: right;
    font-size: 1.8rem;
    font-weight: 900;
}

/* グリッドカード */
.lp-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.lp-grid-item {
    flex: 1;
    min-width: calc(50% - 10px);
    background: #f4f7f9;
    padding: 40px;
}
.lp-grid-item h4 {
    font-size: 1.8rem;
    color: #004a99;
    margin-bottom: 15px;
    font-weight: 900;
}

/* ボタン */
.lp-cta-btn {
    display: inline-block;
    background: #ff8c00;
    color: #fff !important;
    padding: 25px 80px;
    font-weight: 900;
    font-size: 1.8rem;
    text-decoration: none;
}

@media (max-width: 767px) {
    .lp-main-catch { font-size: 1.8rem; }
    .lp-price-table-clean th, .lp-price-table-clean td { display: block; width: 100%; text-align: left !important; }
    .lp-grid-item { min-width: 100%; }
}