@charset "utf-8";

/* ==========================================
menu01
========================================== */

.menu01 {
    padding: 13rem 0 17rem;
}

.menu-bg-deco01 {
    position: absolute;
    top: -2%;
    right: 5%;
}

.lead-text-box {
    text-align: center;
    line-height: 1.73;
}

.lead-text01 strong {
    font-size: 2.2rem;
    color: var(--primary)
}

.lead-text02 {
    margin: 3rem auto 0;
}

/* ==========================================
menu02
========================================== */

.menu-item {
    padding: 0 0 13rem;
} 

.menu-title-box {
    padding: 0 1.5rem;
    max-width: 135rem;
    width: 100%;
    margin: 0 auto;
}

.menu-title-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.menu-title-border {
    padding: 0 0 5.9rem;
    border-bottom: 1px solid var(--base-font-color);
}

.menu-sub-title-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 3.3rem 0 0 6.8rem;
}

.menu-sub-title {
    display: inline;
    position: relative;
    margin: 0 3rem 0 0;
    font-family: var(--font-family01);
    font-size: 3.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.menu-sub-title-deco {
    display: flex;
    align-items: center;
    flex: 1;
    height: 1px;
    background: var(--base-font-color);
}

.menu-item-img {
    max-width: 5.8rem;
    width: 10%;
    margin: 0 1rem 0 0;
}

.menu-title {
    font-family: var(--font-family01);
    font-size: 4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.menu-contents01-row {
    max-width: 161.5rem;
    margin: 6rem 0 0;
    padding: 0 2.5rem 0 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.menu-contents-img {
    max-width: 80rem;
    width: 50%;
    position: sticky;
    top: 0;
}

.menu-slider figure {
    width: 100%;
    position: relative;
    padding-top: 120%;
}

.menu-slider figure img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.menu-contents-right {
    max-width: 69rem;
    width: 43.13%;
}

.menu-block:nth-child(n+2) {
    margin: 5rem 0 0;
}

.menu-cate-title {
    font-size: 2.5rem;
    font-weight: 600;
}

.menu-text-box {
    margin: 1rem 0 0;
    padding: 2rem 3rem;
    color: var(--white);
    background: var(--primary);
}

.menu-list-box {
    max-width: 66rem;
    width: 100%;
    margin: 4rem 0 0 auto;
}

.menu-list {
    display: flex;
    justify-content: space-between;
    padding: 0 0 1.9rem;
    border-bottom: 1px solid var(--base-font-color);
}

.menu-list:nth-child(n+2) {
    margin: 2rem 0 0;
}

.menu-price {
    text-align: right;
}

.menu-cate-text {
    font-size: 1.6rem;
}

.menu04 .menu-text-box, .menu05 .menu-text-box {
    margin: 0 0 0;
}

.menu04 .menu-list-box, .menu05 .menu-list-box {
    margin: 2rem 0 0 auto;
}

.menu-attention-text {
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    margin: 1rem 0 0 24%;
}

.menu-list-item {
    padding: 0 0 2rem 0;
    border-bottom: 1px solid var(--base-font-color);
}

.menu-list-item-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.menu-list-item-text {
    margin: 2rem 0 0;
}

.menu06 {
    padding: 0 0 13rem 0;
}

.menu06-lead-text {
    margin: 4rem auto 0;
    text-align: center;
    line-height: 2;
}

.menu06-lead-text span a {
    position: relative;
    padding: 0 2.5rem 0 0;
    margin: 0 .2rem 0 0;
    border-bottom: 1px solid;
}

.menu06-lead-text span a:hover {
    border-bottom: 0px solid;
}

.menu06-lead-text span a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 1.8rem;
    height: 1.8rem;
    background: url(../../../../uploads/link-icon.svg)no-repeat center /contain;
}

.menu-list-comment-set {
    display: flex;
    align-items: baseline;
    margin-top: 1rem;
}

.menu-list-comment-set>p {
    font-size: 1.6rem;
}

/*フォーム*/

.form-block {
    margin: 12.8rem auto 0;
}

.required-text {
    margin: 0 0 0 2rem;
    color: #FF6C67;
}

input {
    width: 100%;
}

.smf-form .smf-text-control__control, .smf-textarea-control__control {
    border: 0 !important;
    box-shadow: inset 0 3px 6px rgba(0, 0, 0, .16) !important;
    border-radius: 0 !important;
}

input::placeholder {
    color: #C6DCE1
}

.privacyCheck {
    margin: 4rem auto 0;
    text-align: center;
}

#privacy:hover {
    text-decoration: none;
}

#privacy {
    display: block;
    width: 100%;
    max-width: max-content;
    margin: 0 auto;
    text-decoration: underline;
    font-size: 1.8rem;
    line-height: 1.45;
}

