.yarl__fullsize {
    height: 100%;
    width: 100%
}

.yarl__relative {
    position: relative
}

.yarl__portal {
    bottom: 0;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);
    z-index: var(--yarl__portal_zindex,9999)
}

.yarl__portal_open {
    opacity: 1
}

.yarl__container {
    background-color: var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));
    bottom: 0;
    left: 0;
    outline: none;
    overflow: hidden;
    overscroll-behavior: var(--yarl__controller_overscroll_behavior,contain);
    position: absolute;
    right: 0;
    top: 0;
    touch-action: var(--yarl__controller_touch_action,none);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.yarl__carousel {
    align-content: center;
    align-items: stretch;
    display: flex;
    flex: 0 0 auto;
    height: 100%;
    justify-content: center;
    opacity: var(--yarl__pull_opacity,1);
    transform: translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));
    width: calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))
}

.yarl__carousel_with_slides {
    column-gap: calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)
}

.yarl__flex_center {
    align-content: center;
    align-items: center;
    display: flex;
    justify-content: center
}

.yarl__slide {
    flex: 1 1;
    overflow: hidden;
    padding: calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);
    position: relative
}

[dir=rtl] .yarl__slide {
    --yarl__direction: -1
}

.yarl__slide_image {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    touch-action: var(--yarl__controller_touch_action,none);
    -moz-user-select: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none
}

.yarl__slide_image_cover {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.yarl__slide_image_loading {
    opacity: 0
}

@media screen and (min-width: 800px) {
    .yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image {
        -webkit-backface-visibility:hidden;
        -webkit-transform: translateZ(0);
        -webkit-transform-style: preserve-3d
    }
}

.yarl__slide_placeholder {
    left: 50%;
    line-height: 0;
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%)
}

.yarl__slide_loading {
    animation: yarl__delayed_fadein 1s linear;
    color: var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))
}

.yarl__slide_loading line {
    animation: yarl__stroke_opacity 1s linear infinite
}

.yarl__slide_loading line:first-of-type {
    animation-delay: -1.875s
}

.yarl__slide_loading line:nth-of-type(2) {
    animation-delay: -1.75s
}

.yarl__slide_loading line:nth-of-type(3) {
    animation-delay: -1.625s
}

.yarl__slide_loading line:nth-of-type(4) {
    animation-delay: -1.5s
}

.yarl__slide_loading line:nth-of-type(5) {
    animation-delay: -1.375s
}

.yarl__slide_loading line:nth-of-type(6) {
    animation-delay: -1.25s
}

.yarl__slide_loading line:nth-of-type(7) {
    animation-delay: -1.125s
}

.yarl__slide_loading line:nth-of-type(8) {
    animation-delay: -1s
}

.yarl__slide_error {
    color: var(--yarl__slide_icon_error_color,red);
    height: var(--yarl__slide_icon_error_size,48px);
    width: var(--yarl__slide_icon_error_size,48px)
}

@media (prefers-reduced-motion) {
    .yarl__portal,.yarl__slide {
        transition: unset
    }

    .yarl__slide_loading,.yarl__slide_loading line {
        animation: unset
    }
}

.yarl__toolbar {
    bottom: auto;
    display: flex;
    justify-content: flex-end;
    left: auto;
    padding: var(--yarl__toolbar_padding,8px);
    position: absolute;
    right: 0;
    top: 0
}

[dir=rtl] .yarl__toolbar {
    bottom: auto;
    left: 0;
    right: auto;
    top: 0
}

.yarl__icon {
    height: var(--yarl__icon_size,32px);
    width: var(--yarl__icon_size,32px)
}

.yarl__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--yarl__button_background_color,transparent);
    border: var(--yarl__button_border,0);
    color: var(--yarl__color_button,hsla(0,0%,100%,.8));
    cursor: pointer;
    filter: var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));
    line-height: 0;
    margin: var(--yarl__button_margin,0);
    outline: none;
    padding: var(--yarl__button_padding,8px);
    -webkit-tap-highlight-color: transparent
}

.yarl__button:focus {
    color: var(--yarl__color_button_active,#fff)
}

.yarl__button:focus:not(:focus-visible) {
    color: var(--yarl__color_button,hsla(0,0%,100%,.8))
}

.yarl__button:focus-visible {
    color: var(--yarl__color_button_active,#fff)
}

@media (hover: hover) {
    .yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover {
        color:var(--yarl__color_button_active,#fff)
    }
}

.yarl__button:disabled {
    color: var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));
    cursor: default
}

.yarl__navigation_next,.yarl__navigation_prev {
    padding: var(--yarl__navigation_button_padding,24px 16px);
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.yarl__navigation_prev {
    left: 0
}

[dir=rtl] .yarl__navigation_prev {
    left: unset;
    right: 0;
    transform: translateY(-50%) rotate(180deg)
}

.yarl__navigation_next {
    right: 0
}

[dir=rtl] .yarl__navigation_next {
    left: 0;
    right: unset;
    transform: translateY(-50%) rotate(180deg)
}

.yarl__no_scroll {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none
}

@keyframes yarl__delayed_fadein {
    0% {
        opacity: 0
    }

    80% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes yarl__stroke_opacity {
    0% {
        stroke-opacity: 1
    }

    to {
        stroke-opacity: .125
    }
}
pre {
    margin: 0;
    width: 100%;
    white-space: pre-wrap;
    word-wrap: break-word;
    word-break: break-word
}

.img_contact-modal {
    aspect-ratio: 16/14;
    width: 100%
}

.img_contact-modal img {
    object-position: 0 -40px;
    height: 100%;
    width: 100%
}

.parent-container {
    overflow-anchor: none
}

.detail-row__side {
    overflow: hidden auto;
    position: sticky;
    position: -webkit-sticky;
    top: 8rem
}

.loader {
    animation: spin 2s linear infinite
}

.p-top .mv-body__wrap {
    padding-left: 10%
}

.p-product .section-2 .sidebar .filter .price-slider .range-input input {
    top: -10px!important
}

.p-product .section-2 .sidebar.is-active .filter {
    border-radius: 0!important
}

.fixed-icons {
    display: none
}

.product-new {
    position: absolute;
    top: 1px;
    right: 0;
    background-color: red;
    color: #fff;
    padding: 4px 10px;
    border-radius: 1rem
}

.css-jtaw72-group {
    background: #00854a!important;
    color: #fff!important;
    padding: 1rem!important;
    font-size: 1.2rem!important
}

@media (min-width: 768px) {
    .fixed-icons {
        display:block;
        position: fixed;
        width: 60px;
        z-index: 9999;
        right: 20px;
        bottom: 140px
    }

    .p-top .mv-body__txt {
        max-width: 100%
    }
}

.p-top .intro-list {
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 3rem
}

.p-product-detail .container .box-center .content .description {
    display: block!important;
    line-height: 2.8rem
}

figure,figure img {
    width: 100%!important
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

::-webkit-scrollbar-thumb {
    background: #c1a78c
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px
}

::-webkit-scrollbar-track {
    background: #f9f8f8
}

img {
    vertical-align: middle;
    border-style: none;
    max-width: 100%;
    object-fit: cover
}

button:disabled {
    background: #919191!important
}

input[type=checkbox],input[type=radio] {
    accent-color: #00854a
}

.line-clamp-1 {
    -webkit-line-clamp: 1
}

.line-clamp-1,.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical
}

.line-clamp-2 {
    -webkit-line-clamp: 2
}

.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.required:after {
    content: " *";
    color: red
}

.product-skeleton {
    background-color: #c1a78c;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,.1);
    animation: pulse 1.5s infinite
}

.product-image {
    max-width: 100%;
    height: 300px;
    margin-bottom: 16px
}

.product-image,.product-title {
    background-color: #f4eee4;
    border-radius: 4px
}

.product-title {
    height: 30px;
    margin: 16px 0;
    width: 100%
}

.product-rating {
    display: flex;
    margin-bottom: 16px;
    justify-content: center
}

.star {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    border-radius: 50%
}

.product-price,.star {
    background-color: #f4eee4
}

.product-price {
    height: 24px;
    width: 50%;
    margin: auto;
    border-radius: 4px
}

@keyframes pulse {
    0% {
        opacity: 1
    }

    50% {
        opacity: .5
    }

    to {
        opacity: 1
    }
}

.p-contact .contact-list {
    justify-content: space-between!important;
    gap: 2rem!important
}

@media (max-width: 768px) {
    .modal-content h2 {
        font-size:1.6rem
    }

    .modal-content td {
        font-size: 1.2rem
    }

    .p-contact .contact-list__item {
        width: 35vw;
        height: 100%
    }

    .p-contact .contact-list {
        flex-wrap: nowrap;
        width: -moz-fit-content;
        width: fit-content;
        gap: 2rem;
        align-items: flex-start!important;
        margin-bottom: 2rem;
        height: -moz-fit-content;
        height: fit-content
    }

    .p-contact .contact-list__ttl {
        font-size: 2.6rem
    }

    .p-product .section-2 .sidebar .top-products {
        display: none!important
    }

    .p-product .section-2 .sidebar .filter {
        height: 100%!important
    }

    .p-product .section-2 .sidebar.is-active {
        left: 0!important;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 9999;
        overflow-y: scroll;
        height: 100%
    }

    .p-product .section-2 .sidebar {
        position: fixed;
        left: -100%;
        top: 0;
        width: 100%;
        z-index: 9999;
        transition: left .3s ease-in-out
    }

    .product-grid-skeleton {
        grid-template-columns: repeat(auto-fill,minmax(200px,1fr))
    }

    .p-product-detail .container {
        flex-direction: column
    }

    .p-product-detail .container .title {
        font-size: 3rem!important;
        margin-bottom: 0!important
    }

    .p-product-detail .container .details .price {
        width: 100%!important
    }

    .p-product-detail .container .details section {
        gap: 1.5rem!important
    }
}

@media (max-width: 480px) {
    .product-grid-skeleton {
        grid-template-columns:1fr
    }
}

.p-product-detail .container .images .thumbnail {
    order: 100
}

.pagination {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
    justify-content: center;
    font-family: Arial,sans-serif
}

.pagination li {
    margin: 0 5px;
    cursor: pointer
}

.pagination a {
    text-decoration: none;
    color: #333;
    padding: 10px 15px;
    border-radius: 50%;
    transition: background-color .3s
}

.pagination li.active a {
    background-color: #c1a78c;
    color: #fff
}

.pagination li:not(.active) a:hover {
    background-color: #f4eee4
}

.pagination li.disabled a {
    color: #ccc;
    cursor: not-allowed
}

.pagination li:first-child a,.pagination li:last-child a {
    font-weight: 700
}

.orderby,.pagination li.break a {
    border: none
}

.orderby {
    font-size: 14px;
    padding: 10px;
    border-radius: 5px;
    background: transparent;
    cursor: pointer
}

.orderby:focus {
    outline: none
}

.input-search {
    border-radius: 10px;
    background: #fff;
    height: 40px;
    min-width: 250px;
    border: none;
    padding-left: 15px
}

.input-search:focus {
    outline: 1px solid #c1a78c
}

.btn-search {
    cursor: pointer;
    border: none;
    position: absolute;
    right: 5px;
    background: transparent;
    top: 6px
}

.day-picker {
    padding: 12px
}

.day-picker .months {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    @media (min-width: 640px) {
        flex-direction:row;
        gap:0 16px}
}

.booking-form-container {
    background-color: #fff;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,.1);
    width: 100%;
    margin: 0 auto;
    font-family: Arial,sans-serif;
    position: relative
}

.close-button {
    position: absolute;
    right: 20px;
    top: 20px;
    cursor: pointer
}

.booking-form-title {
    color: #27282c;
    text-align: center;
    font-family: Beautique Display;
    font-size: 3.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: 50px;
    text-transform: uppercase;
    padding: 4rem 0
}

.booking-form-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #4a5568;
    margin-bottom: 4px
}

.form-control-contact {
    width: 100%;
    padding: 8px;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    font-size: 16px
}

.dropdown-item {
    padding: 8px;
    cursor: pointer
}

.date-input {
    position: relative;
    margin-bottom: 24px
}

.services-title {
    font-size: 18px;
    font-weight: 600;
    color: #2f855a;
    margin-bottom: 16px
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-gap: 16px;
    gap: 16px
}

.service-item {
    display: flex;
    align-items: center
}

.checkbox {
    margin-right: 8px
}

.booking-button {
    width: 100%;
    padding: 12px;
    background-color: #2f855a;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 24px
}

.day-picker input:focus,.form-input:focus {
    outline: 1px solid #c1a78c
}

.pagination .next:before,.pagination .prev:before {
    display: none;
    width: 1.4rem;
    height: 1.4rem;
    position: absolute;
    border: 1px solid #000;
    border-width: 1px 1px 0 0;
    left: calc(50% - .7rem);
    top: calc(50% - .7rem)
}

.slick-slider .slick-list,.slick-slider .slick-track {
    display: flex!important
}

.slick-track {
    width: 30000px!important
}

.p-top .service-slider .slick-slide {
    margin: 0 3rem!important
}

.p-top .branch-list .slick-arrow {
    bottom: -7rem!important
}

.tab-dat-lich {
    display: flex;
    width: 100%;
    height: 76px;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0
}

.tab-dat-lich div {
    flex: 1 1;
    cursor: pointer;
    align-items: center;
    display: flex;
    justify-content: center;
    font-family: Be Vietnam Pro;
    font-size: 2rem;
    height: 100%;
    background: #c2c2c2
}

.tab-dat-lich div.active {
    background: #275b38;
    color: #fff
}

.booking-form {
    background: #fff;
    margin: 0 auto;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    border-radius: 8px;
    overflow: hidden;
    z-index: 1
}

.required-note {
    text-align: right;
    color: #f10000;
    font-size: 1.4rem;
    font-style: italic;
    padding: 8px 7rem 8px 8px;
    font-family: Be Vietnam Pro
}

.css-ntdiql {
    color: #fff!important
}

.form-section {
    display: flex;
    border-top: 1px solid #e0e0e0
}

.section-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 30%;
    background: #d4cbc2;
    padding: 16px
}

.section-title h2 {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 0;
    color: #000
}

.section-content {
    width: 66.67%;
    padding: 16px
}

.form-group {
    display: flex;
    align-items: center;
    gap: 5px
}

.form-row {
    display: flex;
    gap: 16px
}

.form-row .form-group {
    flex: 1 1
}

.form-group>div {
    width: 100%
}

.validate-form {
    color: red;
    font-style: italic
}

label {
    display: block;
    min-width: 110px;
    margin-bottom: 4px;
    color: rgba(0,0,0,.68);
    font-family: Be Vietnam Pro;
    font-size: 1.6rem;
    font-weight: 300
}

input,select,textarea {
    width: 100%;
    padding: 8px;
    border: 1px rgba(0,0,0,.38);
    height: 49px;
    background: #e9e9e9;
    border-radius: 4px
}

input[type=tel]:focus select:focus,input[type=text]:focus {
    outline: 1px solid #c1a78c
}

.select-wrapper {
    position: relative;
    width: 100%
}

.select-wrapper:after {
    content: "";
    font-size: .8rem;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none
}

.selected-services {
    margin-top: 16px
}

.service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px
}

.service-tag {
    background-color: #e0e0e0;
    padding: 4px 8px;
    border-radius: 16px;
    font-size: .9rem;
    display: flex;
    align-items: center
}

.service-tag button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    margin-left: 4px
}

.consent-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 20px
}

.consent-item {
    display: flex;
    align-items: flex-start;
    gap: 10px
}

.consent-checkbox {
    margin-top: 4px;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer
}

.consent-label {
    color: #000;
    font-family: Be Vietnam Pro;
    font-size: 1.6rem;
    width: 80%;
    font-weight: 600
}

.consent-description {
    font-size: 1.2rem;
    color: #7d7d7d;
    margin-top: 4px;
    margin-bottom: 0
}

.button-form-booking {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 5rem
}

.button-form-booking button {
    color: #fff;
    width: 190px;
    height: 59px;
    border-radius: 7.718px;
    background: #275b38;
    box-shadow: 0 15.437px 27.015px 0 rgba(223,105,81,.15);
    border: none;
    cursor: pointer
}

.button-form-booking .btn-cancel {
    background: #919191
}

.date-booking-form {
    display: grid;
    text-align: center;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-gap: 20px;
    gap: 20px
}

.date-booking-form .time-slot {
    cursor: pointer;
    padding: 10px;
    background-color: #fff
}

