
.main_title_wrapper
{
	background-image : url(../img/logo_star.jpg);
	background-repeat: no-repeat;
    background-position: right;
}

.arrow_right{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: var(--color-black);
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow_right::before,
.arrow_right::after
{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.arrow_right::before,
.arrow_right::after
{
	right: 20px;
	width: 8px;
	height: 8px;
	border-top: 1px solid var(--color-black);
	border-right: 1px solid var(--color-black);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}



/* エリアから探す */
[data-search_type]
{
	display : none;
}
[data-search_type].active{
	display : inline-block;
}
#SEARCH_MAIN_MAP [data-search_type].active
{
	margin : 0px auto;
	display : block;
}
#AREA_SEARCH_TITLE
{
	display : flex;
	border-bottom : 1px solid var(--color-darkgray);
}
#AREA_SEARCH_TITLE h2
{
	padding : 10px 40px 20px;
	display : grid;
	grid-template-columns: auto auto;
	align-items: center;
}
#AREA_SEARCH_TITLE span
{
	cursor : pointer;
	color : var(--color-darkgray);
}
#AREA_SEARCH_TITLE h2.active:hover > span,
#AREA_SEARCH_TITLE h2:hover > span
{
	color : var(--color-red);
}
#AREA_SEARCH_TITLE h2:first-child
{
	border-right : 1px solid var(--color-darkgray);
}
#AREA_SEARCH_TITLE h2.active
{
	border-bottom : 2px solid var(--color-red);
}
#AREA_SEARCH_TITLE h2.active span
{
	color : var(--color-black);
}

#AREA_SEARCH_TITLE h2 > svg path,
#AREA_SEARCH_TITLE h2 > svg circle,
#AREA_SEARCH_TITLE h2 > svg rect
{
	fill : var(--color-darkgray);
}
#AREA_SEARCH_TITLE h2.active > svg path,
#AREA_SEARCH_TITLE h2.active > svg circle,
#AREA_SEARCH_TITLE h2.active > svg rect
{
	fill : var(--color-black);
}
#AREA_SEARCH_TITLE h2:hover > svg path,
#AREA_SEARCH_TITLE h2:hover > svg circle,
#AREA_SEARCH_TITLE h2:hover > svg rect
{
	fill : var(--color-red);
}
#SEARCH_MAIN_MAP
{
	display : grid;
	position : relative;
}
/*#SEARCH_MAIN_MAP > div:nth-child(2)*/
#SEARCH_MAIN_MAP + div
{
	display: grid;
	justify-self: end;
	text-align : right;
}
#SEARCH_MAIN_MAP + div #ESTATE_COUNT_NEW
{
	justify-self: end;
	text-align : right;
}
#ESTATE_COUNT_NEW
{
	padding : 5px 10px;
}
#AREA > div > div:nth-last-of-type(1) a
{
    border: var(--color-black) 1px solid;
    text-align: center;
    padding: 10px 30px 10px 5px;
    width: calc(100% - 20px);
    margin: auto 10px auto auto;
}
/* 日本地区・各県の地図 */
.map_sp
{
	/*border : 1px solid var(--color-orange);*/
	border-bottom : 1px solid var(--color-lightgray);
	/*border-radius : var(--base-radius);*/
	padding: 30px 10px 30px 40px;
    /*display: inline-block;*/
	background-color : var(--color-white);
	cursor: pointer;
	/*min-height: 100px;*/
	display: grid;
    grid-template-columns: 1fr 1fr;
}
.map_sp:hover
{
	opacity : 0.5;
}
.map_sp p
{
	font-size : 18px;
	/*font-weight : bold;*/
	color : var(--color-black);
	text-align: left;
}
.map_sp span
{
	color : var(--color-black);
	padding: 3px;
}
.map_sp div, .map_sp div span
{
	font-size : 18px;
	color : var(--color-gray);
	line-height: 1.2em;
	/*margin-top : 5px;*/
	text-align: right;
}
.map_sp div span
{
	padding-right: 40px;
}
#JAPAN_MAP_SP
{
	display : none;
}
#REGION_LIST_SP.active
{
	display : grid;
	/*grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));*/
	grid-template-columns: 1fr;
	/*gap : 10px;*/
	margin : 20px;
}
#JAPAN_MAP_SP .region_map ul
{
	margin : 20px 20px 80px;
	display : grid;
	grid-template-columns: 1fr 1fr;
	/*grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap : 20px;*/
	justify-content: center;
}
#JAPAN_MAP_SP .region_map li
{
	/*border-radius: var(--base-radius);*/
	padding : 10px 20px;
	background-color : var(--color-white);
	border-bottom : 1px solid var(--color-lightgray);
	color: var(--color-black);
}
#JAPAN_MAP_SP .region_map li:nth-child(odd)
{
	border-right : 1px solid var(--color-lightgray);
}
/* 沿線 */
#LINE_LIST div
{
	border-bottom : 1px solid var(--color-palegrayline);
	display : grid;
	align-items: center;
	grid-template-columns: 150px 1fr;
	width : 80%;
	gap : 20px;
	margin : 10px auto;
	padding : 0px 10px 10px 20px;
}
#LINE_LIST > div > ul
{
	display : grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap : 20px;
}
#LINE_LIST > div > ul > li
{
	border : 1px solid var(--color-orange);
	border-radius : var(--base-radius);
	padding : 7px 10px;
	box-shadow: 1px 3px 3px #e5e5e5;
	width : 100%;
	text-align : center;
	transition : all 0.5s;
}
#LINE_LIST > div > ul > li > a
{
	display : inline-block;
	height : 100%;
	width : 100%;
	color : var(--color-black);
}
#LINE_LIST > div > ul > li:hover
{
	opacity : 0.5;
}

/* 特徴 */
#SEARCH_FEATURES ul
{
	display : grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap : 20px;
	padding : 10px;
}
#SEARCH_FEATURES li
{
	border : 1px solid var(--color-palegrayline);
	border-radius : var(--base-radius);
	padding : 10px;
	box-shadow: 1px 3px 3px #e5e5e5;
}
#SEARCH_FEATURES li a
{
	display : grid;
	grid-template-columns: auto 1fr;
	gap : 15px;
	align-items: center;
	color : var(--color-black);
}
#SEARCH_FEATURES li a:hover
{
	opacity : 0.5;
}
#SEARCH_FEATURES li a img
{
	width : 42px;
}
/* GoogleMAP */
#G_MAP .contents_title
{
	margin-bottom : 30px;
}
#G_MAP div.display_grid
{
	grid-template-columns: 1fr auto;
}
#G_MAP .lead {
    margin-left: 60px;
}
#G_MAP .shadow_btn {
    padding: 12px 15px;
    cursor: pointer;
}
#MAP_SEARCH_BTN
{
    display: flex;
    flex-wrap: wrap;
    column-gap : 40px;
    row-gap: 20px;
}
.g_map_explanation
{
	display : grid;
	grid-template-columns: 1fr auto;
	gap : 20px;
}
#G_MAP .display_grid ul{
    display : grid;
	grid-template-columns: auto auto auto;
	justify-content: start;
	gap : 15px;
}
#G_MAP .display_grid ul li img
{
	height : 32px;
}
#GOOGLEMAP img
{
	max-height: unset;
}
.total_count
{
	color: var(--color-blue);
}
/* スライド */
.slider-container
{
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	overflow: hidden;
}
.slider
{
	display: flex;
	transition: transform 0.5s ease-in-out;
	width: 300%;
}
.slide
{
	flex: 0 0 100%;
	box-sizing: border-box;
}
.slide img
{
	width: 750px;
	height: 300px;
	display: block;
	border : 1px solid var(--color-palegrayline);
	border-radius : var(--base-radius);
	box-shadow: 1px 3px 3px #e5e5e5;
}
.slider-dots
{
	text-align: center;
	margin-top: 16px;
}
.slide img.pc_hidden
{
	display: none;
}
.dot
{
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 4px;
	background-color: #ccc;
	border-radius: 50%;
	cursor: pointer;
	transition: background-color 0.3s;
}
.dot.active
{
	background-color: var(--color-orange);
}

/* 日本地図とエリアマップ*/
g[data-regions].disabled
{
	pointer-events: none;
}
[data-regions].disabled tspan, [data-regions].disabled circle
{
	fill: var(--color-lightgray);
}
[data-regions].disabled rect, [data-regions].disabled line
{
	stroke: var(--color-lightgray);
}
.map_sp[data-regions].disabled
{
	display: none;
}
[data-name="北海道"] path,[data-region="北海道"] path 
{
  fill: #c993d6;
}
[data-name="東北"] path,[data-region="東北"] path 
{
  fill: #2a9add;
}
[data-name="関東"] path,[data-region="関東"] path
{
  fill:#94cdeb;
}
[data-name="甲信越・北陸"] path,[data-region="甲信越・北陸"] path 
{
  fill: #4F9D8E;
}
[data-name="東海"] path,[data-region="東海"] path 
{
  fill: #9CC78E;
}
[data-name="関西"] path,[data-region="関西"] path 
{
  fill: #fff176;
}
[data-name="中国"] path,[data-region="中国"] path 
{
  fill: #ffc985;
}
[data-name="四国"] path,[data-region="四国"] path 
{
  fill: #ffa782;
}
[data-name="九州・沖縄"] path,[data-region="九州・沖縄"] path 
{
  fill: #f28a86;
}

