html {
    scroll-padding-top: 165px;
}

.h-200 {
    height: 200px;
}

input[type="checkbox"] {
    width: auto !important;
}

/*---------- TOP 20240612------------*/
.SummerLp2024 {
    display: flex;
    justify-content: space-between;
    gap: 0 20px;
}

@media screen and (max-width: 767px) {
    .SummerLp2024 {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/*---------- CP（固定） 20240610------------*/
div#page-cp {
    max-width: 1085px;
    margin-inline: auto;
}

header.cpHeader {
    background: #eceff3;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-block-end: 32px;
    position: inherit;
    width: auto;
}

header.cpHeader a {
    color: #0068b7;
    text-decoration: underline;
    line-height: 1.5;
}

.header-inner {
    max-width: 1085px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
    margin-inline: auto;
    padding-block: 30px;
}

.header-inner h1 {
    font-size: 50px;
    line-height: 1;
    margin-bottom: 20px;
}

.cpNav {
    margin-bottom: 20px;
}

.navTitle {
    font-size: 18px;
    font-weight: bold;
}

.navTitle-sub {
    font-weight: bold;
}

section.cp-content,
.cp-form-head {
    background: #0068b7;
    color: #fff;
    padding: 30px;
    margin-block-end: 40px;
}

.cp-content:nth-last-of-type(2) {
    margin-bottom: 80px
}

.cpTitle-wrap {
    display: flex;
    gap: 20px;
    margin-block-end: 20px;
}

.cpTitle {
    display: flex;
    flex-direction: column;
    align-self: center;
    justify-self: center;
    gap: 10px;
    font-weight: bold;
}

.cpTitle h3 {
    margin-bottom: 0 !important;
}

.cpTitle-head {
    color: yellow;
    font-size: 1.6rem;
}

.cpTitle-icon-y {
    background: #fff100;
    color: #0068b7;
    padding: 10px;
    border-radius: 10px;
    font-weight: bold;
    text-align: center;
}

.cpTitle-icon-b {
    background: #9494c8;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    font-weight: bold;
    text-align: center;
}

h2.cpTitle-main {
    font-size: 40px;
    line-height: 1.2;
}

.cpTitle-sub {
    font-size: 22px;
}

.cpPoint {
    line-height: 1.8;
    margin-block-end: 20px;
}

.cpPoint dt,
.cpPoint dd {
    display: inline-block;
}

.cpPoint dt {
    min-width: 10em;
}

.cpLead,
.cpMain {
    background: #fff;
    color: initial;
    margin-block-end: 20px;
    padding: 20px;
    line-height: 2;
}

.cp-school {
    color: #960707;
    font-weight: bold;
}

.goForm {
    text-align: center;
}

.goForm a {
    background: #e70013;
    color: #fff;
    padding: 20px 40px;
    font-size: 24px;
    font-weight: bold;
    display: inline-block;
    border-radius: 5px;
}

.cpInfo table {
    border-collapse: collapse;
    width: 100%;
    text-align: center;
}

.cpInfo table td {
    border: 1px solid;
    padding: 10px;
}

.cpMain-info dl {
    display: flex;
}

.cpMain-info dt,
.cpMain-info dd {
    display: inline-block;
}

.cpMain-info dt {
    min-width: 6em;
    font-weight: bold;
    vertical-align: top;
}

.cp-form-head {
    padding-inline: 0;
    padding-top: 30px;
    padding-bottom: 0;
    margin-top: 0;
    border-radius: 50px;
}

.cp-form-lead {
    max-width: 500px;
    text-align: left;
    margin: 0 auto;
    line-height: 1.5;
}

.cp-form-title {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.cp-form-head {
    padding-inline: 20px;
    padding-block: 30px;
    margin-top: 0;
    border-radius: 50px 50px 0 0;
    max-width: 1085px;
    margin: 0 auto;
}

.cp-form-bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #eceff3;
    padding-block: 60px;
}

.cp-form-main {
    max-width: 1085px;
    margin: 0 auto;
    background: #fff;
    padding: 20px;
    color: initial;
    border-radius: 0 0 50px 50px;
}

@media screen and (min-width: 768px) {

    .cpTitle-icon-y,
    .cpTitle-icon-b {
        /*     width: 82px;
    height: 82px; */
        font-size: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1.5;
    }
}

@media screen and (max-width: 1085px) {

    div#page-cp,
    .header-inner {
        padding-inline: 15px;
    }

    .cpTitle-icon-y,
    .cpTitle-icon-b {
        font-size: 16px;
        min-width: 8rem;
    }
}

@media screen and (max-width: 767px) {
    .cpTitle-icon-b .sp {
        display: inline !important;
    }

    div#page-cp {
        padding-inline: 0;
    }

    /* 	div#page-cp, .header-inner {
    gap: 0;
} */

    header.cpHeader {
        margin-block-end: 0;

    }

    .header-inner h1 {
        font-size: 26px;
    }

    .cpNav-wrap {
        font-size: 14px;
        line-height: 1.8;
    }

    .cpNav {
        margin-bottom: 10px;
    }

    section.cp-content {
        padding: 20px;
    }

    h2.cpTitle-main {
        font-size: 24px;
    }

    .cpTitle-sub {
        font-size: 14px;
    }

    .cpTitle-icon-y,
    .cpTitle-icon-b {
        width: 100%;
        font-size: 24px;
    }

    .cpPoint dt,
    .cpPoint dd {
        display: block;
    }

    .cpPoint dd {
        text-indent: 1em;
    }

    .cpInfo table td {
        width: 25% !important;
        display: inline-block;
        margin-left: -1px;
        margin-bottom: -1px;
        font-size: 14px;
    }

    .cpInfo table tr:last-of-type td {
        width: calc(100% - 3px) !important;
        font-size: 14px;
    }

    .cpMain-info dt,
    .cpMain-info dd {
        display: block;
    }

    .cpLead,
    .cpMain {
        line-height: 1.5;
    }

    .cpMain-info dl {
        margin-bottom: 15px;
    }

    .cp-form-bg {
        background: none;
        padding-block: 0;
    }

    .cp-form-main {
        padding-inline: 0;
    }

    .cp-form-head {
        border-radius: 0;
    }

    .cpTitle-wrap {
        flex-wrap: wrap;
    }

}

