@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

#contents {
    width: 100%;
    padding-bottom: 0;
}

/* contact
--------------------*/
.contact__title {
    padding-left: 54px;
}
    .contact__contents {
        position: relative;
        background-color: #FFFCE5;
        border-radius: 16px;
        margin-top: 40px;
        padding: 48px 140px 51px;
    }
        .contact__contents::before {
            content: '';
            background: url(/render/images/img_contact_illust.png) no-repeat center / contain;
            width: 243px;
            height: 174px;
            position: absolute;
            top: -172px;
            left: 25px;
        }
        .contact__tel {
            font-size: 50px;
            font-weight: 700;
            color: #147837;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin-bottom: 30px;
        }
            .contact__tel::before {
                content: '';
                background: url(/render/images/icn_contact_tel.png) no-repeat center / contain;
                display: block;
                width: 48px;
                height: 48px;
                margin-top: 12px;
            }
        .contact__list {
            display: flex;
            gap: 50px;
        }
            .contact__item {
                text-align: center;
            }
                .contact__item__text {
                    font-weight: 500;
                    margin-bottom: 10px;
                }
                [class*="contact__item__button"] {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 400px;
                    height: 80px;
                    font-size: 20px;
                    font-weight: 700;
                    letter-spacing: 0.03em;
                    color: #147837;
                    background-color: #147837;
                    border-radius: 5px 16px;
                    position: relative;
                    z-index: 1;
                }
                .contact__item__button--reservation {
                    gap: 24px;
                    padding-right: 32px;
                }
                .contact__item__button--contact {
                    gap: 19px;
                    padding-right: 18px;
                }
                    .contact__item__button--reservation::before {
                        content: '';
                        background: url(/render/images/icn_contact_reservation.png) no-repeat center / contain;
                        display: block;
                        width: 39px;
                        height: 39px;
                    }
                    .contact__item__button--contact::before {
                        content: '';
                        background: url(/render/images/icn_contact_mail.png) no-repeat center / contain;
                        display: block;
                        width: 41px;
                        height: 32px;
                    }
                    [class*="contact__item__button"]::after {
                        content: '';
                        background-color: #F2DF63;
                        display: block;
                        width: 100%;
                        height: 100%;
                        border-radius: 30px 14px;
                        position: absolute;
                        top: 0;
                        left: 0;
                        z-index: -1;
                    }

/* achievements
--------------------*/
.achievements__list {
    margin-block: 40px 39px;
    display: flex;
    gap: 30px;
    justify-content: center;
}
    .achievements__list li {
        width: 360px;
    }
    .achievements__item__image {
        margin-bottom: 9px;
        width: 360px;
        height: 240px;
        background-color: #f7f7f7;
        border-radius: 5px;
        overflow: hidden;
    }
        .achievements__item__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            vertical-align: bottom;
        }
    .achievements__item__title {
        font-size: 20px;
        font-weight: 500;
        letter-spacing: 0.03em;
        color: #147837;
        margin-bottom: 5px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        white-space: normal;
    }
    .achievements__item__text {
        line-height: 1.56;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
        font-weight: 400;
    }
        .content__button a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 300px;
            height: 60px;
            font-size: 20px;
            font-weight: 700;
            letter-spacing: 0.03em;
            color: #FFFFFF;
            background-color: #F2DF63;
            border-radius: 5px 16px;
            position: relative;
            z-index: 1;
            margin: 0 auto;
        }
            .content__button a::before {
                content: '';
                background-color: #147837;
                display: block;
                width: 100%;
                height: 100%;
                border-radius: 30px 14px;
                position: absolute;
                top: 0;
                left: 0;
                z-index: -1;
            }
            .content__button a::after {
                content: '';
                background: url(/render/images/icn_content_arrow.png) no-repeat center / contain;
                display: block;
                width: 16px;
                height: 13px;
                position: absolute;
                top: 24px;
                right: 39px;
            }

/* column
--------------------*/
.column__section {
    overflow: hidden;
}
.column__bg {
    position: relative;
}
    .column__bg:before {
        content: "";
        position: absolute;
        background: url(/render/images/bg_column.png) no-repeat top / cover;
        width: 100%;
        height: 100%;
        top: 219px;
    }