.privacy-text {
    margin: 0 0 2rem 0;
}

.smf-form .smf-checkbox-control {
    align-items: center;
}

.form-block .smf-action .smf-button-control__control {
    margin: 4rem auto 0;
    max-width: 30rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 6rem;
    position: relative;
    border-radius: 3rem;
    transition: all .5s;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    background-color: #047387;
    color: #FCF6EF;
    background-image: unset;
    /* transition: all .5s; */
}

.form-block .smf-action .smf-button-control__control::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.4rem;
    display: block;
    width: 100%;
    max-width: 2.6rem;
    height: 1.9rem;
    margin: auto 0;
    /* aspect-ratio: 5 / 8; */
    background: url(../../../../uploads/btn_illust02.svg) no-repeat center / contain;
    transition: all .5s;
}

.form-block .smf-action .smf-button-control__control:hover::before {
    transition: all .5s;
    right: 2.8rem;
}

.hide-area {
    display: none;
}

.privacy-title01 {
    text-align: center;
    font-size: 2rem;
}

.privacy-title {
    display: flex;
    margin: 4rem 0 0;
    border-left: 1rem solid var(--primary);
}

.privacy-title p {
    font-size: 2.2rem;
    line-height: 1.5em;
    padding: 0 0 0 2rem;
}

.privacy-box p:last-of-type {
    flex: 1;
}

.privacy-flex {
    display: flex;
}

.privacy-flex p {
    display: inline;
}

.inBtm a {
    text-decoration: underline;
}

.inBtm a:hover {
    text-decoration: none;
}

.smf-system-error-content {
    text-align: center;
    color: red;
}

.smf-complete-content {
    text-align: center;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

    .menu-title {
        font-size: 3.8rem;
    }

    .menu-title-border {
        padding: 0 0 3rem;
    }

    .menu-sub-title-box {
        margin: 2.8rem 0 0 6.8rem;
    }
    
    .menu-sub-title {
        font-size: 3rem;
    }

    .menu-contents01-row {
        margin: 4.5rem 0 0
    }

    .menu-contents-img {
        width: 43%;
    }

    .menu-contents-right {
        width: 53%;
    }

    .menu-block:nth-child(n+2) {
        margin: 4rem 0 0;
    }

    .menu-cate-title {
        font-size: 2.2rem;
    }

    .menu-text-box {
        padding: 1.5rem 2.5rem;
    }

    .menu-text-box p, .menu-list-box p {
        font-size: 1.65rem;
    }

    .menu-list-box {
        margin: 3rem 0 0 auto;
    }

    .menu-price {
        width: 25%;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

    .menu01 {
        padding: 10rem 0 8rem;
    }

    .lead-text01, .lead-text02 {
        text-align: left;
    }

    .lead-text01 br, .lead-text02 br {
        display: none;
    }

    .lead-text01 strong {
        font-size: 1.8rem;
    }

    .menu-contents01-row {
        flex-direction: column;
        padding: 0 2rem;
    }

    .menu-contents-img {
        width: 100%;
        position: relative;
        top: auto;
    }

    .menu-contents-right {
        max-width: 80rem;
        width: 100%;
        margin: 4rem auto 0;
    }

    .menu-item {
        padding: 0 0 8rem;
    }

    .menu06 {
        padding: 0 0 8rem 0;
    }

    .form-block {
        margin: 4.8rem auto 0;
    }

    .privacy-title p {
        font-size: 1.8rem;
    }

    .menu06-lead-text {
        text-align: left;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

    .menu-list, .menu-list-item-row {
        flex-direction: column;
    }

    .menu-title-img {
        width: 12%;
    }

    .menu-sub-title-box {
        margin: 2.8rem 0 0 0;
    }

    .menu-title {
        font-size: 3rem;
    }

    .menu-sub-title {
        font-size: 2.2rem;
    }

    .menu-price {
        width: 100%;
        text-align: right;
        margin: 0.7rem 0 0;
    }

    .menu-attention-text {
        font-size: 2rem;
        margin: 1rem 0 0 15%;
    }

    .privacy-flex a {
        font-size: 1rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 414px) {



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */