@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

/* ▼フォント系 */
:root {
	--color-black: #2d2d2d; /* 黒 */
	--color-red: #f03333; /* 赤 */
	--color-lightblack: #6f6f6f; /* 薄い黒 */
	--color-white: #ffffff; /* 白 */
	
	--color-palegrayline: #e2e2e2; /* 線用の薄いグレー */
	--color-gray: #939292; /* 文字色用グレー */
	--color-palegray: #f7f7f7; /* 背景用薄いグレー */
	--color-darkgray: #bababa; /* 濃いグレー*/

	--color-orange:#ffbc0d; /* オレンジ */
	--color-deeporange: #ff8d10; /* 濃いオレンジ */
	--color-paleorange:#fff7e2; /* 薄いオレンジ*/

	--color-star_skyblue: #0197bb;
	--color-star_darkblue: #2f335d;
	--color-blue: #00b1d5; 		/* 水色 */
	--color-paleblue:#eefcff;		/* 薄い水色*/
	
	/* ☆以下要らないかも☆ */
	--color-brightred: #FF3B30; /* 鮮やかな赤 */
	--color-palered: #0a0909; /* 薄い赤 */
	--color-green: #0C9E50; /* 緑 */
	--color-brown: #BB8B1B; /* 茶 */
	--color-lightgray: #D8D5D5; /* 明るいグレー */
	--gray-gradation: linear-gradient(0deg, var(--color-palegray) 0%, var(--color-white) 60px, var(--color-white) 100%);/* グレーのグラデーション */
	--orange-gradation: linear-gradient(0deg, var(--color-paleorange) 0%, var(--color-white) 60px, var(--color-white) 100%);/* オレンジーのグラデーション */
	
	/* 共通設定 */
	--base-radius : 10px;
	--btn-radius : 20px;

}
* {
	font-family: 'Noto Sans JP', sans-serif;
	/* font-size: 16px; */
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	line-height: 1.6em;
	font-weight: 400;
	color: var(--color-lightblack);
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.06em;
	box-sizing: border-box; 
}
a, .button_style
{
	transition : all 0.5s;
}
html, body {
	overflow-x: hidden;
	box-sizing: border-box;
}
main {
	margin-top: 60px;
}

/* リンク系 */
.logo-link {
	display: block;
	max-height: 60px;
}

.text_link {
	color: var(--color-red);
	margin: 0 0.2em;
	cursor: pointer;
	display: inline-block;
}
.text_link_red{
	color: var(--color-red);
	margin: 0 0.2em;
	cursor: pointer;
    display: inline-block;
    position: absolute;
    bottom: -10px;
    right: 5px;
    width: 110px;
}
.text_link_orange:hover,
.text_link_red:hover,
.text_link:hover {
	text-decoration: underline;
}

/* パンくずリスト */
#BREADCRUMB {
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: var(--color-palegray);
}

#BREADCRUMB li {
	display: inline-block;
	font-size: 0.8rem;
	color: var(--color-darkgray);
}

#BREADCRUMB li a:hover {
	color: var(--color-red);
}

#BREADCRUMB li:not(:last-of-type)::after {
	content: ">";
	font-size: 14px;
	vertical-align: middle;
	margin-left: 0.5em;
}

/* ▼ボタン */
.button_style {
	display: grid;
	place-items: center;
	align-items: center;
	font-size: 14px;
	min-width: 123px;
	gap: 5px;
    padding: 8px 15px;
	line-height: 1.1em;
	text-align: center;
	cursor: pointer;
}
.button_style.width_fit_content {
	min-width: 0;
}
.btn_border_white
{	
	border: 1px solid var(--color-orange);
	border-radius : var(--base-radius);
}
.btn_border_white:hover
{
	border: 1px solid var(--color-gray);
	color : var(--base-white);
}
.btn_border_gray
{	
	border: 1px solid var(--color-gray);
	border-radius : var(--base-radius);
}
.btn_border_gray:hover
{
	color : var(--color-orange);
	border: 1px solid var(--color-orange);
}



.large_btn{
    font-size : 18px;
    padding : 10px 30px;
}

.shadow_btn {
	align-items: center;
	justify-items: center;
	padding: 7px 15px;
	border: 1px solid var(--color-gray);
	border-radius: 8px;
	background-color: var(--color-white);
	box-shadow: var(--color-lightgray) 0 -4px 0 inset;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	cursor: pointer;
}
.shadow_btn:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
    transform: translateY(-2px); 
}
.shadow_btn:active {
    transform: translateY(2px);
}

.box_btn {
	padding: 10px 20px;
	text-align: center;
	border: 2px solid;
	box-sizing: border-box;
	text-align: center;
}
.box_btn_orange {
	padding: 15px;
	text-align: center;
	display: inline-block;
    margin: 15px 5px;
}
.box_btn_orange:hover
{
	opacity : 0.5;
}
.box_btn_gray {
	padding: 13px 15px;
	text-align: center;
	border: 2px solid;
	display: inline-block;
}
.box_btn_gray::after
{
	display : inline-block;
	content : "＞";
	padding : 0px 0px 0px 10px;
	font-size : 12px;
}
.links_container .box_btn_orange
{
	margin : 0px;	
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: center;
}

/* ▼ボタンサイズ */
.shadow_btn_grid {
	display: grid;
	grid-template-columns: 1fr auto;
}
.shadow_btn_inline {
	display: inline-block;
}
.area_map_btn_size {
	width: 153px;
	height: 71px;
}
.search_other_btn_size {
	max-width: 170px;
	height: 40px;
}

/* ▼ボタン色 */
.bg_color_darkgray {
	background-color: var(--color-darkgray);
	color: var(--color-white);
	border-color: var(--color-darkgray);
}
.bg_color_darkgray:hover {
	background-color: var(--color-white);
	color: var(--color-darkgray);
	border-color: var(--color-darkgray);
}

.bg_color_mediumorange {
	background-color: var(--color-mediumorange);
	color: var(--color-white);
	border-color: var(--color-mediumorange);
}
.bg_color_mediumorange:hover {
	background-color: var(--color-white);
	color: var(--color-mediumorange);
	border-color: var(--color-mediumorange);
}

.bg_color_white {
	background-color: var(--color-white);
	color: var(--color-deeporange);
	border-color: var(--color-deeporange);
}
.bg_color_white:hover {
	background-color: var(--color-deeporange);
	color: var(--color-white);
	border-color: var(--color-white);
}
.bg_color_orange
{
	background-color: var(--color-orange);
	color : var(--color-black);
}
.bg_color_deeporange {
	background-color: var(--color-deeporange);
	color: var(--color-white);
	border-color: var(--color-deeporange);
}
.bg_color_deeporange:hover {
	background-color: var(--color-white);
	color: var(--color-deeporange);
	border-color: var(--color-deeporange);
}

.bg_border_red {
	background-color: var(--color-white);
	color: var(--color-red);
	border-color: var(--color-red);
}
.bg_border_red:hover {
	background-color: var(--color-deeporange);
	color: var(--color-white);
	border-color: var(--color-deeporange);
}

.bg_color_gray {
	background-color: var(--color-palegray);
	color: var(--color-darkgray);
	border-color: var(--color-lightgray);
}

.bg_color_gray:hover {
	background-color: var(--color-palegrayline);
	color: var(--color-black);
	border-color: var(--color-lightgray);
}
.button_disabled{
	background-color: var(--color-palegrayline);
	color: var(--color-gray);
	border-color: var(--color-palegray);
	pointer-events: none;
}
.button_abled{
	background-color: var(--color-deeporange);
	color: var(--color-white);
	border-color: var(--color-deeporange);
	pointer-events: auto;
}
.button_abled:hover{
	background-color: var(--color-white);
	color: var(--color-deeporange);
	border-color: var(--color-deeporange);
}
.archive_more {
    position: absolute;
    right: 0;
    top: calc(100% - 20px);
}
/* テキスト色 */
.text_white {
	color: var(--color-white);
}

.text_black {
	color: var(--color-black);
}
.text_lightblack {
	color: var(--color-lightblack);
}
.text_red {
	color: var(--color-red);
}

.text_brightred {
	color: var(--color-brightred);
}
.text_orange{
	color: var(--color-orange);
}

.text_deeporange{
	color: var(--color-deeporange);
}

.text_darkorange {
	color: #cc6f0d;
}

.text_gray {
	color: var(--color-gray);
}

.text_brown {
	color: var(--color-brown);
}

.text_lightgray {
	color: var(--color-lightgray);
}

.text_nightridergray {
	color: #2d2d2d;
}

.font_weight_medium {
	font-weight: 500;
}

.line_height_05 {
	line-height: 0.5;
}
.annotation {
	font-size: 14px;
	color: var(--color-black);
	line-height: 1.1em;
	font-weight: normal;
}

.ruby_base {
	position: relative;
	display: inline-block;
}

.ruby {
	position: absolute;
	display: inline-block;
	top: -2.3em;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 0.3em;
}
.vertical_align_super{
	vertical-align: super;
}

/* 新着バッチ */
.new_arrival_badge {
	position: relative;
}

.new_arrival_badge.active::before {
	content: "";
	position: absolute;
	display: block;
	height: 8px;
	width: 8px;
	border-radius: 8px;
	background-color: var(--color-deeporange);
	top: -5px;
	right: -5px;
}

.new_arrival_badge.active::after {
	content: "";
	position: absolute;
	display: block;
	height: 8px;
	width: 8px;
	border-radius: 8px;
	background-color: var(--color-deeporange);
	top: -5px;
	right: -5px;
	transform: scale(0);
	opacity: 0.5;
	animation: newArrivaPop 1.5s ease-in-out;
}

@keyframes newArrivaPop {
	0% {
		transform: scale(0);
		opacity: 0.5;
	}

	70% {
		transform: scale(3);
	}

	100% {
		transform: scale(1);
		opacity: 0;
	}
}

/* タイトル */
.subtitle {
	color: var(--color-mediumorange);
	font-size: min(1.3rem, 4vw);
	line-height: 1.3em;
}

.main_title {
	color: var(--color-black);
	font-size: min(1.8rem, 6vw);
	font-weight: 700;
	line-height: 1.3em;
}

.contents_title {
	color: var(--color-black);
	font-size: min(1.8rem, 6vw);
	font-weight: 700;
	line-height: 1.3em;
	padding-left : 10px;
}
.contents_title.accent_hidden{
	padding-left : auto;
	background: none;
}
.contents_title input
{
	display : none;
}
.item_title {
	color: var(--color-palered);
	font-size: min(1.3rem, 4vw);
	line-height: 1.3em;
}
.item_subtitle {
	color: var(--color-darkgray);
	font-size: min(1.1rem, 4vw);
	line-height: 1.3em;
	padding: 20px 0;
}
.main_title_wrapper
{
	padding : 20px 0px;
	min-height: 106px;
}
.main_title_wrapper > p
{
	color: var(--color-black);
	font-size: 18px;
	margin: 10px 0px;
}



