/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 24 2026 | 06:08:04 */
/* 基本設定 - common
-------------------------------------------------- */
.rtc_before_bg { position: relative; }
.rtc_before_bg::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 400px;
	background: #fff;
	z-index: 0;
}

@media (min-width: 481px) {
	#masthead .main-header-menu>.menu-item>a, #masthead.fixed .main-header-bar-navigation .main-header-menu a {
		transition: all ease .6s;
	}
	
	#masthead .main-header-menu>.menu-item>a:hover {
		text-decoration: none;
		color: var( --color-main- );
	}
	.main-navigation .main-header-menu .sub-menu a { font-weight: 500; }
	.main-navigation .main-header-menu .sub-menu a:hover {
		color: var( --color-main- ) !important;
	}
	
	.main-header-menu .sub-menu { width: 155px; }
}
.es-list a:hover h3.wrap { text-decoration: none; }

.rtc_overflow_visible { overflow: visible; }
/* body.home #page { overflow-x: hidden; } */
body.home #primary { padding-bottom: 0 !important; }
body.home .es-link-container { margin-top: 0 !important; }


/* タイトル - title
-------------------------------------------------- */
.rtc_ttl_main {
	font-size: 36px !important;
    font-weight: bold !important;
}
.rtc_ttl_main strong {
	background: linear-gradient( transparent 70%, #FFF100 70% );
}
.rtc_ttl_main span {
	display: block;
	margin-top: 15px;
	font-family: var( --font-main- );
	font-size: 18px;
	color: var( --color-main- );
	letter-spacing: 0.2em;
}


/* ボタン - button
-------------------------------------------------- */
.rtc_btn_df a.wp-block-button__link, .rtc_block_built a.wp-block-button__link,
.rtc_tab_area .feature-advertisement-block .wp-block-button__link {
	position: relative;
	border-radius: 50vh;
}
.rtc_btn_df a.wp-block-button__link::after, .rtc_block_built a.wp-block-button__link::after,
.rtc_tab_area .feature-advertisement-block .wp-block-button__link::after {
	content: '\f105';
	font-weight: 900;
	font-family: 'Font Awesome 5 Free';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	color: #fff;
}


/* ヘッダー - header
-------------------------------------------------- */
.rtc_header_catch {
	padding: 10px 20px;
	font-size: 12px;
	font-weight: 600;
}

@media ( min-width: 480px ) {
	#masthead .site-logo-img .custom-logo {
		max-width: 500px;
	}

	.header_links__list > li a .pc { display: none; }
	.header_links__list { flex-direction: row-reverse; }
	
	.header_links span[class^=icon-] {
		margin-bottom: 0;
		color: var( --color-main- );
	}
	
	.header_links__list > li a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: auto !important;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		border: 1px solid var( --color-main- );
	}
	
	.header_links span.history-count, .header_links span.favorite-count { right: -10px; }
	
	.header_free_content a {
		display: block;
        font-weight: bold;
        font-size: 14px;
        padding: 10px 50px;
        color: #fff;
        background-color: var(--color-main-);
        border-radius: 50vh;
	}
	
	#primary-menu > li > a {
		padding: 0 1.75em;
	}
	.sub-menu > li:not(:last-of-type) {
		border-bottom: 1px solid #ddd;
	}
}


/* イラストマップ - illustmap
-------------------------------------------------- */
.rtc_main_illustmap {
	display: flex;
	margin: 0 calc(50% - (50vw - var(--scrollbar-width) / 2 ));
}
.rtc_list_mainnav {
	list-style: none;
	margin: 0;
	width: 325px;
	background: #fff;
}

.rtc_list_mainnav > li:first-of-type {
	padding: 30px 10px;
	text-align: center;
}
.rtc_list_mainnav > li:first-of-type img {
	max-width: 80%;
}

.rtc_list_mainnav > li {
	border-bottom: 1px solid #e1e1e1;
}
.rtc_list_mainnav > li:not(:first-of-type) a {
	position: relative;
	display: flex;
	padding: 20px 30px;
	color: #333;
	font-weight: bold;
	transition: all ease .6s;
}
.rtc_list_mainnav > li:not(:first-of-type) a svg {
	margin-right: 15px;
	width: 30px;
	height: 30px;
}
.rtc_list_mainnav > li:not(:first-of-type) a::after {
	content: '\f105';
	font-weight: 900;
	font-family: 'Font Awesome 5 Free';
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	color: var( --color-main- );
	transition: all ease .6s;
}
.rtc_list_mainnav > li:not(:first-of-type) a:hover {
	color: #FF3E6C;
	text-decoration: none;
}
.rtc_list_mainnav > li:not(:first-of-type) a:hover::after {
	color: #FF3E6C;
}

.rtc_list_mainnav > li:nth-child(3) a:hover, .rtc_list_mainnav > li:nth-child(3) a:hover::after { color: #FFAA00; }
.rtc_list_mainnav > li:nth-child(4) a:hover, .rtc_list_mainnav > li:nth-child(4) a:hover::after { color: #1BD15D; }
.rtc_list_mainnav > li:nth-child(5) a:hover, .rtc_list_mainnav > li:nth-child(5) a:hover::after { color: #9B51E0; }

.rtc_illustmap_svg {
	position: relative;
	flex: 1;
	min-width: 0;
}


.rtc_character {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	overflow-x: hidden;
	z-index: 4;
}
.rtc_character > img:first-of-type {
	width: 180px;
	height: auto;
}
.rtc_character > img:nth-child(2) {
	position: absolute;
    top: -45px;
    right: 15px;
    width: 155px;
    height: auto;
}
.rtc_character > img:last-of-type {
	margin-right: 20px;
	width: 140px;
	height: auto;
}

.rtc_illustmap_svg img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
	z-index: 2;
}
.rtc_illustmap_svg svg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: auto;
}

.rtc_illustmap_svg svg.rtc_illust_map_area {
	z-index: 1;
}
.rtc_illustmap_svg svg.rtc_illust_map_btn {
	z-index: 3;
}


.rtc_illust_map_btn {
  pointer-events: none;
}
.rtc_illust_map_btn .btn-item {
  pointer-events: auto;
}

.btn-item rect, .btn-item path, .area-item,
.area-item path, g.area-item path {
	transition: fill 0.6s ease; /* 0.4秒かけてふんわり変化（お好みで秒数を調整してください） */
}
/* 例：ホバー時のボタンとエリアの色を別々に定義 */

/* ボタンホバー時の色 (① ボタン: rect と path の色を変更) */
.btn-item.is-hovered rect {
	fill: #e30015; /* お好みのボタンホバー色 */
}
.btn-item.is-hovered path {
	fill: #fff;
}

/* エリアホバー時の色 (② エリア: path の色を変更) */
.area-item.is-hovered,
.area-item.is-hovered path,
g.area-item.is-hovered path {
	cursor: pointer;
	fill: #3A8963; /* お好みのエリアホバー色 */
}


/* 新着物件 - NEWARRIVALS
-------------------------------------------------- */
.rtc_block_arrivals .uagb-column__inner-wrap { position: relative; }
.rtc_block_arrivals .uagb-column__inner-wrap::before {
	content: 'YOU-ME-LIFE';
    position: absolute;
    top: 30px;
    left: -95px;
    font-family: var(--font-main-);
    font-weight: 600;
    font-size: 130px;
    line-height: 1;
    writing-mode: vertical-lr;
	white-space: nowrap;
    color: #fff;
    transform: rotate(180deg);
    z-index: -1;
}

.rtc_tab_area {
	margin-top: 50px;
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	justify-content: space-between;
}
.rtc_tab_area p { margin-bottom: 0 !important; }

.rtc_tab_area .tab_label {
	padding-left: 0 !important;
	width: calc( 100%/3 - 3px );
	height: 50px;
	background-color: #fff;
	line-height: 50px !important;
	font-size: 16px;
	text-align: center;
	color: #333;
	display: block;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
	border-radius: 10px 10px 0 0;
}
.rtc_tab_area .tab_label:hover {
	opacity: 0.75;
}

.rtc_tab_area input[name="tab_items"],
.rtc_tab_area .tab_label::before, 
.rtc_tab_area .tab_label::after {
	display: none !important;
}

.rtc_tab_area .tab_content {
	display: none;
	margin-top: -3px;
	padding: 50px 20px;
	width: 100%;
	border: 5px solid var( --color-main- );
	background: #fff;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}

.rtc_tab_area #tab_01:checked ~ #tab01_content,
.rtc_tab_area #tab_02:checked ~ #tab02_content,
.rtc_tab_area #tab_03:checked ~ #tab03_content {
	display: block;
}

.rtc_tab_area input:checked + .tab_label {
	background-color: var( --color-main- );
	color: #fff;
}

.rtc_tab_area .feature-advertisement-block {
	padding: 0 !important;
}

/* 新築情報 - BUILT
-------------------------------------------------- */
.rtc_block_built {
	padding: 30px 20px 50px !important;
	background: #fff;
	border: 5px solid var( --color-main- );
	border-radius: 10px;
}


/* お知らせ - NEWS
-------------------------------------------------- */
.rtc_block_news {
	position: relative;
	padding: 30px 20px 50px !important;
    background: #fff;
}
.rtc_block_news::before, .rtc_block_news::after {
	content: '';
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1;
}
.rtc_block_news::before {
	top: -245px;
    right: -75px;
	width: 222px;
	height: 146px;
	background-image: url( '/app/uploads/sites/1704/2026/08/parasol_img.png' );
}
.rtc_block_news::after {
	left: -75px;
    bottom: -310px;
	width: 210px;
    height: 150px;
	background-image: url( '/app/uploads/sites/1704/2026/08/pool_img.png' );
}

.rtc_block_news {
	margin: 50px 0;
	padding: 20px 30px !important;
}

.rtc_block_news .es-list.list-direction-column li:last-child { margin-bottom: 10px; }


/* バナー - banner
-------------------------------------------------- */
.rtc_bnr_imgs .wp-block-uagb-column {
	overflow: visible;
}
.rtc_bnr_imgs figure { margin-bottom: 0; }
.rtc_bnr_imgs figure a img {
	transition: all ease .6s;
}
.rtc_bnr_imgs figure a:hover img {
	transform: translateY(6px);
}


/* フッター - footer
-------------------------------------------------- */
.rtc_yumi_family {
	margin-bottom: -60px;
}
.rtc_abs_juice::before {
	content: '';
	position: absolute;
	display: block;
	top: 65px;
	right: 30px;
	width: 100px;
	height: 118px;
	background-image: url( '/app/uploads/sites/1704/2026/08/juice_img.png' );
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 2;
}

.es-link-container.color_main {
	background: #DAEEF3 !important;
	border-bottom: none;
}
footer .footer-adv-overlay {
	border-top: none;
	border-top-style: none !important;
	background: #DAEEF3 !important;
}

.site-footer a { color: #222; }
.es-small-footer { border: none; }


/* フローティングバナー - floating
-------------------------------------------------- */
.rtc_bnr_floating {
	margin: 0;
	list-style: none;
	position: fixed;
	right: 0;
	bottom: 30px;
	z-index: 9;
}
.rtc_bnr_floating > li:first-of-type {
	margin-bottom: 20px;
}
.rtc_bnr_floating > li a {
	display: block;
	padding: 20px 10px;
	font-size: 21px;
	font-weight: bold;
	color: #fff;
    background-color: #06C755;
    border-radius: 10px 0 0 10px;
	line-height: 1.5;
    writing-mode: vertical-rl;
	transition: all ease .6s;
    letter-spacing: .3em;
}
.rtc_bnr_floating > li:last-of-type a { background-color: #E60012; }

.rtc_bnr_floating > li a svg {
	margin-bottom: 10px;
	width: 25px;
	height: 25px;
}
.rtc_bnr_floating > li:first-of-type a svg {
	width: 30px;
	height: 30px;
}

.rtc_bnr_floating > li a:hover {
/* 	opacity: .6; */
	background-color: var( --color-main- );
	text-decoration: none;
}

.rtc_totop {
	position: fixed;
	right: 80px;
	bottom: 80px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	z-index: 9;
}
.rtc_totop.is-show {
	opacity: 1;
	visibility: visible;
}

.rtc_totop svg {
	width: 80px;
	height: 80px;
}



.rtc_sp { display: none !important; }

/* スマホ版 - sp
-------------------------------------------------- */
@media ( max-width: 480px ) {
	.rtc_pc { display: none !important; }
	.rtc_sp { display: block !important; }
	
	.rtc_btn_df a.wp-block-button__link, .rtc_block_built a.wp-block-button__link,
	.rtc_tab_area .feature-advertisement-block .wp-block-button__link {
		min-width: 250px;
	}
	
	.rtc_ttl_main { font-size: 26px !important; }
	.rtc_ttl_main span {
		margin-top: 10px;
		font-size: 12px;
	}
	
	/* ヘッダー - header
	-------------------------------------------------- */
	.rtc_header_catch { font-size: 9px; }
	.header_links li {
        margin-left: 10px;
    }
	
	#masthead .site-branding { max-width: 80%; }
	
	
	/* イラストマップ - illustmap
	-------------------------------------------------- */
	.rtc_list_mainnav {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	
	.rtc_list_mainnav > li:first-of-type { display: none; }
	.rtc_list_mainnav > li:not(:first-of-type) {
		width: 50%;
	}
	.rtc_list_mainnav > li:not(:first-of-type) a::after { display: none; }
	
	
	.rtc_illustmap_svg > img {
		min-height: 200px;
	}
/* 	.rtc_illustmap_svg > svg {
		height: 200px;
	} */
	
	.rtc_character {
		padding-bottom: 2.5px;
        justify-content: flex-end;
	}
	.rtc_character > img:first-of-type { width: 60px; }
	.rtc_character > img:last-of-type {
		margin-right: 5px;
		width: 40px;
	}
	.rtc_character > img:nth-child(2) {
		top: -22px;
        right: 5px;
        width: 75px;
	}
	
	.rtc_list_mainnav > li:first-of-type {
		padding: 20px 10px;
	}
	.rtc_list_mainnav > li:not(:last-of-type) {
		border-bottom: 1px solid #e1e1e1;
	}
	.rtc_list_mainnav > li:last-of-type {
		border-bottom: none;
	}
	.rtc_list_mainnav > li:not(:first-of-type) a {
		padding: 10px 20px;
	}
	.rtc_list_mainnav > li:not(:first-of-type) a svg {
		margin-right: 0;
		margin-bottom: 5px;
		width: 30px;
		height: 30px;
	}
	
	.rtc_main_illustmap {
		margin: 0;
		padding: 0 !important;
		flex-direction: column-reverse;
	}
	
	.rtc_list_mainnav > li:first-of-type img {
		max-width: 40%;
	}
	.rtc_list_mainnav > li:not(:first-of-type) a {
		flex-direction: column;
		align-items: center;
		text-align: center;
        
		font-size: 12px;
	}
	.rtc_list_mainnav > li:not(:first-of-type) a::after {
		right: 20px;
	}
	
	.rtc_list_mainnav > li:nth-child( even ) { border-right: 1px solid #e1e1e1; }
	.rtc_list_mainnav > li:nth-child(4) { border-bottom: none; }
	
	
	.rtc_block_arrivals .uagb-column__inner-wrap::before {
		display: none;
	}
	
	
	/* 新着物件 - NEWARRIVALS
	-------------------------------------------------- */
/* 	.rtc_tab_area .tab_label {
		padding-left: 0 !important;
		width: 100%;
		height: 40px;
		line-height: 40px !important;
		font-size: 14px;
		border-radius: 10px;
	} */
	.rtc_tab_area .tab_label {
		display: flex !important;
		align-items: center;
		justify-content: center;
		font-size: 12px;
		line-height: 1.5 !important;
	}
	.rtc_tab_area .tab_content {
		padding: 20px 10px 30px;
	}
	
	.rtc_block_built { padding: 20px 10px 30px !important; }
	
	.rtc_block_news {
		padding: 20px 0 !important;
	}
	.rtc_block_news::before {
		top: -125px;
        right: -20px;
		width: 120px;
		height: 80px;
	}
	.rtc_block_news::after {
		left: -20px;
        bottom: -255px;
		width: 150px;
		height: 110px;
	}
	
	.rtc_abs_juice::before {
		display: none;
		width: 65px;
		height: 80px;
		top: -60px;
		left: 50%;
		transform: translateX( -50% );
	}
	
	
	/* フローティングバナー - floating
	-------------------------------------------------- */
	:has(.sp.footer_bt_bar.footer_setting_scrolling.fixed) .rtc_bnr_floating {
		bottom: 70px;
	}
	.rtc_bnr_floating {
		right: 0;
		bottom: 20px;
		transition: all ease .6s;
		appearance: none;
		box-sizing: border-box;
		transform: translateZ(0);
	}
	.rtc_bnr_floating > li a {
		padding: 15px 10px;
		font-size: 12px;
	}
	.rtc_bnr_floating > li a svg {
		margin-bottom: 5px;
	}
	.rtc_bnr_floating > li a svg, .rtc_bnr_floating > li:first-of-type a svg {
		width: 20px;
		height: 20px;
	}
	.rtc_bnr_floating > li:first-of-type { margin-bottom: 10px; }
	
	.rtc_totop {
		right: auto;
		left: 5px;
		bottom: 60px;
	}
	.rtc_totop svg {
		width: 40px;
		height: 40px;
	}
}