.top__plan {
    height: 450px;
    background: url(../img/top/plan__bg.png) 0 0 no-repeat;
    background-size: cover;
    background-position: top center;
    margin-top: 140px;
    padding-top: 1px;
    margin-bottom: 120px;
}

.top__plan .sub-ttl::before {
    display: none;
}

.top__plan .sub-ttl {
    margin-top: -0.5em;
}

.top__plan .l-ttl {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
}

.top__plan__wrap {
    display: flex;
    width: 950px;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
}

.top__plan__card {
    background-color: #fff;
    padding: 15px;
    width: calc(900px / 3);
}

.top__plan__card:not(:first-child) {
    margin-left: 25px;
}

.top__plan__img {
    margin-bottom: 15px;
}

.top__plan__img img {}

.top__plan__txt {
    font-size: 14px;
    line-height: calc(21/14);
}

.top__plan .top__plan__more-btn {}

.top__room {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 120px;
}

.top__room__txt {
    /* width: 50%; */

}

.top__room__txt__inner {
    background-color: #fff;
    padding-right: 60px;
    margin-right: -30px;
    position: relative;
    padding-top: 40px;
    padding-bottom: 60px;
}

.top__room__txt__inner .sub-ttl {}

.top__room__img {
    height: 575px;
    width: 50%;
    background: url(../img/top/top__guest-room.png);
    background-size: cover;
    background-position: bottom left;
    /* margin-left: auto;
    margin-right: 0; */
}

.top__room .sub-ttl {
    text-align: left;
    display: inline-flex;
    flex-wrap: wrap;
}

.top__room .sub-ttl--jp {
    width: 100%;
}

.top__room .sub-ttl--en {}

.top__activity {
    background: url(../img/top/top__activity__bg.png) 0 0 no-repeat;
    background-position: bottom center;
    background-size: cover;
    position: relative;
    margin-bottom: 120px;
}

.top__activity .sub-ttl {}

.top__activity::before {
    content: "";
    display: block;
    background: linear-gradient(to bottom, #fff, transparent);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 250px;
    z-index: 0;
}

.top__activity::after {
    content: "";
    display: block;
    background: linear-gradient(to top, #fff, transparent);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 250px;
    z-index: 0;
}

.top__activity * {
    position: relative;
}

.top__activity .sub-ttl__caption {
    text-align: center;
}

.top__activity__contents--top {
    width: 950px;
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

.top__activity__img {
    position: relative;
    z-index: 10;
}

.top__activity__contents--top {}

.top__activity__contents01 {
    margin-right: 45px;
}

.top__activity__contents01 img {}

.top__activity__contents02 {
    margin-top: 80px;
}

.top__activity__contents02 img {}

.top__activity__contents--under {
    display: flex;
    width: 950px;
    margin-left: auto;
    margin-right: auto;
}

.top__activity__contents03 {
    width: 50%;
}

.top__activity__contents03 img {
    padding-left: 60px;
}

.top__activity__contents04 {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.top__activity__contents04 .sub-ttl__caption--s {
    text-align: center;
}

.contents__img {
    background: url(../img/top/top__restaurants.png) 0 0 no-repeat;
    background-size: cover;
}

.top__restaurants .contents__ul {
    margin-bottom: 60px;
}

.top__restaurants {
    margin-bottom: 120px;
}

.top__guest-service__contents {
    background: url(../img/top/top__guest__service__bg02.png) 0 0 no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
}

.top__guest-service__contents::before {
    content: "";
    display: block;
    background: linear-gradient(to bottom, #fff, transparent);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 250px;
    z-index: 0;
}

.top__guest-service__contents::after {
    content: "";
    display: block;
    background: linear-gradient(to top, #fff, transparent);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 250px;
    z-index: 0;
}

.top__guest-service__contents__inner {
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
}

.top__guest-service__caption {
    width: 475px;
}

.top__guest-service__caption .top__plan__more-btn {
    margin-top: 40px;
}

.top__guest-service__caption .top__plan__more-btn img {
    margin-left: 100px;
    display: block;
}