@charset "utf-8";

:root {
    --main-color: #F5F5F2;
    --sub-color: #FFF0E6;
    --accent-color: #FFF;
    --point-color: #FFDDDD;
    --pale-text-color: rgba(129, 108, 74, 0.1);
    --normal-text-color: #816C4A;
    --hb-back-color: #F5F5F2;
    --hp-gray-color: #;
    /* --back-gradient-color: linear-gradient(#A60000, #C20000); */
}

/* 固定ページ基本ここから */

h1 {
    font-size: clamp(4rem, 3.6vw, 8.8rem);
    letter-spacing: 0;
}

.banner-page-fv h1 {
    font-size: clamp(2.4rem, 3.6vw, 3.6rem);
    color: var(--normal-text-color);
    margin: 2.4rem 0;
}

.banner-page h2::before,
.banner-page h2::after {
    content: none;
}

.page-innerflex-wrap h2 {
    margin: 0;
}

.page-innerflex-wrap h2::before,
.page-innerflex-wrap h2::after {
    content: none;
}

li {
    font-size: 1.4rem;
}

.page .f-m .f-s {
    letter-spacing: .1rem;
}

.page-innerflex-wrap {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    margin-bottom: 3.6rem;
    /* background-color: var(--accent-color); */
}

.page-innerflex-wrap .f-m {
    margin-bottom: 1.4rem;
}

/* FV */
#FV p {
    font-size: clamp(1.6rem, 1.2vw, 3.2rem);
    letter-spacing: clamp(.1rem, .2vw, 1rem);
    line-height: 1.7;
}

/* 固定ページ基本ここまで */

/* バナーページ基本ここから */

.banner-page p {
    margin-bottom: 3.6rem;
}

.banner-page .mainInner>p:last-child {
    margin-bottom: 0;
}

.banner-page-fv img {
    margin-bottom: 3.6rem;
}

.banner-page-fv>.mainInner>.f-m {
    margin-bottom: 2.4rem;
}

.column-box-three,
.column-box-three-sir {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.column-box-three>div,
.column-box-three>p,
.column-box-three>img {
    width: 100%;
}

.column-box-three>img {
    max-width: 30rem;
    margin: 0;
}

.column-box-three .column-item {
    background-color: var(--accent-color);
    width: 100%;
}
.column-box-three .column-item p {
    margin: 0;
    padding: 2rem  1rem;
}

.column-box-three-sir>p {
    padding: 1.2rem;
    display: flex;
    width: 40%;
    max-width: 30rem;
    background-color: var(--point-color);
    text-align: center;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 0;
    font-size: 1.4rem;
}

/* バナーページ基本ここまで */

/* セクションここから */
.imp-bg {
    background-color: var(--sub-color);
}

.for-example {
    background-color: var(--accent-color);
}

/* セクションここまで */

/* viviページここから */
.vivi-page #FV {
    background-image: url(../img/vivi-fv-bg.png);
}

.work-point-wrap {
    background-image: url(../img/offer-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.work-point-wrap .f-ll {
    margin-bottom: 1.6rem;
}

.work-point-wrap p {
    color: var(--accent-color);
}

.work-point {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin-top: 1.8rem;
}

.work-point-item {
    width: 47%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--main-color);
    border-radius: 50%;
    aspect-ratio: 1/1;
}

.work-point-item p {
    color: var(--normal-text-color);
    text-align: center;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
}

/* viviページここまで */

/* スナックページここから */
.snack-page #FV {
    background-image: url(../img/snack-fv-bg.png);
}

.work-point-wrap {
    background-image: none;
}

.work-point-wrap p {
    color: var(--normal-text-color);
}

.work-point-item {
    background-color: var(--sub-color);
}

/* スナックページここまで */

/* Le Auberge Clubページここから */
.LAC-page #FV {
    background-image: url(../img/sp-LAC-fv-bg.png);
}

/* Le Auberge Clubページここまで */

/* 体入ページここから */
.requirements-item {
    background-color: var(--accent-color);
}

.requirements-item p {
    margin: 0;
}

.requirements-item ul {
    list-style-type: disc;
    padding: 0 2rem;
}

.requirements-item>p:first-of-type {
    background-color: var(--point-color);
    text-align: center;
    margin-bottom: 0;
    padding: 1rem 2rem;
}

.requirements-item>div {
    padding: 1rem 2rem;
}