/*251028バナー追加　*/
.red_banner {
  width: 100%;
  height: auto;
  background-color: #f03333;
  }
.jigyou {
  display: grid;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  grid-template-columns: 1fr 1fr 1fr ; 
  gap: 30px;
  justify-items: center;
  align-items: stretch;
  margin-bottom: 60px;
}
.jigyou > div {
  background-color: #fff;
  height: 100%;
  width: 100%;
  border-radius: 10px;
  text-align: center;
  padding: 25px 25px;
  display: grid;
  grid-template-rows: 1fr 1fr 1fr auto; 
  justify-items: center; 
}
.jigyou .icon {
  width: 80px;
  height: auto;
  margin-bottom: 20px;
  color: #f03333;
}
.jigyou .icon1 {
  width: 50px;
  margin-top:20px;
}
.jigyou .icon2 {
  width: 70px;
  margin-top:20px;
}
.jigyou h2 {
  font-size: 26px;
  font-weight: bold;
  color: #f03333;
  line-height: 1.4;
}
.jigyou p {
  font-size: 14px;
  color: #555;
}
.jigyou .btn {
  display: inline-block;
  background-color: #e53935;
  color: #fff;
  text-decoration: none;
  padding: 10px 50px;
  border-radius: 20px;
  font-size: 18px;
  margin-bottom: 30px;
}
.jigyou svg .a {
	fill: none;
	stroke: #f03333;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px;
}
.jigyou svg .b {
	fill: #f03333;
}
/*ここまで　*/
#CAMPAIGN_TOP > div
{
	display: grid;
	grid-template-columns: 200px auto;
	gap: 20px;
	align-items: center;
	margin-bottom: 10px;
}
#CAMPAIGN_TOP span
{
	background-color: #f03333;
	color: #ffffff;
	padding: 5px 15px;
	text-align: center;
}
#CAMPAIGN_TOP a
{
	text-decoration: underline;
}
.campaign_list
{
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 40px;
}
.campaign_list:nth-of-type(1)
{
	margin: 30px 0px 0px 0px;
}
.campaign_list:not(.campaign_list:nth-of-type(1))
{
	margin-top: 30px;
}
.campaign_list h3
{
	background-color: #f03333;
	color: #ffffff;
	padding: 5px 15px 5px 15px;
	display: inline-block;
}
.campaign_list dl
{
	display: grid;
	grid-template-columns: auto 1fr;
	margin: 10px 0px 10px 0px;
}
.campaign_list dl dt::after
{
	content: "|";
	display: inline-block;
    padding: 0px 10px;
}
.campaign_list dl dt, .campaign_list dl dd
{
	margin: 0px 0px 10px 0px;
}
.campaign_image
{
	height: 250px;
}
.campaign_image img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ----------------------------------------------------------------------------- */
/* 1200px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 1200px) {
	.main_title_wrapper
	{
		background-position : right bottom;
		background-size : 30%;
	}
	.campaign_list
	{
		padding: 0px 10px 0px 10px;
	}
}
/* ----------------------------------------------------------------------------- */
/* 768px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 768px)
{
	#G_MAP div.display_grid
	{
		grid-template-columns: 1fr;
		padding: 10px;
	}
	#G_MAP .display_grid ul
	{
		order: 2;
		justify-content: end;
	}
	#G_MAP .display_grid ul + div
	{
		text-align: left;
	}
	#G_MAP .text_lightblack.margin_10_b.font_size_14
	{
		margin-bottom: 0px;
	}
	.slider-container
	{
		max-width: 350px;
	}
	.slide img.sp_hidden
	{
		display: none;
	}
	.slide img.pc_hidden
	{
		display: block;
		width: 350px;
		height: unset;
	}
	#G_MAP > div.display_grid
	{
		display: block;
	}
	#G_MAP .contents_title
	{
		margin-bottom : 10px;
	}
	.jigyou {
		display: grid;
		grid-template-columns: 1fr; 
		grid-auto-rows: auto;
		gap: 30px; 
		padding: 30px 30px; 
	}
	.jigyou > div {
		display: grid;
		grid-template-columns: 80px auto;
		grid-template-rows: none;
		/*min-width: 300px;*/
		margin: 0 auto;            
		text-align: left;          
		padding: 30px;         
		align-items: start; 
	    justify-items: start;       
		justify-content: center;
		align-items: center;
	}
	.jigyou .icon {
		grid-column: 1/2;
		width: 60px;
		height: auto;
		margin-bottom: 0;        
	}
	.jigyou .icon1 {
		width: 40px;
		margin-top: -7px;
	}
	.jigyou .icon2 {
		width: 50px;
		margin-top: -7px;
	}
	.jigyou p {
		display: none;             
	}
	.jigyou h2 {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}

	.jigyou .btn {
		grid-column: 1/3;
		margin-top: 10px;              
		text-align: center;
		justify-self: center; 
		margin-bottom: 0px; 
		width: 100%;    
	}
	.jigyou > div:nth-of-type(3) h2 br {
		display: none;
	}
	.jigyou > div:nth-of-type(3) svg {
		position: relative;
		top: -10px;
	}
	#CAMPAIGN_TOP > div
	{
		padding: 0px 20px 0px 20px;
		grid-template-columns: 1fr;
		gap: 10px
	}
	#CAMPAIGN_TOP span
	{
		display: inline-block;
		width: 200px;
		padding: 5px;
	}
	.campaign_list
	{
		grid-template-columns: 1fr;
		gap: 0px;
	}
	.campaign_image
	{
		order: 1;
		height: auto;
	}
	.campaign_list > div:nth-of-type(1)
	{
		order: 2;
	}
	.campaign_list h3, .campaign_list img
	{
		width: 100%;
	}
	.campaign_list {
		padding: 0px 30px 0px 30px;
	}
	.campaign_image img
	{
		object-fit: cover;
	}
}

