@import 'font.css';
/* Reset */
html {
    -webkit-text-size-adjust: none;
}

html,
body,
div,
ul,
ol,
li,
dl,
dt,
dd,
p,
strong,
span,
em,
a,
table,
th,
td,
caption,
input,
button,
textarea,
label,
form,
legend,
fieldset,
select,
hr,
h1,
h2,
h3,
h4,
h5,
h6,
img {
    padding: 0;
    margin: 0;
    border: 0;
    color: inherit;
    background: none;
    line-height: inherit;
    font-size: inherit;
    font-family: inherit;
}

html,
body {
    height: 100%;
    min-height: 100%;
    background: #f4f3ef;
    font-size: 16px;
    color: #333;
    font-weight: 300;
    line-height: 1.4;
    font-family: 'Pretendard', HelveticaNeue-Light, AppleSDGothicNeo-Light, 'Malgun Gothic', sans-serif !important;
    word-break: keep-all;
    letter-spacing: -0.03em;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong {
    font-weight: 400;
}

*,
:after,
:before {
    box-sizing: border-box;
    vertical-align: top;
}

header,
footer,
nav {
    display: block;
}

table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}

th,
td {
    vertical-align: middle;
}

input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    color: #222;
}

select,
button {
    cursor: pointer;
}

ul,
ol {
    list-style: none;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

i,
em {
    font-style: normal;
}

textarea {
    resize: vertical;
}

textarea ul,
textarea ol {
    list-style: disc;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    outline: none;
}

select::-ms-expand {
    display: none;
}

input,
textarea,
button,
select {
    border-radius: 0;
    box-shadow: none;
    outline: none;
}

b {
    font-weight: 700;
}

*,
:after,
:before {
    box-sizing: border-box;
}

.blind {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    font-size: 1px;
    line-height: 0;
    overflow: hidden;
    opacity: 0;
}

.mo {
    display: none;
}

/* font */
/* Layout */
#contents {
    overflow: hidden;
}

.inner_con {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

@media screen and (max-width: 1430px) {
    .inner_con {
        width: auto;
        margin: 0 20px;
    }
}
#hd {
    position: absolute;
    top: 0%;
    padding-top: 5px;
    left: 0;
    right: 0;
    transition: 0.7s all;
    z-index: 9 !important;
}
#hd .inner_wide {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0px 110px;
    transition: 0.7s all;
}
#hd #h1 {
    display: inline-block;
}

#hd #h1 a {
    display: block;
    width: 103px;
    padding: 0;
    transition: 1s all;
}

#hd.fix #h1 a {
    width: 103px;
    padding: 0;
}

#hd #menu {
    padding: 8px 100px 8px 0;
}
#hd #menu .btn_menu {
    display: none;
}
#hd #menu > .lst {
    font-size: 0;
    text-align: center;
}
#hd #menu > .lst > li {
    display: inline-block;
    width: 160px;
}
#hd #menu > .lst > li + li {
    margin-left: 10px;
}
#hd #menu > .lst a {
    display: block;
    color: #fff;
    font-size: 14px;
}
#hd #menu > .lst .mo {
    display: none;
}
#hd #menu > .lst .tit_menu {
    line-height: 32px;
    letter-spacing: 0.1em;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
#hd #menu > .lst .lst_sub {
    height: 0;
    overflow: hidden;
    transition: 0.3s;
}
#hd #menu > .lst .lst_sub li + li {
    margin-top: 4px;
}
#hd #menu > .lst .lst_sub a {
    line-height: 28px;
    color: #ccc;
    letter-spacing: 0.05em;
    transition: 0.3s;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.m-price {
    display: none;
}
@media screen and (min-width: 1024px) {
    #hd #menu > .lst .lst_sub a:hover {
        color: #fff;
    }
}
#hd #menu .links_contact {
    display: none;
}
@media screen and (min-width: 1024px) {
    #hd.active {
        background: rgba(37, 22, 4, 0.8);
    }
    #hd.active #menu .lst_sub {
        height: auto;
        padding-top: 24px;
    }
    #hd.fix {
        position: fixed;
        background: rgba(37, 22, 4, 0.8);
        top: 0;
    }
    #hd.fix .inner_wide {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    #hd.active .inner_wide {
        padding-bottom: 12px;
        align-items: flex-start;
    }

    #hd.fix.active .inner_wide {
        padding-bottom: 12px;
        align-items: flex-start;
    }
}
@media screen and (max-width: 1950px) {
    #hd #menu {
        padding-right: 0;
    }
}
@media screen and (max-width: 1430px) {
    #hd .inner_wide {
        padding: 40px 20px;
    }
}
@media screen and (max-width: 1024px) {
    .pc-price {
        display: none;
    }
    .m-price {
        display: block;
    }
    #hd {
        position: fixed;
        top: -6px;
        padding-top: 0;
    }
    #hd .inner_wide {
        display: block;
        position: relative;
        padding: 10px 20px;
        text-align: center;
    }
    #hd #h1 a {
        padding: 8px;
        width: 103px;
    }

    #hd.fix #h1 a {
        padding: 8px;
    }

    #hd .btn_menu {
        display: block;
        position: absolute;
        top: 30px;
        left: 20px;
        width: 40px;
        height: 37px;
        padding: 0 5px;
        font-size: 0;
        transition: 0.3s;
        z-index: 3;
    }
    #hd .btn_menu:before,
    #hd .btn_menu:after,
    #hd .btn_menu span {
        position: absolute;
        left: 5px;
        width: 30px;
        height: 1px;
        background: #fff;
        transition: 0.3s;
        content: '';
    }
    #hd .btn_menu:before {
        top: 8px;
    }
    #hd .btn_menu:after {
        bottom: 7px;
    }
    #hd .btn_menu span {
        top: 50%;
    }
    #hd #menu {
        position: fixed;
        top: 0;
        left: -100vw;
        bottom: 0;
        width: calc(100vw - 50px);
        min-width: 320px;
        max-width: 720px;
        background: rgba(0, 0, 0, 0.7);
        padding: 110px 30px;
        transition: 0.3s;
        z-index: 2;
    }
    #hd #menu > .lst > li {
        display: block;
        text-align: left;
    }
    #hd #menu > .lst > li + li {
        margin: 10px 0 0;
    }
    #hd #menu > .lst a {
        font-size: 18px;
    }
    #hd #menu > .lst .tit_menu:not(.mo) {
        display: none;
    }
    #hd #menu > .lst .tit_menu.mo {
        display: block;
        line-height: 50px;
        letter-spacing: 0.2em;
    }
    #hd #menu > .lst .tit_menu.mo span {
        display: inline-block;
        position: relative;
    }
    #hd #menu > .lst .tit_menu.mo span:after {
        position: absolute;
        bottom: 10px;
        left: 0;
        width: 0;
        height: 1px;
        background: transparent;
        transition: 0.5s;
        content: '';
    }
    #hd #menu > .lst .tit_menu.mo.on span:after {
        width: 100%;
        background-color: #fff;
    }
    #hd #menu > .lst .lst_sub {
        display: none;
        height: auto;
        transition: 0s;
        padding-left: 20px;
    }
    #hd #menu > .lst .lst_sub li + li {
        margin-top: 0;
    }
    #hd #menu > .lst .lst_sub a {
        line-height: 36px;
        font-size: 16px;
    }
    #hd #menu .links_contact {
        display: block;
        position: absolute;
        bottom: 40px;
        left: 20px;
        right: 20px;
        color: #fff;
        text-align: left;
        font-size: 0;
    }
    #hd #menu .links_contact li {
        display: inline-block;
    }
    #hd #menu .links_contact li + li {
        margin-left: 4px;
    }
    #hd #menu .links_contact a {
        display: block;
        width: 40px;
        height: 40px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 24px;
    }
    #hd #menu .links_contact .booking a {
        background-image: url(../img/common/ico_booking2.png);
    }
    #hd #menu .links_contact .blog a {
        background-image: url(../img/common/ico_blog2.png);
    }
    #hd #menu .links_contact .instagram a {
        background-image: url(../img/common/ico_instagram2.png);
    }
    #hd .links {
        display: block;
        position: absolute;
        top: 30px;
        right: 8px;
        font-size: 0;
        transition: 0.3s;
    }
    #hd .links a {
        display: inline-block;
        width: 30px;
        height: 30px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: auto 24px;
    }
    #hd .links a + a {
        margin-left: 0px;
    }
    #hd .links .booking {
        background-image: url(../img/common/ico_booking3.png);
    }
    #hd .links .call {
        background-image: url(../img/common/ico_call2.png);
    }
    #hd.active .btn_menu,
    #hd.active .links {
        top: 30px;
    }
    #hd.active .btn_menu:before,
    #hd.active .btn_menu:after {
        top: 50%;
        bottom: auto;
        left: calc(50% - 15px);
    }
    #hd.active .btn_menu:before {
        transform: rotate(45deg);
    }
    #hd.active .btn_menu:after {
        transform: rotate(-45deg);
    }
    #hd.active .btn_menu span {
        display: none;
    }
    #hd.active #menu {
        left: 0;
    }
    #hd.fix {
        background: rgba(37, 22, 4, 0.8);
    }
    #hd.fix .inner_wide {
        padding: 5px 20px;
    }
    #hd.fix .btn_menu,
    #hd.fix .links {
        top: 22px;
    }
    #hd.fix.active {
        background: rgba(0, 0, 0, 0.2);
    }
    #hd.fix.active .btn_menu {
        top: 30px;
    }
}