.date-booking-form .time-slot.active {
    border: .5px solid rgba(0,0,0,.38);
    opacity: .38;
    background: linear-gradient(0deg,#f1f1f1,#f1f1f1),#f1f1f1
}

.date-booking-form h5 {
    color: #000;
    text-align: center;
    font-size: 2.2rem;
    font-weight: 400
}

.date-booking-form p {
    font-size: 1.6rem
}

.branch-list__btn {
    width: 5rem;
    height: 5rem;
    right: 0;
    top: calc(50% - 2.5rem);
    border-radius: 50%;
    border: 1px solid #fff;
    pointer-events: none;
    position: absolute;
    background: url(/assets/images/common/arrow_icon_05.svg) no-repeat 50%/2.3rem
}

.list-cart {
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    margin-top: 20px
}

.cart-title,.list-cart {
    display: flex;
    align-items: center
}

.cart-title {
    width: 100%;
    justify-content: flex-end;
    gap: 8px;
    color: #275b38;
    font-family: Be Vietnam Pro;
    font-size: 1.6rem;
    font-weight: 600;
    cursor: pointer;
    border-bottom: 1px solid #d0cfcf;
    padding-bottom: 5px
}

.cart-item_title {
    padding-top: 5px
}

.cart-item_title h3 {
    color: #a78b6d;
    font-family: Be Vietnam Pro;
    font-size: 2.3rem;
    font-style: normal;
    font-weight: 500
}

.cart-item_title p {
    color: #1e1e1e;
    font-family: Be Vietnam Pro;
    font-size: 1.8rem;
    font-weight: 300
}

.list-product__cart {
    justify-content: center;
    flex-direction: column;
    gap: 20px
}

.list-product__cart,.list-product__item {
    width: 100%;
    display: flex;
    align-items: center
}

.list-product__item {
    justify-content: space-between;
    border-radius: 8.218px;
    background: #fff;
    padding: 20px
}

.list-product__item-left,.list-product__item-right {
    display: flex;
    align-items: center;
    gap: 30px
}

.list-product__item-right {
    flex-shrink: 0
}

.list-product__item-left h4 {
    color: #275b38;
    font-family: Be Vietnam Pro;
    font-size: 2.4rem;
    font-weight: 600
}

.list-product__item-right input {
    text-align: center;
    width: 40px
}

.list-product__item-right input::-webkit-outer-spin-button,input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.list-product__item-right input[type=number] {
    -moz-appearance: textfield
}

.list-product__item-right p {
    color: #393939;
    text-align: right;
    font-family: Be Vietnam Pro;
    font-size: 1.8rem;
    font-weight: 500
}

.list-product__item-right .btn-delete {
    cursor: pointer;
    background-color: #f10000;
    border-radius: 99px;
    padding: 6px;
    width: 35px
}

.input-cart_product {
    justify-content: flex-end;
    display: flex;
    align-items: center;
    gap: 5px
}

.input-cart_product div {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5px;
    gap: 3px
}

.btn-minus,.input-cart_product .btn-plus {
    background-color: #e9e9e9;
    border-radius: 99px;
    cursor: pointer
}

.react-datepicker-wrapper {
    width: 100%!important
}

.react-datepicker {
    background-color: #dbdbdb;
    border: none;
    border-radius: 8px;
    padding: 10px;
    width: 100%
}

.react-datepicker__current-month {
    font-size: 18px;
    margin-bottom: 10px
}

.react-datepicker__month-container {
    width: 100%!important
}

.react-datepicker__navigation {
    top: 20px;
    line-height: 2em;
    border: none;
    background-color: transparent
}

.react-datepicker__navigation--previous {
    border-right-color: #a0a0a0
}

.react-datepicker__navigation--next {
    border-left-color: #a0a0a0
}

.react-datepicker__day-names {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    background-color: #d4cbc2;
    color: #fff!important;
    padding: 5px 0
}

.react-datepicker__day-name {
    text-align: center!important;
    color: #fff
}

.react-datepicker__week {
    text-align: center!important;
    display: grid;
    grid-template-columns: repeat(7,1fr)
}

.react-datepicker__day {
    text-align: center!important;
    padding: 10px;
    margin: 0;
    border-radius: 4px;
    color: #275b38
}

.react-datepicker__day--weekend {
    color: #a87e50
}

.react-datepicker__day--selected {
    background-color: #a87e50;
    color: #fff
}

.react-datepicker__day,.react-datepicker__day--keyboard-selected,.react-datepicker__day-names,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text {
    width: 100%!important;
    font-size: 2rem!important
}

.react-datepicker__day--outside-month {
    visibility: hidden
}

.react-datepicker__day--highlighted {
    color: #60a060
}

.react-datepicker__month-container {
    width: auto
}

.react-datepicker__header {
    background-color: transparent!important;
    border-bottom: none
}

.react-datepicker__day--selected {
    background-color: #275b38!important;
    color: #fff!important
}

.p-brand .brand-menu__item.active {
    color: #c1a78c
}

.p-brand .active.brand-menu__item:after {
    background: #83cd20 url(/assets/images/common/arrow_icon_white.svg) no-repeat 50%/1.4rem
}

.form-order {
    display: flex;
    gap: 2rem;
    margin: 40px auto;
    padding: 4rem;
    width: 100%;
    border-radius: 8.218px;
    background: #fff
}

.customer-info h2,.order-summary h2 {
    padding-bottom: 20px;
    color: #275b38;
    font-family: Be Vietnam Pro;
    font-size: 2.4rem;
    font-weight: 600
}

.customer-info {
    flex: 2 1
}

.order-summary {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex: 1 1
}

.form-order .form-row__order {
    width: 100%;
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem
}

.form-row__order div {
    width: 32.93%
}

.total {
    border-top: 1px solid rgba(0,0,0,.18);
    display: flex;
    justify-content: space-between;
    padding-top: 1rem
}

.order-button,.total {
    font-family: Be Vietnam Pro;
    font-size: 1.8rem
}

.order-button {
    font-weight: 600;
    width: 100%;
    padding: 1.5rem;
    background: #d4c5ad;
    border-radius: 4px;
    cursor: pointer;
    border: none
}

.note {
    font-size: 1.4rem;
    color: #666;
    font-style: italic;
    font-family: Be Vietnam Pro
}

.discount-code {
    display: flex;
    align-items: center;
    gap: .5rem
}

.discount-code input {
    flex: 1 1
}

.discount-code div {
    padding: .5rem 1rem;
    border-radius: 4px;
    border: .5px rgba(0,0,0,.18);
    background: #dbdbdb;
    cursor: pointer;
    height: 100%;
    display: flex;
    align-items: center
}

.contact-order h4 {
    color: #27282c;
    font-family: Beautique Display;
    font-size: 1.8rem;
    font-weight: 600;
    text-transform: uppercase
}

.contact-order p {
    color: #000;
    font-family: Be Vietnam Pro;
    font-size: 1.6rem;
    font-weight: 300
}

.contact-order ul {
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 15px
}

.contact-order ul li {
    display: flex;
    align-items: center;
    gap: 8px
}

.payment {
    max-width: 610px!important;
    margin-top: 5rem!important;
    padding: 2rem;
    background-color: #fff;
    border-radius: 1.4rem;
    line-height: 4rem
}

.form-payment {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center
}

.modal-content {
    gap: 2rem;
    padding-top: 4rem;
    width: 100%;
    text-align: center
}

.success-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #4caf50;
    color: #fff;
    font-size: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 1rem
}

.modal-content h2 {
    color: #333;
    margin-bottom: 1rem
}

.modal-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    line-height: 4rem
}

.modal-content td {
    padding: .5rem;
    border-bottom: 1px solid #eee;
    text-align: left
}

.modal-content td:first-child {
    font-weight: 700;
    width: 40%
}

.qr-container {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 1rem auto
}

.content-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: center
}

.branch-list__body {
    padding-bottom: 2rem
}

.container-describe {
    display: flex;
    flex-direction: column;
    align-items: center
}

.container-describe ul {
    width: 100%
}

.container-describe ul li {
    width: 100%;
    list-style: url(/assets/images/icon/icon-list.svg)
}

.fixed {
    top: 0;
    position: fixed;
    margin: 0 auto;
    width: 100%;
    animation: slideDown .5s ease-out
}

.header-body {
    height: 70px
}

@keyframes slideDown {
    0% {
        transform: translateY(-100%)
    }

    to {
        transform: translateY(0)
    }
}

.fixed .header-body {
    border-radius: 0;
    box-shadow: 0 2px 5px #275b38
}

.header-vf {
    padding: 0 3rem
}

.popup__close {
    width: 3rem;
    height: 3rem;
    background-color: #c1a78c;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: absolute;
    right: 1rem;
    top: 1rem;
    cursor: pointer;
    transition: all .15s ease-in-out
}

.popup__close:hover {
    opacity: .8
}

.popup__close:after,.popup__close:before {
    content: "";
    position: absolute;
    width: .2rem;
    height: 1.2rem;
    background-color: #fff;
    border-radius: .3rem;
    left: calc(50% - .1rem);
    top: calc(50% - .5rem)
}

.popup__close:before {
    transform: rotate(45deg)
}

.popup__close:after {
    transform: rotate(-45deg)
}

.modal-box {
    max-width: 600px;
    max-height: 84dvh
}

.modal-box .contact-form {
    padding: 2rem 4rem 4rem!important
}

@media (max-width: 968px) {
    .product-image {
        height:100px
    }

    .section-content,.section-title {
        width: 100%
    }

    .consent-form {
        gap: 12px
    }

    .consent-checkbox {
        width: 18px;
        height: 18px
    }

    .consent-label {
        font-size: .8rem!important
    }

    .consent-description {
        font-size: .6rem!important
    }

    .form-row {
        flex-direction: column;
        gap: 16px
    }
}