/* ----------------------------------------------------------------------------- */
/* 650px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 650px) 
{
	#AREA_SEARCH_TITLE
	{
		display: grid;
    	grid-template-columns: 1fr 1fr;
	}
	#JAPAN_MAP_SP
	{
		display : block;
		background-color: var(--color-palegray);
	}
	#JAPAN_MAP
	{
		display : none;
	}
	#AREA_SEARCH_TITLE h2
	{
		padding : 10px 10px 20px;
		text-align: left;
		grid-template-columns: 10% auto;
	}
	#LINE_LIST div{
		width : 100%;
		grid-template-columns: 100px 1fr;
		margin: 10px auto;
		padding: 10px;
	}
	.g_map_explanation
	{
		grid-template-columns: auto;
		gap : 10px;
	}
	.g_map_explanation div
	{
		margin : 0px 10px;
	}
	#AREA .text_deeporange.margin_10_r
	{
		margin-right: 0px;
	}
	.main_title_wrapper p, .main_title
	{
		display: inline;
	}
	.main_title_wrapper {
        background-size: auto 70px;
        margin: 20px 0px;
        padding-bottom: 80px;
        background-position: 50% 100%;
		text-align: center;
    }
	.main_title
	{
		font-size: 18px;
		font-weight: normal;
	}
	#SEARCH_MAIN_MAP + div #ESTATE_COUNT_NEW
	{
		margin: auto auto 10px auto;
	}
	#SEARCH_MAIN_MAP + div
	{
		justify-self: center;
        text-align: center;
        box-sizing: border-box;
		margin-right: 0px;
		width: 80%;
	}
	#AREA > div > div:nth-last-of-type(1) a
	{
		padding: 15px 30px 15px 5px;
	}
	#SEARCH_FEATURES ul
	{
		gap : 10px;
	}
	.jigyou .btn
	{
		font-size: 0.9rem;
	}
	.jigyou h2
	{
		font-size: 1.2rem;
	}
}

/* ----------------------------------------------------------------------------- */
/* 420px以下 */
/* ----------------------------------------------------------------------------- */
@media screen and (max-width : 420px) 
{
	.jigyou .icon
	{
		display: none;
	}
	.jigyou > div
	{
		grid-template-columns: 1fr;
	}
	.jigyou > div br {
		display: none;
	}
}