.intro-wrap .con {
    height: 100vh;
    position: relative;
}
.intro-wrap .con .bg {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.intro-wrap .con .bg .black-box {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}
.intro-wrap .con .txt-wrapper {
    color: white;
    text-align: center;
    padding-top: 34.45vh;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}
.intro-wrap .con .tit {
    font-size: 14px;
    font-weight: 400;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
}
.intro-wrap .con .txt-container {
    display: flex;
    flex-flow: column;
    align-items: center;
}
.intro-wrap .con .txt-wrap p {
    font-size: 17px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.5);
    line-height: 37px;
}
.intro-wrap .con1 .txt-wrapper {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    padding-bottom: 90px;
}
.intro-wrap .con1 .txt-wrap {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
.intro-wrap .con1 .txt-wrap h5 {
    font-size: 30px;
    font-family: 'Nanum Myeongjo', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
    transition-delay: 0.2s;
}
.intro-wrap .con1 .txt-wrap p {
    font-size: 18px;
    font-weight: 200;
    font-family: 'Pretendard', sans-serif;
    margin-bottom: 35px;
    line-height: 1.4;
    color: white;
    transition-delay: 0.4s;
}
.intro-wrap .con1 .txt-wrap .link-box {
    transition-delay: 0.6s;
}
.intro-wrap .con1 .txt-wrap a {
    font-size: 14px;
    font-weight: 300;
    font-family: 'Pretendard', sans-serif;
    display: block;
    padding: 10px 30px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    margin-bottom: 100px;
    transition: 0.8s;
}
.intro-wrap .con1 .txt-wrap a:hover {
    background-color: rgba(255, 255, 255, 0.5);
}
.intro-wrap .con1 .scroll_down {
    display: flex;
    align-items: center;
    display: flex;
    flex-flow: column;
}

.intro-wrap .con3 .txt-wrap p {
    transition-delay: 0.2s;
}
.intro-wrap .con4 .txt-wrap p {
    transition-delay: 0.2s;
}
.intro-wrap .con5 .txt-wrap p {
    transition-delay: 0.2s;
}
.intro-wrap .con6 .txt-wrap p {
    letter-spacing: 0.7em;
}
.intro-wrap .con7 .txt-wrap p {
    transition-delay: 0.2s;
}
.intro-wrap .con8 .txt-wrap p {
    transition-delay: 0.2s;
}
.intro-wrap .con8 .txt-wrap .link-box {
    transition-delay: 0.4s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.intro-wrap .con1 .scroll_down img {
    animation: 3s scroll_down_ani infinite;
}
.intro-wrap .con1 .scroll_down .txt {
    font-size: 14px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 300;
    letter-spacing: 0.03em;
    margin-top: 10px;
}

.intro-wrap .con2 .tit {
    margin-bottom: 35px;
}
.intro-wrap .con2 .txt-wrap p {
    font-size: 20px;
    font-weight: 400;
    font-family: 'Pretendard', sans-serif;
    color: rgba(255, 255, 255, 0.5);
    line-height: 2;
    letter-spacing: 0.3em;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.intro-wrap .con2 .txt-wrap p span {
    margin: 0 15px;
    display: block;
}

.intro-wrap .con3 .tit {
    margin-bottom: 18vh;
}

.intro-wrap .con4 .tit {
    margin-bottom: 13.43vh;
}

.intro-wrap .con5 .tit {
    margin-bottom: 18vh;
}

.intro-wrap .con6 .txt-wrapper {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
}
.intro-wrap .con6 .tit {
    margin-bottom: 12vh;
}
.intro-wrap .con6 .txt-wrap p {
    font-size: 17px;
    font-family: 'Pretendard', sans-serif;
    font-weight: 400;
}
.intro-wrap .con6 .txt-wrap p span {
    display: block;
}
.intro-wrap .con6 .txt-wrap p span:nth-of-type(1) {
    transition-delay: 0.2s;
}
.intro-wrap .con6 .txt-wrap p span:nth-of-type(2) {
    transition-delay: 0.4s;
}
.intro-wrap .con6 .txt-wrap p span:nth-of-type(3) {
    transition-delay: 0.6s;
}
.intro-wrap .con6 .logo-wrap {
    margin-bottom: 100px;
}

.intro-wrap .con7 .tit {
    margin-bottom: 11vh;
}

.intro-wrap .con8 .tit {
    margin-bottom: 60px;
}
.intro-wrap .con8 .txt-wrap {
    display: flex;
    align-items: center;
    flex-flow: column;
}
.intro-wrap .con8 .txt-wrap p {
    margin-bottom: 20.83vh;
}
.intro-wrap .con8 .txt-wrap a {
    font-size: 14px;
    font-weight: 300;
    font-family: 'Pretendard', sans-serif;
    display: block;
    padding: 10px 30px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    margin: 0 15px;
    margin-bottom: 100px;
    transition: 0.8s;
    min-width: 160px;
}
.intro-wrap .con8 .txt-wrap a:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

/*scroll-animation*/
.scroll-obj {
    transition: 1.8s;
}
.scroll-obj.fade {
    opacity: 0;
}
.scroll-obj.fadeY {
    opacity: 0;
    transform: translateY(30px);
}
.scroll-obj.fadeX {
    opacity: 0;
    transform: translateX(30px);
}
.scroll-obj.fadeXR {
    opacity: 0;
    transform: translateX(-30px);
}
.scroll-obj.fade.on {
    opacity: 1;
}
.scroll-obj.fadeY.on {
    opacity: 1;
    transform: translateY(0px);
}
.scroll-obj.fadeX.on {
    opacity: 1;
    transform: translateX(0px);
}
.scroll-obj.fadeXR.on {
    opacity: 1;
    transform: translateX(0px);
}
.scroll-obj.lineY {
    transform: scaleY(0);
    transform-origin: top;
}
.scroll-obj.lineY.on {
    transform: scaleY(1);
}
.scroll-obj.maskUp {
    transform: translateY(1em);
}
.scroll-obj.maskUp.on {
    transform: translateY(0);
}

@keyframes scroll_down_ani {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10%);
    }
    100% {
    }
}

@media all and (max-width: 700px) {
    .intro-wrap .con2 .txt-wrap p {
        font-size: 15px;
    }
    .intro-wrap .con1 .txt-wrap p {
        font-size: 13px;
    }
    .intro-wrap .con1 .txt-wrap h5 {
        font-size: 20px;
    }
    .intro-wrap .con1 .txt-wrap p {
        font-size: 13px;
    }
    .intro-wrap .con .txt-wrap p {
        font-size: 13px;
    }
    .intro-wrap .con8 .txt-wrap a {
        font-size: 13px;
        margin: 0 5px;
        min-width: 155px;
    }
    .intro-wrap .con2 .txt-wrap p span {
        margin: 0 10px;
    }
}

/* common */
.top_swiper {
    position: relative;
    color: #fff;
    text-align: center;
    height: 100vh;
    overflow: hidden;
}
.top_swiper .swiper .wrap_video {
    position: relative;
    overflow: hidden;
    height: 100vh;
    background: url(../img/thumb_video1.jpg) no-repeat center/cover;
}
.top_swiper .swiper .wrap_video:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
}
.top_swiper .swiper .wrap_video iframe {
    position: absolute;
    top: 0;
    left: 50%;
    width: 200vh;
    height: 100vh;
    transform: translate(-50%, 0);
}
@media (min-aspect-ratio: 100/56) {
    .top_swiper .swiper .wrap_video iframe {
        position: absolute;
        top: 56%;
        left: 0;
        width: 100vw;
        height: 56.2vw;
        transform: translate(0, -50%);
        z-index: 10000;
    }
}
.top_swiper .swiper .item img {
    width: 100%;
    object-position: bottom;
    /* -o-object-fit: cover;
    object-fit: cover; */
}
.top_swiper .swiper img.mo {
    display: none;
}
.top_swiper .bottom_swiper {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}
.top_swiper .copy_visual {
    margin-bottom: 20px;
    font-size: 20px;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.top_swiper .pager {
    display: inline-flex;
    justify-content: space-between;
    position: relative;
    margin: 0 auto;
    padding-bottom: 24px;
}
.top_swiper .pager:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    border-left: 1px solid #fff;
    content: '';
}
.top_swiper .slick-arrow {
    display: block;
    width: 48px;
    height: 60px;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 32px;
}
.top_swiper .slick-prev {
    background-image: url(../img/common/ico_arrow01_left.png);
}
.top_swiper .slick-next {
    background-image: url(../img/common/ico_arrow01_right.png);
}
.top_swiper .slick-dots li:not(.slick-active) {
    display: none;
}
.top_swiper .slick-dots span {
    display: inline-block;
    line-height: 60px;
    width: 44px;
    font-size: 16px;
}

.m-br {
    display: none;
}

@media screen and (max-width: 1024px) {
    .top_swiper .swiper .item_video {
        display: none;
    }
    .top_swiper .copy_visual {
        font-size: 16px;
    }
    .top_swiper .pager {
        padding-bottom: 16px;
    }
    .top_swiper .slick-arrow {
        width: 40px;
        height: 40px;
        background-size: 8px 16px;
    }
    .top_swiper .slick-dots span {
        line-height: 40px;
        font-size: 15px;
    }
    .top_swiper.short .swiper .item img {
        max-height: 100vw;
    }

    .top_swiper .swiper .item img {
        width: 100%;
        height: 100vh;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .special_conts .top_swiper .swiper .item img {
        height: 390px;
    }
}

@media screen and (max-width: 768px) {
    .top_swiper .swiper img.mo {
        display: block;
    }
    .top_swiper .swiper img.mo + img {
        display: none;
    }

    #hd #menu .links_contact {
        left: unset;
    }
}

