@charset "utf-8";

body {
    opacity: 1;
    visibility: visible;
    padding-top: 0!important;
}
#header {
    display: none!important;
}

/* key visual */
#keyvisual {
    overflow: hidden;
    position: relative;
}
#keyvisual .keyv-ttl {
    background: url(../imgs/keyv_ttl_icon.png) no-repeat center top / 3.57142857vw 0.833333333vw;
    color: #FFF;
    font-size: clamp(1.85rem, 2.20238095vw, 3.7rem);
    letter-spacing: 0.25em;
    margin: 0 auto;
    padding: 1rem 0 0;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center;
    transform: translateY(-50%);
    z-index: 1;
}
#keyvisual .keyv-ttl .txt {
    font-size: clamp(1.2rem, 1.3095238095vw, 2.2rem);
    letter-spacing: 0.1em;
    padding: 0 15px;
}
@media screen and (max-width: 767px){
    #keyvisual .keyv-ttl {
        background-size: 30px 8px;
    }
    #keyvisual img {
        height: 15svh;
        object-fit: cover;
        object-position: center;
    }
    #keyvisual .keyv-ttl .txt {
        letter-spacing: 0.05em;
    }
}
/* colors */
.yell-grn { color: #b37f54;}
.pink-red { color: #bb6f81;}

/* details */
.roomplan-detail {
    padding: clamp(50px, 6vw, 100px) 0 clamp(30px, 3.57142857vw, 60px);
}
.roomplan-detail .head-box {
    line-height: 1.25;
    text-align: center;
}
.roomplan-detail .head-box .icon {
    margin-bottom: 10px;
    width: clamp(33px, 4vw, 66px);
}
.roomplan-detail .head-box .name {
    display: block;
    font-size: clamp(2rem, 2.38095238vw, 4rem);
    letter-spacing: 0.25em;
    margin-bottom: 15px;
    position: relative;
}
.roomplan-detail .head-box .name::first-letter {
    font-size: 225%;
}
.roomplan-detail .head-box .name:after {
    background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 99%, rgba(0, 0, 0, 0) 100%);
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 1px;
    max-width: 820px;
    width: 100%;
}
.roomplan-detail .spec-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    gap: 1.5em;
    margin-bottom: 70px;
}
.roomplan-detail .spec-box .ldk {
    font-size: clamp(2.112rem, 2.51428571vw, 4.224rem);
    font-weight: 400;
}
.roomplan-detail .spec-box .ldk::first-letter {
    font-size: 164%;
    line-height: 1;
}
.roomplan-detail .spec-box .size {
    font-size: clamp(1.6675rem , 1.98511905vw, 3.335rem);
    font-weight: 400;
    position: relative;
    z-index: 0;
}
.roomplan-detail .spec-box .size .lbl {
	position: absolute;
	top: 0;
	right: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 42%;
	line-height: 2;
	letter-spacing: -0.05em;
}
.roomplan-detail .spec-box .size .private {
    display: inline-block;
    margin-right: 1rem;
    margin-top: -1.50vw;
    vertical-align: middle;
    width: clamp(22px, 2.55952381vw, 44px);
}
.roomplan-detail .spec-box .size .lg {
    font-size: 200%;
    line-height: 1;
}
.roomplan-detail .spec-box .size .md {
    font-size: 80%;
    line-height: 1;
}
.roomplan-detail .spec-box .size sup {
    font-size: 60%;
    line-height: 1;
    vertical-align: super;
}
.roomplan-detail .spec-box .area {
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	padding-bottom: 0.4em;
	text-align: left;
}
.roomplan-detail .spec-box .area.twoline {
	padding-bottom: 0;
}
.roomplan-detail .spec-box .area sup {
    font-size: 60%;
    line-height: 1;
    vertical-align: super;
}
@media screen and (max-width: 767px){
    .roomplan-detail .spec-box .area {
        width: 100%;
    }
    .roomplan-detail .spec-box .size .private {
        margin-top: -2.75vw;
    }
    .roomplan-detail .spec-box {
        margin-bottom: 20px;
    }
}

.roomplan-detail .draw-box {
    text-align: center;
}
.vlr {
	-webkit-writing-mode: vertical-lr;
	-moz-writing-mode: vertical-lr;
	/* -ms-writing-mode: tb-rl; */
	-ms-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
}
.vlr .v-none,
.vertical-rl .v-none {
	writing-mode: horizontal-tb;
	line-height: 1.2;
	letter-spacing: 0;
}
.roomplan-detail .draw-box .cont {
    text-align: left;
}
.roomplan-detail .draw-box .cont .txt {
    font-size: clamp(1.1rem, 1.011904vw, 1.7rem);
    letter-spacing: 0.1em;
    line-height: 2.5;
    text-align: left;
}
.roomplan-detail .box-wrap {
	display: grid;
	grid-template-columns: 130px auto;
	/* justify-content: space-between; */
	max-width: 820px;
	margin: 0 auto;
	gap: 30px;
	position: relative;
	z-index: 0;
	margin-left: 100px;
}
.roomplan-detail .draw-box .image {
    max-width: 750px;
    margin: 0 auto;
    margin-bottom: clamp(30px, 3.57142857vw, 60px);
}
.roomplan-detail .draw-box .notes {
    color: #38383A;
    line-height: 1.25;
    margin-bottom: 30px;
}
.roomplan-detail .draw-box .notes img {
    height: 9px;
    width: auto;
}
.roomplan-detail .draw-box .notes span {
    font-size: 1rem;
}
@media screen and (max-width: 1024px){
    .roomplan-detail .box-wrap {
        margin: 0 auto;
        max-width: 100%;
    }
    .roomplan-detail .draw-box .cont {
        position: relative;
        right: 0;
        gap: 5px;
    }
}
@media screen and (max-width: 767px){
    .roomplan-detail .draw-box .caption {
        text-align: left;
    }
    .roomplan-detail .draw-box .cont .txt {
        line-height: 1.7;
    }
    .roomplan-detail .box-wrap {
        grid-template-columns: 65px auto;
        gap: 15px;
    }
}

/* variations list */
.variations {
    background-color: #464646;
    padding: clamp(30px, 2.67857143vw, 45px) 0;
}
.variations h2 {
    color: #FFF;
    font-size: clamp(2rem, 2.38095238vw, 4rem);
    letter-spacing: 0.25em;
    text-align: center;
}
.variations .list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
}
.variations .list li {
    width: calc(100% / 3 - 15px * 2 / 3);
}
.variations .list li a {
    background-color: #FFF;
    display: block;
    padding: 14px;
    transition: all ease-in-out 0.3s;
}
.variations .list li a:hover,
.variations .list li a.active {
    background-color: #f2ebd9;
}
.variations .typeIV li a:hover,
.variations .typeIV li a.active {
    background-color: #f9f2f9;
}
.variations .back {
    margin-top: 50px;
    text-align: center;
}
.variations .back a {
    color: #FFF;
    font-size: 1.5rem;
    text-decoration: underline;
}
.variations .back a:hover {
    text-decoration: none;
}
@media screen and (max-width: 767px){
   .variations .list li {
        width: 100%;
    }
}