@charset "utf-8";
/* CSS Document */



/* ------------------------------------------------------
一覧ページ
------------------------------------------------------ */
section.top {
	padding: 50px 0px 0px;
}

.tab_wrap {
	width: 100%;
}

.tab_wrap::after {
	content: '';
	background: #F6DEE4;
	display: inline-block;
	width: 100%;
	height: 4vh;
	bottom: 0px;
	position: absolute;
	z-index: -1;
}

#tab-buttons {
	max-width: 440px;
	width: 80%;
}

.tab-button > span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding-left: 40px;
}

.tab-button > span::before {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	left: 0px;
	position: absolute;
}

.tab-button > span.area::before {
	background: url("../images/property/icon_area.svg");
	width: 23px;
	height: 33px;
}

.tab-button.active-tab > span.area::before {
	background: url("../images/property/icon_area_white.svg");
}

.tab-button > span.list::before {
	background: url("../images/property/icon_list.svg");
	width: 28px;
	height: 22px;
}

.tab-button.active-tab > span.list::before {
	background: url("../images/property/icon_list_white.svg");
}

body.archive .property_list {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(23rem,1fr));
	gap: 30px;
	max-width: 1000px;
	width: 90%;
	margin: 0px auto;
}

body.archive .property_list > li {
	width: 100%;
	margin: 0px;
}



.map_wrap {
	background: #FFF;
}

#wpsl-wrap {
	margin-bottom: 0px !important;
}

.map_caution {
	margin-bottom: 5px;
}

.wpsl-search {
	margin-bottom: 0px !important;
}

#wpsl-result-list li {
	padding: 10px !important;
}

#wpsl-result-list li p {
	margin-bottom: 0px !important;
}

.wpsl-direction-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.wpsl-directions {
    background: #000;
    color: #FFF;
    padding: 2px 10px;
    border-radius: 5px;
}



/* ------------------------------------------------------
詳細ページ
------------------------------------------------------ */
body.single-property section {
	padding: 5% 0px 10%;
}

body.single-property section.data .inner_wrap  {
	max-width: 1200px;
}

.main_img_wrap {
	height: 90vh;
}