.visual_short {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 750px;
    max-height: 90vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.visual_short .tit_visual {
    display: inline-block;
    font-size: 20px;
    color: #fff;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
@media screen and (max-width: 1024px) {
    .visual_short {
        height: 100vw;
        max-height: 750px;
    }
}

.top_img {
    display: none;
}
@media screen and (max-width: 1024px) {
    .top_img {
        display: block;
        position: relative;
        height: 390px;
    }

    .rooms .top_img {
        height: 100dvh;
    }

    .top_img img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
    .top_img .tit_img {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }
    .top_img .tit_img .tit {
        display: block;
        font-family: 'Avenir Next', 'Pretendard';
        letter-spacing: 0;
        font-weight: 400;
        font-size: 16px;
        color: #fff;
        text-align: center;
    }
    .top_img + #visual {
        margin-top: 20px;
        /* opacity: 0.3; */
        transition: 0.5s;
    }
    .top_img + #visual .top_swiper .swiper .item img {
        height: auto;
    }
    .top_img + #visual .top_swiper .copy_visual {
        display: none;
    }
    .top_img + #visual .top_swiper .pager {
        padding-bottom: 10px;
    }
    .top_img + #visual .top_swiper .slick-arrow {
        height: 30px;
    }
    .top_img + #visual .top_swiper .slick-dots span {
        line-height: 30px;
        font-size: 14px;
    }
}

#hd.fix + #contents #visual {
    opacity: 1;
}

.tit_pg {
    display: block;
    padding-top: 100px;
    text-align: center;
}
.tit_pg .tit {
    display: block;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-weight: 500;
    font-size: 20px;
}
.tit_pg .tit_sub {
    display: block;
    font-size: 20px;
    font-weight: 600;
}
.tit_pg [class^='desc_wrap'] {
    max-width: 920px;
    margin: 70px auto 0;
    font-size: 16px;
    line-height: 1;
    text-align: left;
    font-weight: 300;
}
.tit_pg .desc_wrap_flex {
    display: flex;
    justify-content: space-between;
}
.tit_pg .desc_wrap_flex .item {
    width: 100%;
    text-align: left;
    line-height: 1.5;
}

.main_conts .tit_pg .desc_wrap_flex .item {
    text-align: center;
}

.tit_pg .desc_wrap_flex .item + .item {
    margin-left: 40px;
}
.tit_pg .desc_wrap_flex .tit_sub {
    text-align: right;
}

[class^='tit_conts'] {
    display: block;
    text-align: left;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-size: 18px;
}

.tit_conts_dot {
    position: relative;
    padding-left: 18px;
}
.tit_conts_dot:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    margin-top: -3px;
    border-radius: 100%;
    background: #000;
    content: '';
}

.link_book a {
    display: inline-block;
    padding-right: 64px;
    background: url(../img/common/rooms_arrow.png) no-repeat calc(100% - 8px) 8px/36px;
    transition: 0.3s;
}
.link_book a strong {
    display: block;
    position: relative;
    padding: 4px 0;
    border-bottom: 2px solid #3d4f42;
    font-family: 'Miamo', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-size: 30px;
    line-height: 36px;
    color: #000;
}
.link_book a strong:after {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: #3d4f42;
    transition: 0.5s;
    content: '';
}
.link_book a span {
    display: block;
    margin-top: 16px;
    font-size: 15px;
}
@media screen and (min-width: 1024px) {
    .link_book a:hover {
        background-position: right 4px;
    }
    .link_book a:hover strong {
        border-bottom-color: transparent;
    }
    .link_book a:hover strong:after {
        width: 100%;
    }
}

.item_preview .thumb {
    overflow: hidden;
}
.item_preview .thumb img {
    -o-object-fit: cover;
    object-fit: cover;
    transition: 1s;
}
.item_preview .conts {
    margin-top: 24px;
}
.item_preview .sup {
    font-size: 0;
}
.item_preview .sup span {
    display: inline-block;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-size: 12px;
    color: #797979;
    letter-spacing: 0.05em;
    line-height: 12px;
}
.item_preview .sup span + span {
    margin-left: 10px;
    padding-left: 11px;
    border-left: 1px solid #797979;
}
.item_preview .tit {
    display: block;
    margin-top: 10px;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-size: 26px;
}
@media screen and (min-width: 1024px) {
    .item_preview .inner:hover img {
        transform: scale(1.1);
    }
}
@media screen and (max-width: 1024px) {
    .item_preview .conts {
        margin-top: 18px;
    }
    .item_preview .tit {
        font-size: 20px;
    }
}

@media screen and (max-width: 1430px) {
    .tit_pg {
        padding-top: 10.5vw;
    }
}
@media screen and (max-width: 1024px) {
    .tit_pg .tit {
        font-size: 18px;
    }
    .tit_pg [class^='desc_wrap'] {
        margin: 32px 20px 0;
        font-size: 15px;
        opacity: 0.8;
    }
    .tit_pg .desc_wrap_flex .item + .item {
        margin-left: 30px;
    }
    [class^='tit_conts'] {
        font-size: 16px;
    }
    .tit_conts_dot {
        padding-left: 16px;
    }
}
@media screen and (max-width: 768px) {
    .tit_pg {
        padding-top: 60px;
    }
    .link_book a {
        padding-right: 48px;
        background-size: 24px;
        background-position: right 4px;
    }
    .link_book a strong {
        font-size: 24px;
        line-height: 24px;
    }
    .link_book a span {
        margin-top: 8px;
        font-size: 13px;
    }
}
/* Exterior */
.exterior {
    margin-left: calc(50% - 700px);
    overflow: hidden;
    padding: 40px 0;
}
.exterior .gallery:not(:first-child) {
    margin-top: 52px;
}
.exterior .swiper {
    padding-right: calc(50vw - 700px);
}
.exterior .slick-list {
    overflow: visible;
}
.exterior .item {
    padding-right: 10px;
}
.exterior .item img {
    width: 100%;
    max-height: 90vh;
    -o-object-fit: cover;
    object-fit: cover;
}
.exterior .bottom_swiper {
    display: flex;
    justify-content: space-between;
    max-width: 1400px;
    margin-top: 52px;
    font-size: 0;
}
.exterior .bottom_swiper .slick-arrow {
    display: inline-block;
    width: 45px;
    height: 28px;
    background-repeat: no-repeat;
    background: url(../img/common/ico_arrow02_right.png) no-repeat center/36px auto;
    opacity: 0.3;
    transition: 0.3s;
}
.exterior .bottom_swiper .slick-prev {
    transform: rotate(180deg);
}
@media screen and (min-width: 1024px) {
    .exterior .bottom_swiper .slick-arrow:hover {
        opacity: 1;
    }
}
@media screen and (max-width: 1430px) {
    .exterior {
        margin-left: 20px;
        padding-right: 20px;
    }
    .exterior .swiper {
        padding-right: 13.5%;
    }
}
@media screen and (max-width: 1024px) {
    .exterior {
        padding: 0;
    }
    .exterior .gallery:not(:first-child) {
        margin-top: 20px;
    }
    .exterior .bottom_swiper {
        margin-top: 20px;
        padding-right: 20px;
    }
    .exterior .bottom_swiper .slick-arrow {
        opacity: 1;
    }
}