@media (max-width: 768px) {
    .footer-primary {
        display:flex;
        flex-direction: column!important;
        align-items: start;
        gap: 10px
    }

    .modal-box {
        width: 400px;
        padding: 3rem 0
    }

    .modal-box .contact-form {
        padding: 2rem!important
    }

    .img_contact-modal {
        display: none
    }

    .header-body {
        height: 60px
    }

    .header-top {
        display: flex;
        justify-content: space-between;
        font-size: 1.2rem
    }

    .header-top__phone {
        font-size: 1.2rem!important
    }

    .container-describe ul li {
        font-size: 1rem;
        list-style: circle
    }

    .p-product .section .filter {
        width: 100%!important
    }

    .react-datepicker__day,.react-datepicker__day--keyboard-selected,.react-datepicker__day-names,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text {
        font-size: 1rem!important
    }

    .content-bottom {
        flex-direction: column;
        align-items: center
    }

    .payment {
        width: 100%!important
    }

    .modal-content {
        padding: 0
    }

    .modal-content table {
        font-size: .8rem
    }

    .footer {
        padding-top: 3rem!important
    }

    .footer-wrap {
        padding-bottom: 3rem!important;
        flex-direction: column;
        gap: 2rem
    }

    .footer-wrap__item:nth-child(2) {
        order: -1
    }

    .footer-wrap__item.--large {
        padding-right: 0!important
    }

    .footer-email__btn {
        top: 30%!important;
        right: 0!important
    }

    .footer__ttl {
        margin-bottom: 1rem!important
    }

    .footer__logo {
        width: 20rem!important
    }

    .footer-social {
        justify-content: center!important
    }

    input,select,textarea {
        font-size: small!important
    }

    .form-section {
        flex-direction: column
    }

    .p-mv {
        min-height: 10rem!important
    }

    .p-mv__ttl {
        text-align: center;
        font-size: 3rem!important
    }

    .p-mv__body:after {
        width: 7rem!important;
        height: 39rem!important;
        top: -150%!important;
        left: calc(95% + 1rem)!important
    }

    .product-card .name {
        font-size: 1.4rem!important;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .p-product .section {
        flex-direction: column;
        border-bottom: 0!important
    }

    .p-product .section .filter {
        flex-direction: column-reverse;
        justify-content: space-between
    }

    .p-product .section-2 .product-container .list {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    .form-order {
        padding: 2rem
    }

    .form-order,.form-order .form-row__order {
        flex-direction: column
    }

    .form-row__order div {
        width: 100%
    }

    .list-product__item-left,.list-product__item-right {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center
    }

    .list-product__item-right p {
        text-align: center
    }

    .p-mv {
        margin-bottom: 2rem!important
    }

    .p-brand .brand-new__head {
        margin: 0 auto 1rem!important
    }

    .sec-ttl {
        font-size: 2rem!important
    }

    .booking-form-title {
        font-size: 2rem;
        padding: 1rem
    }

    .date-booking-form h5,.tab-dat-lich div {
        font-size: 1.4rem
    }

    .date-booking-form p,.required-note {
        font-size: .8rem!important
    }

    .css-5o29mi-placeholder {
        font-size: 1rem!important
    }

    .button-form-booking {
        flex-direction: column;
        padding: 1rem!important
    }

    .button-form-booking a,.button-form-booking button {
        width: 100%
    }
}

@media (max-width: 430px) {
    .p-product .section .filter {
        flex-wrap:wrap;
        justify-content: flex-end;
        padding-bottom: 10px
    }

    .p-mv__body:after {
        top: -150%!important
    }

    .react-datepicker__day,.react-datepicker__day--keyboard-selected,.react-datepicker__day-names,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text {
        font-size: .8rem!important
    }

    .input-cart_product {
        flex-direction: column
    }

    .input-cart_product div {
        flex-direction: row
    }

    .discount-code {
        flex-direction: column
    }
}

@media (max-width: 768px) {
    .p-cart .list-product__item {
        padding:8px;
        flex-direction: column
    }

    .p-cart .list-product__item-right {
        flex-direction: row;
        width: 100%;
        justify-content: space-between;
        margin-top: 12px
    }

    .p-cart .input-cart_product {
        flex-direction: row-reverse
    }

    .p-cart .list-product__item-left {
        width: 100%;
        flex-direction: row
    }

    .p-cart .list-product__item-left img {
        width: 8rem
    }

    .p-cart .list-product__item-left h4 {
        font-size: 1.8rem
    }

    .p-cart .form-order {
        margin-top: 2rem
    }

    .p-top .mv-body__sub {
        font-size: 2.8rem!important
    }

    .p-top .mv-body__ttl {
        font-size: 3.8rem!important;
        margin-top: 20px
    }

    .mv-body__wrap {
        padding-left: 0!important
    }

    .p-top .mv .header-btn__book {
        bottom: 10rem!important
    }

    .p-top .product-list {
        display: grid;
        grid-gap: 1.2rem;
        gap: 1.2rem;
        margin-bottom: 3rem!important
    }

    .p-product-detail .container .list-product .product-card {
        width: 100%!important;
        gap: .8rem!important
    }
}

@media (min-width: 768px) {
    .p-top .mv-body__txt {
        max-width:100%!important
    }
}

.p-cart .list-cart-container {
    max-height: 35vh;
    overflow-y: auto
}

.product-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1.875rem;
    height: 100%
}

.product-card .image {
    aspect-ratio: 1;
    border: 1px solid #c1a78c;
    border-radius: var(--radius);
    overflow: hidden
}

.product-card .detail {
    text-align: center;
    font-family: Be Vietnam Pro;
    display: flex;
    flex-direction: column;
    gap: .8rem
}

.product-card .detail .stars>div {
    width: 16px
}

.product-card .detail .name {
    font-size: 2rem;
    font-weight: 400
}

.product-card .detail .price {
    font-size: 1.4rem;
    font-family: Be Vietnam Pro;
    font-weight: 400;
    color: var(--primary);
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 3.24px;
    word-wrap: break-word
}

.p-top .product-list {
    gap: 1rem;
    margin-bottom: 3rem!important
}

.part-ttl {
    margin-bottom: 2rem!important;
    margin-top: 8rem!important
}

.p-product .section .title {
    font-size: 2.5rem
}

.description {
    font-size: 14px
}

@media (min-width: 768px) {
    .description {
        font-size:16px
    }

    .part-ttl {
        margin-bottom: 3rem!important;
        margin-top: 12rem!important
    }

    .p-mv {
        margin-bottom: 2rem!important
    }
}

.p-about .intro__ttl {
    font-size: 4.5rem
}

@media (min-width: 768px) {
    .p-about .intro__content:after {
        top:calc(100% + 16rem)
    }

    .p-about .intro-list {
        gap: 3rem 4rem
    }
}

.body-txt {
    margin-bottom: 0
}

.p-blog .blog-list__date {
    min-width: 100%;
    padding: 0 8px
}

@media (min-width: 768px) {
    .post {
        font-size:1.6rem
    }

    .p-blog-detail .post-title {
        font-size: 3.6rem;
        margin-bottom: 16px
    }

    .p-blog .blog-list__ttl,.p-top .intro-media__list .item {
        font-size: 2rem
    }
}

.p-blog .blog-list__ttl {
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0 8px;
    bottom: -4px;
    line-height: 4.5rem;
    margin-bottom: 1.5rem
}

.p-blog .blog-list__date:after {
    display: none!important
}

.p-top .intro-media__content {
    height: auto!important
}

main {
    overflow-x: hidden
}

.discount .discount-list {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    grid-gap: 1.2rem;
    gap: 1.2rem
}

.discount .discount-list>div {
    grid-column: span 2/span 2;
    overflow: hidden
}

.discount .discount-list>div:first-child,.discount .discount-list>div:nth-child(2) {
    grid-column: span 3/span 3
}

.discount .discount-list>div img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

@media (max-width: 768px) {
    .box-price {
        flex-direction:column;
        gap: 2px
    }

    .gap-responsive {
        gap: 20px
    }

    .discount .discount-list {
        grid-template-columns: repeat(1,minmax(0,1fr))
    }
}

.p-top .appoint-media:before {
    display: none!important
}

.text-align-justify p,.text-align-justify ul li {
    text-align: justify!important
}

.info-2 {
    display: flex;
    gap: 24px;
    flex-direction: column
}

.info-2>div:first-child {
    flex: 1 1
}

.info-2>div:nth-child(2) {
    flex: 1.6 1
}

@media (min-width: 768px) {
    .info-2 {
        flex-direction:row
    }
}

table.variations .value {
    width: 100%
}

.ux-swatches {
    --swatch-size-x-small: 15px;
    --swatch-size-small: 20px;
    --swatch-size-medium: 30px;
    --swatch-size-large: 45px;
    --swatch-size-x-large: 70px;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 5px 0
}

.ux-swatch--label.disabled {
    background: linear-gradient(to top left,transparent calc(50% - .031rem),#000,transparent calc(50% + .031rem))
}

.ux-swatch.disabled {
    cursor: default;
    opacity: .5
}

.ux-swatch--label {
    font-size: 14px;
    min-height: var(--swatch-size-medium);
    min-width: var(--swatch-size-medium);
    padding: 8px 16px
}

.ux-swatch {
    align-items: center;
    box-shadow: 0 0 0 1px #d5d5d5;
    cursor: pointer;
    display: flex;
    justify-content: center;
    position: relative;
    white-space: nowrap
}

.ux-swatch.selected {
    box-shadow: 0 0 0 2px #d26e4b
}

.variations td,.variations th {
    border: 0;
    letter-spacing: normal;
    padding: .2em 0;
    text-transform: none;
    vertical-align: middle
}
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;900&family=Playfair+Display:wght@400..900&display=swap");* {
    box-sizing: border-box
}

:root {
    --background: 0 0% 100%;
    --foreground: 222.2 47.4% 11.2%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 47.4% 11.2%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 47.4% 11.2%;
    --primary: #275b38;
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --accent: 210 40% 96.1%;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 100% 50%;
    --destructive-foreground: 210 40% 98%;
    --ring: 215 20.2% 65.1%;
    --radius: 1rem
}

html {
    font-size: 2.3255813953vw
}

body {
    font-family: Be Vietnam Pro,sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #27282c;
    background-color: #f4eee4;
    position: relative;
    min-height: 100vh;
    font-size: clamp(10px,1.4rem,1.4rem)
}

body,h1,h2,h3,h4,h5,h6,p {
    margin: 0
}

dl,ol,ul {
    list-style-type: none;
    margin: 0;
    padding-left: 0
}

b,strong {
    font-weight: 700
}

a {
    background-color: transparent;
    color: inherit;
    text-decoration: none
}

img {
    vertical-align: middle;
    border-style: none;
    max-width: 100%;
    height: auto
}

table {
    border-collapse: collapse
}

th {
    font-weight: 400;
    text-align: inherit;
    text-align: -webkit-match-parent
}

button,input,optgroup,select,textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

select {
    word-wrap: normal
}

[type=button],[type=reset],[type=submit],button {
    -webkit-appearance: button
}

textarea {
    overflow: auto;
    resize: vertical
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

[hidden] {
    display: none!important
}

.container,.inner {
    margin: auto;
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem
}

.wrapper {
    max-width: calc(100% - 16rem);
    margin: 0 auto;
    padding: 0 1.5rem
}

.slick-next,.slick-prev {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0;
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    border: none
}

.slick-next,.slick-next:focus,.slick-next:hover,.slick-prev,.slick-prev:focus,.slick-prev:hover {
    background: transparent;
    color: transparent;
    outline: none
}

.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before {
    opacity: .75
}

.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before {
    opacity: .25
}

.slick-next:before,.slick-prev:before {
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: 1;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: -25px
}

[dir=rtl] .slick-prev {
    left: auto;
    right: -25px
}

.slick-prev:before {
    content: "←"
}

[dir=rtl] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir=rtl] .slick-next {
    left: -25px;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir=rtl] .slick-next:before {
    content: "←"
}

.slick-dots {
    position: absolute;
    bottom: -4rem;
    list-style: none;
    display: flex!important;
    margin: 0;
    width: 100%
}

.slick-dots,.slick-dots li {
    justify-content: center;
    text-align: center;
    padding: 0
}

.slick-dots li {
    position: relative;
    display: flex;
    align-items: center;
    height: 1.5rem;
    width: 1.5rem;
    margin: 0 .2rem;
    cursor: pointer;
    transition: .2s ease-in-out
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    height: .7rem;
    width: .7rem;
    outline: none;
    line-height: 0px;
    font-size: 0;
    color: transparent;
    padding: 0;
    cursor: pointer;
    background: #000;
    border-radius: 50%;
    transition: all .2s ease-in-out
}

.slick-dots li button:focus,.slick-dots li button:hover {
    outline: none
}

.slick-dots li button:focus:before,.slick-dots li button:hover:before {
    opacity: .75
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: #000;
    opacity: .25;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: 1
}

.slick-slider {
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.slick-list,.slick-slider {
    position: relative;
    display: block
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,.slick-slider .slick-track {
    transform: translateZ(0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto
}

.slick-arrow.slick-hidden {
    display: none
}

.btn,.btn-arrow,.btn-border {
    text-decoration: none;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.btn-arrow:focus,.btn-border:focus,.btn.focus,.btn:focus,.focus.btn-arrow,.focus.btn-border {
    outline: 0
}

.btn-arrow:disabled,.btn-border:disabled,.btn.disabled,.btn:disabled,.disabled.btn-arrow,.disabled.btn-border {
    opacity: .6
}

.btn-arrow:not(:disabled):not(.disabled),.btn-border:not(:disabled):not(.disabled),.btn:not(:disabled):not(.disabled) {
    cursor: pointer
}

.btn-submit {
    cursor: pointer;
    background-color: #c1a78c;
    color: #fff;
    border: 0;
    outline: 0;
    font-weight: 700;
    min-height: 5.5rem;
    letter-spacing: .15em;
    padding: 0 5rem
}

.btn-arrow,.btn-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center
}

.btn-arrow {
    border: 1px solid #000;
    border-radius: 4.5rem;
    transition: all .3s ease-in-out;
    gap: 1.5rem;
    height: 4rem;
    padding: 0 2.5rem;
    letter-spacing: .14em
}

.btn-arrow:hover:after {
    transform: translateX(6px)
}

.btn-arrow:after {
    content: "";
    width: 2.4rem;
    height: .7rem;
    background: url(/assets/images/common/arrow_icon_02.svg) no-repeat 50%/contain;
    transition: all .3s ease-in-out
}

.btn-arrow.--white {
    border-color: #fff;
    color: #fff
}

.btn-arrow.--white: after {
    background-image:url(/assets/images/common/arrow_icon_02_white.svg)
}

.btn-arrow.--large {
    height: 4.4rem;
    padding: 0 3rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    gap: 1.5rem
}

.btn-circle {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    border: 1px solid #275b38;
    cursor: pointer;
    position: relative;
    background: transparent
}

.btn-circle:after {
    content: "";
    position: absolute;
    width: 1.3rem;
    height: 1.3rem;
    left: calc(50% - .5rem);
    transform: rotate(-20deg);
    top: calc(50% - .7rem);
    background: url(/assets/images/common/arrow_icon_04.svg) no-repeat 50%/contain
}

.btn-circle.--white {
    border-color: #000
}

.btn-circle.--white: after {
    background-image:url(/assets/images/common/arrow_icon_04_black.svg)
}

.btn-border {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: .2rem solid #5c8692;
    padding: 1.5rem 3rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .12em
}

.form-control {
    display: block;
    width: 100%;
    min-height: 5.5rem;
    font-family: Be Vietnam Pro,sans-serif;
    background-color: transparent;
    border: 1px solid #275b38;
    padding: 1.5rem
}

.form-control::-ms-expand {
    background-color: transparent;
    border: 0
}

.form-control:focus-visible {
    border: 2px solid #c1a78c;
    outline: 0
}

.form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #27282c
}

.form-control::placeholder {
    color: #27282c;
    opacity: .9
}

.form-control:disabled,.form-control[readonly] {
    background-color: #f0f0f0;
    opacity: 1
}

input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.header {
    position: relative;
    z-index: 99
}

.header__logo {
    display: block;
    width: 15rem
}

.header-top {
    z-index: 9999!important
}

.header-top__mail,.header-top__phone {
    display: flex;
    align-items: center;
    gap: 1.2rem
}

.header-top__mail:before,.header-top__phone:before {
    content: "";
    width: 2rem;
    height: 2rem
}

.header-top__mail {
    font-weight: 400;
    color: #919191
}

.header-top__mail:before {
    background: url(/assets/images/common/mail_icon.svg) no-repeat 50%/contain
}

.header-top__phone {
    color: #275b38;
    font-weight: 700;
    font-size: 1.5rem
}

.header-top__phone:before {
    background: url(/assets/images/common/phone_icon.svg) no-repeat 50%/contain
}

.header-top__time {
    font-weight: 600
}

.header-top__social {
    align-items: center;
    display: flex;
    gap: 1rem
}

.header-top__social a {
    width: 3.6rem;
    height: 2.4rem;
    padding: 0 .6rem
}

.header-top__social a img {
    width: 100%;
    display: block
}

.header-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    box-shadow: 0 -.2rem .4rem rgba(0,0,0,.1);
    border-radius: .8rem .8rem 0 0;
    padding: 1rem 1.5rem
}

.header-box__close {
    position: fixed
}

.header-box__close,.sidebar-box__close {
    width: 4rem;
    height: 4rem;
    right: 1rem;
    top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 12
}

.sidebar-box__close {
    position: absolute
}

.header-box__close:after,.header-box__close:before {
    content: "";
    height: 2px;
    background-color: #27282c;
    border-radius: 3px;
    width: 80%;
    position: absolute;
    display: block
}

.sidebar-box__close:after,.sidebar-box__close:before {
    content: "";
    height: 2px;
    background-color: #fff;
    border-radius: 3px;
    width: 80%;
    position: absolute;
    display: block
}

.header-box__close:before {
    transform: rotate(-45deg)
}

.header-box__close:after {
    transform: rotate(45deg)
}

.header-menu__item {
    position: relative
}

.header-menu__item.is-active .header-menu__anchor {
    color: #00854a
}

.header-menu__item.has-sub .header-menu__anchor:after {
    content: "";
    width: 1rem;
    height: .7rem;
    display: inline-block;
    background: url(/assets/images/common/arrow_icon.svg) no-repeat 50%/contain
}

.header-menu__item.has-sub:hover .header-sub {
    opacity: 1;
    visibility: visible;
    top: calc(100% - 1.1rem)
}

.header-menu__anchor {
    text-transform: uppercase;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.6rem;
    transition: all .2s ease-in-out;
    padding: 1.5rem 10rem 1.5rem 0;
    position: relative
}

.header-menu__anchor:hover {
    color: #00854a
}

.header-sub {
    left: 0;
    z-index: 2;
    padding-bottom: 1rem
}

.header-sub__item {
    padding-bottom: 1px;
    position: relative
}

.header-sub__item:after {
    content: "";
    position: absolute;
    height: 1px;
    left: 2rem;
    width: calc(100% - 4rem);
    bottom: 0;
    background-color: #f0f3f9
}

.header-sub__anchor {
    padding: 1.5rem 2rem;
    font-size: 1.6rem;
    font-weight: 400;
    display: block;
    transition: all .2s ease-in-out;
    white-space: nowrap
}

.header-sub__anchor:hover {
    color: #c1a78c
}

.header-btn {
    display: flex;
    align-items: center
}

.header-btn__cart,.header-btn__search {
    outline: 0;
    border: 0;
    cursor: pointer;
    width: 2.6rem;
    height: 3rem;
    padding: 0
}

.header-btn__search {
    margin-right: 2rem;
    background: url(/assets/images/common/search_icon.svg) no-repeat bottom/2.6rem
}

.header-btn__cart {
    background: url(/assets/images/common/cart_icon.svg) no-repeat bottom/2.6rem;
    position: relative
}

.header-btn__cart .number {
    position: absolute;
    right: -1rem;
    top: -1rem;
    background-color: #c1a78c;
    width: 1.6rem;
    height: 1.6rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.1rem;
    border-radius: 50%
}

.header-btn__book {
    display: inline-flex;
    background-color: #00854a;
    color: #fff;
    font-weight: 700;
    letter-spacing: .15em;
    padding: 1rem 2.5rem;
    border-radius: 5rem;
    border: 0
}

.hamburger-box,.header-btn__book {
    cursor: pointer;
    align-items: center
}

.hamburger-box {
    position: relative;
    display: flex;
    justify-content: flex-end;
    height: 4rem;
    width: 4rem;
    z-index: 10
}

.hamburger-box:hover .hamburger-inner:after,.hamburger-box:hover .hamburger-inner:before {
    width: 3rem
}

.hamburger-box.is-active .hamburger-inner {
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
    transform: rotate(45deg)
}

.hamburger-box.is-active .hamburger-inner:before {
    transition: top 75ms ease,opacity 75ms ease .12s;
    opacity: 0;
    top: 0
}

.hamburger-box.is-active .hamburger-inner:after {
    transition: bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s;
    transform: rotate(-90deg);
    width: 3rem;
    bottom: 0
}

.hamburger-inner:after,.hamburger-inner:before {
    display: block;
    content: ""
}

.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before {
    height: 1.5px;
    background-color: #27282c;
    transition: all .12s ease-in-out;
    border-radius: 3px;
    right: 0
}

.hamburger-inner {
    width: 3rem;
    position: relative;
    display: block;
    transition-timing-function: cubic-bezier(.55,.055,.675,.19);
    transition-duration: 75ms
}

.hamburger-inner:before {
    width: 2rem;
    position: absolute;
    top: -.8rem
}

.hamburger-inner:after {
    width: 2rem;
    position: absolute;
    bottom: -.8rem
}

.footer {
    background-color: #dccdbf;
    padding-top: 3rem;
    margin-top: 6rem
}

.footer__logo {
    display: block;
    width: 30rem
}

.footer__ttl {
    font-family: Playfair Display,sans-serif;
    font-size: 3.4rem;
    margin-bottom: 1.5rem
}

.footer__sub {
    font-weight: 700;
    margin-bottom: .5rem
}

.footer__txt {
    line-height: 2
}

.footer__txt:not(:last-child) {
    margin-bottom: .5rem
}

.footer__row {
    padding: 3rem 0;
    display: flex
}

.footer-wrap {
    border-bottom: 1px solid #000;
    gap: 4rem;
    padding-bottom: 4rem
}

.footer-wrap__item {
    flex: 1 1;
    display: flex;
    flex-direction: column
}

.footer-wrap__item.--large {
    min-width: 40%;
    padding-right: 2rem
}

.footer-email {
    position: relative;
    border-bottom: 1px solid #000
}

.footer-email__input {
    border: 0 solid #275b38;
    background: transparent;
    color: #275b38;
    padding: 2rem 8rem 2rem 2rem;
    width: 100%
}

.footer-email__input:focus-visible {
    outline: 1px solid rgba(39,91,56,0)
}

.footer-email__btn {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%)
}

.footer-social {
    display: flex;
    margin-top: auto;
    justify-content: center;
    gap: 5rem
}

.footer-social__item svg {
    width: 35px
}

.footer-social__item img {
    width: 100%
}

.footer-primary {
    display: flex;
    align-items: center
}

.footer-primary__item {
    line-height: 1
}

.footer-primary__item:not(:last-child) {
    margin-right: 1.5rem;
    padding-right: 1.5rem;
    border-right: 1px solid #000
}

.sec-ttl {
    font-family: Playfair Display,sans-serif;
    font-weight: 300;
    line-height: 1.2;
    font-size: 3.8rem
}

.sec-des {
    font-size: 1.6rem;
    text-align: center
}

.part-ttl {
    font-family: Playfair Display,sans-serif;
    font-weight: 500;
    line-height: 1.2;
    font-size: 3rem
}

.lead-ttl {
    font-weight: 300;
    line-height: 1.2;
    font-size: 2.8rem
}

.font-en,.lead-ttl {
    font-family: Beautique Display,sans-serif
}

.body-txt {
    line-height: 1.8571428571;
    margin-bottom: 4rem
}

.c-line {
    position: absolute;
    pointer-events: none;
    z-index: 1;
    width: 21.6rem;
    height: 1.2rem;
    background: url(/assets/images/common/line_icon_black.svg) no-repeat 50%/contain;
    transform: rotate(-45deg)
}

.c-link {
    text-decoration: underline
}

.stars {
    display: flex;
    gap: 4px;
    justify-content: flex-start
}

.stars>div {
    width: 16px
}

.c-combo__item {
    display: flex;
    align-items: center;
    gap: 1rem
}

.c-combo__item:not(:last-child) {
    margin-bottom: 1.5rem
}

.c-combo__item:before {
    content: "";
    flex-shrink: 0;
    width: 2.2rem;
    height: 2.2rem
}

.c-combo__item .name {
    color: #c1a78c
}

.c-combo__item.--time: before {
    background:url(/assets/images/common/calendar_icon_color.svg) no-repeat 50%/contain
}

.c-combo__item.--staff: before {
    background:url(/assets/images/common/user_icon_color.svg) no-repeat 50%/contain
}

.combo__ttl {
    margin-bottom: .5rem;
    font-family: Beautique Display,sans-serif;
    font-size: 3.8rem;
    font-weight: 400
}

.combo-list {
    margin: 5rem 0 0
}

.combo-list__item {
    background-color: #fff;
    transition: all .2s ease-in-out;
    border: 1px solid #d4cbc2;
    display: flex;
    flex-direction: column;
    padding: 3.5rem 3rem;
    border-radius: 1rem
}

.combo-list__item:hover {
    background-color: #d4cbc2
}

.combo-list__sub {
    margin-bottom: 1rem
}

.combo-list__ttl {
    font-family: Beautique Display,sans-serif;
    border-bottom: 1px solid #c1a78c;
    font-weight: 600;
    font-size: 3.3rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2rem
}

.combo-list__txt {
    line-height: 2;
    color: #275b38;
    font-weight: 700;
    margin-bottom: 2.5rem
}

.combo-list__odd {
    font-size: 2rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    gap: .5rem;
    white-space: nowrap;
    margin-top: auto
}

.combo-list__odd .item {
    position: relative
}

.combo-list__odd .item:after {
    content: "";
    width: calc(100% + 1rem);
    height: 1px;
    background-color: #ec0000;
    position: absolute;
    top: 50%;
    left: -.5rem
}

.combo-list__odd .txt {
    line-height: 1.3
}

.combo-list__odd .number {
    font-size: 3rem;
    line-height: 1
}

.combo-list__price {
    font-size: 3rem;
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
    color: #275b38
}

.combo-list__price .item {
    gap: .5rem;
    display: flex;
    align-items: flex-end;
    position: relative
}

.combo-list__price .number {
    line-height: 1;
    font-size: 4.2rem
}

.combo-list__price .sub {
    font-size: 1.4rem
}

.combo-list__price .small {
    position: absolute;
    right: -.5rem;
    top: -1.5rem;
    font-size: 2rem
}

.combo-list__btn {
    display: flex;
    justify-content: center
}

.combo-list .c-combo:not(:last-child) {
    margin-bottom: 2rem
}

.c-list-dots:not(:last-child) {
    margin-bottom: 2.5rem
}

.c-list-dots>* {
    display: flex;
    gap: .7rem
}

.c-list-dots>:not(:last-child) {
    margin-bottom: 1rem
}

.c-list-dots>:before {
    content: "";
    width: .4rem;
    height: .4rem;
    background-color: #27282c;
    border-radius: 50%;
    margin-top: 1rem;
    flex-shrink: 0
}

.c-list-dots__item {
    display: flex;
    gap: .7rem;
    line-height: 1.8
}

.c-list-dots__item:not(:last-child) {
    margin-bottom: 1rem
}

.c-list-dots__item:before {
    content: "";
    width: .4rem;
    height: .4rem;
    background-color: #27282c;
    border-radius: 50%;
    margin-top: 1rem;
    flex-shrink: 0
}

.c-list-check:not(:last-child) {
    margin-bottom: 2.5rem
}

.c-list-check li,.c-list-check>* {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    line-height: 1.8
}

.c-list-check li:not(:last-child),.c-list-check>:not(:last-child) {
    margin-bottom: 1rem
}

.c-list-check li:before,.c-list-check>:before {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    background: url(/assets/images/common/check_icon_02.svg) no-repeat 50%/contain;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: .1rem
}

.c-sec {
    margin-bottom: 6rem
}

.c-part {
    margin-bottom: 8rem
}

.c-center,.pagination {
    display: flex;
    justify-content: center
}

.pagination {
    gap: 1.5rem
}

.pagination__item {
    width: 4.2rem;
    height: 4.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center
}

.pagination__item.active a,.pagination__item.active span {
    border: 1px solid #000;
    border-radius: 50%
}

.pagination .next,.pagination .prev {
    position: relative
}

.pagination .next:before,.pagination .prev:before {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    position: absolute;
    border: 1px solid #000;
    border-width: 1px 1px 0 0;
    left: calc(50% - .7rem);
    top: calc(50% - .7rem)
}

.pagination .prev:before {
    transform: rotate(-135deg);
    margin-left: .4rem
}

.pagination .next:before {
    transform: rotate(45deg);
    margin-left: -.4rem
}

.pagination a,.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: border .2s ease-in-out;
    line-height: 1
}

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 4rem
}

.breadcrumbs__item:not(:last-child) {
    position: relative
}

.breadcrumbs__item:not(:last-child):after {
    content: "";
    position: absolute;
    top: calc(50% - .2rem);
    width: .4rem;
    height: .4rem;
    right: -2.2rem;
    background-color: #fff;
    border-radius: 50%
}

.p-mv {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    min-height: 47.1rem;
    margin-bottom: 6rem
}

.p-mv:after,.p-mv:before {
    content: "";
    position: absolute
}

.p-mv:before {
    z-index: 1;
    background: url(/assets/images/common/product_bg_02.svg) no-repeat 50%/contain;
    width: 15.6rem;
    height: 15.2rem;
    left: 1.5rem;
    bottom: 55%
}

.p-mv:after {
    z-index: -2;
    background: rgba(0,0,0,.4);
    left: 0;
    top: 0
}

.p-mv:after,.p-mv__bg {
    width: 100%;
    height: 100%
}

.p-mv__bg {
    position: absolute;
    z-index: -3
}

.p-mv__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-mv__ttl {
    font-family: Beautique Display,sans-serif;
    font-weight: 400;
    font-size: 5.5rem;
    text-align: center;
    line-height: 1.3
}

.p-mv__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1
}

.p-mv__body:after {
    content: "";
    position: absolute;
    z-index: 1;
    transform: translateY(-20%);
    background: url(/assets/images/common/mv_icon_black.svg) no-repeat 50%/contain;
    width: 11.2rem;
    height: 15.6rem;
    left: calc(80% + 1rem);
    top: 100%
}

.p-mv__body.--white: after {
    background-image:url(/assets/images/common/mv_icon_white.svg)
}

.p-box {
    display: grid;
    grid-gap: 3rem 2rem;
    gap: 3rem 2rem
}

.p-box .lead-ttl {
    color: #275b38
}

.p-box .lead-ttl:not(:last-child) {
    margin-bottom: 1.5rem
}

.p-box .c-list-dots {
    max-width: 350px
}

.p-box__anchor {
    display: block;
    transition: all .2s ease-in-out
}

.p-box__anchor:hover {
    background-color: #d4cbc2
}

.p-box__anchor:hover .p-box__ttl {
    color: #27282c
}

.p-box-bor {
    width: 100%;
    border: 1px solid #27282c;
    border-radius: 1rem
}

.p-box-area {
    background-color: #e9e0d4;
    border-radius: 1rem
}

.p-box__row {
    display: grid;
    grid-template-columns: repeat(1fr,1fr);
    grid-gap: 2rem;
    gap: 2rem
}

.p-box-media {
    display: grid;
    grid-gap: 4rem;
    gap: 4rem
}

.p-box-media:not(:last-child) {
    margin-bottom: 2rem
}

.p-box-media .body-txt {
    margin-bottom: 1rem
}

.p-box-media .c-combo:not(:last-child) {
    margin-bottom: 3rem
}

.p-box-media__content {
    position: relative
}

.p-box-media__content .c-line {
    max-width: 70%
}

.p-box-media__content .c-line.--01 {
    left: -5rem;
    bottom: 10rem
}

.p-box-media__content .c-line.--02 {
    right: -3rem;
    bottom: 20rem
}

.p-box-media__image {
    aspect-ratio: 1;
    width: 100%
}

.p-box-media__image img {
    border-radius: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-box-media__image.--circle img {
    border-radius: 50%
}

.p-box__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.p-box__item .p-box-bor:not(:last-child) {
    margin-bottom: 2rem
}

.p-box__wrap {
    padding: 3rem 2rem
}

.p-box__sub {
    margin-bottom: .5rem
}

.p-box__ttl {
    line-height: 1.3;
    font-size: 2.2rem;
    margin-bottom: 1rem;
    color: #275b38
}

.p-box__lead,.p-box__ttl {
    font-family: Beautique Display,sans-serif
}

.p-box__lead {
    font-size: 2.5rem;
    margin-bottom: 2rem
}

.p-top .mv {
    position: relative;
    height: 100vh;
    overflow: hidden
}

.p-top .mv-button {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 5;
    right: 2rem;
    gap: 1rem
}

.p-top .mv-button .current,.p-top .mv-button .total {
    color: #fff
}

.p-top .mv-button .slick-arrow {
    position: relative;
    top: 0;
    transform: none
}

.p-top .mv-button .slick-arrow:before {
    content: "";
    width: 1rem;
    height: 1rem;
    border: 1px solid #fff;
    border-width: 1px 1px 0 0;
    position: absolute;
    left: calc(50% - .5rem)
}

.p-top .mv-button .slick-prev {
    left: 0
}

.p-top .mv-button .slick-prev:before {
    transform: rotate(-45deg);
    top: calc(50% - .3rem)
}

.p-top .mv-button .slick-next {
    order: 3;
    right: 0
}

.p-top .mv-button .slick-next:before {
    transform: rotate(135deg);
    top: calc(50% - .7rem)
}

.p-top .mv-button .slick-counter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5rem
}

.p-top .mv-button .slider-progress {
    height: 7rem;
    width: .1rem;
    overflow: hidden
}

.p-top .mv-button .slider-progress .progress {
    background-color: #fff
}

.p-top .mv-slider .slick-active img {
    transform: scale(1.2)
}

.p-top .mv-slider__item {
    position: relative;
    z-index: 3
}

.p-top .mv-slider__item img {
    transition: transform 8s ease-in-out
}

.p-top .mv-slider__image {
    height: 100vh;
    overflow: hidden;
    position: relative
}

.p-top .mv-slider__image:after {
    content: "";
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.4);
    z-index: 1
}

.p-top .mv-slider__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-top .mv-body {
    z-index: 5;
    position: absolute;
    color: #fff;
    display: flex;
    justify-content: center;
    left: 2.5rem;
    right: 2.5rem;
    top: 8rem
}

.p-top .mv-body__wrap {
    position: relative
}

.p-top .mv-body__wrap:after {
    content: "";
    position: absolute;
    width: 21.1rem;
    height: 19.1rem;
    left: calc(100% - 7rem);
    bottom: calc(100% - 8rem);
    background: url(/assets/images/top/mv_icon_01.png) no-repeat 50%/contain
}

.p-top .mv-body__sub {
    line-height: 1.5;
    font-size: 4.8rem!important
}

.p-top .mv-body__sub,.p-top .mv-body__ttl {
    font-family: Playfair Display,sans-serif;
    font-weight: 700
}

.p-top .mv-body__ttl {
    line-height: 1.2;
    font-size: 4.8rem;
    margin-bottom: 2.5rem
}

.p-top .mv-body__txt {
    font-family: Playfair Display,sans-serif;
    font-size: clamp(10px,1.2rem,1.2rem)
}

.p-top .mv .header-btn__book {
    position: absolute;
    bottom: 6rem;
    left: 50%;
    transform: translateX(-50%)
}

.p-top .intro {
    background: url(/assets/images/top/intro_bg.png) repeat 0 0/32rem auto;
    padding: 5rem 0
}

.p-top .intro-media {
    gap: 5rem;
    margin-bottom: 5rem
}

.p-top .intro-media__sub {
    font-size: 2.4rem;
    margin-bottom: 1rem
}

.p-top .intro-media__ttl {
    font-weight: 400;
    font-family: Beautique Display,sans-serif;
    color: #c1a78c;
    font-size: 4.8rem;
    margin-bottom: 2rem
}

.p-top .intro-media__txt {
    margin-bottom: 4rem;
    line-height: 2
}

.p-top .intro-media__content {
    border-radius: 2.8rem;
    overflow: hidden;
    height: 30rem
}

.p-top .intro-media__content iframe {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-top .intro-media__list {
    margin-bottom: 4rem
}

.p-top .intro-media__list .item {
    display: flex;
    align-items: center;
    font-family: Beautique Display,sans-serif;
    color: #275b38;
    gap: 2rem;
    font-size: 2.3rem
}

.p-top .intro-media__list .icon {
    width: 4.2rem
}

.p-top .intro-media__btn {
    font-weight: 900
}

.p-top .intro-list {
    text-align: center
}

.p-top .intro-list__item {
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-top .intro-list__item:hover .intro-list__ttl {
    color: #c1a78c
}

.p-top .intro-list__image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    width: 9.2rem
}

.p-top .intro-list__ttl {
    font-family: Beautique Display,sans-serif;
    color: #275b38;
    font-weight: 700;
    margin-bottom: .5rem;
    transition: all .2s ease-in-out;
    font-size: clamp(12px,1.8rem,1.8rem)
}

.p-top .intro-list__txt {
    line-height: 2
}

.p-top .service {
    position: relative;
    z-index: 1;
    padding: 5rem 0 0
}

.p-top .service:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100% - 27.5rem);
    z-index: -1;
    background-color: #275b38
}

.p-top .service__ttl {
    color: #efd372;
    font-family: Beautique Display,sans-serif;
    font-weight: 400;
    font-size: 3.8rem;
    margin-bottom: 1rem
}

.p-top .service__txt {
    color: #fff;
    line-height: 2;
    margin-bottom: 12rem
}

.p-top .service-slider {
    margin-bottom: 5rem
}

.p-top .service-slider .slick-arrow {
    top: inherit;
    border: 1px solid #fff;
    border-radius: 50%;
    transform: none;
    bottom: calc(100% + 1.8rem);
    width: 6.3rem;
    height: 6.3rem
}

.p-top .service-slider .slick-arrow:before {
    content: "";
    width: 2.4rem;
    height: .7rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    position: absolute;
    background: url(/assets/images/common/arrow_icon_02_white.svg) no-repeat 50%/contain
}

.p-top .service-slider .slick-prev {
    left: inherit;
    transform: scaleX(-1);
    right: 9.9rem
}

.p-top .service-slider .slick-next {
    right: 2rem
}

.p-top .service-slider .slick-slide {
    margin: 0 2.5rem;
    width: 36.8rem
}

.p-top .service-slider__body {
    position: relative;
    margin-bottom: 3.2rem
}

.p-top .service-slider__body:after {
    content: "";
    background-color: #c1a78c;
    width: 100%;
    position: absolute;
    z-index: -1;
    height: 100%;
    opacity: 0;
    transition: opacity .25s ease-in-out;
    border-radius: 1rem;
    left: -1.8rem;
    top: 1.8rem
}

.p-top .service-slider__item:hover .service-slider__body:after {
    opacity: 1
}

.p-top .service-slider__anchor {
    position: absolute;
    bottom: 0;
    left: -1.8rem;
    background-color: #c1a78c;
    padding: 1.6rem 1.8rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    border-radius: 1rem
}

.p-top .service-slider__anchor:after {
    content: "";
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid #27282c;
    border-radius: 50%;
    background: url(/assets/images/common/arrow_icon_03.svg) no-repeat 50%/55%
}

.p-top .service-slider__image img {
    border-radius: 1rem
}

.p-top .service-slider__txt {
    line-height: 2;
    color: #fff
}

.p-top .combo__ttl {
    color: #c1a78c
}

.p-top .combo__sub {
    color: #efd372
}

.p-top .product__ttl {
    text-align: center;
    margin-bottom: 4.8rem
}

.p-top .product-area {
    background-color: #275b38;
    color: #fff;
    position: relative;
    border-radius: 1rem;
    margin-bottom: 5rem;
    padding: 3rem
}

.p-top .product-area:after,.p-top .product-area:before {
    content: "";
    position: absolute
}

.p-top .product-area:before {
    background: url(/assets/images/common/product_bg_01.svg) no-repeat 50%/contain;
    left: .4rem;
    top: .5rem;
    width: 13rem;
    height: 10.5rem
}

.p-top .product-area:after {
    background: url(/assets/images/common/product_bg_02.svg) no-repeat 50%/contain;
    right: .1rem;
    width: 15.2rem;
    height: 13.8rem
}

.p-top .product-media {
    margin: auto;
    gap: 5rem
}

.p-top .product-media__image img {
    border-radius: 1rem;
    width: 100%
}

.p-top .product-media__body {
    flex: 1 1
}

.p-top .product-media__ttl {
    font-family: Beautique Display,sans-serif;
    font-size: 4.4rem;
    margin-bottom: 2rem
}

.p-top .product-media__sub {
    color: #db944b;
    font-weight: 700;
    letter-spacing: .1em;
    font-size: clamp(10px,1.6rem,1.6rem);
    margin-bottom: 1rem
}

.p-top .product-media__txt {
    line-height: 2;
    margin-bottom: 3rem
}

.p-top .product-list {
    margin-bottom: 3rem
}

.p-top .product-list__item {
    text-align: center;
    cursor: pointer
}

.p-top .product-list__item:hover .product-list__image {
    border-color: #275b38;
    box-shadow: .3rem .3rem .5rem rgba(0,0,0,.2)
}

.p-top .product-list__item:hover .product-list__image img {
    transform: scale(1.02)
}

.p-top .product-list__item:hover .product-list__ttl {
    color: #275b38
}

.p-top .product-list__image {
    margin-bottom: 3rem;
    width: 100%;
    border: 1px solid #000;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 1
}

.p-top .product-list__image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform .5s ease-in-out
}

.p-top .product-list__ttl {
    margin-bottom: 1.5rem;
    font-weight: 700
}

.p-top .product-list__btn {
    letter-spacing: .2em;
    font-weight: 300;
    font-size: clamp(10px,1.1rem,1.1rem)
}

.p-top .gallery {
    padding: 5rem 0;
    background-color: #c1a78c
}

.p-top .gallery__ttl {
    color: #fff
}

.p-top .gallery-head {
    display: flex;
    align-items: center;
    gap: 4rem;
    justify-content: space-between;
    margin-bottom: 3rem
}

.p-top .gallery-cate {
    display: flex;
    flex-flow: wrap;
    gap: 1.5rem 3rem
}

.p-top .gallery-cate__item {
    padding: 1.2rem 2.8rem;
    border: 1px solid #000;
    border-radius: 3rem;
    letter-spacing: .2em;
    cursor: pointer;
    white-space: nowrap;
    transition: all .2s ease-in-out
}

.p-top .gallery-cate__item:hover {
    color: #275b38;
    border-color: #275b38
}

.p-top .gallery-list {
    display: flex;
    gap: 2.2rem
}

.p-top .gallery-list:not(:last-child) {
    margin-bottom: 5rem
}

.p-top .gallery-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2rem
}

.p-top .gallery-list__item.--single .gallery-list__image {
    height: 100%
}

.p-top .gallery-list__item.--row {
    display: grid;
    grid-gap: 2.2rem;
    gap: 2.2rem
}

.p-top .gallery-list__row {
    display: flex;
    gap: 2.2rem
}

.p-top .gallery-btn {
    display: flex;
    justify-content: center
}

.p-top .customer__des {
    line-height: 1.4;
    font-family: Beautique Display,sans-serif;
    font-weight: 300;
    font-size: 1.6rem;
    margin-bottom: 5rem
}

.p-top .customer__des .icon {
    display: inline-flex;
    position: relative;
    top: .5rem;
    width: 2rem
}

.p-top .customer__des .icon.--small {
    width: 1.5rem
}

.p-top .customer__des .icon img {
    vertical-align: middle
}

.p-top .customer__des .hightag {
    background-color: #a3b18a;
    border-radius: 3rem;
    padding: 0 1rem
}

.p-top .customer-slider {
    margin: 0 auto;
    position: relative
}

.p-top .customer-slider:before {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2rem;
    background: url(/assets/images/common/customer_icon_02.svg) no-repeat 50%/contain;
    width: 18rem;
    height: 1rem
}

.p-top .customer-slider__wrap {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 5rem
}

.p-top .customer-slider__image {
    width: 100%
}

