@charset "UTF-8";

/*====== Element =====*/
body { min-width: 1280px; font-size: 16px; }

h2, .h2 { font-size: 44px; line-height: 1.636; }

h3, .h3 { font-size: 38px; }

h4, .h4 { font-size: 28px; }

h5, .h5 { font-size: 22px; }

h6, .h6 { font-size: 18px; }

/*====== Common Style =====*/
/* responsive */
.for_sp { display: none !important; }

.pc-tleft { text-align: left; }
.pc-tcenter { text-align: center; }
.pc-tright { text-align: right; }

/* margin */
.m-mtp_s { margin-top: 40px !important; }
.m-mtp_m { margin-top: 80px !important; }
.m-mtp_l { margin-top: 210px !important; }

.m-mbt_s { margin-bottom: 40px !important; }
.m-mbt_m { margin-bottom: 80px !important; }
.m-mbt_l { margin-bottom: 210px !important; }

/* link */
.m-link01 {
    display: inline-block;
    padding: .95em 1.4em;
    border-radius: 3em;
    background: #4d1121;
    color: #fff;
    font-size: .75em;
    line-height: 1.2;
    text-decoration: none;
}


/*====== header =====*/
#wrapper {
    position: relative;
}

.header-logo {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    margin: 0;
    padding: 7px 28px;
}

.header-logo > * {
    display: block;
    padding: 10px;
}


/*====== main content =====*/
.text-vertical {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
}

/* kv */
.kv {
    position: relative;
}

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

.kv__txt {
    position: absolute;
    left: 4.6875%;
    bottom: 3.75vw;
    color: #fff;
    text-align: right;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
}

.kv__txt * {
    letter-spacing: 0.1em;
    line-height: 1.388;
}

.kv__txt__main {
    font-size: 60.72px;
}

.kv__txt__sub {
    padding: .3em 0;
    margin-right: .8em;
    font-size: 22px;
    font-weight: 400;
}

/* about */
.area-about {
    position: relative;
    padding: 170px 0 0;
    background: url("../image/top/about_bg_01.png") 100% 0 no-repeat;
}

.area-about .m-inner {
    position: relative;
}

.area-about .m-inner::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    min-width: 1280px;
    width: 100vw;
    height: 100%;
    border-radius: 0 20px 20px 0;
    background: #fff;
}

.area-about .m-inner > * {
    position: relative;
}

/* about - row1 */
.area-about__row1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.area-about__row1__left {
    width: 72.583%;
}

.area-about__img1 {
    margin: -60px 0 0 -10.5%;
}

.area-about__img1 img {
    width: 100%;
    border-radius: 0 20px 20px 0;
}

.area-about__row1__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 27.417%;
    padding-top: 4.5833%;
}

.area-about__lb {
    min-height: 11.136em;
    margin: 0;
}

.area-about__lb span {
    display: block;
}

.area-about__lb .sub {
    margin: 0 .3em;
    font-size: .591em;
}

.area-about__lb .main2 {
    margin-top: -.5em;
}

/* about - row2 */
.area-about__row2 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 130px 0 70px;
}

.area-about__row2__left {
    width: 35.416%;
    min-height: 735px;
}

.area-about__img2 {
    position: absolute;
    z-index: 1;
    right: -52px;
    top: -52px;
}

.area-about__img2 img {
    width: 100%;
    border-radius: 20px;
}

.area-about__logo {
    margin: 15px -20px 0 0;
    text-align: right;
}

.area-about__row2__right {
    position: relative;
    width: 59.583%;
    margin-bottom: 30px;
}

.area-about__img3 {
    margin: 0 -10.5% 0 0;
    padding-right: 4vw;
}

.area-about__img3 img {
    width: 100%;
    max-height: 540px;
    border-radius: 20px;
    object-fit: cover;
}

.area-about__img4 {
    position: absolute;
    left: 0;
    bottom: 100%;
    margin: 0 0 16px -88px;
}

/* menu */
.area-menu {
    padding: 90px 0 165px;
    background: url("../image/top/menu_bg_01.png") 25px 62px no-repeat;
}

/* menu - row1 */
.area-menu__row1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 55px;
}

.area-menu__row1__left {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    width: 118px;
    text-align: center;
}

.area-menu__lb {
    margin: 0;
}

.area-menu__lb-price {
    font-size: 36px;
    line-height: 1;
}

.area-menu__lb-price .small {
    font-size: .667em;
}

.area-menu__row1__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 83.333%;
}

.area-menu__img {
    margin: 35px -10.5% 0 0;
}

.area-menu__img img {
    width: 100%;
    border-radius: 30px 0 0 0;
}

/* menu - row2 */
.area-menu__row2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.area-menu__row2__left,
.area-menu__row2__right {
    width: 48%;
}

.area-menu__price {
    line-height: 1.86;
}

.area-menu__price > div {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 4em;
}

.area-menu__price > div::before {
    content: "";
    position: absolute;
    left: 0;
    top: .93em;
    display: block;
    width: 100%;
    border-bottom: solid 1px #e3d5d9;
}

.area-menu__price dt,
.area-menu__price dd {
    position: relative;
    background: #fbf7f3;
}

.area-menu__price dt {
    padding-right: 1.2em;
}

.area-menu__price dd {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-left: 1.2em;
}

.area-menu__price .small {
    font-size: .75em;
}

/* feature */
.area-feature {
    position: relative;
    padding: 125px 0 105px;
    background: #fff;
}

.area-feature::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 22.655vw;
    background: #fbf7f3;
}

.area-feature::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    width: 163.37vw;
    height: 45.31vw;
    margin-left: -81.685vw;
    border-radius: 50%;
    background: #fff;
}

.area-feature > * {
    position: relative;
    z-index: 1;
}

.area-feature__lb {
    position: absolute;
    left: 50%;
    top: -125px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 124px;
    height: 124px;
    margin: 0;
    border-radius: 50%;
    background: #cb480e;
    color: #fff;
}

.area-feature__lb::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    display: block;
    margin: -2px 0 0 -8.5px;
    border: solid transparent;
    border-top-color: #cb480e;
    border-width: 11px 8.5px 0 8.5px;
}

.area-feature__catch {
    margin-bottom: 100px;
    padding-bottom: 25px;
    background: url("../image/icon/bg_dot.svg") 50% 100% no-repeat;
    line-height: 1.895;
    text-align: center;
}

.featureBox {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 40px 50px;
    border-radius: 20px;
    background: #f8f1e9;
}

.featureBox + .featureBox {
    margin-top: 30px;
}

.featureBox__num {
    position: absolute;
    left: 0;
    top: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -20px;
    border-radius: 50%;
    background: #cb480e;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1;
}

.featureBox__img {
    width: 31.09%;
}

.featureBox__img img {
    border-radius: 10px;
}

.featureBox__txt {
    width: 65%;
    line-height: 1.75;
}

/* access */
.area-access {
    padding: 0 0 95px;
}

.area-access__img img {
    width: 100%;
}

.area-access__cont {
    position: relative;
    margin-top: -18.125vw;
    padding-top: 120px;
}

.area-access__cont::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 73.31%;
    height: 100%;
    border-radius: 0 30px 0 0;
    background: #fbf7f3;
}

.area-access__cont > * {
    position: relative;
}

.area-access__info {
    margin-bottom: 160px;
    line-height: 1.75;
}

.area-access__info > div {
    margin-bottom: .5em;
}

.area-access__info dt,
.area-access__info dd {
    display: inline-block;
}

.area-access__info dt {
    width: 5em;
}

.area-access__info dd + dd {
    display: block;
}

.area-access__calendar {
    position: absolute;
    left: 22.063em;
    right: 25.8%;
    top: -155px;
    padding: 15px;
    border-radius: 10px;
    background: #fff;
}

.area-access__calendar iframe {
    width: 100%;
}

.area-access__map {
    margin-bottom: 20px;
}

.area-access__map iframe {
    width: 100%;
    border-radius: 30px;
}

.area-access__access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}


@media screen and (min-width: 1380px) {

    .area-about__img1 {
        margin-left: calc((100vw - 1200px) / 2 * -1);
    }

    .area-about__img3,
    .area-menu__img {
        margin-right: calc((100vw - 1200px) / 2 * -1);
    }

}


/*====== footer =====*/
.site-footer {
    position: relative;
    padding: 0 0 35px;
    text-align: center;
}

.site-footer::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 47px;
    display: block;
    width: 163.37vw;
    height: 45.31vw;
    margin-left: -81.685vw;
    border-radius: 50%;
    background: #f7e8d9;
}

.site-footer > * {
    position: relative;
}

.site-footer__logo {
    margin-bottom: 25px;
}

.site-footer__address {
    margin-bottom: 40px;
}

.site-footer__logo2 {
    margin-bottom: 60px;
}