@charset "UTF-8";

/* lv */
#lv {
    height: 700px !important;
}

#lv p span {
    line-height: 2;
}

@media screen and (max-height: 650px)and (min-width: 901px) {
    #lv {
        height: 400px !important;
    }

}

@media screen and (max-width: 800px) {
    #lv {
        height: 400px !important;
    }

    #lv p span {
        font-size: 1.3rem;
    }
}

/* 新着情報 仕様変更 */
.entry_header {
    display: none;
}

#sidebar {
    display: none;
    float: none;
}

#primary {
    float: none;
    width: 100%;
}

.news_single.width_fixed>.content_wrapper {
    max-width: none !important;
    padding: 0;
}

.news_single #primary .entry_body>div,
.news_single #primary .entry_body>section {
    max-width: 1200px;
    width: calc(100% - 40px);
    margin: 0 auto;
}

.article-signature {
    display: none;
}

article .entry_meta,
.pager2 ul {
    max-width: 1200px;
    margin: 0 auto;
}

/* web予約 */
#link+.contents_btn01 {
    outline: 1px solid #fff;
    outline-offset: -10px;
}

#link+.contents_btn01 a {
    background: var(--i_btn_hover_color);
    border: 0;
    width: 90%;
    max-width: 600px;
}

#link+.contents_btn01 a span {
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
    padding-block: 20px;
}

/* CONCEPT */
#s1+section {
    overflow: visible;
}

#s1+section .inner_item_img {
    box-shadow: 25px 25px 0 #ebe4d6;
    margin-bottom: 0;
}

#s1+section .heading.block_header_2 .h {
    font-size: 2.5rem;
    color: #90273a;
}

#s1+section .heading.block_header_1::before {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 100%;
    height: 1px;
    left: 0;
    top: 3rem;
    background: var(--i_txt_color);
}

#s1+section .heading.block_header_1 p {
    background: var(--i_bg2_color);
    padding-right: 2%;
}

@media screen and (max-width: 900px) {
    #s1+section .heading.block_header_1::before {
        top: 2rem;
    }

    #s1+section .inner_item_txt {
        padding-top: 50px !important;
    }
}

/* Point */
a[id^="h_point"]+section {
    max-width: none !important;
    width: 100% !important;
}

a[id^="h_point"]+section>.content_wrapper {
    max-width: none !important;
}

a[id^="h_point"]+section>.content_wrapper::before {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 16%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--i_bg_color);
    z-index: -1;
}

#h_point2+section>.content_wrapper::before {
    left: auto;
    right: 0;
    width: 10%;
}

a[id^="h_point"]+section .heading.block_header_2 .h {
    font-family: "Great Vibes", cursive;
    color: var(--i_btn_hover_color);
    letter-spacing: 0;
    line-height: 1;
}

a[id^="h_point"]+section .heading.block_header_2 p {
    color: var(--i_main_color);
}

@media screen and (min-width: 901px) {
    a[id^="h_point"]+section .inner_item_txt {
        padding: 0 5% 0 15% !important;
    }

    #h_point2+section .inner_item_txt {
        padding: 0 15% 0 5% !important;
    }

    a[id^="h_point"]+section .heading.block_header_2 p {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 900px) {
    a[id^="h_point"]+section>.content_wrapper::before {
        width: 100% !important;
    }

    a[id^="h_point"]+section .inner_item_txt {
        padding: 0 20px 40px 20px !important;
    }
}

/* SAMPLE */
#slide+div {
    margin-right: 0 !important;
    max-width: 1700px !important;
}

#slide+div>.content_wrapper {
    max-width: none !important;
}

#slide+div .inner_item {
    text-align: left;
}

#slide+div .pointer {
    justify-content: flex-start;
    margin-top: 50px;
}

#slide+div .inner_item p {
    font-size: 1.5rem;
    line-height: 1.5;
    display: block;
}

#slide+div .inner_item p span {
    font-size: 2rem;
    display: block;
    color: var(--i_txt_color);
    border-bottom: 1px solid var(--i_txt_color);
    padding-bottom: 5px;
    margin-top: 10px;
    margin-bottom: 8px;
}

/* 画像 */
#slide+div+section {
    width: 80% !important;
    max-width: 1400px !important;
    min-height: 180px;
    margin-left: 0 !important;
}

/* MENU */
#menu+div {
    margin-top: -80px !important;
}

#menu+div>.content_wrapper {
    background: #fff;
    width: calc(100% - 40px);
    padding: 50px 5% 80px !important;
}

#menu+div .heading+.add_text {
    text-align: left;
}

/* 予約 */
#btn+.contents_btn01 a {
    width: 100% !important;
    background: linear-gradient(135deg, #8c7851, #b69452, #4f483a);
    box-shadow: 0 4px 8px rgba(79, 72, 58, 0.2);
}

#btn+.contents_btn01 a span {
    font-size: 4rem;
    letter-spacing: 0.5rem;
}

@media screen and (max-width: 768px) {
    #btn+.contents_btn01 a span {
        font-size: 2rem;
    }
}

/* 画像+テキスト */
a[id^="s4"]+section {
    max-width: none !important;
    width: 100% !important;
}

a[id^="s4"]+section::before {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 45%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--i_sub2_color);
}

#s4_r+section::before {
    left: auto;
    right: 0;
}

a[id^="s4"]+section>.content_wrapper {
    max-width: 1500px !important;
}

a[id^="s4"]+section .inner_item_img img {
    aspect-ratio: 2/1;
    object-fit: cover;
}

#s4+section .inner_item_txt {
    padding-left: 8%;
}

#s4_r+section .inner_item_txt {
    padding-right: 8%;
}