/* 体入ページここまで */

/* prtvacy-policyここから */
.tac {
    text-align: center;
    margin: 1rem;
}

.tar {
    text-align: right;
}

.list {
    counter-reset: my-counter;
}

.list li {
    font-size: 1.4rem;
    position: relative;
    padding-left: 3rem;
}

ul.numdefault li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: counter(my-counter) ".";
    counter-increment: my-counter;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.8;
}

/* prtvacy-policyここから */

/* フッターここから */

/* フッターここまで */

/* タブレットここから */
@media (min-width:749px) {

    /* 基本ここから */

    .page-innerflex-r {
        padding: 0 6.4rem 3.2rem;
    }

    /* 基本ここまで */

    /* バナーページ基本ここから */
        .column-box-three-sir {
            gap: 2rem;
        }
    .column-box-three-sir>p {
        font-size: 1.8rem;
    }
    /* バナーページ基本ここまで */

    /* セクションここから */
    /* セクションここまで */

}

/* タブレットここまで */


/* pcここから */
@media (min-width:860px) {

    /* PC固定ページ基本ここから */

    .banner-page-fv h1 {
        margin-bottom: 4.8rem;
    }

    .page-innerflex-wrap {
        display: flex;
        flex-direction: row;
        gap: 1.8rem;
        margin-bottom: 3.6rem;
    }

    .page-innerflex-wrap .f-m {
        font-size: clamp(1.6rem, 1.6vw, 2.1rem);
    }

    .wrap-reverse {
        display: flex;
        flex-direction: row-reverse;
    }

    .page-innerflex-l {
        width: calc(50% - .9rem);
        display: flex;
        align-items: center;
    }

    .page-innerflex-r {
        width: calc(50% - 4.1rem);

        padding: 3.2rem;
    }

    .wrap-reverse .page-innerflex-r {
        padding: 3.2rem;
    }

    /* PC固定ページ基本ここまで */

    /* バナーページ基本ここから */

    .banner-page-fv>.mainInner>.f-m {
        margin-bottom: 2.4rem;
    }

    .column-box-three,
    .column-box-three-sir {
        align-items: stretch;
        gap: 3rem;
    }

    .column-box-three>div,
    .column-box-three>p,
    .column-box-three>img {
        width: 30%;
    }

    .column-box-three .column-item {
        width: 30%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .column-box-three-sir>p {
        width: 25%;
        font-size: clamp(1.4rem, 1.6vw, 2.2rem);
    }

    /* バナーページ基本ここまで */

    /* viviページここから */
    .work-point-wrap .f-ll {
        margin-bottom: 1.6rem;
    }

    .work-point {
        display: flex;
        flex-wrap: wrap;
        gap: 1.4rem;
        margin-top: 1.6rem;
    }

    .work-point-item {
        width: 23%;
    }

    .work-point-item p {
        color: var(--normal-text-color);
        text-align: center;
        font-size: clamp(1.8rem, 2vw, 2.8rem);
    }

    .vivi-page .f-m .f-s {
        letter-spacing: .1rem;
    }

    /* viviページここまで */

    /* セクションここから */
    /* セクションここまで */

    /* Le Auberge Clubページここから */

    .LAC-page #FV {
        background-image: url(../img/LAC-fv-bg.png);
    }

    /* Le Auberge Clubページここまで */

    /* pcここまで */
}

/* テーブルここから */
table {
    border-spacing: 0;
    width: 100%;
}

table tr {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    justify-content: space-between;
}

/* 
table tr:nth-child(2n+1) {
    background-color: #f2f2f2;
} */

table th,
table td {
    font-size: 1.4rem;
    padding: 1.6rem;
    border: var(--hb-back-color) 1px solid;
    letter-spacing: .1rem;
}

table th {
    text-align: left;
    width: 100%;
    background-color: var(--sub-color);
}

table td {
    width: 100%;
    background-color: var(--accent-color);
}

table ul {
    list-style-type: disc;
    padding-inline-start: 40px;
}


@media (min-width:860px) {
    table {
        border-spacing: 0;
        width: 100%;
        padding: 0;
    }

    tbody {
        width: 100%;
    }

    table tr {
        padding: 0 3.6rem;
        flex-wrap: nowrap;
    }

    table th {
        text-align: center;
        width: 18rem;
        margin-bottom: 0;
        border-right: none;
    }
}

/* テーブルここまで */