/* 左右配置デフォルト */
.two_column_contents_layout {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content: space-between;
	/* IE10 */
	justify-content: space-between;
}
.two_column_contents_layout.even{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 50px;
}

.two_column_contents_layout_text {
	width: calc(240px + 30%);
	order: 1;
}

.two_column_contents_layout_img {
	width: calc(70% - 240px - 50px);
	order: 2;
	text-align: center;
}

.two_column_contents_layout .img_decoration {
	display: block;
}

.two_column_contents_layout_text_large {
	width: calc(200px + 50%);
	order: 1;
}

.two_column_contents_layout_img_small {
	width: calc(50% - 200px - 50px);
	order: 2;
	text-align: center;
}

.two_column_contents_layout_text_small {
	width: calc(200px + 20%);
	order: 1;
}

.two_column_contents_layout_img_large {
	width: calc(80% - 200px - 50px);
	order: 2;
	text-align: center;
}

/* cookieバーの確認 */
.cookie_bar
{
    position: fixed;
    z-index: 9999;
}

#ANNOTATION
{
    margin-top: 10px;
}
/* 3カラムタイル */
.three_column_contents_wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 50px;
}
/* フッター */
a.disabled {
    pointer-events: none;
    color: rgb(200, 200, 200) !important;
}
/* リスト */
.list_style {
	padding-left: 1.5em;
}

.list_style_decimal {
	list-style-type: decimal;
}

.list_style_square {
	list-style-type: square;
}

.list_style_position{
    list-style-position:inside;
}

.list_style_lower-latin{
    list-style-type:lower-latin;
}

.list_style_disc{
    list-style-type:disc;
}

/* テーブル */
.table_style {
	width: 100%;
}

.table_style th, .table_style td {
	padding: 15px 0px;
	line-height: 1.3em;
}

.table_style tr:not(:last-of-type) {
	border-bottom: 2px solid var(--color-palegrayline);
}

.table_style th {
	white-space: nowrap;
	color: var(--color-palered);
	font-size: 0.875rem;
	padding-right: 30px;
	text-align: right;
}

/* ラベル系 */
.label_style {
	font-size: 0.875rem;
	display: inline-block;
	padding: 10px 15px;
	margin: 0 0.5em 0.5em 0;
	line-height: 1em;
	border: 2px solid var(--color-palegray);
	color: var(--color-lightblack);
	background-color: var(--color-palegray);
	cursor: pointer;
}

input:checked+.label_style {
	border-color: var(--color-orange);
	background-color: var(--color-paleorange);
	color: var(--color-orange);
}

select {
	border: 2px solid var(--color-palegrayline);
}

select:focus {
	border: 2px solid var(--color-lightgray);
	outline: 1px solid var(--color-lightgray);
}
input[type="checkbox"],
input[type="radio"]{
	accent-color: var(--color-orange);
}
::-webkit-input-placeholder{
	color : var(--color-lightgray);
}
:-moz-placeholder{
	color : var(--color-lightgray);
}
:-ms-input-placeholder{
	color : var(--color-lightgray);
}
/* 背景 */
.gray_gradation{
	background-image: var(--gray-gradation);
}
.bg_background_color
{
	background-color : var(--color-palegray);
}

/* ヘッダー */
header
{
	display : grid;
	grid-template-columns: auto 1fr auto auto;
	align-items: center;
	position : fixed;
	width: 100%;
	background-color: var(--color-white);
	border-bottom : 1px solid var(--color-palegrayline);
	z-index: 10000;
}
header a,
header span
{
	font-size : 12px;
}
header a
{
	color: #2d2d2d;
}
#MAIN_NAV
{
	display : contents;
}
#MAIN_NAV > a
{
    margin-right: 20px;
    text-align: center;
    font-size: 0.6rem;
    border-left: 1px var(--color-lightgray) solid;
    padding: 5px 0px 0px 20px;
    height: 100%;
}
#MAIN_NAV > a svg
{
	margin-bottom: -15px;
	fill: var(--color-star_skyblue);
}
#NAV_MENU
{
	display : grid;
	grid-template-columns: 1fr auto;
}
header .logo
{
	display : grid;
	grid-template-columns: auto auto;
	align-items: center;
}
header .logo span > span
{
	color : var(--color-black);
}
.nav-list
{
	justify-self: end;
	grid-auto-flow: column;
	padding-right: 20px;
}
.nav-list a:hover
{
	color : var(--color-red);
}
header .button_style
{
	margin-right : 20px;
	min-width: 125px;
	align-items: center;
	grid-template-columns: auto 1fr;
}

/* モバイル用ハンバーガーメニュー */
.hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	width: 30px;
	height: 30px;
	cursor: pointer;
	justify-self: end;
	margin-right : 20px;
}
.hamburger span {
	background: var(--color-black);
	height: 3px;
	margin: 4px 0;
	transition: 0.3s;
}