/* preview - rooms */
.wrap_rooms {
    overflow: hidden;
}
.wrap_rooms .filter_rooms {
    margin-top: 64px;
    padding-left: 18px;
    font-size: 0;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.wrap_rooms .filter_rooms .lst {
    display: inline-block;
    overflow: hidden;
}
.wrap_rooms .filter_rooms .lst > li {
    float: left;
    margin-right: 42px;
}
.wrap_rooms .filter_rooms .lst > li:last-child {
    margin-right: 0;
}
.wrap_rooms .filter_rooms a {
    display: block;
    position: relative;
    font-size: 16px;
    line-height: 30px;
    font-weight: 500;
}
.wrap_rooms .filter_rooms a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: rgba(0, 0, 0, 0.5);
    transition: 0.3s;
    content: '';
}
@media screen and (min-width: 1024px) {
    .wrap_rooms .filter_rooms a:hover:after {
        width: 100%;
    }
}
.wrap_rooms .filter_rooms li.active a:after {
    width: 100%;
}
.wrap_rooms .wrap_swiper {
    position: relative;
    margin-top: 80px;
}
.wrap_rooms .wrap_swiper .list_room {
    margin-left: calc(50% - 700px);
    padding-right: 30%;
    overflow: hidden;
}
.wrap_rooms .wrap_swiper .slick-list {
    overflow: visible;
}
.wrap_rooms .wrap_swiper .item_preview {
    padding-right: 40px;
}
.wrap_rooms .wrap_swiper .item_preview .thumb img {
    width: 450px;
    height: 450px;
}
.wrap_rooms .wrap_swiper .paging {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    width: calc(50% - 700px);
    height: 450px;
}
.wrap_rooms .slick-dots {
    text-align: center;
}
.wrap_rooms .slick-dots li:not(.slick-active) {
    display: none;
}
.wrap_rooms .slick-dots span {
    display: inline-block;
    width: 44px;
    line-height: 30px;
    box-sizing: content-box;
    font-size: 16px;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.wrap_rooms .slick-dots span + span {
    position: relative;
    padding-left: 14px;
}
.wrap_rooms .slick-dots span + span:after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 2px;
    margin-top: -1px;
    background: rgba(0, 0, 0, 0.5);
    content: '';
}
.wrap_rooms .wrap_more {
    margin-top: 50px;
    text-align: right;
}
.wrap_rooms .wrap_more .link_more {
    display: inline-block;
    padding-right: 52px;
    background: url(../img/common/ico_arrow03_right.png) no-repeat right center/38px;
    font-size: 12px;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 38px;
}
@media screen and (max-width: 1800px) {
    .wrap_rooms .slick-dots span {
        width: auto;
        font-size: 14px;
    }
    .wrap_rooms .slick-dots span + span {
        margin-left: 10px;
        padding-left: 24px;
    }
}
@media screen and (max-width: 1700px) {
    .wrap_rooms .filter_rooms .slick-dots {
        float: right;
    }
    .wrap_rooms .wrap_swiper .list_room {
        margin-left: 20px;
    }
    .wrap_rooms .wrap_swiper .paging {
        display: none;
    }
}
@media screen and (max-width: 1024px) {
    .wrap_rooms .filter_rooms {
        margin-top: 30px;
        padding-left: 16px;
    }
    .wrap_rooms .filter_rooms a {
        font-size: 15px;
    }
    .wrap_rooms .wrap_swiper {
        margin-top: 30px;
    }
    .wrap_rooms .wrap_swiper .list_room {
        margin-left: 20px;
        padding-right: 20vw;
    }
    .wrap_rooms .wrap_swiper .item_preview {
        padding-right: 20px;
    }
    .wrap_rooms .wrap_more {
        margin-top: 30px;
        padding: 0 20px;
    }
}
@media screen and (max-width: 640px) {
    .wrap_rooms .tit_conts_dot .slick-dots {
        float: right;
    }
    .wrap_rooms .tit_conts_dot .slick-dots span {
        line-height: 22px;
        font-size: 12px;
    }
    .wrap_rooms .filter_rooms {
        margin-top: 20px;
        padding-left: 0;
    }
    .wrap_rooms .filter_rooms .lst > li {
        margin-right: 24px;
    }
    .wrap_rooms .wrap_swiper .item_preview .thumb img {
        width: 350px;
        height: 350px;
    }

    #hd #menu > .lst > li {
        display: block;
        text-align: left;
        width: auto;
    }
}
@media screen and (max-width: 500px) {
    .wrap_rooms .filter_rooms .lst > li {
        margin-right: 20px;
    }
    .wrap_rooms .filter_rooms .lst a {
        font-size: 14px;
    }
}
@media screen and (max-width: 380px) {
    .wrap_rooms .filter_rooms .lst > li {
        margin-right: 16px;
    }
    .wrap_rooms .filter_rooms .lst a {
        font-size: 13px;
    }
}

/* preview - others */
.wrap_others {
    position: relative;
    padding: 254px 0 0;
}
.wrap_others .links {
    background: #6f5b42;
}
.wrap_others .visual_others {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(../img/special_preview1.jpg) no-repeat calc(50% - 150px) top;
    transition: 0.3s;
    content: '';
}
.wrap_others .visual_others:after {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% - 962px);
    height: 656px;
    background: #202316;
    content: '';
}
.wrap_others .lst_other {
    display: inline-block;
    position: relative;
    height: 930px;
    padding-top: 190px;
    font-size: 75px;
    font-family: the-seasons, 'Pretendard', serif;
    letter-spacing: 0;
    font-weight: 400;
}
.wrap_others .lst_other a {
    display: inline-block;
    position: relative;
    padding-right: 110px;
    line-height: 100px;
    color: #fff;
    opacity: 0.2;
    transition: 0.8s;
}
.wrap_others .lst_other a:after {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 68px;
    height: 68px;
    margin-top: -34px;
    background: url(../img/common/ico_arrow04_right.png) no-repeat right center/100%;
    opacity: 0;
    transition: 0.8s;
    content: '';
}
@media screen and (min-width: 1024px) {
    .wrap_others .lst_other a:hover {
        opacity: 1;
    }
    .wrap_others .lst_other a:hover:after {
        opacity: 1;
        right: 0;
    }
}
.wrap_others .lst_other li.on a {
    opacity: 1;
}
.wrap_others .lst_other li.on a:after {
    opacity: 1;
    right: 0;
}
.wrap_others .lst_other.hover li.on:not(.hover) a {
    opacity: 0.2;
}
.wrap_others .lst_other.hover li.on:not(.hover) a:after {
    display: none;
}
@media screen and (max-width: 1430px) {
    .wrap_others .visual_others {
        right: 100px;
        bottom: 200px;
        background-size: cover;
    }
    .wrap_others .lst_other {
        height: auto;
        min-height: 50vw;
        padding-bottom: 50px;
    }
}
@media screen and (max-width: 1024px) {
    .wrap_others {
        padding-top: 150px;
    }
    .wrap_others .links:before {
        bottom: 160px;
        right: 10%;
        background-size: cover;
    }
    .wrap_others .visual_others {
        right: 10vw;
        bottom: 22vw;
        background-position: center center;
    }
    .wrap_others .lst_other {
        min-height: 0;
        padding: 40px 0 60px 20px;
        font-size: 60px;
    }
    .wrap_others .lst_other a {
        padding-right: 90px;
        line-height: 72px;
        opacity: 0.4;
    }
    .wrap_others .lst_other a:after {
        width: 60px;
        height: 60px;
        margin-top: -30px;
    }
}

.pc-map {
    display: block;
}
.m-map {
    display: none;
}
.pc-vdo {
    width: 80%;
    margin: 0 auto;
}
.pc-vdo iframe {
    width: 100%;
    height: 800px;
}
.m-vdo {
    display: none;
}

@media screen and (max-width: 768px) {
    .m-map {
        display: block;
        margin: 0 auto;
    }
    .pc-map {
        display: none;
    }
    .pc-vdo {
        display: none;
    }
    .m-vdo {
        width: 90%;
        display: block;
        margin: 0 auto 100px auto;
    }
    .m-vdo iframe {
        width: 100%;
        height: 200px;
    }
    .wrap_others .lst_other {
        padding-left: 0;
        font-size: 38px;
    }

    .wrap_others .lst_other > li {
        line-height: 45px;
    }

    .wrap_others .lst_other a {
        padding: 0px 35px 0px 0;
        line-height: 1;
        font-size: 20px;
    }
    .wrap_others .lst_other a span {
        display: inline-block;
    }
    .wrap_others .lst_other a:after {
        top: -6px;
        bottom: 10px;
        width: 25px;
        height: 25px;
        margin-top: 0;
    }
}

/* main */
#mainVisual .swiper .item {
    position: relative;
}
#mainVisual .swiper .item:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    content: '';
}