.p-top .customer-slider__image img {
    border-radius: 43.5rem;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-top .customer-slider__body {
    position: relative;
    padding: 1rem 0 3rem
}

.p-top .customer-slider__body:before {
    content: "";
    width: 17.2rem;
    height: 2.8rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    background: url(/assets/images/common/customer_icon_01.svg) no-repeat 50%/contain
}

.p-top .customer-slider__des {
    text-align: center;
    font-family: Beautique Display,sans-serif;
    line-height: 1.6;
    font-size: 1.8rem;
    margin-bottom: 2rem
}

.p-top .customer-slider__name {
    text-align: center;
    letter-spacing: .1em
}

.p-top .customer-slider .slick-dots {
    right: 0;
    width: 100%;
    bottom: 0
}

.p-top .customer-slider .slick-dots li {
    margin: 0 .7rem
}

.p-top .customer-slider .slick-dots li button {
    background-color: #c1a78c
}

.p-top .customer-slider .slick-dots li.slick-active button {
    background-color: #27282c
}

.p-top .appoint-media {
    color: #275b38;
    position: relative;
    z-index: 1
}

.p-top .appoint-media:after,.p-top .appoint-media:before {
    content: "";
    position: absolute;
    pointer-events: none
}

.p-top .appoint-media:before {
    z-index: 2;
    background: url(/assets/images/top/appoint_bg_01.svg) no-repeat 50%/contain;
    width: 25.7rem;
    height: 32.7rem;
    left: -10rem
}

.p-top .appoint-media:after {
    z-index: -1;
    background: url(/assets/images/top/appoint_bg_02.svg) no-repeat 50%/contain;
    left: 70%;
    width: 19.7rem;
    height: 31.9rem;
    top: 35%;
    transform: translateY(-35%)
}

.p-top .appoint-media__image {
    position: relative;
    z-index: 1
}

.p-top .appoint-media__image:before {
    content: "";
    background: #d4cbc2;
    border-radius: 50%;
    position: absolute;
    z-index: -1;
    width: 20rem;
    height: 20rem;
    left: -10rem;
    top: 2rem
}

.p-top .appoint-media__image img {
    border-radius: 1rem;
    width: 100%
}

.p-top .appoint-media__body {
    flex: 1 1;
    position: relative;
    z-index: 2
}

.p-top .appoint-media__ttl {
    font-family: Beautique Display,sans-serif;
    margin-bottom: 1rem;
    font-size: 3.8rem
}

.p-top .appoint-media__txt {
    max-width: 380px;
    margin-bottom: 2.5rem
}

.p-top .appoint-media__thumb {
    border-radius: 1rem;
    overflow: hidden
}

.p-top .appoint-form {
    margin-bottom: 3.4rem
}

.p-top .appoint-form__row {
    display: flex;
    gap: .7rem
}

.p-top .appoint-form__input {
    flex: 1 1;
    border: 1px solid #275b38;
    border-radius: 4rem;
    background: transparent;
    color: #275b38;
    padding: 0 2rem
}

.p-top .appoint-info {
    display: flex;
    margin-bottom: 5.5rem;
    padding-bottom: 5.5rem;
    position: relative
}

.p-top .appoint-info:after {
    content: "";
    bottom: 0;
    position: absolute;
    left: -5rem;
    width: 21.6rem;
    height: 1.2rem;
    background: url(/assets/images/common/line_icon_primary.svg) no-repeat 50%/contain
}

.p-top .branch {
    background-color: #275b38;
    color: #fff;
    padding: 5rem 0
}

.p-top .branch .container {
    position: relative
}

.p-top .branch__ttl {
    margin-bottom: 3rem
}

.p-top .branch-media__image img {
    padding-top: 3rem;
    width: 100%;
    border-radius: 50rem 50rem 2rem 2rem
}

.p-top .branch-media__body {
    width: 100%
}

.p-top .branch-list {
    counter-reset: item;
    padding-bottom: 5rem
}

.p-top .branch-list .slick-arrow {
    content: "";
    width: 5rem;
    height: 5rem;
    right: 0;
    border-radius: 50%;
    border: 1px solid #fff;
    position: absolute;
    transform: translate(0);
    top: inherit;
    bottom: -5rem;
    z-index: 2
}

.p-top .branch-list .slick-arrow:before {
    content: "";
    position: absolute;
    background: url(/assets/images/common/arrow_icon_05.svg) no-repeat 50%/contain;
    width: 2.2rem;
    height: 2.2rem;
    left: calc(50% - 1.1rem);
    top: calc(50% - 1.1rem)
}

.p-top .branch-list .slick-prev {
    left: calc(50% - 8rem)
}

.p-top .branch-list .slick-prev:before {
    transform: scale(-1)
}

.p-top .branch-list .slick-next {
    right: calc(50% - 8rem)
}

.p-top .branch-list__number {
    counter-increment: item;
    content: counter(item,decimal-leading-zero);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    font-weight: 300;
    letter-spacing: .2em;
    border-radius: 5rem;
    width: 4.5rem;
    height: 3rem;
    margin-top: 1.1rem;
    font-size: 1.2rem
}

.p-top .branch-list__head {
    display: flex;
    align-items: flex-start;
    position: relative;
    gap: 1.5rem;
    padding: 2rem 5rem 2rem 0;
    cursor: pointer
}

.p-top .branch-list__head.is-active:after {
    transform: rotate(90deg)
}

.p-top .branch-list__head:after {
    content: "";
    right: 0;
    top: calc(50% - 2.5rem);
    border-radius: 50%;
    border: 1px solid #fff;
    pointer-events: none;
    position: absolute;
    transition: all .2s ease-in-out;
    background: url(/assets/images/common/arrow_icon_05.svg) no-repeat 50%/1.6rem;
    width: 4rem;
    height: 4rem
}

.p-top .branch-list__wrap {
    border-bottom: 1px solid #fff
}

.p-top .branch-list__content {
    padding: 2rem 0 4rem;
    margin-left: 10rem;
    max-width: 80%;
    display: none
}

.p-top .branch-list__content .btn-arrow {
    margin-top: 4rem
}

.p-top .branch-list__ttl {
    font-weight: 400;
    font-size: 3.2rem
}

.p-top .branch-list__sub,.p-top .branch-list__ttl {
    font-family: Beautique Display,sans-serif;
    color: #c1a78c
}

.p-top .branch-list__sub {
    font-size: 3rem;
    margin-bottom: .5rem
}

.p-top .branch-list__sub:not(:first-child) {
    margin-top: 2rem
}

.p-top .branch-list__txt {
    font-size: clamp(10px,1.6rem,1.6rem);
    font-weight: 300
}

.p-top .branch-list__txt a {
    text-decoration: underline
}

.p-top .branch__btn {
    position: absolute;
    right: 1.5rem;
    top: 4rem
}

.p-top .news .sec-ttl {
    text-align: center;
    margin-bottom: 5rem
}

.p-top .news-list {
    margin-bottom: 3rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 3rem 1.5rem;
    gap: 3rem 1.5rem
}

.p-top .news-list__item {
    display: block
}

.p-top .news-list__image {
    margin-bottom: 1.5rem
}

.p-top .news-list__image img {
    border-radius: .8rem;
    width: 100%
}

.p-top .news-list__ttl {
    font-weight: 400;
    text-align: center;
    font-family: Beautique Display,sans-serif;
    font-size: 1.6rem
}

.p-about .intro {
    margin-bottom: 10rem;
    gap: 4rem;
    display: flex
}

.p-about .intro__content {
    position: relative;
    z-index: 1
}

.p-about .intro__content:after {
    content: "";
    position: absolute;
    z-index: 1;
    background: url(/assets/images/common/leaf_icon_02.svg) no-repeat 50%/contain;
    right: 0;
    width: 10.4rem;
    height: 20rem;
    top: calc(100% - 3rem)
}

.p-about .intro__image {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 2.8rem
}

.p-about .intro__image iframe {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-about .intro__sub {
    margin-bottom: .5rem;
    font-family: Beautique Display,sans-serif;
    font-size: 2.4rem
}

.p-about .intro__ttl {
    color: #275b38;
    margin-bottom: 2.5rem
}

.p-about .intro__txt {
    text-align: justify
}

.p-about .intro__txt:not(:last-child) {
    margin-bottom: 2rem
}

.p-about .intro-list {
    margin-bottom: 3rem
}

.p-about .intro-list__ttl {
    display: flex;
    align-items: center;
    gap: 2.2rem;
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
    font-family: Beautique Display,sans-serif
}

.p-about .intro-list__ttl .icon {
    width: 4.2rem;
    flex-shrink: 0
}

.p-about .intro-list__txt {
    text-align: justify
}

.p-about .action {
    gap: 5rem
}

.p-about .action__content {
    position: relative;
    z-index: 1;
    width: 100%
}

.p-about .action__content .c-line.--01 {
    left: 14rem;
    bottom: 1rem
}

.p-about .action__content .c-line.--02 {
    right: 15rem;
    top: 10rem
}

.p-about .action-label {
    position: absolute;
    left: 0;
    background-color: #c1a78c;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    bottom: -1rem;
    padding: 1rem 2rem;
    border-radius: 10rem
}

.p-about .action-label__icon {
    width: 3rem;
    height: 3.5rem
}

.p-about .action-label__ttl {
    font-family: Beautique Display,sans-serif;
    color: #fff;
    font-size: 2rem
}

.p-about .action__image img {
    border-radius: 70rem
}

.p-about .action__body {
    flex: 1 1
}

.p-about .action__btn,.p-about .action__ttl,.p-about .action__txt {
    margin-bottom: 2rem
}

.p-about .action-info {
    display: flex;
    justify-content: center
}

.p-about .action-info__item {
    flex: 1 1;
    text-align: center
}

.p-about .action-info__number {
    font-family: Beautique Display,sans-serif;
    font-size: 5.8rem
}

.p-about .action-info__number .small {
    font-size: .6em
}

.p-about .action-info__txt {
    font-size: 2rem
}

.p-about .franch .sec-ttl {
    text-align: center;
    color: #275b38;
    margin-bottom: 2rem
}

.p-about .franch .lead-ttl {
    margin-bottom: 2.5rem
}

.p-about .franch__des {
    text-align: center;
    margin: 0 auto 3rem
}

.p-about .franch__sub {
    font-family: Beautique Display,sans-serif;
    font-size: 2rem;
    margin-bottom: 2rem
}

.p-about .franch-row {
    display: grid;
    grid-gap: 4rem;
    gap: 4rem
}

.p-about .franch-row:not(:last-child) {
    margin-bottom: 4rem
}

.p-about .franch-row .body-txt:not(:last-child) {
    margin-bottom: 2rem
}

.p-about .franch-row:not(:first-child) {
    margin-top: 3rem
}

.p-about .franch-list__item {
    display: flex;
    gap: 1rem;
    align-items: flex-start
}

.p-about .franch-list__item:not(:last-child) {
    margin-bottom: 1rem
}

.p-about .franch-list__item:before {
    content: "";
    background: url(/assets/images/common/about_icon_01.svg) no-repeat 50%/contain;
    position: relative;
    top: -.2rem;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.9rem
}

.p-about .franch-gallery {
    display: grid;
    grid-gap: 2rem;
    gap: 2rem
}

.p-about .franch-gallery__item img {
    aspect-ratio: 2;
    border-radius: 1.5rem
}

.p-about .contact {
    background-color: #275b38;
    padding: 5rem 0
}

.p-about .contact__head {
    text-align: center
}

.p-about .contact__sub {
    color: #d4c5ad;
    font-size: 1.5rem
}

.p-about .contact__ttl {
    color: #f4ddaf;
    font-weight: 300;
    margin-bottom: 2rem;
    margin-top: 1rem;
    font-size: 4.5rem
}

.p-about .contact__des {
    font-size: 1.8rem;
    color: #fff;
    line-height: 2;
    max-width: 75rem;
    margin: 0 auto 4rem
}

.p-about .contact-form {
    margin: 0 auto;
    background-color: #fff;
    padding: 3rem 2rem
}

.p-about .contact-form__row {
    display: flex;
    gap: 1rem
}

.p-about .contact-form__row:not(:last-child) {
    margin-bottom: 1.5rem
}

.p-about .contact-form__item {
    flex: 1 1;
    position: relative
}

.p-about .contact-form__item .icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1rem;
    width: 2rem
}

.p-about .contact-form__item .icon.--top {
    transform: translateY(0);
    top: 1.4rem
}

.p-about .contact-form__item .icon img {
    width: 100%
}

.p-about .contact-form__item .form-control {
    padding-left: 4rem
}

.p-about .contact-form__btn {
    display: flex;
    justify-content: center
}

.p-about .contact-form__txt {
    max-width: 54rem;
    margin: 2rem auto 0;
    text-align: center;
    font-size: 1.6rem
}

.p-about .contact-form__link {
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000;
    color: #fff;
    text-decoration: underline
}

.p-about .train .sec-ttl {
    color: #275b38;
    margin-bottom: 2rem;
    text-align: center
}

.p-about .train__des {
    text-align: center;
    line-height: 1.8;
    font-size: 1.4rem;
    margin: 0 auto 4rem
}

.p-about .train__image {
    width: 100%
}

.p-about .train__image:not(:last-child) {
    margin-bottom: 7rem
}

.p-about .train__image img {
    border-radius: 2rem
}

.p-service .part-ttl {
    text-align: center;
    position: relative;
    margin-bottom: 4rem;
    margin-top: 10rem
}

.p-service .part-ttl:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: url(/assets/images/common/leaf_icon_02.svg) no-repeat 50%/contain;
    width: 4.5rem;
    height: 5.5rem;
    bottom: calc(100% + 1rem)
}

.p-service .p-mv {
    margin-bottom: 12rem
}

.p-service .experi {
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-service .experi-box:not(:last-child) {
    margin-bottom: 5rem
}

.p-service .experi-list {
    display: grid;
    grid-gap: 3rem 1.5rem;
    gap: 3rem 1.5rem;
    grid-template-columns: repeat(2,1fr)
}

.p-service .experi-list__item {
    text-align: center;
    cursor: pointer
}

.p-service .experi-list__item:hover .experi-list__image:after {
    opacity: 1
}

.p-service .experi-list__image {
    position: relative;
    margin-bottom: 1rem
}

.p-service .experi-list__image:after {
    content: "";
    background-color: #c1a78c;
    width: 100%;
    position: absolute;
    border-radius: 1rem;
    z-index: -1;
    height: 100%;
    opacity: 0;
    transition: opacity .25s ease-in-out;
    left: -1rem;
    top: 1rem
}

.p-service .experi-list__image img {
    aspect-ratio: 4/3;
    border-radius: .9rem
}

.p-service .experi-list__ttl {
    font-family: Beautique Display;
    font-size: 1.8rem;
    margin-bottom: 1rem
}

.p-service .experi-list__btn {
    letter-spacing: .1em
}

.p-service .experi-media {
    position: relative;
    z-index: 2;
    width: 100%
}

.p-service .experi-media:not(:last-child) {
    border-bottom: 1px solid #000;
    margin-bottom: 4rem;
    padding-bottom: 4rem
}

.p-service .experi-media__ttl {
    font-weight: 700;
    font-family: Beautique Display;
    color: #275b38;
    font-size: 3rem;
    margin-bottom: 2rem
}

.p-service .experi-media__content,.p-service .experi-media__content img {
    width: 100%
}

.p-service .experi-media__body {
    align-self: center
}

.p-service .experi-service:not(:last-child) {
    margin-bottom: 2.5rem
}

.p-service .experi-service__item:not(:last-child) {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #c1a78c
}

.p-service .experi-service__row {
    display: flex;
    align-items: flex-end;
    position: relative;
    justify-content: space-between;
    z-index: 1;
    margin-bottom: .5rem;
    font-size: 1.6rem;
    gap: 3rem
}

.p-service .experi-service__row:after {
    content: "";
    position: absolute;
    bottom: .5rem;
    width: 100%;
    border-top: .2rem dotted #000;
    z-index: -1
}

.p-service .experi-service__ttl {
    background-color: #f4eee4;
    font-weight: 700;
    font-family: Beautique Display,sans-serif
}

.p-service .experi-service__price {
    background-color: #f4eee4
}

.p-service .experi-service__price .txt {
    font-weight: 300;
    color: #555;
    font-size: 1.4rem
}

.p-service .experi-service__price .number {
    font-weight: 500;
    font-family: Beautique Display,sans-serif;
    margin-left: 1rem;
    flex-shrink: 0;
    color: #275b38
}

.p-service .experi-service__txt {
    color: #555;
    font-size: 1.4rem
}

.p-service .experi-service__lead {
    font-size: 3rem;
    text-transform: uppercase;
    font-family: Beautique Display,sans-serif;
    margin-top: 2rem;
    text-align: right;
    font-weight: 500
}

.p-service .experi-favor {
    display: flex
}

.p-service .experi-favor:not(:last-child) {
    margin-bottom: 2rem
}

.p-service .experi-favor__item {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid #000;
    padding: 2rem 1rem
}

.p-service .experi-favor__item:not(:last-child) {
    border-right: 0
}

.p-service .experi-favor__ttl {
    margin-bottom: .5rem;
    font-size: 1.6rem;
    font-weight: 700;
    font-family: Beautique Display,sans-serif
}

.p-service .experi-favor__ttl .small {
    font-weight: 300
}

.p-service .experi-favor__txt {
    font-family: Beautique Display,sans-serif;
    color: #275b38;
    font-weight: 700;
    line-height: 1;
    font-size: 1.9rem
}

.p-service .experi-favor__txt.--large {
    color: #9e773c;
    font-size: 2.2rem
}

.p-service .experi-slider {
    width: 100%
}

.p-service .experi-slider:not(:last-child) {
    margin-bottom: 5rem
}

.p-service .experi-slider__item {
    display: block!important
}

.p-service .experi-slider__item img {
    aspect-ratio: 1;
    border-radius: 1rem
}

.p-service .experi-slider .slick-dots {
    padding-right: .5rem
}

.p-service .experi-slider .slick-dots li.slick-active button {
    background-color: #27282c
}

.p-service .experi-slider .slick-dots li button {
    background-color: #c1a78c
}

.p-service .service-area {
    position: relative;
    z-index: 1;
    padding: 6rem 0 0
}

.p-service .service-area:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100% - 27.5rem);
    z-index: -1;
    background-color: #275b38
}

.p-service .combo__ttl {
    color: #c1a78c
}

.p-service .combo__sub {
    color: #efd372
}

.p-service .bnr-sale {
    overflow: hidden;
    position: relative;
    z-index: 1;
    padding: 5rem 2rem;
    border-radius: 1rem;
    gap: 2rem
}

.p-service .bnr-sale:after,.p-service .bnr-sale:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0
}

.p-service .bnr-sale:before {
    z-index: -2;
    background: url(/assets/images/service/bnr_bg.jpg) no-repeat 50%/cover
}

.p-service .bnr-sale:after {
    z-index: -1;
    background: hsla(30,34%,69%,.8)
}

.p-service .bnr-sale__ttl {
    text-align: center;
    line-height: 1.1;
    margin-bottom: 3rem
}

.p-service .bnr-sale__body,.p-service .bnr-sale__content {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-service .bnr-sale__image {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1.5208333333;
    border-radius: 24rem
}

.p-service .bnr-sale__image:not(:last-child) {
    margin-bottom: 2rem
}

.p-service .bnr-sale__image img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.p-service .bnr-sale__lead {
    text-transform: uppercase;
    font-weight: 700
}

.p-service .bnr-sale__lead:not(:last-child) {
    margin-bottom: 1rem
}

.p-service .bnr-sale__list {
    text-align: center
}

.p-service .bnr-sale__list>* {
    display: flex;
    justify-content: center;
    gap: .7rem
}

.p-service .bnr-sale__list>:not(:last-child) {
    margin-bottom: .5rem
}

.p-service .bnr-sale__list>:before {
    content: "";
    width: .5rem;
    height: .5rem;
    background-color: #27282c;
    border-radius: 50%;
    margin-top: .9rem;
    flex-shrink: 0
}

.p-service .bnr-sale__txt {
    max-width: 55rem;
    text-align: center
}

.p-service .package .sec-ttl {
    text-align: center;
    margin-bottom: 2rem
}

.p-service .package .body-txt {
    text-align: center;
    max-width: 65rem;
    margin: 0 auto 5rem
}

.p-service .package-list__item {
    background-color: #d4cbc2;
    border-radius: 2rem;
    transition: all .2s ease-in-out;
    display: flex;
    padding: 3rem 2.5rem;
    gap: 3.2rem
}

.p-service .package-list__item:not(:last-child) {
    margin-bottom: 2rem
}

.p-service .package-list__item:hover {
    background-color: #a78b6d;
    color: #fff
}

.p-service .package-list__item:hover .package-list__date .item:before {
    background-image: url(/assets/images/common/check_icon_white.svg)
}

.p-service .package-list__item:hover .btn-arrow {
    border-color: #fff;
    color: #fff
}

.p-service .package-list__item:hover .btn-arrow:after {
    background-image: url(/assets/images/common/arrow_icon_02_white.svg)
}

.p-service .package-list__image {
    background-color: #a3b18a;
    border-radius: 17rem;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1.8559322034
}

.p-service .package-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-service .package-list__ttl {
    font-family: Beautique Display,sans-serif;
    flex: 1 1;
    font-size: 2.6rem
}

.p-service .package-list__body,.p-service .package-list__content {
    gap: 3rem
}

.p-service .package-list__time {
    font-family: Beautique Display,sans-serif;
    font-weight: 500;
    border-right: 1px solid #27282c;
    height: 100%;
    transition: all .2s ease-in-out;
    font-size: 2.2rem;
    width: 25rem;
    padding: 2rem 0
}

.p-service .package-list__date {
    transition: all .2s ease-in-out;
    font-size: 1.6rem
}

.p-service .package-list__date .item {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 1.5rem
}

.p-service .package-list__date .item:before {
    content: "";
    width: 1.6rem;
    height: 1rem;
    background: url(/assets/images/common/check_icon.svg) no-repeat 50%/contain
}

.p-service .package-list__date .item:not(:last-child) {
    margin-bottom: 1rem
}

.p-service .package-list__number {
    font-size: 2.4rem;
    font-weight: 700
}

.p-service .package-list__btn {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem
}

.p-product .title {
    font-size: 4.8rem;
    font-family: Beautique Display,sans-serif;
    margin-bottom: 2rem;
    font-style: normal;
    font-weight: 400;
    text-align: center
}

.p-product .section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #000;
    margin-bottom: 2rem
}

.p-product .section .title {
    font-size: 3.5rem;
    font-family: Be Vietnam Pro
}

.p-product .section .filter {
    display: flex;
    align-items: center;
    gap: 1.2rem
}

.p-product .section .filter input[type=checkbox] {
    accent-color: red
}

.p-product .section .filter>div {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: 100%
}

.p-product .section-2 {
    display: flex;
    gap: 2rem
}

.p-product .section-2 .sidebar {
    flex-basis: 300px;
    height: 100%;
    flex-direction: column;
    display: flex;
    gap: 3rem
}

.p-product .section-2 .sidebar .filter {
    width: 100%;
    height: 100%;
    background: var(--primary);
    border-radius: var(--radius);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    color: #fff;
    gap: 3rem
}