/* フッター */
footer a
{
	font-size : 12px;
	color : var(--color-gray);
}
footer a:hover
{
	opacity : 0.5;
}
footer p, #SEARCH_LIST_TITLE
{
	font-size : 16px;
	color : var(--color-black);
}
footer ul
{
	display : flex;
}
footer ul li
{
	position : relative;
	padding : 0px 15px;
}
footer ul li:after
{
	content : "";
	height : 90%;
	display : inline-block;
	border-right : 1px solid var(--color-palegrayline);
	bottom: 0;
	right: 0px;
    position: absolute;
}
footer ul li:last-child:after
{
	display : none;
}
#FOOTER_OTHER 
{
	position : relative;
}
#FOOTER_OTHER:before,
#FOOTER_OTHER:after
{
	content: url(../img/bg_image.png);
	display: inline-block;
	width: 406px;
	height: 106px;
	position : absolute;
	bottom : 0;
	transform: scale(-1, 1);
}
#FOOTER_OTHER:after
{
	right : 0;
}
#FOOTER_OTHER > div:nth-child(1)
{
	border-top : 1px solid var(--color-palegrayline);
	display : grid;
	grid-template-columns: 1fr 1.8fr;
}
#FOOTER_OTHER > div:nth-child(2) ul
{
	margin : 100px auto 10px auto;
	width: 250px;
}
#FOOTER_COPYRIGHT
{
	display : grid;
	grid-template-columns: auto 1fr auto;
	border-top : 1px solid var(--color-palegrayline);
	text-align: right;
	align-items : center;
}
footer #FOOTER_COPYRIGHT p
{
	color : var(--color-gray);
	font-size : 12px;
}
#FOOTER_MAIN p,
#FOOTER_OTHER p {
	color: var(--color-palered);
	font-weight: bold;
}
#FOOTER_OTHER a {
	color: #2d2d2d;
}
.footer_menu
{
	display : grid;
	grid-template-columns: auto 1fr;
	padding : 10px;
	margin : 10px 20px;
}
.footer_menu > p
{
	margin-right : 10px;
}
.footer_menu ul
{
	margin-left : 20px;
}
.footer_menu_main
{
	margin : 10px 20px;
}
.footer_menu_main > div > ul
{
	display  : block;
	margin : 10px;
}
.footer_menu_main > div > ul > li
{
	display : grid;
	grid-template-columns: 100px 1fr;
	padding : 0px 5px 0px 15px;
}
.footer_menu_main > div > ul > li::after
{
	display : none;
}
.footer_menu_main > div > ul a
{
	color : var(--color-black);
}
.footer_menu_main > div > ul > li > ul
{
	display : flex;
	flex-wrap : wrap;
}
.footer_menu_main > div > ul > li > ul > li
{
	padding : 0px 5px;
}
#FOOTER_SEARCH > ul > li > span
{
	font-size : 12px;
}
#FOOTER_SEARCH
{
	display : grid;
	grid-template-columns: auto auto;
}
#FOOTER_MAIN
{
	border-top : 1px solid var(--color-palegrayline);
}
#FOOTER_MAIN > div
{
	display : grid;
	grid-template-columns: auto 300px;
}



/* 物件 タグ */
.estate_tag {
	font-size: 14px;
	line-height: 1em;
	padding: 5px;
	margin-bottom: 5px;
    display: inline-block;
}
.estate_tag:not(:last-of-type) {
	margin-right: 5px;
}

.estate_tag.member_only {
	background-color: var(--color-deeporange);
	color: var(--color-white);
	border: 1px solid var(--color-deeporange);
}

.estate_tag.price_down {
	background-color: var(--color-white);
	color: var(--color-red);
	border: 1px solid var(--color-red);
}

.estate_tag.new_arrival {
	background-color: var(--color-white);
	color: var(--color-green);
	border: 1px solid var(--color-green);
}

.estate_tag.photo_substantial {
	background-color: var(--color-white);
	color: var(--color-brown);
	border: 1px solid var(--color-brown);
}
.estate_tag.estate_cateogry {
	padding: 3px 0;
	color: var(--color-gray);
}
.estate_tag.estate_cateogry {
	padding: 3px 0;
	color: var(--color-gray);
}
.estate_info
{
	padding: 5px 0px 5px 0px;
}
.estate_tag.sales {
	background-color: var(--color-white);
	color: var(--color-blue);
	border: 1px solid var(--color-blue);
}
.estate_tag.sp {
	background-color: var(--color-white);
	color: var(--color-blue);
	border: 1px solid var(--color-blue);
}
/*店舗名*/
.shop_name {
	display: inline-block;
	font-size: .8rem;
	padding: 5px 0px;
	padding-left: 5px;
	line-height: 1.1em;
	color: var(--color-deeporange);
	border-left: 3px solid var(--color-deeporange);
}
/* 店舗情報 */
.shop_information 
{
	grid-template-columns: 1fr 400px;
}
.shop_basic_information a
{
    margin: unset;
    display: inline;
}
.shop_contact
{
	text-align: right;
}
.shop_tile .shop_name{
	font-size: min(1.75rem, 5.3vw);
	border-left-width: 5px;
	padding-left: 10px;
}
.shop_tag_list{
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    padding : 0;
}
.shop_tag{
    font-size : 0.875rem;
    padding: 5px;
    line-height: 1em;
    background-color: var(--color-palegray);
    border: 2px solid var(--color-palegrayline);
    color: var(--color-black);
    margin-right: 0.3em;
    margin-bottom: 0.3em;
	display: inline-block;
}
.shop_tile .shop_comment{
	font-size : 0.85rem;
	padding : 15px;
	margin-top : 10px;
	background-color: var(--color-palegray);
	line-height: 1.3em;
	text-align: left;
}
#ACCESS_MAP, #MAP {
    height: 100vw;
    max-height: 500px;
    background-color: var(--color-lightgray);
	border: 1px solid var(--color-palegrayline);
	width: 100%;
}
.table_style tr.table_keiai:not(:last-of-type){
	border-bottom : 5px double var(--color-black);
}
.table_style tr.table_keiai th{
	color : var(--color-black);
	text-align : left;
}
.shop_tile table th{
	width : 20px;
}
.shop_address {
	grid-template-columns: auto 1fr;
}
/*ニュース情報*/
.news_list > article > div{
	width: 150px;
}
.news_list > article > div.news_details{
	width: calc(100% - 150px);
}
.news_list > article{
	border-bottom: 2px dashed var(--color-paleorange);
}
.news_list > article:nth-last-of-type(1){
	border-bottom: 0px none;
}
.news_category{
	background-color: var(--color-deeporange);
	color : var(--color-white);	
	padding: 3px 10px 3px 10px;
	display: inline-block;
}
.news_list .image_container {
	display: inline-block;
}
.image_container {
	position: relative;
	width: 30%;
	margin: 0 1% 1% 0;
	max-width: 200px;
	cursor: pointer;
}
.image_container:after {
	display: block;
	padding-top: 75%;
	content: "";
}
.image_container img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	max-width: 100%;
	max-height: 100%;
	height: auto;
}
#CAMPAIGN1_IMAGE .image_container{
	max-width: 100%;
	width : 100%;
}
.news_text a{
    color: var(--color-brown);
}
.news_text a:hover {
    opacity : 0.6;
}