.main_conts .desc_wrap_flex {
    display: block;
}
.main_conts .desc_wrap_flex .item + .item {
    margin: 1em 0 0;
}
.main_conts .concept {
    padding-bottom: 152px;
}
.main_conts .wrap_rooms {
    margin-top: 50px;
}
.main_conts .wrap_rooms > .inner_con {
    padding-top: 150px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.main_conts .wrap_others {
    margin-top: 270px;
}
@media screen and (max-width: 1430px) {
    .main_conts .concept {
        padding-bottom: 10vw;
    }
    .main_conts .wrap_rooms > .inner_con {
        padding-top: 10vw;
    }
    .main_conts .wrap_others {
        margin-top: 18vw;
    }
}
@media screen and (max-width: 1024px) {
    .main_conts .concept {
        padding-bottom: 70px;
    }
    .main_conts .wrap_rooms > .inner_con {
        padding-top: 60px;
    }
    .main_conts .wrap_others {
        margin-top: 80px;
    }
}

/* About */
.about_conts .tit_pg {
    padding-bottom: 136px;
}
.about_conts .about_us .wrap_txt {
    margin-top: 58px;
}
.about_conts .about_us .txt1 {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.55;
}
.about_conts .about_us .txt1 span {
    display: block;
}
.about_conts .about_us .txt2 {
    margin-top: 44px;
    line-height: 1.75;
}

.about_conts .about_us .txt3 {
    margin-top: 24px;
    line-height: 1.75;
}

.about_conts .exterior {
    margin-top: 80px;
    padding: 0;
}
.about_conts .wrap_video {
    max-width: 1500px;
    margin: 80px auto 0;
    padding-right: 100px;
}
.about_conts .wrap_video .inner_con {
    position: relative;
    overflow: hidden;
    height: 787px;
    background: url(../img/thumb_video.jpg) no-repeat center/cover;
}
/* .about_conts .wrap_video .inner_con:after {
  position: absolute;
  top: 70px;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
} */
.about_conts .wrap_video iframe {
    position: absolute;
    top: 0;
    left: 50%;
    width: 200vh;
    height: 787px;
    transform: translate(-50%, 0);
}
.about_conts .about_strength {
    padding: 80px 0 120px;
}
.about_conts .about_strength .inner_con {
    position: relative;
}
.about_conts .about_strength .conts .tit {
    display: block;
    position: relative;
    margin-bottom: 62px;
    padding-top: 180px;
    font-size: 105px;
    font-weight: 100;
    z-index: 1;
    font-family: 'Aritaburi';
    color: #70695b;
    opacity: 0.3;
}
.about_conts .about_strength .conts .tit:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 140px;
    background: #d7d6d3;
    content: '';
    display: none;
}
.about_conts .about_strength .conts p {
    font-size: 16px;
    line-height: 1.75;
}
.about_conts .about_strength .conts p span {
    display: block;
}
.about_conts .about_strength [class^='obj'] {
    transition: 0.3s;
}
.about_conts .about_strength .obj1 {
    position: absolute;
    top: 45px;
    right: 100px;
}
.about_conts .about_strength .obj2 {
    display: block;
    margin-top: 78px;
}
.about_conts .about_deco {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 900px;
    max-height: 100vh;
    background: url(../img/about_bg.jpg) fixed no-repeat center/cover;
}
.about_conts .about_deco .dimm {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.about_conts .about_deco .tit {
    display: block;
    position: relative;
    font-size: 30px;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    color: #fff;
    text-align: center;
}
.about_conts .about_deco .tit span {
    display: inline-block;
}
.about_conts .about_map {
    padding-top: 100px;
}
.about_conts .about_map .wrap_location {
    max-width: 1100px;
    margin: 40px auto 0;
}
.about_conts .about_map .wrap_location .root_daum_roughmap {
    width: 100%;
    border-bottom: 1px solid #dfdfdf;
}
.about_conts .about_map .wrap_location .root_daum_roughmap .wrap_map {
    height: 600px;
    max-height: 90vh;
}
.about_conts .about_map .wrap_location .hide {
    display: none;
}
.about_conts .about_map .info_location {
    margin-top: 20px;
}
.about_conts .about_map .info_location dl {
    overflow: hidden;
    line-height: 32px;
    letter-spacing: 0;
}
.about_conts .about_map .info_location dt,
.about_conts .about_map .info_location dd {
    padding: 10px 0;
    border-bottom: 2px solid #d6d5d2;
}
.about_conts .about_map .info_location dt {
    float: left;
    width: 104px;
    font-size: 18px;
}
.about_conts .about_map .info_location dd {
    overflow: hidden;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.about_conts .about_map .info_location dd i {
    font-size: 30px;
}

.about_conts .about_map .info_location dd + dd {
    padding-left: 104px;
}

.about_conts .about_map .info_location dd:last-child {
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.about_conts .about_map .info_location .call a {
    display: inline-block;
}
/* .about_conts .about_map .info_location .call dd:after {
    display: inline-block;
    float: right;
    width: 32px;
    height: 32px;
    background: url(../img/common/ico_call.png) no-repeat center/100%;
    border-radius: 4px;
    content: '';
} */
@media screen and (max-width: 1430px) {
    .about_conts .tit_pg {
        padding-bottom: 10vw;
    }
    .about_conts .about_us .wrap_txt {
        margin-top: 4vw;
    }
    .about_conts .about_us .txt2 {
        margin-top: 3vw;
    }
    .about_conts .exterior {
        margin-top: 5.7vw;
    }
    .about_conts .wrap_video {
        margin-top: 10vw;
        padding-right: 0;
    }
    .about_conts .wrap_video .inner_con {
        margin: 0;
    }
    .about_conts .wrap_video .inner_con,
    .about_conts .wrap_video iframe {
        height: 56.2vw;
    }
    .about_conts .wrap_video iframe {
        position: relative;
        left: auto;
        width: 100%;
        transform: translate(0);
    }
    .about_conts .about_strength {
        padding: 5.7vw 0 8.5vw;
    }
    .about_conts .about_strength .obj1 {
        right: 7vw;
    }
    .about_conts .about_strength .obj2 {
        margin-top: 5.5vw;
    }
    .about_conts .about_deco {
        height: 64vw;
        min-height: 50vh;
    }
    .about_conts .about_map {
        padding-top: 7.1vw;
    }
    .about_conts .about_map .wrap_location {
        margin-top: 2.8vw;
    }
}
@media screen and (max-width: 1024px) {
    .about_conts .about_us .txt1 {
        font-size: 18px;
    }
    .about_conts .exterior {
        margin-top: 24px;
    }
    .about_conts .about_strength .conts {
        max-width: 70vw;
    }
    .about_conts .about_strength .conts .tit {
        padding-top: 12.8vw;
    }
    .about_conts .about_strength .conts .tit:before {
        height: 10vw;
    }
    .about_conts .about_strength .conts .txt {
        padding-right: 80px;
    }
    .about_conts .about_strength .conts .txt p span {
        display: inline;
    }
    .about_conts .about_strength .obj1 {
        top: 20px;
        right: 0;
        max-width: 30vw;
    }
    .about_conts .about_strength .obj2 {
        max-width: 30vw;
    }
    .about_conts .about_deco {
        background-attachment: inherit;
    }
    .about_conts .about_deco .tit {
        padding: 0 20px;
        font-size: 24px;
    }
    .about_conts .about_map .wrap_location .root_daum_roughmap .wrap_map {
        width: 80vh;
        max-height: 50vw;
    }
}
@media screen and (max-width: 768px) {
    .about_conts .tit_pg {
        padding-bottom: 40px;
    }
    .about_conts .about_strength .conts {
        max-width: none;
    }
    .about_conts .about_strength .conts .tit {
        max-width: 70vw;
        font-size: 45px;
    }
    .about_conts .about_strength .conts .txt {
        padding-right: 0;
    }
    .about_conts .about_strength .conts .txt:before {
        display: block;
        float: right;
        width: 32vw;
        height: 15vw;
        content: '';
    }
    .about_conts .about_strength .obj2 {
        max-width: none;
        margin-right: -20px;
    }
    .about_conts .about_strength .obj2 img {
        display: none;
        width: 100%;
        height: 100px;
        -o-object-fit: cover;
        object-fit: cover;
    }
    .about_conts .about_deco {
        height: 100vw;
    }
    .about_conts .about_deco .tit {
        font-size: 20px;
    }
    .about_conts .about_map {
        padding-top: 60px;
    }
    .about_conts .about_map .wrap_location {
        margin-top: 20px;
    }
    .about_conts .about_map .info_location dl {
        padding: 15px 0;
        line-height: 24px;
        border-bottom: 1px solid #d6d5d2;
    }
    .about_conts .about_map .info_location dt,
    .about_conts .about_map .info_location dd {
        padding: 0;
        border-bottom: none;
    }
    .about_conts .about_map .info_location dt {
        width: 100px;
        font-size: 16px;
    }
    .about_conts .about_map .info_location dd {
        overflow: hidden;
        font-size: 15px;
    }
    .about_conts .about_map .info_location dd + dd {
        padding-left: 100px;
        margin-top: 12px;
        font-size: 14px;
    }
    .about_conts .about_map .info_location .call {
        position: relative;
    }
    .about_conts .about_map .info_location .call a {
        display: block;
        pointer-events: initial;
        cursor: inherit;
    }
    .about_conts .about_map .info_location .call dd:after {
        position: absolute;
        float: none;
        top: 50%;
        right: 0;
        margin-top: -12px;
        width: 24px;
        height: 24px;
    }
}

/* Preview */
.preview_conts #visual {
    background-image: url(../img/sub2_rooms_1.jpg);
}
.preview_conts .tit_conts_dot {
    margin-top: 90px;
}
.preview_conts .wrap_list {
    margin-top: 64px;
    font-size: 0;
}
.preview_conts .wrap_list .list_room {
    margin: 0 -20px;
}
.preview_conts .wrap_list .item_preview {
    display: inline-block;
    width: 33.333%;
    padding: 0 20px 116px;
}
.preview_conts .wrap_list .item_preview .thumb {
    overflow: hidden;
}
.preview_conts .wrap_list .item_preview img {
    width: 100%;
    height: 440px;
    -o-object-fit: cover;
    object-fit: cover;
}
@media screen and (max-width: 1430px) {
    .preview_conts .tit_conts_dot {
        margin-top: 6.4vw;
    }
    .preview_conts .wrap_list {
        margin-top: 4.6vw;
    }
    .preview_conts .wrap_list .list_room {
        margin: 0 -15px;
    }
    .preview_conts .wrap_list .item_preview {
        padding: 0 15px 8.3vw;
    }
    .preview_conts .wrap_list .item_preview .thumb img {
        height: calc(33.33vw - 38px);
    }
}
@media screen and (max-width: 1024px) {
    .preview_conts .wrap_list .list_room {
        margin: 0 -5px;
    }
    .preview_conts .wrap_list .item_preview {
        padding: 0 5px 30px;
    }
    .preview_conts .wrap_list .item_preview .thumb img {
        height: calc(33.33vw - 25px);
    }
    .preview_conts .wrap_list .item_preview .conts {
        margin-top: 12px;
    }
    .preview_conts .wrap_list .item_preview .tit {
        margin-top: 4px;
        font-size: 16px;
    }
    .preview_conts .wrap_list .item_preview .sup span {
        font-size: 10px;
        line-height: 10px;
    }
    .preview_conts .wrap_list .item_preview .sup span + span {
        margin-left: 4px;
        padding-left: 5px;
    }
}
@media screen and (max-width: 380px) {
    .preview_conts .wrap_list .item_preview {
        width: 50%;
    }
    .preview_conts .wrap_list .item_preview .thumb img {
        height: calc(50vw - 25px);
    }
}

/* Rooms */
.rooms_conts .tit_pg [class^='desc_wrap'] {
    margin-top: 140px;
}
.rooms_conts .rooms_info {
    position: relative;
    max-width: 1920px;
    margin: 70px auto 0;
}
.rooms_conts .rooms_info .bg {
    display: block;
    padding-left: 22px;
}
.rooms_conts .rooms_info .bg img {
    width: calc(100% - 445px);
}

.rooms_conts .rooms_info .bg iframe {
    width: calc(100% - 445px);
    height: 770px;
}

.rooms_conts .rooms_info .inr_info {
    max-width: 1070px;
    margin: -50px auto 0;
    padding: 0 20px;
}
.rooms_conts .rooms_info .tit_room {
    display: block;
    font-family: the-seasons, 'Pretendard', serif;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 70px;
    line-height: 1.14;
}
.rooms_conts .rooms_info .conts {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    margin-bottom: 60px;
}
.rooms_conts .rooms_info .conts .desc {
    font-size: 14px;
    color: #555;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-weight: 200;
    letter-spacing: 0.05em;
    line-height: 1.74;
}
.rooms_conts .rooms_info .conts .desc span {
    display: block;
}
.rooms_conts .rooms_info .conts .wrap_info {
    width: 50%;
    margin-left: 100px;
}
.rooms_conts .rooms_info .conts .info_setup {
    padding-left: 4px;
}
.rooms_conts .rooms_info .conts .info_setup span {
    display: block;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    font-size: 14px;
}
.rooms_conts .rooms_info .conts .info_setup span + span {
    margin-top: 10px;
}
.rooms_conts .rooms_info .conts .info_link {
    margin-top: 40px;
    color: #90826f;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.rooms_conts .rooms_info .conts .info_link li {
    border-bottom: 1px solid rgba(144, 130, 111, 0.2);
}
.rooms_conts .rooms_info .conts .info_link li + li {
    margin-top: 8px;
}
.rooms_conts .rooms_info .conts .info_link a {
    display: block;
    position: relative;
    padding: 8px;
    font-weight: 500;
    line-height: 22px;
}
.rooms_conts .rooms_info .conts .info_link a:after {
    position: absolute;
    top: 0;
    right: 0;
    padding: 8px 18px;
    bottom: 0;
    transition: 0.3s;
    content: '>';
}
.rooms_conts .rooms_info .conts .info_link li.on a:after {
    transform: rotate(90deg);
}
.rooms_conts .rooms_info .conts .info_link .details {
    display: none;
    margin-top: 14px;
    padding: 0 0 15px 8px;
    font-size: 14px;
    line-height: 1.28;
}
.rooms_conts .rooms_info .conts .info_link .details div + div {
    margin-top: 10px;
}
.rooms_conts .rooms_info .conts .info_link .details span {
    display: inline-block;
}
.rooms_conts .rooms_info .conts .info_link .details span + span {
    margin-left: 14px;
}
.rooms_conts .rooms_info .link_book {
    margin-top: 22px;
}
.rooms_conts .rooms_info .guide {
    margin-top: 116px;
    padding: 50px 60px 80px;
    border: 2px solid #e0dcd5;
}
.rooms_conts .rooms_info .guide .tit_guide {
    display: block;
    font-family: the-seasons, 'Pretendard', serif;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 26px;
    color: #000;
}
.rooms_conts .rooms_info .guide .conts_guide {
    display: flex;
    justify-content: space-between;
    margin-top: 28px;
    font-size: 15px;
    color: #90826f;
}
.rooms_conts .rooms_info .guide [class^='lst'] {
    width: 50%;
}
.rooms_conts .rooms_info .guide [class^='lst'] li {
    position: relative;
    font-size: 15px;
}
.rooms_conts .rooms_info .guide [class^='lst'] li:before {
    position: absolute;
    top: 9px;
    left: 0;
    border-radius: 100%;
    background: #90826f;
    content: '';
}
.rooms_conts .rooms_info .guide .lst_guide li {
    padding-left: 8px;
}
.rooms_conts .rooms_info .guide .lst_guide li:before {
    width: 3px;
    height: 3px;
}
.rooms_conts .rooms_info .guide .lst_guide li + li {
    margin-top: 9px;
}

.rooms_conts .rooms_info .guide .lst_guide li span {
    margin-top: 5px;
    display: inline-block;
}

.rooms_conts .rooms_info .guide .lst_cost {
    padding-left: 40px;
}
.rooms_conts .rooms_info .guide .lst_cost li {
    padding-left: 10px;
}
.rooms_conts .rooms_info .guide .lst_cost li:before {
    width: 4px;
    height: 4px;
}
.rooms_conts .rooms_info .guide .lst_cost li + li {
    margin-top: 20px;
}
.rooms_conts .rooms_info .guide .lst_cost strong {
    display: block;
    font-weight: 600;
}
.rooms_conts .rooms_info .guide .lst_cost span {
    display: block;
    margin-top: 5px;
}
.rooms_conts .bg2 {
    display: block;
    max-width: 1400px;
    margin: 100px auto 0;
}
.rooms_conts .wrap_rooms {
    margin-top: 140px;
}
@media screen and (max-width: 1430px) {
    .rooms_conts .tit_pg [class^='desc_wrap'] {
        margin-top: 12.8vw;
    }
    .rooms_conts .rooms_info {
        margin-top: 5vw;
    }
    .rooms_conts .rooms_info .guide {
        margin-top: 8.2vw;
    }
    .rooms_conts .bg2 {
        margin-top: 7.1vw;
    }
    .rooms_conts .wrap_rooms {
        margin-top: 10vw;
    }
}
@media screen and (max-width: 1024px) {
    .rooms_conts .tit_pg .desc_wrap_flex .item:first-child {
        width: 40%;
    }
    .rooms_conts .rooms_info {
        margin-top: 40px;
    }
    .rooms_conts .rooms_info .bg {
        padding: 0 20px 0 0;
    }
    .rooms_conts .rooms_info .bg img {
        width: 100%;
        max-height: 300px;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .rooms .top_swiper {
        height: auto;
    }

    .rooms_conts .rooms_info .bg iframe {
        width: 100%;
        max-height: 300px;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .rooms_conts .rooms_info .inr_info {
        margin-top: -30px;
    }
    .rooms_conts .rooms_info .link_book {
        margin-top: 36px;
    }

    /* .rooms_conts .rooms_info .conts {
        display: block;
    } */
}
@media screen and (max-width: 768px) {
    .rooms_conts .tit_pg .desc_wrap_flex {
        display: block;
        overflow: hidden;
    }
    .rooms_conts .tit_pg .desc_wrap_flex p {
        line-height: 26px;
    }
    .rooms_conts .tit_pg .desc_wrap_flex .item:first-child {
        float: left;
        width: 100%;
        padding: 0 20px 10px 0;
    }
    .rooms_conts .tit_pg .desc_wrap_flex .item + .item {
        margin: 0;
    }
    .rooms_conts .tit_pg .desc_wrap_flex .tit_sub {
        text-align: left;
        font-size: 18px;
        line-height: 29px;
    }
    .rooms_conts .rooms_info .tit_room {
        font-size: 40px;
    }
    .rooms_conts .rooms_info .conts .desc {
        width: 50%;
    }
    .rooms_conts .rooms_info .conts .desc span {
        display: inline;
    }
    .rooms_conts .rooms_info .conts .wrap_info {
        margin-left: 30px;
    }
    .rooms_conts .rooms_info .conts .info_link {
        margin-top: 24px;
    }
    .rooms_conts .rooms_info .conts .info_link .details {
        margin-top: 4px;
        font-size: 13px;
        line-height: 1.4;
        white-space: normal; /* 줄바꿈 허용 */
        word-break: break-word; /* 긴 단어 강제 줄바꿈 */
        overflow-wrap: break-word;
    }
    .rooms_conts .rooms_info .guide {
        margin-top: 60px;
        padding: 30px 20px;
    }
    .rooms_conts .rooms_info .guide .conts_guide {
        display: block;
        margin-top: 20px;
    }
    .rooms_conts .rooms_info .guide [class^='lst'] {
        width: auto;
    }
    .rooms_conts .rooms_info .guide .lst_cost {
        margin: 20px 0 0;
        padding: 0;
    }
    .rooms_conts .bg2 {
        margin-top: 60px;
    }
    .rooms_conts .wrap_rooms {
        margin-top: 60px;
    }
}

/* Dining */

.dining_conts .visual_short {
    background-image: url(../img/sub1_tour_top.jpg);
}

.dining_conts .tour_conts {
    display: flex;
    align-items: center;
    margin-top: 150px;
}

.dining_conts .gallery_dining {
    margin-top: 250px;
}

.dining_conts .gallery_dining img {
    width: 100%;
}

.dining_conts.tour .gallery_dining {
    margin-top: 0px;
    width: 50%;
}

.dining_conts .conts {
    margin-top: 0px;
    width: 45%;
    margin-left: 3%;
}

.special_conts .dining_conts .conts {
    display: flex;
    justify-content: space-between;
    width: unset;
    margin-top: 100px;
    margin-left: 0;
}

.dining_conts .info_dining {
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
.dining_conts .info_dining .tit_dining {
    display: inline-block;
    position: relative;
    padding-bottom: 46px;
    font-family: the-seasons, 'Pretendard', serif;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 60px;
    color: #2c3217;
    line-height: 1.1;
}
.dining_conts .info_dining .tit_dining:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% - 70px);
    height: 1px;
    background: #2c3217;
    content: '';
}
.dining_conts .info_dining .tit_info {
    display: block;
    margin: 42px 0 25px;
    font-size: 15px;
    font-weight: 500;
}
.dining_conts .info_dining dl[class^='info'] {
    margin-top: 10px;
    font-size: 0;
}
.dining_conts .info_dining dl[class^='info'] dt,
.dining_conts .info_dining dl[class^='info'] dd {
    display: inline-block;
    font-size: 14px;
}
.dining_conts .info_dining dl[class^='info'] dt {
    margin-right: 10px;
    font-weight: 500;
}
.dining_conts .info_dining dl[class^='info'] dd {
    color: #444;
}
.dining_conts .info_dining dl[class^='info'] dd span {
    display: inline-block;
    margin-left: 4px;
    font-weight: 500;
    color: #888;
}
.dining_conts .info_dining dl.info4 {
    margin-top: 34px;
}
.dining_conts .desc_dining {
    padding-top: 30px;
    padding-left: 0px;
}
.dining_conts .desc_dining .wrap_txt {
    line-height: 1.75;
}
.dining_conts .desc_dining .wrap_txt p + p {
    margin-top: 1.8em;
}
.dining_conts .desc_dining .wrap_txt span {
    display: block;
}
.dining_conts .desc_dining .link_menu {
    display: inline-block;
    margin-top: 28px;
    padding: 5px 0 5px 35px;
    line-height: 20px;
    font-size: 14px;
    text-decoration: underline;
    background: url(../img/common/ico_menu.png) no-repeat left center/auto 20px;
}
.dining_conts .desc_dining .link_book {
    margin-top: 128px;
}
.dining_conts .exterior {
    margin-top: 220px;
}
.dining_conts .exterior .inner_con {
    padding-bottom: 90px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}
.dining_conts .wrap_others {
    margin-top: 320px;
}
@media screen and (max-width: 1430px) {
    .dining_conts .gallery_dining {
        margin-top: 10.5vw;
    }
    .dining_conts .conts {
        margin-top: 7vw;
    }
    .dining_conts .desc_dining {
        padding-left: 8vw;
    }
    .dining_conts .desc_dining .link_book {
        margin-top: 9vw;
    }
    .dining_conts .exterior {
        margin-top: 15.7vw;
    }
    .dining_conts .wrap_others {
        margin-top: 22.8vw;
    }
}
@media screen and (max-width: 1024px) {
    .dining_conts .conts {
        margin-top: 10vw;
    }
    .dining_conts .info_dining .tit_dining {
        font-size: 50px;
    }
    .dining_conts .exterior {
        margin-top: 10vw;
    }

    .dining_conts .tour_conts {
        flex-direction: column;
        margin-top: 50px;
    }

    .dining_conts .gallery_dining {
        width: 100%;
    }
    .dining_conts .conts {
        width: 100%;
        margin-left: 0;
    }
    .dining_conts .desc_dining {
        padding-left: 0;
    }
}
@media screen and (max-width: 768px) {
    .dining_conts .gallery_dining {
        margin-top: 80px;
    }

    .dining_conts.tour .gallery_dining {
        width: 100%;
    }

    .dining_conts .conts {
        display: block;
        margin-top: 30px;
    }
    .dining_conts .info_dining .tit_dining {
        font-size: 40px;
        padding-bottom: 20px;
    }

    .dining_conts.tour .info_dining .tit_dining {
        font-size: 35px;
    }

    .dining_conts .info_dining .tit_info {
        margin: 20px 0;
    }
    .dining_conts .info_dining dl[class^='info'] {
        margin-top: 5px;
    }
    .dining_conts .info_dining dl.info4 {
        margin-top: 16px;
    }
    .dining_conts .desc_dining {
        margin-top: 0px;
        padding-left: 0;
    }

    .special_conts .dining_conts .conts {
        display: block;
        margin-top: 50px;
    }

    .dining_conts .desc_dining .wrap_txt {
        font-size: 15px;
    }
    .dining_conts .desc_dining .wrap_txt span {
        display: inline;
    }
    .dining_conts .desc_dining .link_book {
        margin-top: 50px;
    }
    .dining_conts .exterior {
        margin-top: 60px;
    }

    .pc-br {
        display: none;
    }
}

.reservation_conts.notice #visual {
    background-image: url(../img/sub4_notice_top.jpg);
}

/* Reservation */
.reservation_conts #visual {
    background-image: url(../img/sub4_reser_1.jpg);
}
.reservation_conts .wrap_conts {
    margin: 100px -18px 0;
    padding: 0 18px;
}
.reservation_conts [class^='section'].flex {
    display: flex;
    width: 100%;
    margin-bottom: 50px;
}
.reservation_conts [class^='section'].flex .conts_sect {
    width: 50%;
}
.reservation_conts [class^='section'].flex .left {
    padding-right: 40px;
}
.reservation_conts [class^='section'].flex .right {
    padding-left: 100px;
}
.reservation_conts .tit_conts_dot {
    margin: 0 0 24px -18px;
    font-size: 20px;
}

.reservation_conts .head {
    font-size: 19px;
}

.reservation_conts .section1 .conts_sect {
    padding: 12px 0;
}
.reservation_conts .section1 .left li strong {
    font-weight: 600;
}
.reservation_conts .section1 .left li + li {
    margin-top: 7px;
}
.reservation_conts .section1 .right {
    border-left: 1px solid #a4a3a1;
}
.reservation_conts .section1 .right li + li {
    margin-top: 6px;
}
.reservation_conts .section1 .right b {
    font-weight: 600;
    color: #8d4646;
}
.reservation_conts .section1 + .link_book {
    margin-top: 30px;
    margin-bottom: 50px;
}

.reservation_conts .link_book {
    margin-top: 50px;
}

.rooms_conts .section2 {
    margin-top: 50px;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.rooms_conts .section2 th,
.rooms_conts .section2 td {
    padding: 10px 20px;
    text-align: center;
    border: 1px solid #dbd9d6;
}

.rooms_conts .section2 th {
    color: #fff;
    background: #6f5b42;
    font-weight: 400;
}

.reservation_conts .section2 {
    margin-top: 50px;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.reservation_conts .section2 th,
.reservation_conts .section2 td {
    padding: 10px 20px;
    text-align: center;
    border: 1px solid #dbd9d6;
}

.reservation_conts .section2 th {
    color: #fff;
    background: #6f5b42;
    font-weight: 400;
}

.reservation_conts .section3 {
    margin-top: 200px;
}
.reservation_conts .section3 .tit_conts_dot {
    margin-bottom: 32px;
}
.reservation_conts .section3 .left li {
    padding: 24px 0;
    border-top: 1px solid #d0cfcc;
}
.reservation_conts .section3 .left li:first-child {
    padding-top: 0;
    border-top: none;
}
.reservation_conts .section3 .left .tit {
    display: block;
    font-weight: 600;
}
.reservation_conts .section3 .left p {
    margin-top: 8px;
}
.reservation_conts .section3 .right .wrap_tbl {
    margin-top: 32px;
}
.reservation_conts .section3 .right th,
.reservation_conts .section3 .right td {
    width: 50%;
    padding: 10px 12px;
    text-align: center;
}
.reservation_conts .section3 .right th + th,
.reservation_conts .section3 .right td + td {
    border-left: 1px solid #dbd9d6;
}
.reservation_conts .section3 .right thead th {
    height: 45px;
    background: #a09e9c;
    color: #fff;
    font-weight: 400;
}
.reservation_conts .section3 .right tbody td {
    height: 40px;
    border-bottom: 1px solid #dbd9d6;
}
.reservation_conts .section3 .right .emph {
    color: #be1919;
}
.reservation_conts .section4 {
    max-width: 940px;
    margin: 200px auto 0;
}
.reservation_conts .section4 .tit_conts_dot {
    margin-left: 0;
}
.reservation_conts .section4 li {
    padding: 12px 18px;
    border-bottom: 2px solid #e1e0dc;
}
.reservation_conts .section4 li strong {
    font-weight: 600;
}
.reservation_conts .section4 .cmt_more {
    margin-top: 60px;
    padding: 0 18px;
}
.reservation_conts .section4 .cmt_more .tit {
    display: block;
    font-size: 30px;
    font-family: 'Avenir Next', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    color: #2c3217;
}
.reservation_conts .section4 .cmt_more p {
    margin-top: 6px;
}
.reservation_conts .section4 .cmt_more .call {
    display: inline-block;
    margin-top: 18px;
    pointer-events: none;
    cursor: default;
    font-size: 20px;
    font-weight: 500;
}
.reservation_conts .section4 .link_book {
    text-align: right;
    margin-top: 94px;
}
@media screen and (max-width: 1430px) {
    .reservation_conts .wrap_conts {
        margin: 7vw 0 0;
    }
    .reservation_conts [class^='section'].flex .right {
        padding-left: 7vw;
    }
    .reservation_conts .section3 {
        margin-top: 14vw;
    }
    .reservation_conts .section4 {
        margin-top: 14vw;
    }
    .reservation_conts .section4 .link_book {
        margin-top: 6.7vw;
    }
}
@media screen and (max-width: 1024px) {
    .reservation_conts .wrap_conts {
        padding: 0;
    }
    .reservation_conts [class^='section'].flex .right {
        padding-left: 40px;
    }
    .reservation_conts .tit_conts_dot {
        margin-bottom: 6px;
        margin-left: 0;
        font-size: 18px;
    }
}
@media screen and (max-width: 768px) {
    .reservation_conts .wrap_conts {
        font-size: 15px;
    }
    .reservation_conts [class^='section'].flex {
        display: block;
    }
    .reservation_conts [class^='section'].flex .conts_sect {
        width: auto;
        padding: 0;
    }
    .reservation_conts [class^='section'].flex .right {
        margin-top: 40px;
    }
    .reservation_conts .section1 .right {
        border-left: none;
    }
    .reservation_conts .section3 .tit_conts_dot {
        margin-bottom: 20px;
    }
    .reservation_conts .section3 .left li {
        padding: 14px 0;
    }
    .reservation_conts .section4 .cmt_more {
        margin-top: 40px;
        padding: 0;
    }
    .reservation_conts .section4 .cmt_more .tit {
        font-size: 24px;
    }
}

/* preview - contact */
.wrap_contact {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 180px 0 250px;
    overflow: hidden;
}
.wrap_contact .tit_contact {
    margin-top: 110px;
}
.wrap_contact .tit_contact [class^='item'] {
    display: block;
    font-size: 90px;
    line-height: 1;
    color: #70695b;
    font-family: the-seasons, 'Pretendard', serif;
    letter-spacing: 0;
    font-weight: 400;
    letter-spacing: -0.01em;
    transition: 0.3s;
}
.wrap_contact .tit_contact .item1 {
    padding-left: 10.8%;
}
.wrap_contact .tit_contact .item2 {
    padding-left: 16.1%;
}
.wrap_contact .tit_contact .item3 {
    padding-right: 500px;
    text-align: right;
}
.wrap_contact .links_contact {
    position: relative;
    margin-top: 56px;
    font-size: 0;
    text-align: right;
}
.wrap_contact .links_contact:after {
    position: absolute;
    top: -100px;
    right: -448px;
    width: 400px;
    height: 400px;
    background: url(../img/contact_img.jpg) no-repeat center/cover;
    content: '';
}
.wrap_contact .links_contact li {
    display: inline-block;
}
.wrap_contact .links_contact li + li {
    margin-left: 40px;
}
.wrap_contact .links_contact a {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 32px;
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 24px;
    line-height: 24px;
    font-size: 14px;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    color: #473824;
}

.wrap_contact .links_contact a i {
    font-size: 20px;
    margin-right: 10px;
}
/* .wrap_contact .links_contact .booking a {
    background-image: url(../img/common/ico_booking.png);
}
.wrap_contact .links_contact .blog a {
    background-image: url(../img/common/ico_blog.png);
}
.wrap_contact .links_contact .instagram a {
    background-image: url(../img/common/ico_instagram.png);
} */

@media screen and (max-width: 1430px) {
    .wrap_contact {
        padding: 12vw 0 17.8vw;
    }
    .wrap_contact .inner_con {
        width: calc(100% - 40px);
    }
    .wrap_contact .tit_contact {
        margin-top: 80px;
    }
    .wrap_contact .tit_contact [class^='item'] {
        font-size: 80px;
    }
    .wrap_contact .tit_contact .item3 {
        padding-right: calc(28.5vw + 50px);
    }
    .wrap_contact .links_contact:after {
        top: -110px;
        right: calc(-28.5vw - 20px);
        width: 28.5vw;
        height: 28.5vw;
    }
}
@media screen and (max-width: 1024px) {
    .wrap_contact {
        padding: 80px 0 110px;
    }
    .wrap_contact .tit_contact {
        margin-top: 40px;
    }
    .wrap_contact .tit_contact [class^='item'] {
        font-size: 60px;
    }
    .wrap_contact .tit_contact .item1 {
        padding-left: 5%;
    }
    .wrap_contact .tit_contact .item2 {
        padding-left: 10%;
    }
    .wrap_contact .tit_contact .item3 {
        padding-right: calc(28.5vw + 20px);
    }
}
@media screen and (max-width: 768px) {
    .wrap_contact {
        padding: 50px 0 80px;
    }
    .wrap_contact .tit_contact [class^='item'] {
        font-size: 50px;
    }
    .wrap_contact .links_contact li + li {
        margin-left: 30px;
    }
    .wrap_contact .links_contact:after {
        top: -90px;
    }
}
@media screen and (max-width: 640px) {
    .wrap_contact .tit_contact .item1 {
        padding-left: 6%;
    }
    .wrap_contact .tit_contact .item2 {
        padding: 0;
        text-align: center;
    }
    .wrap_contact .tit_contact .links_contact li {
        padding: 6px 0;
    }
}
@media screen and (max-width: 500px) {
    .wrap_contact .tit_contact [class^='item'] {
        font-size: 40px;
    }
    .wrap_contact .tit_contact .item3 {
        padding-right: 0;
        padding-left: 2%;
    }
    .wrap_contact .links_contact {
        margin-top: 20px;
        text-align: left;
    }
    .wrap_contact .links_contact li {
        display: block;
    }
    .wrap_contact .links_contact li + li {
        margin: 10px 0 0;
    }
    .wrap_contact .links_contact a {
        display: inline-block;
        padding-left: 0;
    }
    .wrap_contact .links_contact:after {
        right: 0;
        top: 20px;
        width: 200px;
        height: 200px;
        max-width: calc(100vw - 220px);
        max-height: calc(100vw - 220px);
    }
}
@media screen and (max-width: 420px) {
    .wrap_contact {
        padding-bottom: 0;
    }
    .wrap_contact .tit_contact .item1 {
        padding: 0;
        text-align: center;
    }
    .wrap_contact .tit_contact .item2 {
        text-align: center;
    }
    .wrap_contact .tit_contact .item3 {
        padding-left: 0;
        text-align: center;
    }
    .wrap_contact .links_contact {
        margin-top: 40px;
        text-align: center;
    }
    .wrap_contact .links_contact:after {
        display: block;
        position: relative;
        top: auto;
        right: auto;
        margin: 40px auto 0;
        max-width: none;
        max-height: none;
        width: 100%;
        height: 40vw;
    }
}

/* footer */
#ft {
    margin-top: -78px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
#ft > .inner_con {
    position: relative;
    padding: 42px 48px 88px 48px;
}
#ft .tit_conts .tit {
    display: block;
}
#ft .tit_conts a {
    display: inline-block;
    margin-top: 8px;
    font-size: 28px;
    letter-spacing: 0.05em;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
}
#ft .ft_conts {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 58px;
}
#ft .ft_info {
    font-size: 0;
    line-height: 1.7;
}
#ft .ft_info .info_business {
    display: inline-block;
    font-size: 15px;
}