.p-product .section-2 .sidebar .filter .title {
    font-size: 3.6rem;
    font-family: Beautique Display;
    font-weight: 400;
    line-height: 50px;
    word-wrap: break-word;
    text-align: start
}

.p-product .section-2 .sidebar .filter .category .item {
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
    font-family: Be Vietnam Pro;
    font-weight: 400;
    border-bottom: 1px solid #fff;
    padding: .8rem 0
}

.p-product .section-2 .sidebar .filter .category .item.active {
    color: #d4c5ad
}

.p-product .section-2 .sidebar .filter .star-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: Poppins;
    font-weight: 400
}

.p-product .section-2 .sidebar .filter .price-slider .price-input {
    width: 100%;
    display: flex;
    margin: 2rem 0
}

.p-product .section-2 .sidebar .filter .price-slider .price-input .field {
    display: flex;
    width: 100%;
    height: 40px;
    align-items: center
}

.p-product .section-2 .sidebar .filter .price-slider .field input {
    width: 100%;
    height: 100%;
    outline: none;
    font-size: 14px;
    margin-left: 12px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #999;
    -moz-appearance: textfield
}

.p-product .section-2 .sidebar .filter .price-slider input[type=number]::-webkit-inner-spin-button,.p-product .section-2 .sidebar .filter .price-slider input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none
}

.p-product .section-2 .sidebar .filter .price-slider .price-input .separator {
    width: 130px;
    display: flex;
    font-size: 19px;
    align-items: center;
    justify-content: center
}

.p-product .section-2 .sidebar .filter .price-slider .slider {
    height: 5px;
    position: relative;
    background: #000;
    border-radius: 5px
}

.p-product .section-2 .sidebar .filter .price-slider .slider .progress {
    height: 100%;
    left: 25%;
    right: 25%;
    position: absolute;
    border-radius: 5px;
    background: #000
}

.p-product .section-2 .sidebar .filter .price-slider .range-input {
    position: relative
}

.p-product .section-2 .sidebar .filter .price-slider .range-input input {
    position: absolute;
    width: 100%;
    height: 4px;
    top: -4px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none
}

.p-product .section-2 .sidebar .filter .price-slider input[type=range]::-webkit-slider-thumb {
    height: 17px;
    width: 17px;
    border-radius: 50%;
    background: #fff;
    pointer-events: auto;
    -webkit-appearance: none;
    box-shadow: 0 0 6px rgba(0,0,0,.05)
}

.p-product .section-2 .sidebar .filter .price-slider input[type=range]::-moz-range-thumb {
    height: 17px;
    width: 17px;
    border: none;
    border-radius: 50%;
    background: #fff;
    pointer-events: auto;
    -moz-appearance: none;
    box-shadow: 0 0 6px rgba(0,0,0,.05)
}

.p-product .section-2 .sidebar .filter .price-slider .support-box {
    top: 2rem;
    position: relative;
    bottom: 0;
    text-align: center;
    display: block
}

.p-product .section-2 .sidebar .filter .price-slider .b-btn {
    color: #fff;
    text-decoration: none;
    font-weight: 700
}

.p-product .section-2 .sidebar .filter .price-slider .b-btn.paypal i {
    color: blue
}

.p-product .section-2 .sidebar .filter .price-slider .b-btn:hover {
    text-decoration: none;
    font-weight: 700
}

.p-product .section-2 .sidebar .filter .price-slider .b-btn i {
    font-size: 20px;
    color: #ff0;
    margin-top: 2rem
}

.p-product .section-2 .sidebar .top-products {
    width: 100%;
    height: 100%;
    background: var(--primary);
    border-radius: var(--radius);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    color: #000;
    background-color: #fff;
    gap: 3rem
}

.p-product .section-2 .sidebar .top-products .title {
    font-size: 3rem;
    font-family: Beautique Display;
    font-weight: 400;
    line-height: 50px;
    word-wrap: break-word;
    text-align: start
}

.p-product .section-2 .sidebar .top-products .list {
    display: flex;
    flex-direction: column;
    gap: 1.6rem
}

.p-product .section-2 .sidebar .top-products .list .item {
    display: grid;
    grid-gap: 2rem;
    gap: 2rem;
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: 100%;
    align-items: center
}

.p-product .section-2 .sidebar .top-products .list .item .image {
    aspect-ratio: 1;
    border: 1px solid #c1a78c;
    border-radius: var(--radius);
    overflow: hidden
}

.p-product .section-2 .sidebar .top-products .list .item .detail {
    grid-column: span 2/span 2;
    font-family: Be Vietnam Pro;
    display: flex;
    flex-direction: column;
    gap: .8rem
}

.p-product .section-2 .sidebar .top-products .list .item .detail .stars>div {
    width: 16px
}

.p-product .section-2 .sidebar .top-products .list .item .detail .name {
    font-size: 2rem;
    font-weight: 400
}

.p-product .section-2 .sidebar .top-products .list .item .detail .price {
    color: #000;
    font-size: 1.4rem;
    font-family: Be Vietnam Pro;
    font-weight: 400;
    letter-spacing: 3.36px
}

.p-product .section-2 .product-container {
    flex: 1 1
}

.p-product .section-2 .product-container .list {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-gap: 1.6rem;
    gap: 1.6rem;
    height: -moz-fit-content;
    height: fit-content
}

.p-product .section-2 .product-container .list .item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1.875rem;
    height: 100%
}

.p-product .section-2 .product-container .list .item .image {
    aspect-ratio: 1;
    border: 1px solid #c1a78c;
    border-radius: var(--radius);
    overflow: hidden
}

.p-product .section-2 .product-container .list .item .detail {
    grid-column: span 2/span 2;
    font-family: Be Vietnam Pro;
    display: flex;
    flex-direction: column;
    gap: .8rem
}

.p-product .section-2 .product-container .list .item .detail .stars {
    display: flex;
    justify-content: center
}

.p-product .section-2 .product-container .list .item .detail .stars .item {
    display: block;
    width: 16px
}

.p-product .section-2 .product-container .list .item .detail .name {
    font-size: 2rem;
    font-weight: 400;
    text-align: center;
    color: #000;
    font-size: 1.8rem
}

.box-price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px
}

.p-product .section-2 .product-container .list .item .detail .price {
    font-family: Be Vietnam Pro;
    letter-spacing: 3.36px;
    text-align: center;
    color: var(--primary);
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 3.24px;
    word-wrap: break-word
}

.p-product .section-2 .product-container .list .item .detail .price_egular {
    font-family: Be Vietnam Pro;
    letter-spacing: 2px;
    text-align: center;
    color: var(--primary);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 3.24px;
    word-wrap: break-word
}

.p-product .section-2 .product-container .paging {
    margin-top: 2rem
}

.p-product .section-2 .product-container .paging .pagination {
    width: 100%;
    padding: 0 1rem;
    margin-top: 1.5rem;
    display: flex;
    justify-content: center
}

.p-product .section-2 .product-container .paging .pagination:not(:has(.page-btn:target)) .page-step[data-shown="1"] {
    display: inline-flex
}

.p-product .section-2 .product-container .paging .pagination a,.p-product .section-2 .product-container .paging .pagination span {
    width: -moz-fit-content!important;
    width: fit-content!important;
    aspect-ratio: 1;
    background-color: transparent
}

.p-product .section-2 .product-container .paging .page-btn {
    color: #000;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: .25rem;
    display: inline-flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 50%;
    cursor: pointer;
    transition: color 128ms ease-out,background-color 128ms ease-out
}

.p-product .section-2 .product-container .paging .page-btn.active {
    border: 1px solid #000
}

.p-product .section-2 .product-container .paging .page-btn :active {
    border: 0
}

.p-product .section-2 .product-container .page-num,.p-product .section-2 .product-container .page-step {
    display: none
}

.p-product-detail .container {
    display: flex;
    gap: 5rem;
    color: #27282c;
    margin-top: 4rem
}

.p-product-detail .container .images {
    flex: 1.2 1;
    grid-gap: 2rem;
    gap: 2rem;
    display: grid;
    grid-template-rows: repeat(4,minmax(0,1fr));
    grid-auto-flow: column
}

.p-product-detail .container .images>div {
    cursor: pointer;
    grid-row: span 1/span 1
}

.p-product-detail .container .images .thumbnail {
    grid-row: span 4/span 4;
    grid-column: span 4/span 4
}

.p-product-detail .container .images .thumbnail img {
    width: 100%;
    height: 100%
}

.p-product-detail .container .details {
    flex: 1 1
}

.p-product-detail .container .details section {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

.p-product-detail .container .details .name {
    font-family: Elsie;
    font-size: 6rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal
}

.p-product-detail .container .details .price {
    font-family: Poppins;
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 3.36px;
    width: 50%;
    height: 15px;
    flex-shrink: 0
}

.p-product-detail .container .details .action {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #27282c;
    padding-bottom: 3rem
}

.p-product-detail .container .details .action .button-action {
    display: flex;
    align-items: center;
    gap: 4rem
}

.p-product-detail .container .details .action .button-action .stock {
    border-radius: 5px;
    border: 1px solid #27282c;
    opacity: .8;
    padding: .7rem
}

.p-product-detail .container .details .bottom-box {
    padding: 3rem 0;
    border-bottom: 1px solid #27282c
}

.p-product-detail .container .details .bottom-box .buttons {
    gap: 5rem;
    display: flex
}

.p-product-detail .container .details .bottom-box .buttons .btn-primary {
    color: #fff;
    border-radius: 71px;
    background: #27282c;
    flex: 1 1;
    height: 47px;
    cursor: pointer;
    letter-spacing: 3.36px
}

.p-product-detail .container .details .bottom-box .buttons .btn-secondary {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    color: #000;
    border-radius: 23.5px;
    border: 1px solid #27282c;
    flex: 1 1;
    height: 47px;
    cursor: pointer;
    background: transparent
}

.p-product-detail .container .details .bottom-box .buttons .btn-secondary p {
    font-weight: 400;
    letter-spacing: 3.36px
}

.p-product-detail .container .details .payment-list {
    display: flex;
    gap: 1rem
}

.p-product-detail .container .details .payment-list .item {
    cursor: pointer;
    max-width: 50px
}

.p-product-detail .container .box-center {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 4rem
}

.p-product-detail .container .box-center .tab-center {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    border-bottom: 1px solid #000
}

.p-product-detail .container .box-center .tab-center .tab {
    display: flex;
    align-items: center;
    gap: 4rem;
    padding-bottom: 4rem
}

.p-product-detail .container .box-center .tab-center h4 {
    color: #000;
    font-family: Elsie;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 33px
}

.p-product-detail .container .box-center .tab-center .active {
    color: #a68767
}

.p-product-detail .container .box-center .content {
    display: flex;
    gap: 4rem;
    justify-content: center;
    align-items: flex-start;
    width: 100%
}

.p-product-detail .container .box-center .content .description {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    grid-gap: 2rem;
    gap: 2rem;
    flex: 1.5 1
}

.p-product-detail .container .box-center .content .description ul {
    list-style: url(/assets/images/product/icon-list.svg);
    margin: 10px 0;
    padding: 0 20px
}

.p-product-detail .container .box-center .content .description ul li {
    margin-bottom: 10px
}

.p-product-detail .container .box-center .content .description strong {
    font-weight: 700;
    color: #c1a78c
}

.p-product-detail .container .box-center .content .description .warning {
    color: tomato;
    font-weight: 700;
    grid-column: span 4/span 4
}

.p-product-detail .container .box-center .content .description .img-description {
    flex: 0.8 1
}

.p-product-detail .container .outstanding-product {
    overflow-x: scroll;
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 4rem;
    border-top: 1px solid #000
}

.p-product-detail .container .outstanding-product .title-head {
    text-align: center;
    padding-top: 4rem
}

.p-product-detail .container .list-product {
    width: 100%;
    justify-content: flex-start;
    display: flex;
    overflow-x: auto;
    gap: 4rem;
    scroll-behavior: smooth
}

.p-product-detail .container .list-product .product-card {
    flex: 0 0 auto;
    max-width: 350px;
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 2rem
}

.p-product-detail .container .title {
    font-size: 4.8rem;
    font-family: Beautique Display,sans-serif;
    margin-bottom: 2rem;
    font-style: normal;
    font-weight: 400
}

.p-brand .p-row {
    gap: 3rem
}

.p-brand .p-row__side {
    width: 100%
}

.p-brand .sec-ttl {
    text-align: center
}

.p-brand .lead-ttl {
    text-align: center;
    margin-bottom: 1rem
}

.p-brand .body-txt {
    text-align: center
}

.p-brand .brand-side {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

.p-brand .brand-menu {
    background-color: #d4c5ad;
    padding: 5rem 2rem;
    border-radius: 2rem
}

.p-brand .brand-menu__item {
    background-color: #fff;
    padding: 1.8rem 5rem 1.8rem 2rem;
    border-radius: 3rem;
    font-size: 1.8rem;
    font-weight: 600;
    color: #275b38;
    position: relative;
    cursor: pointer;
    transition: all .2s ease-in-out
}

.p-brand .brand-menu__item:after {
    content: "";
    width: 3rem;
    height: 3rem;
    position: absolute;
    border-radius: 50%;
    right: 2rem;
    top: calc(50% - 1.5rem);
    background: rgba(131,205,32,.1) url(/assets/images/common/arrow_icon_primary.svg) no-repeat 50%/1.4rem;
    transform: rotate(-90deg);
    transition: all .2s ease-in-out
}

.p-brand .brand-menu__item:not(:last-child) {
    margin-bottom: 1.5rem
}

.p-brand .brand-menu__item:hover {
    color: #c1a78c
}

.p-brand .brand-menu__item:hover:after {
    background: #83cd20 url(/assets/images/common/arrow_icon_white.svg) no-repeat 50%/1.4rem
}

.p-brand .brand-phone {
    background-color: #c2c2c2;
    padding: 6rem 2rem;
    border-radius: 2rem;
    flex-direction: column;
    gap: 2rem;
    color: #275b38;
    font-weight: 700
}

.p-brand .brand-phone,.p-brand .brand-phone__icon {
    display: flex;
    align-items: center;
    justify-content: center
}

.p-brand .brand-phone__icon {
    background-color: #275b38;
    width: 8.8rem;
    height: 8.8rem;
    border-radius: 50%;
    border: .5rem solid #919191
}

.p-brand .brand-phone__icon img {
    width: 45%
}

.p-brand .brand-phone__ttl {
    font-size: 2.2rem
}

.p-brand .brand-phone__number {
    font-size: 3.8rem;
    line-height: 1
}

.p-brand .brand-bnr {
    height: 38rem;
    border-radius: 2rem;
    overflow: hidden
}

.p-brand .brand-bnr img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-brand .brand-list:not(:first-child) {
    margin: 3rem 0
}

.p-brand .brand-list__item {
    background-color: #d4cbc2;
    border-radius: 2rem;
    padding: 3rem 2rem
}

.p-brand .brand-list__item:not(:last-child) {
    margin-bottom: 3rem
}

.p-brand .brand-list__image {
    overflow: hidden;
    width: 100%;
    border-radius: 2rem;
    aspect-ratio: 1.125
}

.p-brand .brand-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-brand .brand-list__ttl {
    font-family: Beautique Display,sans-serif;
    font-size: 3rem;
    margin-bottom: 1rem
}

.p-brand .brand-list__txt {
    line-height: 1.1;
    font-size: 1.6rem
}

.p-brand .brand-list__txt:not(:last-child) {
    margin-bottom: 1rem
}

.p-brand .brand-list__info {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.p-brand .brand-list__time {
    font-size: 1.8rem;
    margin-bottom: 1.5rem
}

.p-brand .brand-new__head {
    margin-bottom: 4rem
}

.p-brand .brand-new__area {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(/assets/images/brand-shop/bnr_02.jpg) no-repeat 50%/cover;
    height: 50rem
}

.p-brand .brand-new__area:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(39,91,56,.8)
}

.p-brand .brand-new__body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-brand .brand-new__body .sec-ttl {
    text-align: center;
    color: #fff;
    margin-bottom: 10rem
}

.p-brand .gallery {
    padding: 5rem 0;
    background-color: #c1a78c
}

.p-brand .gallery__ttl {
    color: #fff
}

.p-brand .gallery-head {
    display: flex;
    align-items: center;
    gap: 4rem;
    justify-content: space-between;
    margin-bottom: 3rem
}

.p-brand .gallery-cate {
    display: flex;
    flex-flow: wrap;
    gap: 1.5rem 3rem
}

.p-brand .gallery-cate__item {
    padding: 1.2rem 2.8rem;
    border: 1px solid #000;
    border-radius: 3rem;
    letter-spacing: .2em;
    cursor: pointer;
    white-space: nowrap;
    transition: all .2s ease-in-out
}

.p-brand .gallery-cate__item:hover {
    color: #275b38;
    border-color: #275b38
}

.p-brand .gallery-list {
    display: flex;
    gap: 2.2rem
}

.p-brand .gallery-list:not(:last-child) {
    margin-bottom: 5rem
}

.p-brand .gallery-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2rem
}

.p-brand .gallery-list__item.--single .gallery-list__image {
    height: 100%
}

.p-brand .gallery-list__item.--row {
    display: grid;
    grid-gap: 2.2rem;
    gap: 2.2rem
}

.p-brand .gallery-list__row {
    display: flex;
    gap: 2.2rem
}

.p-brand .gallery-btn {
    display: flex;
    justify-content: center
}

.p-blog .blog-head {
    text-align: center;
    margin-bottom: 4rem
}

.p-blog .lead-ttl {
    margin-bottom: 1rem
}

.p-blog .blog-list {
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-gap: 7rem 3.5rem;
    gap: 7rem 3.5rem;
    margin-bottom: 4rem
}

.p-blog .blog-list__image {
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 16/9
}

.p-blog .blog-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-blog .blog-list__body {
    position: relative;
    padding-bottom: 2.5rem;
    margin-bottom: 1rem
}

.p-blog .blog-list__icon {
    position: absolute;
    bottom: 0;
    display: inline-flex;
    align-items: center;
    right: 1rem;
    gap: 1rem
}

.p-blog .blog-list__icon:before {
    content: "";
    width: 1rem;
    height: 1rem;
    background: url(/assets/images/common/user_icon_02_black.svg) no-repeat 50%/contain
}

.p-blog .blog-list__date {
    background-color: #c1a78c;
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 60%;
    border-radius: 1rem;
    white-space: nowrap;
    padding: 1.2rem 10rem 1.2rem 1.5rem
}

.p-blog .blog-list__date:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid #27282c;
    background: url(/assets/images/common/arrow_icon_03.svg) no-repeat 50%/50%;
    transition: all .3s ease-in-out;
    width: 2.8rem;
    height: 2.8rem;
    top: calc(50% - 1.4rem);
    right: 1.5rem
}

.p-blog .blog-list__ttl {
    font-size: 1.8rem;
    margin-bottom: 1rem
}

.p-blog-detail .detail-row {
    display: flex;
    gap: 4rem
}