/* ヘッダー下追従ナビゲーション */
#TOP_FLOATING_NAV_WRAPPER {
    position: sticky;
    top: 79px;
    z-index: 10;
    background: var(--color-white);
	border-bottom: 1px solid var(--color-lightgray);
	border-top: 1px solid var(--color-lightgray);
}
#TOP_FLOATING_NAV {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(100px,1fr));
}
#SHOP_FLOATING_NAV {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 250px));
    gap: 20px;
}
#TOP_FLOATING_NAV a, #SHOP_FLOATING_NAV a{
	padding: 10px 2px;
	line-height: 1em;
	font-size: 14px;
	text-align: center;
	color: var(--color-black);
	letter-spacing: 0;
	border-right: 1px solid var(--color-palegrayline);
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content : center;
	align-items : center;
	cursor: pointer;
}
#TOP_FLOATING_NAV a:first-of-type{
	border-left: 1px solid var(--color-palegrayline);
}
#TOP_FLOATING_NAV a:hover{
    background: var(--color-palegray);
}
#SHOP_FLOATING_NAV a
{
	border: 1px solid var(--color-palegrayline);
}


/* CTA */
.cta {
	background-color: var(--color-white);
	border: 15px solid var(--color-mediumorange);
	max-width: 1500px;
    margin: 0 auto;
}
.cta_container {
	display: grid;
	grid-template-columns: 55% 45%;
	position: relative;
}

.cta_text {
	padding-left: 40px;
	padding-right: 10px;
}
.cta_text .line_height_1_5 {
	line-height: 1.5;
}
.cta .highlight {
	background: linear-gradient(transparent 60%, #ffe4d2 60%);
}
.cta .underline {
	border-bottom: 1px solid var(--color-deeporange);
	display: inline-block;
}
.cta .pc_break {
	display: block;
}

.cta_img {
	position: relative;
	max-height: 500px;
}
.cta_img .cta_giftcard {
	position: absolute;
	bottom: 3%;
    left: -33%;
	z-index: 1;
}
.cta_img_container {
	display: grid;
	grid-template-columns: auto auto auto;
	height: 100%;
}
.cta_img_tile {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 90% 0%;
}

.cta_img .cta_message {
	position: absolute;
	bottom: -1%;
    right: 3%;
}


/* コラム ブロック状タイル */
.column_box_tile{
	display: block;
	/*max-width: 400px;*/
}
.column_box_tile_text{
	position: relative;
	padding : 15px;
	padding-bottom: 2em;
	background-color: var(--color-palegray);
}
/* 物件タイル */
.estate_base {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(320px,1fr));
    gap: 30px;
    margin-top: 80px;
}
.exhibition_and_sale_content{
	background-color : var(--color-palegray);
	padding : 10px;
}
.exhibition_and_sale_image{
    position: relative;
}
.exhibition_and_sale_accent{
    position : absolute;
    top : 0px;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: var(--color-white);
	white-space: nowrap;
}
.exhibition_and_sale_accent_top{
    background : var(--color-black);
    color: var(--color-white);
}
.exhibition_and_sale_overview{
    margin : 30px;
}
.exhibition_and_sale_tile{
    position: relative;
}
.estate_box_tile_wrapper .exhibition_and_sale_tile:last-of-type{
    margin-right: 0;
}
.estate_specification dl{
	-ms-align-items : center; /* IE10 */
	    align-items : center;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-wrap : wrap;
	    flex-wrap : wrap;
		font-size : 14px;
}
.estate_specification dd{
	font-size : .875rem;
	padding-left : 15px;
	width : calc(100% - 40px);
	word-break : break-all;
	color : var(--color-gray);
}

.estate_price{
	display: grid;
	align-items: center;
	padding-right: 20px;
}
.estate_price .reform
{
    font-size: 0.8rem;
    display: block;
    font-weight: normal;
}
.exhibition_and_sale_image .icon_lineup_logo{
	position: absolute;
	left : 0;
	top : 0;
	left: 0;
	margin: auto;
    width: 60px;
    height: 60px;
    padding: 0px;
	z-index : 1;
	background-color: #ffffff;
    padding: 5px;
}
article:not(:first-child) {
	padding-top: 30px;
  }

/* その他バナー */
.special_banner img{
	border : 1px solid var(--color-black);
}
.special_banner .pc_hidden{
	display: none;
}