.main_img {
	line-height: 0;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center top !important;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.catch_copy {
	position: relative;
	width: 100%;
	height: auto;
	display: flex;
	align-items: flex-end;
	flex-grow: 1;
}

.catch_copy_inner {
	max-width: 1500px;
	width: 96%;
	margin: 0px auto;
	display: flex;
	flex-direction: column;
	gap: 5px;
	line-height: 1.8;
}

.catch_copy_inner > p > span {
	background: #FFF;
	font-size: clamp(16px,4vw,44px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	padding: 5px 20px;
	letter-spacing: -1px;
}

.other_check_mark_wrap {
	width: 100%;
	position: relative;
	padding: 2vw 0px;
}

.other_check_mark_inner {
	max-width: 1500px;
	width: 96%;
	margin: 0px auto;
}

.other_check_mark {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.other_check_mark li {
	width: 7.5rem;
	height: 7.5rem;
	background: #FFF;
	color: #9C052F;
	border: 2px solid #9C052F;
	border-radius: 10px;
	padding: 10px 5px;
	font-size: clamp(13px,1.3vw,18px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	line-height: 100%;
	text-align: center;
	letter-spacing: -2px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
}

.other_check_mark li > span:nth-of-type(2) {
	top: -2px;
}

.other_check_mark li > big {
	font-size: clamp(18px,2.4vw,24px);
}


.property_data {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

section.data {
	background: #B7002C;
	padding: 20px 0px !important;
}

.property_data_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	color: #FFF;
}

.property_name {
	font-size: clamp(30px,3.4vw,44px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	line-height: 130%;
}

.property_mark {
	display: flex;
	gap: 20px;
}

.property_mark li {
	background: #FFF;
	border-radius: 10px;
	color: #242A39;
	font-size: clamp(13px,1.5vw,18px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	padding: 15px 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.2;
	min-width: 150px;
	width: 100%;
}

.property_mark li.term_icon::before {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	position: relative;
	margin-bottom: 5px;
}

.term_icon.area::before {
	background: url("../images/property/icon_area.svg");
	width: 19px;
	height: 25px;
}

.term_icon.no_meal::before {
	background: url("../images/property/icon_meal.svg");
	width: 28px;
	height: 24px;
}

.property_price {
	padding: 20px 0px 20px 20px;
	border-left: 1px dashed #FFF;
}

.property_price > p {
	font-family: "fot-tsukuardgothic-std", sans-serif;
	line-height: 1;
}

.property_price > p:nth-of-type(1) {
	font-size: clamp(18px,2.2vw,22px);
	font-weight: bold;
	text-align: center;
}

.property_price > p:nth-of-type(2) {
	font-size: clamp(40px,4vw,60px);
	font-family: "aktiv-grotesk", sans-serif;
	font-weight: 600;
	margin-top: 10px;
}

.property_price > p:nth-of-type(2) > small {
	font-size: clamp(20px,3vw,30px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	margin-left: 4px;
	letter-spacing: -4px;
}


section.about {
	background: #FAF9F6;
	padding: 20px 0px !important;
}

.about_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.about_list > dl {
	background: #FFF;
	border-radius: 10px;
	border: 1px solid #242A39;
	text-align: center;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.about_list > dl > * {
	padding: 10px 10px;
	line-height: 1.2;
}

.about_list > dl > dt {
	border-bottom: 1px dashed #242A39;
	font-size: clamp(14px,2vw,20px);
}

.about_list > dl > dd {
	font-size: clamp(15px,3vw,30px);
}

.madori_type > span:not(:last-of-type)::after {
	content: ',';
}

.summary_wrap {
	max-width: 1100px;
	width: 90%;
	margin: 0px auto;
}

.summary_wrap > dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
}

.summary_wrap > dl > dt {
	width: 56%;
	font-size: clamp(16px,1.9vw,19px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	line-height: 200%;
	text-align: justify;
}

.summary_wrap > dl > dd {
	width: 37%;
}


.sec_ttl_wrap {
	margin-bottom: 50px;
}

.sec_ttl_inner > small {
	line-height: normal;
	color: #B7002C;
}

.sec_ttl_inner > span.area_name {
	font-size: clamp(14px,1.8vw,18px);
	font-weight: bold;
}

.sec_txt {
	font-size: clamp(16px,2vw,20px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	margin-top: 10px;
}

.exterior_img {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	align-items: center;
	gap: 20px;
	max-width: 1100px;
	width: 100%;
	margin: 0px auto
}

.exterior_img li {
	background: #FFF;
	width: auto;
	height: 24vh;
	display: flex;
	justify-content: center;
}

.exterior_img li img {
	height: 100%;
	object-fit: cover;
}

.equipment_wrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 10px;
	max-width: 1200px;
	width: 100%;
	margin: 0px auto;
}

.equipment_box {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.equipment_box > * {
	width: 100%;
}

.equipment_list {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(77px,1fr));
	gap: 20px;
	margin: 10px auto 0px;
	background: #FFF;
	padding: 30px 30px;
	border: 1px solid #242A39;
	border-radius: 20px;
	width: 100%;
}

.equipment_list li {
	text-align: center;
	display: flex;
	flex-direction: column;
}

.equipment_list li > span {
	line-height: 120%;
}

.equip_icon {
	height: 86px;
	margin-bottom: 5px;
}

.equip_icon img {
	height: 100%;
}

.equip_name {
	font-size: clamp(13px,1.4vw,14px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	letter-spacing: -1px;
	line-height: 1.1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-grow: 1;
}

.equip_name > big {
	font-size: clamp(15px,1.8vw,18px);
}

.equip_name > span {
	display: flex;
	justify-content: center;
	width: 100%;
}


section.room #tab-buttons {
	justify-content: flex-start;
	gap: 10px;
	max-width: 100%;
	width: 100%;
}

section.room article {
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	max-width: 1100px;
	width: 100%;
	margin: 0px auto;
}

section.room article:nth-of-type(n+2) {
	margin-top: 100px;
}

section.room article .white_box {
	border: 1px solid #242A39;
	padding: 30px 50px;
	height: auto;
	overflow: hidden;
}

section.room article .white_box > p {
	display: flex;
	justify-content: center;
}

.room_ttl {
	display: flex;
	flex-wrap: wrap;
}

.room_ttl > div {
	border: 1px solid #242A39;
	border-radius: 10px !important;
	background: #FFF;
	color: #242A39;
	padding: 5px 20px;
	font-size: clamp(16px,2vw,20px);
	width: auto;
	margin-bottom: 20px;
}

.room_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	font-size: clamp(16px,2vw,20px);
}

.room_flex > dt {
	width: 59%;
}

.room_flex > dd {
	width: 36%;
	text-align: center;
}

.price_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 30px;
}

.price_txt {
	width: 100%;
	font-size: clamp(14px,1.6vw,16px);
	text-indent: -1em;
	margin-left: 1em;
	line-height: 120%;
}

.price_ttl {
	font-size: clamp(16px,2vw,20px);
	border-bottom: 1px solid #242A39;
	padding-bottom: 5px;
	width: 100%;
}

.price_ttl::before {
	content: '●';
	font-size: clamp(14px,1.6vw,16px);
}

.price_box {
	width: 48%;
}

.price_table tr {
	border-bottom: 1px dashed #242A39;
	display: flex;
	justify-content: space-between;
	padding: 5px 10px;
}

.price_table tr > * {
	font-size: clamp(15px,1.8vw,18px);
}

.price_table tr > td > span::after {
	content: '円';
}

.price_total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 30px;
	margin-top: 15px;
}

.price_total.cost_month {
	background: #FAF9F6;
}

.price_total.cost_initial {
	border: 4px solid #B7002C;
}

.price_total > dt > span {
	font-size: clamp(14px,1.8vw,18px);
}

.price_total > dt > span.month {
	color: #FFF;
	background: #363636;
	padding: 5px 10px;
}

.price_total > dd > span {
	font-size: clamp(22px,3.6vw,36px);
	font-family: "aktiv-grotesk", sans-serif;
	color: #363636;
	line-height: 1;
	top: 5px;
}

.price_total > dd > span::after {
	content: '円（税込）';
	font-size: clamp(14px,1.6vw,16px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
}

.price_box:nth-of-type(2) .price_total.cost_month {
	font-size: clamp(15px,1.8vw,18px);
	padding: 10px 20px;
}

.price_caution {
	margin-top: 10px;
}

.price_caution li {
	margin-top: 0.3rem;
	font-size: clamp(12px,1.4vw,14px);
	text-indent: -1em;
	margin-left: 1em;
	line-height: 130%;
}


.overview_table {
	max-width: 1100px;
	width: 100%;
	margin: 0px auto;
}

.overview_table tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 10px 3vw;
}

.overview_table tr:nth-of-type(odd) {
	background: #FAF9F6;
}

.overview_table tr > * {
	font-size: clamp(14px,1.6vw,16px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
}

.overview_table tr > th {
	max-width: 140px;
	width: 100%;
}

.overview_table tr > td {
	max-width: 840px;
	width: 100%;
}


section.overview .sec_ttl_inner .property_name {
	font-size: clamp(15px,1.8vw,18px);
	line-height: 1;
	top: 5px;
	width: 100%;
}


section.access {
	padding: 50px 0px 200px !important;
}

.map {
	max-width: 1200px;
	width: 100%;
	height: 90%;
	margin: 0px auto;
	border: 1px solid #242A39;
	border-radius: 10px;
	overflow: hidden;
}


.facility_list li {
	background: #FFF;
	border: 1px solid #242A39;
	border-radius: 10px;
	padding: 20px 30px;
	margin: 0px 10px;
	text-align: center;
}

.facility_list li > p {
	font-size: clamp(15px,1.8vw,18px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	line-height: 1;
}

.facility_img {
	height: 28vh;
}

.facility_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.facility_name {
	padding: 5px 0px;
	margin-top: 10px;
}

.room_main {
	height: auto;
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.room_main img {
	height: auto;
	object-fit: contain;
}


.interior_img {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax(100px,1fr));
	gap: 5px;
	margin-top: 2vw;
}

.interior_img li {
	max-height: 100px;
	height: auto;
	text-align: center;
	cursor: pointer;
	border: 1px solid #CCC;
	display: flex;
}

.interior_img li a {
	width: 100%;
}

.interior_img li:hover {
	opacity: 0.6;
	transition: all 0.3s ease;
}

.interior_img li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section.inquery {
	padding-bottom: 150px !important;
}

.inquery_ttl_wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
	top: -100px;
	position: absolute;
}

.inquery_icon {
	width: 200px;
	height: 200px;
	border-radius: 100px;
	display: flex;
	overflow: hidden;
	position: relative;
	border: 2px solid #242A39;
	margin: 0px auto 30px;
}

.inquery_icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.inquery_ttl {
	font-size: clamp(22px,3.2vw,32px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	text-align: center;
	line-height: 130%;
}

.inquery_txt {
	font-size: clamp(20px,3vw,30px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	text-align: center;
	line-height: 130%;
	color: #B7002C;
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}

.inquery_txt > span {
	display: flex;
	align-items: center;
}

.inquery_txt > span::before,
.inquery_txt > span::after {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	width: 9px;
	height: 38px;
	top: 3px;
	position: relative;
}

.inquery_txt > span::before {
	background: url("../images/property/inquery_txt_left.svg");
	left: 0px;
	margin-right: 10px;
}

.inquery_txt > span::after {
	background: url("../images/property/inquery_txt_right.svg");
	right: 0px;
	margin-left: 10px;
}

.info_btn {
	font-size: clamp(18px,3.4vw,34px);
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
	border: 1px solid #242A39;
	background: #FFF;
	filter: drop-shadow(0px 4px 0px #242A39);
	border-radius: 100px;
	line-height: 140%;
}

.info_btn:nth-of-type(n+2) {
	margin-top: 30px;
}

.info_btn a {
	padding: 34px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.info_btn a::before {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	width: 82px;
	height: 82px;
	left: 30px;
	position: absolute;
}

.info_btn a::after {
	content: '';
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	width: 14px;
	height: 29px;
	right: 60px;
	position: absolute;
}

.info_btn.inquery a::before {
	background: url("../images/property/icon_conact.svg");
}

.info_btn.inquery a::after {
	background: url("../images/common/arrow_navy_right.svg");
}

.info_btn.reserved {
	background: #242A39;
	color: #FFF;
}

.info_btn.reserved a::before {
	background: url("../images/property/icon_reserved.svg");
}

.info_btn.reserved a::after {
	background: url("../images/common/arrow_white_right.svg");
}


section.inquery .inner_wrap {
	margin-top: 200px;
	max-width: 800px;
}

.property_tel_wrap {
	border: 1px solid #242A39;
    border-radius: 20px;
    padding: 30px;
    background: #FFF;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	filter: drop-shadow(0px 4px 0px #242A39);
	margin-top: 30px;
	text-align: center;
}

.property_tel_wrap > * {
	width: 100%;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: bold;
}

.property_tel_ttl {
	font-size: clamp(20px,2.7vw,27px);
}

.property_tel_wrap .tel_num {
	font-size: clamp(34px,7vw,70px);
	font-family: "Geologica", sans-serif;
	color: #B7002C;
	justify-content: center;
}

.property_tel_wrap .tel_num a::before {
	background: url("../images/common/icon_tel_red.svg");
}


section.pickup .wrap {
	padding-top: 0px;
}


@media screen and (max-width: 1024px) {
	body.single-property section {
		padding: 6% 0px 12%;
	}
	
	.main_img {
		background-size: auto 90% !important;
	}
	
	.catch_copy {
		padding-bottom: 1rem;
	}
	
	.other_check_mark_wrap {
		background: #B03759;
		position: relative;
	}
	
	.other_check_mark_inner {
		bottom: 0px;
	}
	
	.other_check_mark {
		position: relative;
	}

	.other_check_mark li {
		width: 6rem;
		height: 6rem;
	}
	
	.price_box {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	
	.price_total {
		display: inline-flex;
		gap: 0px 10px;
	}
	
	.price_total > dd > span {
		top: 2px;
	}
}


@media screen and (max-width: 881px) {
	.summary_wrap > dl > dt {
		width: 100%;
	}

	.summary_wrap > dl > dd {
		width: 100%;
	}
}


@media screen and (max-width: 768px) {
	.sec_ttl_inner > span {
		width: 80px;
	}
	
	.property_name {
		margin-bottom: 15px;
	}
	
	.property_data_inner {
		justify-content: center;
	}

	.room_flex > dt {
		width: 100%;
	}

	.room_flex > dd {
		width: 100%;
	}
	
	.summary_wrap > dl {
		justify-content: center;
	}
}




@media screen and (max-width: 624px) {
	.property_price {
		border-top: 1px dashed #FFF;
		border-left: 0px;
		width: 100%;
		padding: 10px 0px 2px;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
}



@media screen and (max-width: 600px) {
	.sec_ttl_wrap {
		margin-bottom: 30px;
	}
	
	.catch_copy_inner > p > span {
		padding: 1vw 10px;
	}

	.other_check_img > span {
		width: 4rem;
		height: 4rem;
	}
	
	section.data {
		padding: 10px 0px;
	}
	
	.property_data_inner {
		justify-content: center;
	}
	
	.term_icon.area::before {
		width: 15px;
		height: 20px;
	}
	
	.property_price > p:nth-of-type(1) {
		top: 5px;
	}
	
	.term_icon.no_meal::before {
		width: 24px;
		height: 20px;
	}
	
	.equipment_wrap {
		grid-template-columns: repeat(1,1fr);
	}
	
	.equipment_box {
		padding: 30px 20px;
	}
	
	.equipment_list.indoor {
    	flex-direction: row;
	}
	
	section.room article .white_box {
		padding: 30px 20px;
		border-radius: 10px;
	}
	
	section.room article:nth-of-type(n+2) {
		margin-top: 50px;
	}
	
	.room_flex {
		gap: 10px;
	}
	
	.room_flex > dt,
	.room_flex > dd {
		width: 100%;
	}

	.change-img__main {
		max-height: 300px;
	}
	
	.price_box {
		width: 100%;
	}
	
	.price_box:nth-of-type(2) {
		margin-top: 10px;
	}
	
	.price_total {
		padding: 15px 10px;
		margin-top: 10px;
	}
	
	.facility_img {
		height: auto;
	}
	
	.inquery_ttl_wrap {
		top: -80px;
	}
	
	section.inquery .inner_wrap {
		margin-top: 140px;
	}
	
	.inquery_icon {
		width: 150px;
		height: 150px;
	}
	
	.info_btn a {
		padding: 16px 20px;
	}
	
	.info_btn a::before {
		width: 40px;
		height: 40px;
		left: 15px;
	}
	
	.info_btn a::after {
		width: 9px;
		height: 18px;
		right: 20px;
	}
	
	.facility_list li {
		padding: 20px;
	}
}


@media screen and (max-width: 744px) {
	.exterior_img li {
		height: 34vw;
	}
}


@media screen and (max-width: 551px) {
	.main_img {
		background-size: auto 90% !important;
	}
}


@media screen and (max-width: 488px) {
	.other_check_mark {
		display: grid;
		grid-template-columns: repeat(auto-fit,minmax(80px,1fr));
	}
	
	.other_check_mark li {
		width: auto;
	}
	
	.exterior_img {
		grid-template-columns: repeat(2,1fr);
	}
	
	.price_total.cost_month,
	.price_total {
		width: 100%;
	}
}