.p-blog-detail .detail-kv {
    margin-bottom: 3rem
}

.p-blog-detail .detail-kv__img {
    width: 100%;
    overflow: hidden;
    border-radius: 1rem;
    margin-bottom: 1rem
}

.p-blog-detail .detail-kv__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-blog-detail .detail-kv__info {
    display: flex;
    justify-content: space-between
}

.p-blog-detail .detail-common h1:not([class]) {
    font-family: Beautique Display,sans-serif;
    color: #275b38;
    font-weight: 400;
    font-size: 3.6rem
}

.p-blog-detail .detail-common h1:not([class]):not(:first-child) {
    margin-top: 3rem
}

.p-blog-detail .detail-common h1:not([class]):not(:last-child) {
    margin-bottom: 3rem
}

.p-blog-detail .detail-common h2:not([class]) {
    font-weight: 500;
    font-family: Beautique Display,sans-serif;
    font-size: 2.2rem
}

.p-blog-detail .detail-common h2:not([class]):not(:first-child) {
    margin-top: 1.5rem
}

.p-blog-detail .detail-common h2:not([class]):not(:last-child) {
    margin-bottom: 1.5rem
}

.p-blog-detail .detail-common h4:not([class]) {
    font-weight: 600
}

.p-blog-detail .detail-common h4:not([class]):not(:first-child) {
    margin-top: 2rem
}

.p-blog-detail .detail-common h4:not([class]):not(:last-child) {
    margin-bottom: 2.5rem
}

.p-blog-detail .detail-common p:not([class]) {
    line-height: 1.8571428571
}

.p-blog-detail .detail-common p:not([class]):not(:last-child) {
    margin-bottom: 1rem
}

.p-blog-detail .detail-media {
    gap: 3rem;
    display: flex
}

.p-blog-detail .detail-media:not(:last-child) {
    margin-bottom: 3rem
}

.p-blog-detail .detail-media__image {
    aspect-ratio: 40/36;
    border-radius: 1rem;
    overflow: hidden;
    width: 100%
}

.p-blog-detail .detail-media__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-blog-detail .detail-btn {
    display: flex;
    justify-content: space-between
}

.p-blog-detail .detail-btn:not(:first-child) {
    margin-top: 4rem
}

.p-blog-detail .detail-btn__item {
    display: flex;
    align-items: center;
    font-family: Beautique Display,sans-serif;
    gap: 1rem;
    font-size: 1.6rem;
    font-weight: 600
}

.p-blog-detail .detail-btn__item.--next: after,.p-blog-detail .detail-btn__item.--prev:before {
    content:"";
    width: 1.2rem;
    height: 1.2rem;
    background: url(/assets/images/common/arrow_icon_06.svg) no-repeat 50%/contain;
    margin-top: .4rem
}

.p-blog-detail .detail-btn__item.--next: after {
    transform:scale(-1)
}

.p-blog-detail .side-ttl {
    font-family: Beautique Display,sans-serif;
    font-weight: 500;
    font-size: 2.8rem;
    margin-bottom: 2rem
}

.p-blog-detail .side-list:not(:last-child) {
    margin-bottom: 5rem
}

.p-blog-detail .side-list__item {
    display: flex;
    gap: 2rem;
    align-items: center
}

.p-blog-detail .side-list__item:not(:last-child) {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #c1a78c
}

.p-blog-detail .side-list__image {
    width: 15.3rem;
    aspect-ratio: 1;
    border-radius: .4rem;
    overflow: hidden;
    flex-shrink: 0
}

.p-blog-detail .side-list__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-blog-detail .side-list__body {
    flex: 1 1
}

.p-blog-detail .side-list__info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #c1a78c;
    font-weight: 400;
    margin-bottom: 1rem
}

.p-blog-detail .side-list__info .user {
    display: flex;
    align-items: center;
    gap: .5rem
}

.p-blog-detail .side-list__info .user:before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background: url(/assets/images/common/user_icon_02.svg) no-repeat 50%/contain
}

.p-blog-detail .side-list__info .date {
    display: flex;
    align-items: center;
    gap: .5rem
}

.p-blog-detail .side-list__info .date:before {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background: url(/assets/images/common/calendar_icon_color.svg) no-repeat 50%/contain
}

.p-blog-detail .side-list__ttl {
    font-size: 2rem;
    font-family: Beautique Display,sans-serif
}

.p-blog-detail .side-bnr {
    position: relative;
    border-radius: .5rem;
    overflow: hidden
}

.p-blog-detail .side-bnr:not(:last-child) {
    margin-bottom: 3rem
}

.p-blog-detail .side-bnr__body {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 4rem;
    background: rgba(0,0,0,.4);
    color: #fff
}

.p-blog-detail .side-bnr__ttl {
    font-size: 3.6rem;
    text-align: center;
    font-family: Beautique Display,sans-serif;
    margin-bottom: 2rem;
    line-height: 1.4
}

.p-blog-detail .side-bnr__txt {
    line-height: 1.8571428571;
    margin-bottom: 5rem
}

.p-blog-detail .side-bnr .btn-arrow {
    border-color: #ffc200;
    color: #ffc200
}

.p-blog-detail .side-bnr .btn-arrow:after {
    background-image: url(/assets/images/common/arrow_icon_02_highlight.svg)
}

.p-blog-detail .side-social {
    display: flex;
    align-items: center;
    gap: 1.5rem
}

.p-blog-detail .side-social a {
    width: 3.6rem;
    height: 2.4rem;
    padding: 0 .6rem
}

.p-blog-detail .side-social a img {
    width: 100%
}

.p-contact .contact-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 5rem
}

.p-contact .lead-ttl {
    margin-bottom: 1rem
}

.p-contact .contact-list {
    display: flex;
    justify-content: flex-start;
    gap: 5.8rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overflow-y: hidden;
    margin-top: 2rem;
    margin-bottom: 2rem
}

.p-contact .contact-list__item {
    text-align: center;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    width: calc(25% - 15px)
}

.p-contact .contact-list__item:hover:after {
    opacity: 1
}

.p-contact .contact-list__item:before {
    content: ""
}

.p-contact .contact-list__item:after {
    content: "";
    z-index: -2;
    position: absolute;
    width: 100%;
    height: calc(100% + 10rem);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(/assets/images/contact/list_contact_bg.svg) no-repeat 50%/contain;
    opacity: 0;
    transition: all .2s ease-in-out
}

.p-contact .contact-list__ttl {
    font-size: 3.6rem;
    margin-bottom: 2rem;
    font-family: Beautique Display,sans-serif
}

.p-contact .contact-list__txt {
    line-height: 1.9
}

.p-contact .contact-list__txt:not(:last-child) {
    margin-bottom: 1rem
}

.p-contact .contact {
    background-color: #275b38;
    padding: 10rem 0
}

.p-contact .contact-form {
    max-width: 100rem;
    margin: 0 auto
}

.p-contact .contact-form__row {
    display: flex;
    gap: 1rem
}

.p-contact .contact-form__row:not(:last-child) {
    margin-bottom: 1.5rem
}

.p-contact .contact-form__item {
    flex: 1 1;
    position: relative
}

.p-contact .contact-form__item .icon {
    position: absolute;
    left: 1.5rem;
    width: 2.4rem;
    top: 50%;
    transform: translateY(-50%)
}

.p-contact .contact-form__item .icon.--top {
    top: 1.8rem;
    transform: translateY(0)
}

.p-contact .contact-form__item .icon img {
    width: 100%
}

.p-contact .contact-form__item .form-control {
    border-width: 0 0 1px;
    padding-left: 5rem
}

.p-contact .contact-form__btn {
    display: flex;
    justify-content: center;
    margin-top: 6.5rem
}

.p-contact .contact-form__btn .btn-arrow {
    background-color: transparent
}

.p-contact .contact-form__txt {
    max-width: 54rem;
    margin: 2rem auto 0;
    text-align: center;
    font-size: 1.6rem
}

.p-contact .contact-form__link {
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000;
    color: #fff;
    text-decoration: underline
}

.contact-map {
    margin-top: 10rem
}

.contact-map iframe {
    width: 100%;
    height: 50rem
}

.p-faq .faq-list dl {
    border: .1rem solid transparent;
    background-color: #d4cbc2;
    padding: 0 2rem .5rem;
    font-weight: 400
}

.p-faq .faq-list dl:not(:last-child) {
    margin-bottom: 1.5rem
}

.p-faq .faq-list dl.active {
    background-color: #fff;
    border-color: #c1a78c
}

.p-faq .faq-list dl.active dt {
    color: #c1a78c
}

.p-faq .faq-list dl.active dt:before {
    transform: rotate(0deg)
}

.p-faq .faq-list dt {
    position: relative;
    cursor: pointer;
    font-size: 2rem;
    padding: 1.5rem 4rem 1rem 0;
    transition: all .2s ease-in-out
}

.p-faq .faq-list dt:after,.p-faq .faq-list dt:before {
    content: "";
    position: absolute;
    right: 0;
    width: 2rem;
    height: .2rem;
    top: calc(50% - .1rem);
    transition: all .2s ease-in-out;
    background-color: #000
}

.p-faq .faq-list dd {
    margin-left: 0;
    display: none;
    margin-bottom: 1rem;
    line-height: 1.8
}

.p-faq dt:before {
    transform: rotate(90deg)
}

.p-faq .faq-list .c-list-dots__item {
    margin-bottom: 0
}

.p-faq .faq-bnr {
    gap: 2rem;
    display: flex
}

.p-faq .faq-bnr__item {
    flex: 1 1
}

.experi-media__content .slick-dots {
    justify-content: flex-end!important
}

.experi-media__content .slick-dots li button {
    background-color: #c1a78c
}

.experi-media__content .slick-dots li.slick-active button {
    background-color: #27282c
}