/* Cookieについて */
.cookie_notification
{
	display: flex;
	align-items: center;
	justify-content: space-around;
	position: fixed;
	bottom: 0px;
	left: 0px;
	background-color: rgba(0,0,0,0.6);
	padding: 17px 30px 17px 30px;
	width: 100%;
	z-index: 1000;
}
.cookie_text
{
	margin: 0px;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	padding-right: 30px;
}
.cookie_button button
{
	width: 110px;
	height: 36px;
	font-size: 12px;
}
/* GoogleMAP */
#GOOGLEMAP
{
	border: 1px solid #2d2d2d;
	width: 100%;
    height: 500px;
}
#JAPAN_MAP_SP .map_sp span.disabled,
.footer_menu_main > ul a.disabled,
.disabled label,
.disabled
{
	color : var(--color-lightgray) !important;
	fill : var(--color-lightgray);
}

/* 日本地図 */
.btn_region:hover
{
	opacity : 0.5;
	cursor : pointer;
}
.btn_region > g > rect
{
	filter: drop-shadow(1px 3px 3px #e5e5e5);
}
.inactive,
.region_map
{
	display : none;
}
.active,
.region_map.active 
{
	display : block;
	text-align : center;
}
.region_title
{
	margin : 20px 0px 10px 0px;
}
.region_title h3
{
	font-size : 1.8rem;
	font-weight : bold;
	color : var(--color-black);
}
.region_title span
{
	color : var(--color-deeporange);
    font-size: 18px;
    cursor: pointer;
    margin: 20px;
    display: block;
	border: 1px var(--color-deeporange) solid;
    border-radius: 5px;
    padding: 10px;
    width: 200px;
    background-color: var(--color-white);
    margin: 20px auto 30px auto;
}
.region_title span:hover
{
	opacity : 0.5;
}

/* 日本地図 */
g[data-regions]:hover
{
	/* 全国の各県のボックスのhover */
	cursor : pointer;
}
g[data-regions] > g
{
	filter: drop-shadow(1px 1px 3px #9c9c9c);
}
g[data-regions]:hover > g > rect
{
	fill : var(--color-orange);
    transition: all ease 0.3s;
}
g[data-regions]:hover > text
{
	fill : var(--color-white);
}

/* 全国の各県のhover */
g[data-name] > g:hover > path
{
	opacity : 0.8;
}


/* 各県のボタン */
[data-region] g[data-name]
{
	cursor : pointer;
	filter: drop-shadow(1px 1px 3px #9c9c9c);
    transition: all ease 0.3s;
}
g[data-name]:hover rect
{
	fill : var(--color-orange);
}
g[data-name]:hover tspan
{
	fill : var(--color-white);
}
/* 全国だけ影つけない */
[data-region="全国"] g[data-name]
{
	filter : none;
}
/* 各県の地図 */
path[data-name]
{
	cursor : pointer;
    transition: all ease 0.3s;
}
path[data-name]:hover
{
	opacity : 0.8;
}
/* 物件がないときの表示 */
g[data-name="地図"] > g[data-name].disabled:hover > path
{
	opacity : 1;
	cursor : auto;
}
g[data-name].disabled
{
	cursor : auto;
}
g[data-name].disabled > rect
{
	fill : var(--color-lightgray);
	stroke : var(--color-palegrayline);
}
g[data-name].disabled > text > tspan
{
	fill : var(--color-gray);
}
[data-name="日本地図"] g[data-name].disabled{
	pointer-events: none;
}
#LOGIN .form_table_style
{
	width : 90%;
	margin : 20px auto;
}

/* よくあるご質問 */
#FAQ_WRAPPER {
	max-width: 880px;
    margin: 0 auto;
}
.cat_container {
	display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
    justify-content: center;
    margin: auto;
    width: 100%;
    height: 100%;
    background-color: var(--color-palegray);
    border-radius: 8px;
   	padding: 50px 0;
}
.cat_icon {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.big_icon {
	width: 100px;
    height: 100px;
    background-color: #FFFFFF;
    border: 1px solid #999999;
    cursor: pointer;
    border-radius: 50%;
    transition: all ease 0.3s;
	display: grid;
	place-items: center;
	margin-bottom: 5px;
}
.big_icon:hover {
	border: 1px solid var(--color-orange);
}
.icon_inner {
	width: 70%;
	height: auto;
}
.faq_cat {
	display: grid;
    grid-template-columns: auto 1fr;
    position: relative;
    padding-bottom: 20px;
    padding-top: 50px;
    align-items: center;        
    gap: 10px;
}
.title_icon {
	width: 33px;
    height: 33px;
}
.faq_container {
	text-align: justify;
    margin-bottom: 0.5rem;
}
.faq_container p a 
{
    display: inline;
}
.faq_title
{
    display: grid;
    grid-template-columns: auto 1fr;
    position: relative;
    background: #ebebeb;
    padding: 15px 25px;
    cursor: pointer;
}
.case_number_font
{
    font-family: 'メイリオ', Meiryo, sans-serif;
    line-height: 1.1;
}
.faq_see_more_container label
{
    cursor: pointer;
}
.faq_title p,
.faq_container div > p
{
    margin-left: 10px;
}
.faq_title:after 
{
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: solid 2px #272727;
    border-bottom: solid 2px #272727;
    transform: rotate(45deg) translate(100%, 100%);
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0.5rem;
    margin-right: 1rem;
}
.faq_container input:checked ~ label:after
{
    transform: rotate(-135deg) translate(-100%, -100%);
    margin-top: 0.75rem;
}
.faq_container input,
.faq_see_more_container input
{
    display: none;
}
.faq_container div
{
    max-height: 0px;
    opacity: 0;
    padding: 5px 25px;
    display: grid;
    grid-template-columns: auto 1fr;
    margin: 0;
}
.faq_container input:checked ~ div
{
    position: relative;
    max-height: 2000px;
    opacity: 1;
    transition: opacity 0.5s ease-in-out, height 0.5s ease-in-out;
    border: 1px solid #ebebeb;
    padding: 15px 25px;
    margin: 0 0 0.5rem;
    /*z-index: 2;　<a>があるとき使う*/
}
.faq_see_more_hidden
{
    height: 0px;
    opacity: 0; 
    pointer-events: none;
}
.faq_see_more_container input:checked ~ .faq_see_more_hidden
{
    height: auto;
    opacity: 1;
    pointer-events: all;
    transition: opacity 0.5s ease-in-out, height 0.5s ease-in-out;
}
.faq_see_more_container input:checked ~ #FAQ_SEE_MORE_BTN img
{
    transform: rotate(180deg);
}
#FAQ_SEE_MORE_BTN
{
    position: relative;
}
#FAQ_SEE_MORE_BTN::before
{
    content: "";
    display: block;
    height: 100px;
    position: absolute;
    top: -110px;
    bottom: 0;
    right: 0;
    left: 0;
    background: linear-gradient(rgba(0, 0, 0, 0) 45%, rgba(255, 255, 255, 10));
}
.faq_see_more_container input:checked ~ #FAQ_SEE_MORE_BTN::before
{
    display: none;
}

/* サイトマップ */
.sitemap{
    padding: 20px;
    margin-bottom: 50px;
    cursor: pointer;
}
.sitemap li a:hover{
    color: var(--color-brown);
}
.sitemap li{
    display: inline-block;
}
.sitemap li:not(:last-of-type):after{
    content: "/";
    margin: 0 10px;
}
.sitemap_border_dashed{
    border-bottom: 2px dashed var(--color-gray);
    padding-bottom: 15px;
}
/* 沿線・駅から探す */
#STATION_LIST
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 16px;
	justify-content: center;
}
#STATION_LIST [data-station]
{
	display: grid;
	grid-template-columns: 20px 1fr 30px;
	background-color: #efefef;
	background-color: #fff7e2;
	padding: 10px;
}
#STATION_LIST [data-station] div
{
	padding-left : 10px;
}
#STATION_LIST [data-line]
{
	grid-column: 1 / -1;
	background-color: var(--color-palegrayline);
	display: grid;
	grid-template-columns: 40px 1fr;
	padding : 10px;
}
#STATION_LIST input[type="checkbox"]
{
	width : 15px;
}

#SHOP_ESTATE_BUTTON
{
	
}

/* ----------------------------------------------------------------------------- */
/* 1600px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1600px) {
}

/* ----------------------------------------------------------------------------- */
/* 1350px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1350px) {

	/* header */
	.logo span
	{
		font-size : 10px;
		line-height: 1.5em;
	}
	.logo span > span:before
	{
		content : "";
		display : block;
	}
}

/* ----------------------------------------------------------------------------- */
/* 1200px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1200px) {

}

/* ----------------------------------------------------------------------------- */
/* 1050px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1050px) {
	header .logo > span
	{
		display: none;
	}
	.estate_price {
		padding-right: 20px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 950px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 950px) {
	/* フッター */
	#FOOTER_MAIN > div
	{
		grid-template-columns: auto;
	}
	#FOOTER_OTHER > div:nth-child(1)
	{
		grid-template-columns: auto auto;
	}
	#FOOTER_OTHER:before
	{
		display : none;
	}
	#FOOTER_OTHER:after
	{
		width : 300px;
		bottom : 30px;
		transform: none;
	}
	#FOOTER_OTHER > div:nth-child(2) ul
	{
		margin: 50px auto 10px auto;
	}
	#FOOTER_COPYRIGHT
	{
		grid-template-columns: auto;
		position : relative;
		text-align: left;
		padding-top: 10px;
	}
	#FOOTER_COPYRIGHT div
	{
		width : calc(100% - 150px);
        line-height: 1.2em;
        margin: 10px;
	}
	#FOOTER_COPYRIGHT div span
	{
		display : block;
	}
	#FOOTER_COPYRIGHT a
	{
		position : absolute;
		right : 0;
		bottom : 0;
		width : 120px;
	}

	.two_column_contents_layout_text{
		width : 100%;
		order : 2;
	}
	.two_column_contents_layout_img{
		width : 100%;
		order : 1;
		margin-bottom : 30px;
	}
	.two_column_contents_layout_text_large{
		width : 100%;
		order : 1;
	}
	.two_column_contents_layout_img_small{
		width : 100%;
		max-width: 350px;
		margin: auto;
		margin-bottom : 15px;
		order : 1;
	}
	.two_column_contents_layout_text_small{
		width : 100%;
		order : 2;
	}
	.two_column_contents_layout_img_large{
		width : 100%;
		order : 1;
		margin-bottom : 10px;
	}
	.table_style tr{
		width : 100%;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:flex;
		justify-content : center;
		-ms-flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
		border-bottom: none;
	}
	.table_style tr:first-child{
		border-top : 2px solid var(--color-palegrayline);
	}
	.shop_tile table th,
	.table_style th{
		width : 100%;
		border : none;
		padding : 10px 5px;
		padding-bottom: 0;
		display : block;
		white-space: keep-all;
		text-align: left;
	}
	.table_style td{
		width : 100%;
		display : block;
		padding : 10px 5px;
	}
	/* ヘッダー下追従ナビゲーション */
	#TOP_FLOATING_NAV_WRAPPER{
		top : 64px;
	}
	#TOP_FLOATING_NAV{
    	grid-template-columns: repeat(auto-fit,minmax(60px,1fr));
	}
	#TOP_FLOATING_NAV a{
		font-size: 12px;
	}
	#SHOP_FLOATING_NAV
	{
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	}
	/* CTA */
	.cta_container {
		display: grid;
		grid-template-columns: 1fr;
	}
	.cta_text {
		text-align: center;
		padding: 10px;
	}
	.cta_img {
		max-height: 150px;
	}
	.cta_img .cta_message {
		bottom: unset;
		width: 210px;
		top: -10px;
		left: -10px;
	}
	.cta_img .cta_giftcard {
		display: block;
		width: 200px;
		right: 0;
		left: unset;
		bottom: -15px;
	}
	.cta_img_tile {
		object-position: 0% 70%;
		max-height: 150px;
	}

}
/* ----------------------------------------------------------------------------- */
/* 860px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 860px){
	/* header */
	.logo
	{
		order: 1;
	}
	#MAIN_NAV > a
	{
		order: 2;
		text-align: right;
		margin-right: 10px;
		border-left: 0px none;
	}
	#MAIN_NAV > a svg
	{
		margin-bottom: -15px;
		margin-right: 11px;
	}
	#NAV_MENU
	{
		order: 3;
	}
	.hamburger
	{
		order: 4;
	}


	header .logo > span
	{
		display: block;
	}
	.nav-list {
		display: none;
		flex-direction: column;
		padding: 0;
		background-color: var(--color-palegray);
	}
	#NAV_MENU.show .nav-list {
		display: block;
		position : absolute;
		top : 60px;
		right : 0px;
		width : 100vw;
		padding-bottom: 8px;
	}
	#NAV_MENU.show .nav-list li{
		text-align : center;
		margin : 8px auto;
	}
	#NAV_MENU.show .nav-list li a
	{
		display : inline-block;
		width : 100%;
	}
	.hamburger {
		display: flex;
	}
    .cat_container
    {
        grid-template-columns: repeat(2, minmax(100px, 1fr));
        padding: 50px 30px;
        gap: 30px;
    }
	.shop_information
	{
		grid-template-columns: 1fr;
	}
	.shop_contact a:nth-of-type(1)
	{
		display: block;
	}
	.shop_contact a.box_btn_orange
	{
		margin: 0px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 768px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 768px){ 
    .faq_title
    {
        padding-right: 40px;
    }
	#ACCESS_MAP {
		max-height: 300px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 750px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 750px) {
	
	#FOOTER_OTHER > div:nth-child(1),
	#FOOTER_SEARCH
	{
		grid-template-columns: auto;
	}
}