/*---------- CP（投稿） 20240825------------*/
p.line-through {
    text-decoration: line-through;
    text-decoration-color: red;
}

/*---------- フォーム（教室TEL） 20241004------------*/
.schoolTel-wrap {
    display: flex;
    justify-content: center;
    gap: 100px;
    padding-inline: 20px;
}

.schoolTel-wrap p.school {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
}

.shoolTel-child {
    margin-bottom: 20px;
}

.shoolTel-child .access__bottom--tel {
    text-align: left;
}

@media screen and (max-width: 767px) {
    .schoolTel-wrap {
        gap: 20px;
    }
}

/* CF7チェックボックスとラジオボタンを縦並びに */
span.wpcf7-form-control-wrap[data-name=course] span.wpcf7-list-item {
    margin-top: 5px;
    display: block;
}

/*----------------------------------------------------------------------------------------------------
CP目的別少人数クラス指導（固定共通） 20251108
----------------------------------------------------------------------------------------------------*/
.Cp {
    max-width: 100% !important;

    @media screen and (max-width:767px) {
        margin-inline: calc(50% - 50vw) !important;
        max-width: initial !important;
    }

    .cp-content {
        padding-inline: 10px;
        padding-block: 0;
        margin-block-end: 0;

        &:nth-last-of-type(2) {
            margin-bottom: 0;
            padding-bottom: 10px;
        }

        @media screen and (max-width:968px) {
            padding-inline: 0;
        }
    }

    .CpHeader {
        padding-block: 40px;
        padding-inline: 20px;

        .Cpheader-inner {
            color: #fff;
            max-width: 900px;
            width: 100%;
            margin: 0 auto;

            h1 {
                font-size: clamp(1.75rem, 1.613rem + 0.53vw, 2.25rem);
                line-height: 1;
            }
        }
    }

    .cp-content-inner {
        background-color: #b3d3ef;
        padding-inline: 20px;
        padding-block: clamp(0.625rem, 0.281rem + 1.33vw, 1.875rem) clamp(2.5rem, 1.813rem + 2.66vw, 5rem);

        /* @media screen and (max-width:968px) {
            background-color: #fff;
        } */


        .cpWrap {
            background-color: #0068b7;
            border: 5px solid #0068b7;
            max-width: 900px;
            width: 100%;
            margin: 0 auto;

            /* @media screen and (max-width:968px) {
                border: 5px solid #fff;
            } */
        }

        .cpTitle-wrap {
            background-color: #0068b7;
            color: #fff;
            padding: 20px;
            margin-block-end: 0;

            .cpTitle-icon-y {
                font-size: 18px;
                flex-direction: column;
                white-space: nowrap;

                .coTitle-sub {
                    font-weight: initial;
                    font-size: small;
                }
            }

            .cpTitle {
                font-weight: initial;

                h2.cpTitle-main {
                    font-size: clamp(1.375rem, 1.134rem + 0.93vw, 2.25rem);
                }
            }

            .deadline {
                font-size: 16px;
                background: #e60012;
                padding: 5px;
                border-radius: 5px;
                align-self: flex-end;
                margin-left: auto;
                flex-shrink: 0;
            }
        }

        .cp-content-info {
            background-color: #fff;
            padding-bottom: 40px;

            .obi-shool {
                background-color: #b3d3ef;
                text-align: center;
                padding-block: 10px;
                color: initial;
                font-weight: bold;
            }

            .cpPoint {
                color: initial;
                padding-inline: clamp(1.25rem, 0.339rem + 3.52vw, 4.563rem);
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;

                dt {
                    font-weight: bold;
                }

                dd {
                    text-indent: 2.2rem;
                }

                dt,
                dd {
                    display: flex;
                    align-items: center;
                    gap: 5px;
                }
            }

            .cpMain {
                padding-inline: clamp(1.25rem, 0.339rem + 3.52vw, 4.563rem);

                dl {
                    display: flex;
                    margin-bottom: 5px;
                    gap: 10px;

                    @media screen and (max-width:767px) {
                        flex-direction: column;
                        margin-bottom: 30px;
                    }
                }

                dt {
                    font-weight: bold;
                    background-color: #0068b7;
                    color: #fff;
                    width: 72px;
                    border-radius: 5px;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;

                    @media screen and (max-width:767px) {
                        width: 100%;
                    }
                }

                div.schedule {
                    display: flex;
                    flex-direction: column;
                    gap: 5px;

                    span {
                        background-color: #b2d3ef;
                        padding: 5px 10px;
                        text-align: center;
                        border-radius: 5px;
                        min-width: 120px;
                    }
                }

                dl.schedule {
                    dd {
                        padding: 5px 10px;
                        border-radius: 5px;
                    }
                }

                .schedule-day {
                    display: flex;
                    gap: 5px;
                    flex-wrap: wrap;
                    align-items: center;
                }
            }
        }
    }

    .mokutekibetsu-shoninzu {
        div.schedule {
            dd {
                width: 120px;
            }
        }
    }

    .mokutekibetsu-group {
        .cpTitle-icon-y {
            background-color: #7a7dbb;
            color: #fff;
        }
    }

    .note {
        max-width: 900px;
        width: 100%;
        margin: 0 auto;
        color: initial;
        margin-top: 40px;
        padding-inline: 20px;
    }

    .wpcf7 select {
        width: auto;

        @media screen and (max-width:767px) {
            width: 100%;
        }
    }

    #Form {
        margin-top: 100px;

        .cp-form-main {
            padding-inline: 20px;

            table {
                td.form-name-wrap p {
                    display: flex;
                    gap: 10px;
                }
            }
        }

        .wpcf7 select,
        .wpcf7 text,
        .wpcf7 input:not([type="radio"]),
        .recruit__form input:not([type="radio"]),
        select[name="work"] {
            padding: 5px 10px;
            width: 100%;
            max-width: 300px;
            font-size: 16px;
            margin-block: 5px;
        }
    }
}