@media (min-width: 768px) {
    html {
        font-size:.625vw
    }

    .hamburger-box,.sp {
        display: none!important
    }

    .container {
        max-width: 163rem
    }

    .container,.inner {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .inner {
        max-width: 146rem
    }

    .slick-dots li {
        margin: 0 .5rem
    }

    .slick-dots li button {
        height: 1rem;
        width: 1rem
    }

    .btn-submit {
        min-height: 6.5rem;
        letter-spacing: .2em;
        padding: 0 10rem
    }

    .btn-arrow {
        gap: 2.5rem;
        height: 4.4rem;
        padding: 0 3rem;
        letter-spacing: .24em
    }

    .btn-arrow.--large {
        height: 5rem;
        padding: 0 2rem
    }

    .form-control {
        padding: 1.8rem;
        min-height: 6.5rem
    }

    .header__logo {
        width: 24.1rem
    }

    .header-top {
        height: 6rem;
        display: flex;
        align-items: center
    }

    .header-top__mail {
        margin-right: 2rem
    }

    .header-top__phone {
        font-size: 1.8rem;
        margin-right: auto
    }

    .header-top__time {
        color: #919191;
        margin-right: 2.6rem;
        padding-right: 3.2rem;
        border-right: 1px solid #919191
    }

    .header-body {
        padding: 0 2.5rem
    }

    .header-box__close {
        display: none
    }

    .header-menu {
        gap: 4rem;
        display: flex
    }

    .header-menu__anchor {
        padding: 2.5rem 0;
        min-height: 11rem;
        font-size: 1.5rem
    }

    .header-sub {
        border-radius: .6rem;
        padding: 2rem 0;
        transition: all .2s ease-in-out;
        border: 1px solid #d7dfe9;
        background-color: #fff;
        min-width: 25rem;
        top: calc(100% + 1rem);
        visibility: hidden;
        opacity: 0;
        position: absolute;
        display: block
    }

    .header-sub__anchor:hover {
        color: #275b38;
        background-color: #c1a78c
    }

    .header-btn {
        border-left: 1px solid #b9a07a;
        padding-left: 2.5rem
    }

    .header-btn__book {
        margin: 0 3rem
    }

    .footer {
        padding-top: 10rem;
        margin-top: 10rem
    }

    .footer__logo {
        width: 40.6rem
    }

    .footer__ttl {
        font-size: 3.5rem;
        margin-bottom: 3rem
    }

    .footer__sub {
        margin-bottom: 1rem
    }

    .footer__txt:not(:last-child) {
        margin-bottom: 2rem
    }

    .footer__row {
        justify-content: space-between
    }

    .footer-wrap {
        gap: 5rem;
        padding-bottom: 9rem;
        display: flex
    }

    .footer-email {
        margin-bottom: 3.5rem
    }

    .footer-social {
        gap: 5rem;
        justify-content: flex-end
    }

    .sec-ttl {
        font-size: 7rem
    }

    .part-ttl {
        font-size: 4.5rem
    }

    .lead-ttl {
        font-size: 3.6rem
    }

    .combo__ttl {
        font-size: 4.8rem
    }

    .combo__sub,.combo__ttl {
        text-align: center
    }

    .combo-list {
        grid-gap: 2rem;
        gap: 2rem;
        display: grid;
        margin: 8.8rem 0 0;
        grid-template-columns: repeat(3,1fr)
    }

    .combo-list__item {
        padding: 6.4rem 6.5rem;
        border-radius: 1rem
    }

    .combo-list__ttl {
        padding-bottom: 2rem
    }

    .combo-list__ttl,.combo-list__txt {
        margin-bottom: 2rem
    }

    .combo-list__price .number {
        font-size: 5rem
    }

    .txt-phone {
        pointer-events: none
    }

    .c-sec,.p-mv {
        margin-bottom: 10rem
    }

    .p-mv:before {
        width: 31.6rem;
        height: 30.2rem;
        left: 15rem;
        bottom: 4rem
    }

    .p-mv__ttl {
        font-size: 7.8rem
    }

    .p-mv__body:after {
        top: 20%;
        left: calc(100% + 1rem);
        width: 21.2rem;
        height: 27.6rem
    }

    .p-box {
        gap: 2rem;
        grid-template-columns: repeat(2,1fr)
    }

    .p-box-media {
        gap: 3rem;
        display: flex;
        align-items: center
    }

    .p-box-media .body-txt {
        margin-bottom: 1rem
    }

    .p-box-media__body {
        flex: 1 1
    }

    .p-box-media__content {
        flex-shrink: 0
    }

    .p-box-media__image,.p-box-media__image.--circle {
        width: 17rem
    }

    .p-box__wrap {
        padding: 2rem
    }

    .p-box__ttl {
        font-size: 2.4rem
    }

    .p-top .mv-button {
        transform: translateY(-50%);
        top: 50%;
        right: 8rem;
        gap: 1rem
    }

    .p-top .mv-body {
        top: 25%;
        left: 0;
        right: 15rem
    }

    .p-top .mv-body__wrap:after {
        width: 28.1rem;
        height: 26.1rem;
        left: calc(100% - 5rem);
        bottom: calc(100% - 12rem)
    }

    .p-top .mv-body__sub {
        line-height: 1.2;
        font-size: 6.8rem
    }

    .p-top .mv-body__ttl {
        font-size: 11.8rem;
        margin-bottom: 2.5rem
    }

    .p-top .mv-body__txt {
        max-width: 84rem;
        font-size: 2.2rem
    }

    .p-top .intro {
        padding: 8rem 0 10rem
    }

    .p-top .intro-media {
        margin-bottom: 8rem;
        display: flex;
        align-items: flex-start;
        justify-content: space-between
    }

    .p-top .intro-media__body {
        flex: 1 1;
        max-width: 680px
    }

    .p-top .intro-media__sub {
        font-size: 2.4rem;
        margin-bottom: 1rem
    }

    .p-top .intro-media__ttl {
        font-size: 6rem;
        margin-bottom: 2rem
    }

    .p-top .intro-media__txt {
        margin-bottom: 5rem
    }

    .p-top .intro-media__content {
        width: 50%;
        height: 50rem
    }

    .p-top .intro-media__list {
        margin-bottom: 5rem;
        grid-gap: 4rem 2rem;
        gap: 4rem 2rem;
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .p-top .intro-media__list .item {
        gap: 2.3rem;
        font-size: 2.3rem
    }

    .p-top .intro-list {
        grid-template-columns: repeat(4,minmax(0,1fr));
        grid-gap: 1rem;
        gap: 1rem;
        display: grid;
        justify-content: space-between
    }

    .p-top .service {
        padding: 11rem 0 0
    }

    .p-top .service__ttl {
        font-size: 4.8rem;
        margin-bottom: 1rem
    }

    .p-top .service__txt {
        margin-bottom: 5rem;
        max-width: 500px
    }

    .p-top .service-slider {
        margin-bottom: 10rem
    }

    .p-top .service-slider .slick-list {
        overflow: inherit
    }

    .p-top .service-slider .slick-arrow {
        bottom: calc(100% + 12.8rem);
        width: 6.3rem;
        height: 6.3rem
    }

    .p-top .service-slider .slick-prev {
        right: 15.5rem
    }

    .p-top .service-slider .slick-next {
        right: 0
    }

    .p-top .service-slider .slick-slide {
        width: 33.8rem;
        margin: 0 5.5rem
    }

    .p-top .service-slider__body:after {
        left: -1.8rem;
        top: -1.8rem
    }

    .p-top .product-area {
        margin-bottom: 8rem;
        padding: 11.5rem 0
    }

    .p-top .product-area:before {
        left: 1.4rem;
        top: 1.8rem;
        width: 23rem;
        height: 20.5rem
    }

    .p-top .product-area:after {
        right: 1.8rem;
        bottom: 1.4rem;
        width: 30.2rem;
        height: 26.8rem
    }

    .p-top .product-media {
        display: flex;
        align-items: center;
        max-width: 84rem
    }

    .p-top .product-media__image {
        width: 43rem
    }

    .p-top .product-media__ttl {
        font-size: 4.8rem;
        margin-bottom: 2rem
    }

    .p-top .product-media__sub {
        letter-spacing: .2em;
        font-size: clamp(10px,1.6rem,1.6rem);
        margin-bottom: 1rem
    }

    .p-top .product-media__txt {
        margin-bottom: 8rem
    }

    .p-top .product-list {
        margin-bottom: 6rem;
        display: grid;
        grid-template-columns: repeat(3,1fr);
        grid-gap: 5rem 10rem;
        gap: 5rem 10rem
    }

    .p-top .gallery {
        padding: 9rem 0 10rem
    }

    .p-top .gallery-list {
        flex-flow: wrap;
        gap: 2.2rem
    }

    .p-top .gallery-list:not(:last-child) {
        margin-bottom: 8rem
    }

    .p-top .gallery-list__item {
        flex: 1 1;
        min-width: 20%;
        max-width: 33.33%
    }

    .p-top .gallery-list__item.--row {
        grid-template-rows: repeat(2,calc(50% - 1.1rem))
    }

    .p-top .gallery-list__item.--large {
        min-width: 30%
    }

    .p-top .customer__des {
        font-size: 4.8rem;
        margin-bottom: 5rem
    }

    .p-top .customer__des .icon {
        width: 6rem
    }

    .p-top .customer__des .icon.--small {
        width: 4.5rem
    }

    .p-top .customer-slider {
        max-width: 153rem
    }

    .p-top .customer-slider:before {
        width: 21.6rem;
        height: 1.2rem
    }

    .p-top .customer-slider__wrap {
        gap: 9rem
    }

    .p-top .customer-slider__image {
        flex-shrink: 0;
        width: 57.7rem;
        height: 43.5rem
    }

    .p-top .customer-slider__body {
        padding: 1rem 0;
        flex: 1 1
    }

    .p-top .customer-slider__des {
        font-size: 3rem;
        margin-bottom: 2rem
    }

    .p-top .customer-slider .slick-dots {
        width: calc(100% - 66rem);
        bottom: 2rem
    }

    .p-top .appoint-media {
        display: flex;
        align-items: flex-end;
        margin: 0 auto;
        gap: 10rem;
        max-width: 80vw
    }

    .p-top .appoint-media:before {
        width: 55.7rem;
        height: 62.7rem;
        left: -30rem
    }

    .p-top .appoint-media:after {
        top: 50%;
        transform: translateY(-50%);
        left: 100%;
        width: 29.7rem;
        height: 61.9rem
    }

    .p-top .appoint-media__image {
        flex-shrink: 0;
        width: 56rem
    }

    .p-top .appoint-media__image:before {
        width: 30.4rem;
        height: 30.4rem;
        left: -20rem;
        top: 10rem
    }

    .p-top .appoint-media__ttl {
        font-size: 4.8rem
    }

    .p-top .appoint-info__item {
        pointer-events: none
    }

    .p-top .branch {
        padding: 10rem 0
    }

    .p-top .branch__ttl {
        margin-bottom: 5rem
    }

    .p-top .branch-media {
        gap: 10rem;
        display: flex;
        align-items: flex-start
    }

    .p-top .branch-media__image {
        flex: 1 1
    }

    .p-top .branch-media__body {
        width: 94.6rem;
        flex-shrink: 0
    }

    .p-top .branch-list__number {
        font-size: 1.4rem;
        border-radius: 5rem;
        width: 7.5rem;
        height: 4.7rem;
        margin-top: 1.1rem
    }

    .p-top .branch-list__item {
        padding: 0 1rem
    }

    .p-top .branch-list__head {
        gap: 2.5rem;
        padding: 3rem 0
    }

    .p-top .branch-list__head:after {
        background-size: 2.3rem;
        width: 5rem;
        height: 5rem
    }

    .p-top .branch-list__ttl {
        font-size: 4.8rem
    }

    .p-top .news-list {
        grid-template-columns: repeat(5,1fr);
        margin-bottom: 6rem;
        gap: 2.4rem
    }

    .p-top .news-list__image {
        margin-bottom: 3.5rem
    }

    .p-top .news-list__ttl {
        font-size: 2.2rem
    }

    .p-about .intro {
        gap: 7rem;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 11rem
    }

    .p-about .intro__body {
        flex: 1 1;
        width: 68rem
    }

    .p-about .intro__content {
        width: 78rem
    }

    .p-about .intro__content:after {
        width: 35.4rem;
        height: 40rem;
        top: calc(100% + 1rem)
    }

    .p-about .intro__txt:not(:last-child) {
        margin-bottom: 4rem
    }

    .p-about .intro-list {
        margin-bottom: 3rem;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        grid-gap: 3rem 8rem;
        gap: 3rem 8rem
    }

    .p-about .action {
        display: flex
    }

    .p-about .action__content {
        padding-left: 10rem;
        width: 81.5rem;
        flex-shrink: 0
    }

    .p-about .action-label {
        gap: 1rem;
        bottom: 4rem;
        padding: 1.5rem 3.5rem 3rem
    }

    .p-about .action-label__icon {
        width: 6.9rem;
        height: 7.7rem
    }

    .p-about .action-label__ttl {
        font-size: 3.6rem
    }

    .p-about .action__ttl {
        margin-bottom: 4rem
    }

    .p-about .action__btn,.p-about .action__txt {
        margin-bottom: 3rem
    }

    .p-about .action-info__number {
        font-size: 8.8rem
    }

    .p-about .action-info__txt {
        font-size: 2.4rem
    }

    .p-about .franch .sec-ttl {
        margin-bottom: 4rem
    }

    .p-about .franch__des {
        margin-bottom: 5rem;
        max-width: 720px
    }

    .p-about .franch__sub {
        font-size: 2.4rem;
        margin-bottom: 2rem
    }

    .p-about .franch-row {
        gap: 10rem;
        grid-template-columns: repeat(2,1fr)
    }

    .p-about .franch-row:not(:last-child) {
        margin-bottom: 7rem
    }

    .p-about .franch-row .body-txt {
        max-width: 600px
    }

    .p-about .franch-row .body-txt:not(:last-child) {
        margin-bottom: 2rem
    }

    .p-about .franch-row:not(:first-child) {
        margin-top: 5rem
    }

    .p-about .franch-list__item:not(:last-child) {
        margin-bottom: 1.5rem
    }

    .p-about .franch-list__item:before {
        width: 1.8rem;
        height: 2.2rem
    }

    .p-about .franch-gallery {
        grid-template-columns: repeat(3,1fr)
    }

    .p-about .contact {
        padding: 10rem 0
    }

    .p-about .contact-form {
        max-width: 100rem;
        padding: 8rem 10rem
    }

    .p-about .contact-form__item .icon {
        left: 1.5rem;
        width: 2.4rem
    }

    .p-about .contact-form__item .icon.--top {
        top: 1.8rem
    }

    .p-about .contact-form__item .form-control {
        padding-left: 5rem
    }

    .p-about .train__des {
        font-size: 1.6rem;
        margin-bottom: 7rem;
        max-width: 110rem
    }

    .p-service .part-ttl {
        margin-bottom: 8rem;
        margin-top: 15rem
    }

    .p-service .part-ttl:before {
        width: 8.5rem;
        height: 9.5rem
    }

    .p-service .p-mv {
        margin-bottom: 15rem
    }

    .p-service .experi-box {
        max-width: 120rem
    }

    .p-service .experi-box:not(:last-child) {
        margin-bottom: 10rem
    }

    .p-service .experi-list {
        gap: 3.3rem;
        grid-template-columns: repeat(3,1fr)
    }

    .p-service .experi-list__image {
        margin-bottom: 3rem
    }

    .p-service .experi-list__image:after {
        left: -1.8rem;
        top: 1.8rem
    }

    .p-service .experi-list__ttl {
        font-size: 3.2rem;
        margin-bottom: 1rem
    }

    .p-service .experi-media {
        display: flex;
        gap: 4rem;
        gap: 15rem
    }

    .p-service .experi-media:not(:last-child) {
        margin-bottom: 5rem;
        padding-bottom: 7rem
    }

    .p-service .experi-media__ttl {
        font-size: 6.5rem;
        margin-bottom: 2rem
    }

    .p-service .experi-media__content {
        width: 45%
    }

    .p-service .experi-media__body {
        flex: 1 1
    }

    .p-service .experi-service:not(:last-child) {
        margin-bottom: 3.5rem
    }

    .p-service .experi-service__row {
        margin-bottom: 1rem;
        font-size: 2.2rem;
        gap: 3rem
    }

    .p-service .experi-service__price .txt,.p-service .experi-service__txt {
        font-size: 1.8rem
    }

    .p-service .experi-favor:not(:last-child) {
        margin-bottom: 2rem
    }

    .p-service .experi-favor__item {
        padding: 2rem 1.5rem
    }

    .p-service .experi-favor__ttl {
        font-size: 1.8rem
    }

    .p-service .experi-favor__txt {
        font-size: 2.8rem
    }

    .p-service .experi-favor__txt.--large {
        font-size: 3.5rem
    }

    .p-service .experi-slider .slick-list {
        overflow: initial
    }

    .p-service .experi-slider .slick-dots {
        justify-content: flex-end
    }

    .p-service .service-area {
        padding: 11rem 0 0
    }

    .p-service .bnr-sale {
        display: flex;
        align-items: center;
        padding: 7.7rem 2rem;
        border-radius: 1rem;
        gap: 2rem
    }

    .p-service .bnr-sale__image {
        width: 36.5rem;
        border-radius: 24rem
    }

    .p-service .package-list__item {
        align-items: center;
        padding: 3rem 5.5rem
    }

    .p-service .package-list__image {
        width: 21.9rem
    }

    .p-service .package-list__ttl {
        font-size: 3.6rem
    }

    .p-service .package-list__body,.p-service .package-list__content {
        display: flex;
        align-items: center;
        flex: 1 1
    }

    .p-service .package-list__content {
        border-right: 1px solid #27282c
    }

    .p-service .package-list__time {
        font-size: 2.2rem;
        width: 25rem;
        padding: 2rem 0
    }

    .p-service .package-list__date {
        width: 30rem;
        font-size: 1.6rem;
        padding-left: 3rem;
        flex: 1 1
    }

    .p-brand .p-row {
        display: flex
    }

    .p-brand .p-row__side {
        width: 40rem
    }

    .p-brand .p-row__body {
        flex: 1 1
    }

    .p-brand .brand-list__item {
        padding: 3rem;
        display: flex
    }

    .p-brand .brand-list__image {
        width: 18rem
    }

    .p-brand .brand-list__ttl {
        font-size: 3.6rem;
        margin-bottom: 1rem
    }

    .p-brand .brand-list__txt {
        font-size: 2.2rem
    }

    .p-brand .brand-list__body {
        align-self: center;
        flex: 1 1;
        padding-left: 3rem
    }

    .p-brand .brand-list__info {
        width: 28rem;
        border-left: 1px solid #27282c;
        padding-left: 4rem
    }

    .p-brand .brand-list__time {
        font-size: 2.2rem;
        margin-bottom: 2rem
    }

    .p-brand .brand-new__head {
        max-width: 55rem;
        margin: 0 auto 4rem
    }

    .p-brand .brand-new__area {
        height: 79.2rem
    }

    .p-brand .gallery {
        padding: 9rem 0 10rem
    }

    .p-brand .gallery-list {
        flex-flow: wrap;
        gap: 2.2rem
    }

    .p-brand .gallery-list:not(:last-child) {
        margin-bottom: 8rem
    }

    .p-brand .gallery-list__item {
        flex: 1 1;
        min-width: 20%;
        max-width: 33.33%
    }

    .p-brand .gallery-list__item.--row {
        grid-template-rows: repeat(2,calc(50% - 1.1rem))
    }

    .p-brand .gallery-list__item.--large {
        min-width: 30%
    }

    .p-blog .blog-head {
        margin: 0 auto 5rem;
        max-width: 720px
    }

    .p-blog .blog-list {
        grid-template-columns: repeat(3,1fr);
        margin-bottom: 8rem
    }

    .p-blog .blog-list__body {
        padding-bottom: 2.5rem;
        margin-bottom: 3rem
    }

    .p-blog .blog-list__icon {
        right: 3rem
    }

    .p-blog .blog-list__date {
        padding: 1.4rem 2.5rem;
        min-width: 25rem
    }

    .p-blog .blog-list__date:after {
        right: 3rem
    }

    .p-blog .blog-list__ttl {
        font-size: 2.4rem;
        margin-bottom: 1.5rem
    }

    .p-blog-detail .detail-row {
        gap: 8rem
    }

    .p-blog-detail .detail-row__side {
        width: 43rem
    }

    .p-blog-detail .detail-row__body {
        flex: 1 1
    }

    .p-blog-detail .detail-kv__img {
        height: 60rem
    }

    .p-blog-detail .detail-common h1:not([class]) {
        font-size: 4.2rem
    }

    .p-blog-detail .detail-common h2:not([class]) {
        font-size: 2.6rem
    }

    .p-blog-detail .detail-media:not(:last-child) {
        margin-bottom: 4rem
    }

    .p-blog-detail .detail-media__body {
        flex: 1 1
    }

    .p-blog-detail .detail-media__image {
        width: 40rem
    }

    .p-blog-detail .detail-btn:not(:first-child) {
        margin-top: 5rem
    }

    .p-blog-detail .detail-btn__item {
        font-size: 2.4rem;
        gap: 2rem
    }

    .p-blog-detail .detail-btn__item.--prev: before {
        width:1.6rem;
        height: 1.6rem
    }

    .p-blog-detail .detail-btn__item.--next: after {
        width:1.6rem;
        height: 1.6rem;
        margin-top: .4rem
    }

    .p-blog-detail .side-ttl {
        font-size: 3.6rem;
        margin-bottom: 3rem
    }

    .p-blog-detail .side-list:not(:last-child) {
        margin-bottom: 10rem
    }

    .p-blog-detail .side-list__ttl {
        font-size: 2.4rem
    }

    .p-faq .faq-list {
        margin-left: auto;
        margin-right: auto;
        max-width: 110rem
    }

    .p-faq .faq-list dl {
        padding: 0 4rem 1rem
    }

    .p-faq .faq-list dl:not(:last-child) {
        margin-bottom: 2rem
    }

    .p-faq .faq-list dt {
        font-size: 2.4rem;
        padding: 2rem 4rem 1rem 0
    }

    .p-faq .faq-list dt:after,.p-faq .faq-list dt:before {
        top: calc(50% - .1rem)
    }
}

@media (min-width: 768px) and (min-height:700px) {
    .p-brand .gallery-list__item,.p-top .gallery-list__item {
        max-height:65vh
    }
}

@media (min-width: 1200px) {
    .p-top .gallery-cate {
        gap:2.8rem 4.5rem
    }

    .p-top .appoint-media {
        max-width: 110rem
    }

    .p-brand .gallery-cate {
        gap: 2.8rem 4.5rem
    }
}

@media (min-width: 1630px) {
    html {
        font-size:10px
    }

    .header-body {
        padding: 0 4rem
    }

    .header-menu {
        gap: 4rem
    }

    .header-menu__anchor {
        font-size: 1.6rem
    }

    .header-btn__book {
        margin: 0 4rem
    }
}

@media (max-width: 767px) {
    .btn-submit {
        width:100%
    }

    .header-top {
        padding: 1rem 1.5rem
    }

    .header-top__time {
        margin-bottom: 2rem;
        padding-bottom: 2rem;
        border-bottom: 1px solid #919191
    }

    .header-box {
        display: none;
        transition: top .3s ease-in-out;
        background: hsla(38,42%,93%,.9);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        width: 100%;
        height: 100vh;
        padding: 6rem 1rem 2rem 2rem;
        justify-content: space-between;
        z-index: 12
    }

    .header-box.is-active {
        display: block;
        position: fixed;
        right: 0;
        top: 0;
        opacity: 1;
        visibility: visible;
        z-index: 12
    }

    .header-box__wrap {
        height: 100%;
        overflow-y: auto;
        padding-right: 1rem
    }

    .header-menu {
        margin-bottom: 3rem
    }

    .header-menu__item:not(:last-child) {
        border-bottom: 1px solid #27282c
    }

    .header-menu__item.has-sub .header-menu__anchor:after {
        position: absolute;
        right: 0;
        top: calc(50% - .3rem)
    }

    .header-menu__item .show-sub {
        position: absolute;
        width: 8rem;
        height: 5.5rem;
        right: 0;
        top: 0;
        z-index: 12;
        cursor: pointer
    }

    .header-sub {
        border-top: 1px solid #fff;
        display: none
    }

    .header-sub__item:last-child:after {
        content: none
    }

    .header-btn__search {
        display: none
    }

    .header-btn__cart {
        margin-right: 1rem
    }

    .footer__row {
        flex-direction: column;
        align-items: center;
        gap: 1.4rem
    }

    .footer-wrap__item:not(:last-child) {
        margin-bottom: 3rem
    }

    .footer-social {
        margin-top: 2.5rem
    }

    .combo-list__item:not(:last-child) {
        margin-bottom: 3rem
    }

    .pc {
        display: none
    }

    .p-top .mv-button {
        bottom: 5rem
    }

    .p-top .mv-body__txt {
        line-height: 2
    }

    .p-top .intro-media__body:not(:last-child) {
        margin-bottom: 4rem
    }

    .p-top .intro-media__ttl {
        line-height: 1.3
    }

    .p-top .intro-media__list .item:not(:last-child) {
        margin-bottom: 1.8rem
    }

    .p-top .intro-media__btn {
        display: flex;
        justify-content: center
    }

    .p-top .intro-list__item:not(:last-child) {
        margin-bottom: 4rem
    }

    .p-top .intro-list__txt {
        max-width: 32rem
    }

    .p-top .service-slider__image {
        aspect-ratio: 1.06
    }

    .p-top .service-slider__image img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .p-top .product-area:after {
        top: 27rem
    }

    .p-top .product-media__image {
        padding: 0 1.5rem;
        margin-bottom: 3rem
    }

    .p-top .gallery-cate,.p-top .product-list__item:not(:first-child) {
        display: none
    }

    .p-top .gallery-list {
        flex-direction: column
    }

    .p-top .gallery-list__image {
        aspect-ratio: 1
    }

    .p-top .customer__des {
        text-align: center
    }

    .p-top .customer-slider__wrap {
        flex-direction: column
    }

    .p-top .customer-slider__image {
        aspect-ratio: 1.5
    }

    .p-top .appoint-media__image {
        padding: 0 4rem;
        margin-bottom: 6rem
    }

    .p-top .news-list__item:nth-child(n+5) {
        display: none
    }

    .p-about .intro {
        flex-direction: column
    }

    .p-about .intro-list__item:not(:last-child) {
        margin-bottom: 3rem
    }

    .p-about .action__image:not(:last-child) {
        margin-bottom: 6rem
    }

    .p-about .contact-form__row {
        flex-direction: column
    }

    .p-service .experi-media__body {
        width: 100%;
        margin-bottom: 3rem
    }

    .p-service .experi-favor__ttl .small {
        display: block
    }

    .p-service .experi-slider .slick-dots {
        bottom: -3rem
    }

    .p-service .bnr-sale__body {
        margin-bottom: 3rem
    }

    .p-service .package-list__item {
        flex-direction: column
    }

    .p-service .package-list__image {
        margin-bottom: 2rem
    }

    .p-service .package-list__date {
        margin-bottom: 3rem
    }

    .p-brand .p-row__side {
        margin-bottom: 5rem
    }

    .p-brand .brand-list__image {
        margin-bottom: 1.5rem
    }

    .p-brand .brand-list__info {
        padding-top: 2rem;
        margin-top: 2rem;
        border-top: 1px solid #27282c
    }

    .p-brand .gallery-cate {
        display: none
    }

    .p-brand .gallery-list {
        flex-direction: column
    }

    .p-brand .gallery-list__image {
        aspect-ratio: 1
    }

    .p-blog-detail .detail-row {
        flex-direction: column
    }

    .p-blog-detail .detail-kv__img {
        aspect-ratio: 16/9
    }

    .p-blog-detail .detail-media {
        gap: 2rem;
        flex-direction: column-reverse
    }

    .p-faq .faq-bnr {
        flex-direction: column
    }
}