/* ----------------------------------------------------------------------------- */
/* 650px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 650px) {
	main {
		margin-top: 46px;
	}
	/* header */
	.logo-link {
		max-height: 45px;
	}
	#NAV_MENU > a
	{
		display: none;
	}
	#NAV_MENU.show > a
	{
		display: block;
        position: absolute;
        top: 330px;
        left: 40%;
	}
	#MAIN_NAV > a
	{
		padding: 0px;
    	margin: -6px 10px 0px 0px;
	}
	#MAIN_NAV > a svg
	{
		height: 20px;
		width: 20px;
		margin-right: 14px;
		position: relative;
    	top: -2px;
	}
	
	.estate_price {
		padding-right: 0px;
	}
	.contents_title
	{
		font-size : min(1.5rem, 6vw);
	}
	.footer_menu
	{
		margin: 5px 10px;
	}
	/* ヘッダー下追従ナビゲーション */
	#TOP_FLOATING_NAV a{
		padding : 15px 2px;
	}

    #FLOATING_NAV{
        display: none;
    }
	.special_banner .sp_hidden{
		display: none;
	}
	.special_banner .pc_hidden{
		display: block;
	}
	
	.cookie_notification
	{
		display : inline-block;
	}
	.cookie_button
	{
		margin-top : 10px;
		text-align: center;
	}
	.cookie_text
	{
		font-size: 12px;
		text-align: center;
        padding: 0px;
	}

	.cta_text > p:first-of-type {
		margin-bottom: 5px;
	}
	.logo img
	{
		width : 120px;
	}
	#NAV_MENU.show .nav-list
	{
		top: 46px;
		z-index: 99;
	}
    #FOOTER_OTHER:after {
        width: 195px;
        transform: none;
        right: 0;
        left: 0;
        margin: auto;
        overflow: hidden;
	}
	#FOOTER_OTHER > div:nth-child(2) ul {
        margin: 80px auto 10px auto;
    }
	.res_650px {
		margin-bottom: min(30px, 5vw);
	}

}
/* ----------------------------------------------------------------------------- */
/* 470px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 470px) 
{
	.contents_title
	{
		font-size : min(1.2rem, 6vw);
	}
}

/* ----------------------------------------------------------------------------- */
/* 450px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 450px) 
{
	* {
		font-size: 14px;
	}
	header .logo > span {
        display: none;
    }
	#HEADER_MEMBER_LINK .member_entry_link {
		display: none;
	}
	.main_title_wrapper > p
	{
		color: var(--color-black);
		font-size: 16px;
		margin: 10px 0px;
	}
	.two_column_contents_layout.even{
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
	.cta .pc_break {
		display: none;
	}
	
}
/* ----------------------------------------------------------------------------- */
/* 370px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 370px) 
{
	.contents_title
	{
		font-size : min(1rem, 6vw);
	}
}