@charset "UTF-8";

/*================================================================
# section-room01
================================================================ */
.section-room01 {
    margin-top: 24px;
}

.section-room01 .wrap {
    position: relative;
}

.section-room01 .wrap::before {
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    width: calc(50vw + 50% - 40px);
    height: 100%;
    background: #fff url(../../common/img/section01_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-room01 .inner {
    padding: 40px 0;
}

.section-room01 .container {
    display: flex;
    flex-direction: column-reverse;
}

.section-room01 .left {
    width: 100%;
    margin-top: 24px;
}

.section-room01 .right {
    width: 100%;
}

.section-room01 .img-wrap {
    position: relative;
}

.section-room01 .section-room01_img01 {
    width: 298px;
    position: absolute;
    top: -323px;
    left: 237px;
    z-index: -1;
}

.section-room01 .text-area {
    width: 100%;
    margin: 24px 0 0 auto;
    position: relative;
}

.section-room01 .en-title {
    margin-top: 24px;
    position: relative;
    font-family: var(--text-en);
    font-size: 12px;
    line-height: 1.618;
    color: var(--gold);
}

.section-room01 .en-title span {
    position: relative;
}

.section-room01 .en-title span::after {
    width: 80px;
    height: 91px;
    margin: auto 0;
    background: url(../img/dogs-allowed.png) no-repeat center top / contain;
    position: absolute;
    content: '';
    bottom: 8px;
    left: 0;
}

.section-room01 .text {
    margin-top: 24px;
}

.section-room01 .gold-btn {
    width: 100%;
    margin-top: 24px;
}

.section-room01 .section-room01_img03 {
    width: 288px;
    position: absolute;
    top: 146px;
    left: -340px;
}

.section-room01 .section-room01_img04 {}

.section-room01 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room01 .title-wrap {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
}

.section-room01 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

/*================================================================
# section-room02
================================================================ */
.section-room02 {
    margin-top: 24px;
}

.section-room02 .wrap {
    position: relative;
}

.section-room02 .wrap::before {
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    width: calc(50vw + 50% - 40px);
    height: 100%;
    background: #fff url(../../common/img/section02_bg.png) no-repeat left top;
    position: absolute;
    content: "";
    top: 0;
    right: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-room02 .inner {
    padding: 40px 0;
}

.section-room02 .container {
    display: flex;
    flex-direction: column;
}

.section-room02 .left {
    width: 100%;
    position: relative;
}

.section-room02 .right {
    width: 100%;
}

.section-room02 .title-wrap {
    display: flex;
    flex-direction: column;
}

.section-room02 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room02 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room02 .section-room02_img01 {
    width: 249px;
    position: absolute;
    bottom: -41px;
    left: 176px;
    z-index: -1;
}

.section-room02 .section-room02_img02 {
    margin-top: 24px;
}

.section-room02 .section-room02_img03 {
    margin: 24px 0 0 40px;
}

.section-room02 .text-area {
    margin: 24px 0 0 0;
    position: relative;
}

.section-room02 .en-title {
    margin-top: 24px;
    font-family: var(--text-en);
    font-size: 12px;
    line-height: 1.618;
    color: var(--gold);
}

.section-room02 .en-title span {
    position: relative;
}

.section-room02 .en-title span::after {
    width: 80px;
    height: 91px;
    margin: auto 0;
    background: url(../img/dogs-allowed.png) no-repeat center top / contain;
    position: absolute;
    content: '';
    bottom: 8px;
    left: 0;
}

.section-room02 .text {
    margin-top: 24px;
    text-align: justify;
}

.section-room02 .gold-btn {
    width: 100%;
    margin-top: 24px;
}

/*================================================================
# section-room03
================================================================ */
.section-room03 {
    margin-top: 24px;
}

.section-room03 .wrap {
    position: relative;
}

.section-room03 .wrap::before {
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    width: calc(50vw + 50% - 40px);
    height: 100%;
    background: #fff url(../../common/img/section03_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-room03 .inner {
    padding: 40px 0;
}

.section-room03 .container {
    display: flex;
    flex-direction: column;
}

.section-room03 .left {
    width: 100%;
}

.section-room03 .right {
    width: 100%;
}

.section-room03 .section-room03_img01 {
    display: none;
}

.section-room03 .section-room03_img02 {
    text-align: right;
}

.section-room03 .title-wrap {
    margin-top: 24px;
    flex-direction: column;
}

.section-room03 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room03 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room03 .section-room03_img03 {
    width: 270px;
    position: absolute;
    top: 0px;
    left: -203px;
    z-index: -1;
}

.section-room03 .section-room03_img04 {
    margin-top: 24px;
}

.section-room03 .text-area {
    margin: 24px 0 0 auto;
    position: relative;
}

.section-room03 .en-title {
    margin-top: 24px;
    font-family: var(--text-en);
    font-size: 12px;
    line-height: 1.618;
    color: var(--gold);
}

.section-room03 .en-title span {
    position: relative;
}

.section-room03 .en-title span::after {
    width: 80px;
    height: 91px;
    margin: auto 0;
    background: url(../img/dogs-allowed.png) no-repeat center top / contain;
    position: absolute;
    content: '';
    bottom: 8px;
    left: 0;
}

.section-room03 .text {
    margin-top: 24px;
    text-align: justify;
}

.section-room03 .gold-btn {
    width: 100%;
    margin-top: 24px;
}

.section-room03 .section-room03_img05 {
    margin-top: 24px;
}

/*================================================================
# section-room04
================================================================ */
.section-room04 {
    margin-top: 24px;
}

.section-room04 .wrap {
    position: relative;
}

.section-room04 .wrap::before {
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    width: calc(50vw + 50% - 40px);
    height: 100%;
    background: #fff url(../../common/img/section04_bg.png) no-repeat left -363px top -127px;
    position: absolute;
    content: "";
    top: 0;
    right: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-room04 .inner {
    padding: 40px 0;
}

.section-room04 .container {
    display: flex;
    flex-direction: column-reverse;
}

.section-room04 .left {
    width: 100%;
    margin-top: 24px;
}

.section-room04 .right {
    width: 100%;
}

.section-room04_img02 {
    width: 270px;
    position: absolute;
    top: 60px;
    right: -115px;
    z-index: -1;
}

.section-room04 .title-wrap {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
}

.section-room04 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room04 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-room04 .text-area {
    width: 100%;
    margin: 24px 0 0 0;
}

.section-room04 .en-title {
    margin-top: 24px;
    font-family: var(--text-en);
    font-size: 12px;
    line-height: 1.618;
    color: var(--gold);
}

.section-room04 .en-title span {
    position: relative;
}

.section-room04 .en-title span::after {
    width: 80px;
    height: 91px;
    margin: auto 0;
    background: url(../img/dogs-allowed.png) no-repeat center top / contain;
    position: absolute;
    content: '';
    bottom: 8px;
    left: 0;
}

.section-room04 .text {
    margin-top: 24px;
    text-align: justify;
}

.section-room04 .gold-btn {
    width: 100%;
    margin-top: 24px;
}

.section-room04 .section-room04_img04 {
    margin-top: 24px;
    box-shadow: var(--img-shadow);
}