@media screen and (max-width: 900px) {
    a[id^="s4"]+section {
        padding-inline: 20px;
        box-sizing: border-box;
    }

    a[id^="s4"]+section::before {
        width: 100%;
        height: 30%;
    }
}

/* 予約・お問合せ */
#cta+div {
    max-width: none !important;
    width: 100% !important;
}

#cta+div .wrapper_item {
    padding-inline: 20px;
    align-items: center;
}

#cta+div .heading.block_header_1 {
    margin-bottom: 50px;
}

#cta+div .heading.block_header_1 .h {
    font-size: 2.5rem;
    border-bottom: 1px solid #fff;
}

#cta+div .inner_item a+.inner_item_txt {
    margin-top: 0;
}

#cta+div .inner_item .inner_item_img img {
    display: none;
}

#cta+div .inner_item_txt .heading .h {
    font-weight: 400;
}

#cta+div .inner_item:first-of-type .inner_item_txt .heading .h {
    display: inline-block;
    padding-left: 25px;
    width: auto;
    margin: 0 auto;
}

#cta+div .inner_item:first-of-type .inner_item_txt .heading .h::before {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 18px;
    height: 18px;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path fill='%23ffffff' d='M31.985 25.248c0.068 0.52-0.090 0.971-0.474 1.355l-4.506 4.471c-0.203 0.226-0.469 0.418-0.796 0.576s-0.649 0.26-0.965 0.305c-0.023 0-0.090 0.006-0.203 0.017s-0.26 0.017-0.44 0.017c-0.429 0-1.124-0.073-2.084-0.22s-2.134-0.508-3.523-1.084c-1.389-0.576-2.964-1.44-4.726-2.592s-3.636-2.733-5.623-4.743c-1.581-1.558-2.891-3.049-3.93-4.472s-1.874-2.738-2.507-3.947c-0.632-1.208-1.107-2.304-1.423-3.286s-0.531-1.829-0.644-2.541-0.158-1.27-0.136-1.677c0.023-0.407 0.034-0.632 0.034-0.678 0.045-0.316 0.147-0.638 0.305-0.965s0.35-0.593 0.576-0.796l4.506-4.506c0.316-0.316 0.678-0.474 1.084-0.474 0.294 0 0.553 0.085 0.779 0.254s0.418 0.378 0.576 0.627l3.625 6.877c0.203 0.361 0.26 0.757 0.169 1.186s-0.282 0.79-0.576 1.084l-1.66 1.66c-0.045 0.045-0.085 0.119-0.119 0.22s-0.051 0.186-0.051 0.254c0.090 0.474 0.294 1.016 0.61 1.626 0.271 0.542 0.689 1.203 1.253 1.982s1.366 1.677 2.405 2.693c1.016 1.039 1.92 1.846 2.71 2.422s1.451 0.999 1.982 1.27 0.937 0.435 1.22 0.491l0.423 0.085c0.045 0 0.119-0.017 0.22-0.051s0.175-0.073 0.22-0.119l1.931-1.965c0.407-0.361 0.881-0.542 1.423-0.542 0.384 0 0.689 0.068 0.915 0.203h0.034l6.538 3.862c0.474 0.294 0.757 0.666 0.847 1.118z'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
}

#cta+div .inner_item:last-of-type .inner_item_txt .heading::before {
    opacity: 1;
    background: var(--i_btn_hover_color);
}

#cta+div .inner_item:last-of-type .inner_item_txt .heading .h {
    padding-right: 50px;
    transform: translateX(0);
    transition: .4s ease-in-out;
}

#cta+div .inner_item:last-of-type a:hover+.inner_item_txt .heading .h {
    transform: translateX(5px);
}

#cta+div .inner_item:last-of-type .inner_item_txt .heading .h::before {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 20px;
    height: 20px;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: var(--i_bg_color);
    mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20512%20512%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%234b4b4b%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%22243.3%200%20202.7%2040.5%20389.5%20227.3%2012.7%20227.3%2012.7%20284.7%20389.5%20284.7%20202.7%20471.5%20243.3%20512%20499.3%20256%20243.3%200%22%2F%3E%3C%2Fsvg%3E');
}

#cta+div .inner_item:not(:nth-of-type(2)) .inner_item_txt .heading .h {
    font-size: 3rem;
}

@media screen and (min-width: 901px) {
    #cta+div {
        padding-block: 200px;
    }

    #cta+div .inner_item:nth-of-type(2) .inner_item_txt p {
        font-size: 2rem;
    }

}

@media screen and (max-width: 800px) {
    #cta+div .heading.block_header_1 .h {
        font-size: 1.6rem;
    }
}

/* インスタ */
#inst+section>.content_wrapper {
    width: calc(100% - 40px);
    padding-block: 50px !important;
}

#inst+section a span {
    font-size: 2rem;
}

/* システム見出し */
a[id^="sys"]+div .heading.block_header_1::before {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
    width: 100%;
    height: 1px;
    left: 0;
    top: 3rem;
    background: var(--i_txt_color);
}

a[id^="sys"]+div .heading.block_header_1 p {
    background: var(--i_bg2_color);
    padding-right: 2%;
}

@media screen and (max-width: 900px) {
    a[id^="sys"]+div .heading.block_header_1::before {
        top: 2rem;
    }
}

/* スタッフ募集 */
#h_r+section {
    max-width: none !important;
}

#h_r+section>.content_wrapper {
    max-width: 1800px !important;
    padding: 40px 20px !important;
}

@media screen and (min-width: 901px) {
    #h_r+section .inner_item_img {
        margin-bottom: 0;
    }
}