#ft .ft_info .info_business.first {
    margin-right: 40px;
}

#ft .ft_info .info_business .info {
    display: block;
}
#ft .ft_info .info_address {
    display: inline-block;
    margin-left: 64px;
    font-size: 15px;
}
#ft .ft_info .info_address .tit {
    display: block;
}
#ft .ft_info .info_address .address {
    display: block;
}
#ft .link_admin {
    float: right;
}
#ft .link_admin a {
    display: block;
    font-size: 13px;
    padding: 5px 0;
    border-bottom: 1px solid #666;
}
#ft .copyright {
    padding: 22px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    text-align: center;
    font-size: 11px;
    line-height: 24px;
    font-family: 'Lato', 'Pretendard';
    letter-spacing: 0;
    font-weight: 400;
    letter-spacing: 0.05em;
}
#ft .copyright a {
    display: inline-block;
}
#ft .copyright a:before {
    content: 'B';
    display: inline-block;
    margin-left: 4px;
    margin-right: 5px;
    vertical-align: middle;
    font-size: 24px;
    color: #333333;
}
@media screen and (max-width: 1430px) {
    #ft {
        margin-top: -5.5vw;
    }
    #ft > .inner_con {
        padding-left: 24px;
        padding-right: 24px;
    }
}
@media screen and (max-width: 1024px) {
    #ft > .inner_con {
        padding: 40px 0;
    }
    #ft .ft_conts {
        margin-top: 20px;
    }
}
@media screen and (max-width: 768px) {
    #ft {
        text-align: center;
    }
    #ft .tit_conts {
        text-align: center;
    }
    #ft .ft_conts {
        display: block;
        margin-top: 40px;
    }
    #ft .ft_info {
        display: flex;
        flex-direction: column-reverse;
    }
    #ft .ft_info .info_business {
        font-size: 12px;
        margin-top: 20px;
    }

    #ft .ft_info .info_business.first {
        margin-right: 0;
    }

    #ft .ft_info .info_address {
        display: block;
        margin: 0;
    }
    #ft .link_admin {
        float: none;
        margin-top: 40px;
        text-align: center;
    }
    #ft .link_admin a {
        display: inline-block;
    }
    #ft .copyright {
        padding: 18px 0;
        font-size: 10px;
    }
}
@media screen and (max-width: 420px) {
    #ft {
        margin-top: -20vw;
        padding-top: 20vw;
    }
}

/* slick */
.slick-slider {
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    min-height: 1px;
}

[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;
    border: 1px solid transparent;
}

.slick-dots {
    font-size: 0;
}
.slick-dots li {
    display: inline-block;
}
.slick-dots button {
    display: block;
    font-size: 0;
    line-height: 0;
    transition: 0.2s;
}