.column__list {
    display: flex;
    margin: 40px 0;
    gap: 30px;
    justify-content: center;
}
    .column__item {
        width: 360px;
    }
    .column__content {
        border-bottom: 1px solid #BDD9A7;
        padding-bottom: 16px;
        margin-bottom: 8px;
    }
        .column__item__image {
            margin-bottom: 15px;
            width: 360px;
            height: 240px;
        }
            .column__item__image img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                vertical-align: bottom;
                background-color: #FFFFFF;
                border-radius: 5px;
            }
        .column__item__upper {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 5px;
        }
            .column__item__label {
                font-size: 16px;
                font-weight: 500;
                color: #147837;
                border: 1px solid #147837;
                padding: 2px 7px;
                border-radius: 2px;
            }
            .column__item__date {
                font-size: 16px;
                font-weight: 400;
            }
        .column__item__title {
            font-size: 20px;
            font-weight: 500;
            margin-bottom: 3px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
            .column__item__text {
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                font-weight: 400;
            }
        .column__tag__list {
            display: flex;
            flex-wrap: wrap;
            gap: 0 15px;
        }
            .content__space .column__tag__item {
                font-size: 16px;
                font-weight: 400;
                color: #147837;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        .column__tab__content {
            position: relative;
            background: #fff;
            border-radius: 5px;
            padding: 17px 20px 23px;
            margin-bottom: 61px;
        }
        .column__tab__content:before {
            content: "";
            position: absolute;
            background: url(/render/images/img_tab_column.png) no-repeat center / contain;
            display: block;
            width: 211px;
            height: 200px;
            right: 20px;
        }
        .column__tab__list {
            width: 875px;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            padding: 16px 10px;
            border-radius: 5px;
            overflow: hidden;
        }
        .column__tab__item a {
            color: #147837;
            border-radius: 5px;
            background-color: #F1F9E9;
            padding: 2px 13px 0;
            display: block;
            font-size: 18px;
            height: 34px;
        }

/*  handle
--------------------*/
.handle__bkn__content {
    position: relative;
}
.handle__bkn__inner {
    margin-bottom: 132px;
}

.handle__bkn__title {
    margin-bottom: 40px;
}
.handle__bkn__item {
    position: relative;
    width: 360px;
}
.handle__bkn__img {
    width: 360px;
    margin-bottom: 10px;
}
.handle__bkn__img img {
    width: 360px;
    height: 240px;
    object-fit: contain;
}
.handle__bkn__icon {
    position: absolute;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    color: #147837;
    background-color: #fff;
    padding: 3px 7px;
    border-radius: 2px;
    top: 9px;
    left: 12px
}
.ui-favorite-btn {
    background: url(/render/images/icon_bkn_fov.png) no-repeat center / contain;
    background-size: 100%;
    width: 35px;
    height: 31px;
    position: absolute;
    margin: 0;
    transition: .2s ease;
    top: 9px;
    right: 7px;
}
.ui-favorite-btn.is-checked {
    background: url(/render/images/icon_bkn_fov_on.png) no-repeat center / contain;
}
.handle__bkn__name {
    font-size: 20px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.handle__bkn__flex {
    display: flex;
    align-items: baseline;
    gap: 12px;
    letter-spacing: 0.01em;
    margin-bottom: 5px;
}
.handle__bkn__text {
    font-size: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.price {
    font-size: 26px;
    font-weight: bold;
    color: #C42209;
}

.swiper-pagination{
	bottom: -34px;
}

.swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	background: #D8D8D8;
	opacity: 1;
}
.swiper-pagination-bullet-active{
	background: #147837;
}
.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: unset !important;
}
.swiper-pagination {
    position: static;
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom, .swiper-pagination-fraction {
    width: auto;
}
.slide-pagination-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 16px;
    column-gap: 16px;
    height: 30px;
    position: absolute;
    bottom: -80px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 6;
}
 .swiper-button-prev,
 .swiper-button-next {
    width: 50px;
    height: 50px;
    position: static;
    margin-top: initial;
}
.swiper-button-prev img,
.swiper-button-next img {
    width: 100%;
    height: 100%;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 5px) !important;
}
/* sns
--------------------*/
.sns__section {
    padding-block: 50px 0;
}
.sns__title {
    margin-bottom: 40px;
}
.sns__content {
    position: relative;
}
.sns__content:before {
    content: "";
    position: absolute;
    background: url(/render/images/img_all_sns.png) no-repeat center / contain;
    display: block;
    width: 190px;
    height: 286px;
    top: -121px;
    left: -88px;
}
.sns__list {
    display: flex;
    align-items: center;
    background: #E7F6DA;
    border-radius: 20px;
    height: 242px;
    padding: 0 104px;
}
.sns__item {
    position: relative;
}
.sns__item:after {
    content: "";
    position: absolute;
    width: 1px;
    height: 80px;
    background-color: #88AC69;
    top: 0;
    right: 0;
}
.sns__item:last-child:after {
    display: none;
}
.sns__item.youTube_item {
    padding-right: 107px;
}
.sns__item.instagram_item {
    padding: 0 100px;
}
.sns__item.x_item {
    padding: 0 85px 0 76px;
}
.sns__item.line_item {
    padding-left: 121px;
}
.sns__item a:hover {
    opacity: 1;
}
.sns__img {
    text-align: center;
    margin-bottom: 15px;
}
.sns__text {
    font-size: 18px;
    font-weight: 500;
}


/* pg_footer
--------------------*/
footer.l-footer {
    display: none;
}

.pg_footer {
    background-color: #147837;
}
.pg_footer * {
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
}
.pg_footer_inner {
    border-bottom: 1px solid #FFFFFF;
    padding-bottom: 10px;
}
.pg_footer_top_content {
    display: flex;
    justify-content: space-between;
    padding: 50px 0 40px;
    gap: 120px;
}
.pg_footer_info--name,
.pg_footer_info--name a {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 10px;
}
.pg_footer_info--name a:hover {
    opacity: 1;
}
.pg_footer_info--tel {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    padding-left: 28px;
}
.pg_footer_info--tel:before {
    content: "";
    position: absolute;
    background: url(/render/images/footer_icon_tel.png) no-repeat center / contain;
    display: block;
    width: 20px;
    height: 19px;
    left: 0;
    top: 4px;
}
.pg_footer_info--text {
    font-size: 16px;
}
.pg_footer_link {
    display: flex;
    gap: 52px;
    padding-top: 2px;
}
.pg_footer_link--ttl {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
}
.pg_footer_link--left {
    display: flex;
    gap: 30px;
}
.pg_footer_link--item:not(:last-child) {
    margin-bottom: 9px;
}
.pg_footer_link--item a {
    font-size: 16px;
}
.pg_footer_rule--list {
    display: flex;
    gap: 30px;
}
.pg_footer_rule--item a {
    font-size: 16px;
}
.pg_footer_copyright {
    font-size: 14px;
    text-align: center;
    padding: 10px 0;
}