/*----------------------------------------------------------------------------------------------------
CP目的別少人数クラス指導（固定） 20250213
----------------------------------------------------------------------------------------------------*/
.Cp2025-Spring {
    max-width: 100% !important;

    .cp-content {
        padding-inline: 10px;
        padding-block: 0;
        margin-block-end: 0;

        &:nth-last-of-type(2) {
            margin-bottom: 0;
            padding-bottom: 10px;
        }

        @media screen and (max-width:968px) {
            padding-inline: 0;
        }
    }

    .CpHeader {
        padding-block: 40px;
        padding-inline: 20px;

        .Cpheader-inner {
            color: #fff;
            max-width: 900px;
            width: 100%;
            margin: 0 auto;
            text-align: center;

            h1 {
                font-size: clamp(1.75rem, 1.613rem + 0.53vw, 2.25rem);
                line-height: 1;
            }
        }
    }

    .cp-content-inner {
        background-color: #b3d3ef;
        padding-block: clamp(0.625rem, 0.281rem + 1.33vw, 1.875rem) clamp(2.5rem, 1.813rem + 2.66vw, 5rem);

        /* @media screen and (max-width:968px) {
            background-color: #fff;
        } */


        .cpWrap {
            background-color: #0068b7;
            border: 5px solid #0068b7;
            max-width: 900px;
            width: 100%;
            margin: 0 auto;

            /* @media screen and (max-width:968px) {
                border: 5px solid #fff;
            } */
        }

        .cpTitle-wrap {
            background-color: #0068b7;
            color: #fff;
            padding: 20px;
            margin-block-end: 0;

            .cpTitle-icon-y {
                font-size: 18px;
                flex-direction: column;

                .coTitle-sub {
                    font-weight: initial;
                    font-size: small;
                }
            }

            .cpTitle {
                font-weight: initial;

                h2.cpTitle-main {
                    font-size: clamp(1.375rem, 1.134rem + 0.93vw, 2.25rem);
                }
            }

            .deadline {
                font-size: 16px;
                background: #e60012;
                padding: 5px;
                border-radius: 5px;
                align-self: flex-end;
                margin-left: auto;
                flex-shrink: 0;
            }
        }

        .cp-content-info {
            background-color: #fff;
            padding-bottom: 40px;

            .obi-shool {
                background-color: #b3d3ef;
                text-align: center;
                padding-block: 10px;
                color: initial;
                font-weight: bold;
            }

            .cpPoint {
                color: initial;
                padding-inline: clamp(1.25rem, 0.339rem + 3.52vw, 4.563rem);
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;

                dt {
                    font-weight: bold;
                }

                dd {
                    text-indent: 2.2rem;
                }

                dt,
                dd {
                    display: flex;
                    align-items: center;
                    gap: 5px;
                }
            }

            .cpMain {
                padding-inline: clamp(1.25rem, 0.339rem + 3.52vw, 4.563rem);

                dl {
                    display: flex;
                    margin-bottom: 5px;
                    gap: 10px;
                }

                dt {
                    font-weight: bold;
                    background-color: #0068b7;
                    color: #fff;
                    width: 72px;
                    border-radius: 5px;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                }

                div.schedule {
                    display: flex;
                    flex-direction: column;
                    gap: 5px;

                    dd {
                        background-color: #b2d3ef;
                        padding: 5px 10px;
                        text-align: center;
                        border-radius: 5px;
                    }
                }

                dl.schedule {
                    dd {
                        background-color: #b2d3ef;
                        padding: 5px 10px;
                        border-radius: 5px;
                    }
                }

                .schedule-day {
                    display: flex;
                    gap: 5px;
                    flex-wrap: wrap;
                }
            }
        }
    }

    .mokutekibetsu-shoninzu {
        div.schedule {
            dd {
                width: 120px;
            }
        }
    }

    .mokutekibetsu-group {
        .cpTitle-icon-y {
            background-color: #7a7dbb;
            color: #fff;
        }
    }

    .note {
        max-width: 900px;
        width: 100%;
        margin: 0 auto;
        color: initial;
        margin-top: 40px;
        padding-inline: 20px;
    }

    .wpcf7 select {
        width: auto;

        @media screen and (max-width:767px) {
            width: 100%;
        }
    }
}