@charset "UTF-8";

/* =========================================================
 base
========================================================= */
body {
	font-family: sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
}

@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}

}

@media screen and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}



.sp_link {
	pointer-events: none;
	color: inherit;
	text-decoration: inherit;
}

@media screen and (max-width: 767px) {
	.sp_link {
		pointer-events: auto;
		color: inherit;
		text-decoration: inherit;
	}
}

.globalwrap {
	min-width: 1080px;
}

@media screen and (max-width: 767px) {
	.globalwrap {
		min-width: 100%;
		overflow: hidden;
	}
}

* {
	box-sizing: border-box;
}

@media screen and (min-width: 767px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

.over {
	pointer-events: none;
	opacity: 0;
	z-index: 2;
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
}

.over.is-show {
	pointer-events: auto;
	opacity: 1;
}

.wrap {
	width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.wrap {
		width: 100%;
	}
}


i[class^="fa"] {
	margin: 0 .2em 0 0;
}


/* =========================================================
 .global-header
========================================================= */

.global-header {
	position: relative;
	box-shadow: 0px 2px 7px 0 rgba(0,0,0,.2);
}

.global-header_inner {
	display: flex;
	justify-content: space-between;
	height: 88px;
	background-image: url("../img/header_bg.png");
	background-size: auto 89px;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	.global-header_inner {
		height: 55px;
		background-size: auto 100%;
		background-image: url("../img/header_bg.png");
		background-position: -5px 0;
	}
}

.headerMain {
	display: flex;
}

/* takken Add Style */
@media screen and (max-width: 767px) {
	.headerMain {
		display: flex;
		width:100%;
	}
}
/* --------- */

.navBtn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 97px;
	height: 89px;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0em;
}

@media screen and (max-width: 767px) {
	.navBtn {
		width: 63px;
		height: 55px;
	}
}

.navBtn .lineWrap {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 40px;
	height: 26px;
	margin: 8px 0 0;
}

@media screen and (max-width: 767px) {
	.navBtn .lineWrap {
		width: 26px;
		height: 18px;
	}
}

.navBtn .lineWrap .line {
	position: absolute;
	display: block;
	width: 100%;
	height: 4px;
	border-radius: 4px;
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.navBtn .lineWrap .line {
		height: 2px;
		border-radius: 2px;
	}
}

.navBtn .lineWrap .line:nth-of-type(1) {
	top: 0;
}

.navBtn .lineWrap .line:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
}

.navBtn .lineWrap .line:nth-of-type(3) {
	bottom: 0;
}

.navBtn .text {
	margin: 4px 0 0;
	font-size: 15px;
}

@media screen and (max-width: 767px) {
	.navBtn .text {
		font-size: 10px;
	}
}

.logo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 353px;
	background-color: #fff;
}

/* takken Change Style */
@media screen and (max-width: 767px) {
	.logo {
		width: 100%;
		padding: 5px 0 0 15px ;
		justify-content: left;
		/*
		width: 280px;
		padding: 0 32px;
		*/
	}

	.logo img {
		width: 191px;
		/* JGS Change Style（同じ内容をまとめた） */
		/*
		height: 32px;
		*/
		height: 28px;
		/* --------- */
		/*
		width: 100%;
		height: auto;
		*/
	}
}
/* --------- */

.header-nav {
	display: flex;
}

@media screen and (max-width: 767px) {
	.header-nav {
		display: none;
	}
}

.header-nav_propertiesNum {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	font-size: 12px;
	font-weight: normal;
	padding: 8px 24px 4px;
}

.header-nav_propertiesNum .heading {
	font-size: 12px;
	font-weight: normal;
}

.header-nav_propertiesNum .num span {
	font-size: 20px;
	color: #45b035;
	margin: 0 0.1em 0 0;
}

.header-nav_btn {
	display: flex;
	/*
	border-right: 1px solid #727171;
	*/
}

.header-nav_btn li a {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	height: 100%;
	padding: 0 0 8px;
	border-left: 1px solid #bdc8ca;
	text-decoration: none;
}

.header-nav_btn li a .icon {
	margin: 0 0 4px;
}

.header-nav_btn li:nth-of-type(1) a .icon {
	padding: 0 0 5px 0;
}

.header-nav_btn li:nth-of-type(3) a .icon {
	padding: 0 13px 0 0;
}

.header-nav_btn li a .text {
	font-size: 12px;
	padding: 0 24px;
	color: #000;
}

/*
  .global-header .pankuzu
========================================================= */
/* JGS Change Style（同じ内容をまとめた） */
.gNav, .gNav02, .gNav03, .navEstateTypeSelect {
	pointer-events: none;
	z-index: 3;
	opacity: 0;
	position: absolute;
	top: 90px;
	left: 0;
	width: 400px;
	font-size: 14px;
	overflow: hidden;
	transition: 200ms;
	background-color: #fff;
}
/* --------- */

/* JGS Add Style */
.navEstateTypeSelect {
	min-height: 165px;
	top: 700px;
	left: 38%;
	transition: none;
}

.navSpecialCond {
	top: 1050px;
}
/* --------- */

@media screen and (max-width: 767px) {
	/* JGS Change Style（同じ内容をまとめた） */
	.gNav, .gNav02, .gNav03, .navEstateTypeSelect {
		top: 55px;
		left: 0;
		width: 100%;
	}
	/* --------- */

	/* takken Add Style */
	.gNav02, .gNav03 {
		top: 150px;
	}

	/* JGS Delete Style
	#detail .gNav02, #detail .gNav03 {
		top: 800px;
	} */
	/* --------- */

	/* JGS Add Style */
	.navEstateTypeSelect {
		top: 900px;
	}

	.navSpecialCond {
		top: 1150px;
	}
	/* --------- */
}

/* JGS Change Style（同じ内容をまとめた） */
.gNav.is-open, .gNav02.is-open, .gNav03.is-open,
.navEstateTypeSelect.is-open {
	pointer-events: auto;
	opacity: 1;
	display: block;
}

.closeBtnWrap {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}

.closeBtnWrap .closeBtn {
	cursor: pointer;
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	background-color: #45b035;
}

.closeBtnWrap .closeBtn:before,
.closeBtnWrap .closeBtn:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	height: 1px;
	width: 95%;
	background-color: #fff;
}

.closeBtnWrap .closeBtn:before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.closeBtnWrap .closeBtn:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.gNav .gNav-inner, .gNav02 .gNav02-inner, .gNav03 .gNav03-inner,
.navEstateTypeSelect .navEstateTypeSelect-inner {
	position: relative;
	left: 0;
	display: flex;
	width: 100%;
	padding: 0 0 24px;
	transition: 200ms;
}

.gNav .gNav-inner.is-slide, .gNav02 .gNav02-inner.is-slide, .gNav03 .gNav03-inner.is-slide,
.navEstateTypeSelect .navEstateTypeSelect-inner.is-slide {
	left: -100%;
}

.gNav ul li a, .gNav02 ul li a, .gNav03 ul li a,
.navEstateTypeSelect ul li a {
	display: block;
	color: #231815;
	font-size: 14px;
	text-decoration: none;
}

.gNav .gNav-inner>ul, .gNav02 .gNav02-inner>ul, .gNav03 .gNav03-inner>ul,
.navEstateTypeSelect .navEstateTypeSelect-inner>ul {
	position: relative;
	width: 100%;
}

.gNav .gNav-inner.is-slide>ul>li>a, .gNav02 .gNav02-inner.is-slide>ul>li>a, .gNav03 .gNav03-inner.is-slide>ul>li>a,
.navEstateTypeSelect .navEstateTypeSelect-inner.is-slide>ul>li>a {
	pointer-events: none;
}

.gNav .gNav-inner>ul, .gNav02 .gNav02-inner>ul, .gNav03 .gNav03-inner>ul,
.navEstateTypeSelect .navEstateTypeSelect-inner>ul {
	border-top: 1px solid #e5e5e5;
}

.gNav .gNav-inner>ul>li, .gNav02 .gNav02-inner>ul>li, .gNav03 .gNav03-inner>ul>li,
.navEstateTypeSelect .navEstateTypeSelect-inner>ul>li {
	border-bottom: 1px solid #e5e5e5;
}

.gNav .gNav-inner>ul>li>a, .gNav02 .gNav02-inner>ul>li>a, .gNav03 .gNav03-inner>ul>li>a,
.navEstateTypeSelect .navEstateTypeSelect-inner>ul>li>a {
	position: relative;
	padding: 14px 1.5em;
}

.gNav .gNav-inner>ul>li>a::after, .gNav02 .gNav02-inner>ul>li>a::after, .gNav03 .gNav03-inner>ul>li>a::after,
.navEstateTypeSelect .navEstateTypeSelect-inner>ul>li>a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	display: block;
	width: 8px;
	height: 8px;
	border-right: 3px solid #45b035;
	border-top: 3px solid #45b035;
	transform: translateY(-50%) rotate(45deg);
}

.gNav .gNav-inner li .sub, .gNav02 .gNav02-inner li .sub, .gNav03 .gNav03-inner li .sub,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS {
	position: absolute;
	top: 0;
	right: -100%;
	display: none;
	width: 100%;
}

.gNav .gNav-inner li .sub.is-show, .gNav02 .gNav02-inner li .sub.is-show, .gNav03 .gNav03-inner li .sub.is-show,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR.is-show,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS.is-show {
	display: block;
}

.gNav .gNav-inner li .sub .backBtn, .gNav02 .gNav02-inner li .sub .backBtn, .gNav03 .gNav03-inner li .sub .backBtn,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR .backBtn,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS .backBtn {
	cursor: pointer;
	position: relative;
	display: block;
	font-size: 14px;
	padding: 14px 1.8em;
	border-bottom: 1px solid #e5e5e5;
}

.gNav .gNav-inner li .sub .backBtn:before, .gNav02 .gNav02-inner li .sub .backBtn:before,
.gNav03 .gNav03-inner li .sub .backBtn:before, .navEstateTypeSelect .navEstateTypeSelect-inner li .subR .backBtn:before,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS .backBtn:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	display: block;
	width: 8px;
	height: 8px;
	border-left: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: translateY(-50%) rotate(45deg);
}

.gNav .gNav-inner li .sub>a, .gNav02 .gNav02-inner li .sub>a, .gNav03 .gNav03-inner li .sub>a,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR>a,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS>a,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subI>a {
	position: relative;
	padding: 14px 1.5em;
	font-size: 14px;
	color: #fff;
	background-color: #45b035;
	border-bottom: 1px solid #e5e5e5;
}

.gNav .gNav-inner li .sub>a::after, .gNav02 .gNav02-inner li .sub>a::after, .gNav03 .gNav03-inner li .sub>a::after,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR>a::after,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS>a::after,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subI>a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

.gNav .gNav-inner li .sub ul, .gNav02 .gNav02-inner li .sub ul, .gNav03 .gNav03-inner li .sub ul,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR ul,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS ul {
	display: flex;
	flex-direction: column;
}

.gNav .gNav-inner li .sub ul li, .gNav02 .gNav02-inner li .sub ul li, .gNav03 .gNav03-inner li .sub ul li,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR ul li,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS ul li,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subI ul li {
	border-bottom: 1px solid #e5e5e5;
}

.gNav .gNav-inner li .sub ul li a, .gNav02 .gNav02-inner li .sub ul li a, .gNav03 .gNav03-inner li .sub ul li a,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subR ul li a,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS ul li a,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subI ul li a {
	position: relative;
	padding: 14px 1.5em;
}

.gNav .gNav-inner li .sub ul li a::after, .gNav02 .gNav02-inner li .sub ul li a::after,
.gNav03 .gNav03-inner li .sub ul li a::after, .navEstateTypeSelect .navEstateTypeSelect-inner li .subR ul li a::after,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subS ul li a::after,
.navEstateTypeSelect .navEstateTypeSelect-inner li .subI ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	width: 8px;
	height: 8px;
	border-right: 3px solid #45b035;
	border-top: 3px solid #45b035;
	transform: translateY(-50%) rotate(45deg);
}
/* --------- */

/* =========================================================
 .contents
========================================================= */

.contents {
	padding: 32px 0px 80px;
}

@media screen and (max-width: 767px) {
	.contents {
		padding: 32px 8px 80px;
	}
}

#front .contents {
	padding: 0;
}

/* JGS Add Style */
#front .clientMail.contents {
	padding-top: 32px;
}

#search .contents {
	padding-top: 0px;
}
/* --------- */

.contents .wrap01 {
	min-height: 800px;
}

@media screen and (max-width: 767px) {
	.contents .wrap01 {
		min-height: 100%;
	}
}

.contentsCol2 {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.contentsCol2 {
		flex-direction: column-reverse;
	}
}

.contentsCol2 .side {
	width: 260px;
}

.contentsCol2 .mainContents {
	display: block;
	width: 900px;
}

@media screen and (max-width: 767px) {
	.contentsCol2 .mainContents {
		margin: 0 0 24px;
	}
}

@media screen and (max-width: 767px) {

	.contentsCol2 .side,
	.contentsCol2 .mainContents {
		width: 100%;
	}
}

/* =========================================================
 .global-footer
========================================================= */
.global-footer {
	width: 100%;
	overflow: hidden;
}

.global-footer .footerNav {
	padding: 32px 0;
	background-color: #45b035;
}

.global-footer .footerNav_inner {
	width: 1024px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.global-footer .footerNav_inner {
		width: 100%;
		padding: 0 16px;
		margin: 0 auto;
	}
}

.global-footer .footerNav_inner_nav {
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
	.global-footer .footerNav_inner_nav {
		display: block;
	}
}

.global-footer .footerNav_inner_nav div {
	margin: 0 120px 0 0;
}

.global-footer .footerNav_inner_nav div:nth-of-type(4) {
	margin: 0 0 0 0;
}

@media screen and (max-width: 767px) {
	.global-footer .footerNav_inner_nav div {
		width: 100%;
		margin: 0 0 24px;
	}
}

/* takken Change Style */
.global-footer .footerNav h4 {
	margin: 1em 0 0.5em;
	font-size: 19px;
	color: #fff;
}
/* --------- */

.global-footer .footerNav a {
	/* takken change Style
	color: #fff;
	*/
	color: #e6ebe2;
	/* --------- */
	font-size: 13px;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.global-footer .footerNav a {
		font-size: 14px;
	}
}

.global-footer .footerNav li {
	display: flex;
	align-items: center;
	/* takken Change Style
	margin: 0 0 0.3em;
	*/
	margin: 0 0 0.1em;
	color: #e6ebe2;
	/* --------- */
}

/* takken Change Style */
@media screen and (max-width: 767px) {
	.global-footer .footerNav li {
		margin: 0 0 0;
	}
}
/* --------- */

.global-footer .footerNav li.helppage {
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	.global-footer .footerNav li.helppage {
		margin-top: 2em;
	}
}

.copyright {
	padding: 24px 0;
	font-size: 13px;
	/* takken change Style
	text-align: left; */
	text-align: center;
	/* --------- */
	color: #fff;
}


/* =========================================================
 .pcfooterNav
========================================================= */
.pcfooterNav {
	position: fixed;
	bottom: -100%;
	left: 0;
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 10px 0;
	background-color: rgba(34, 23, 20, 0.7);
}

@media screen and (max-width: 767px) {
	.pcfooterNav {
		display: none;
	}
}

.footerNavWrap.is-show .pcfooterNav {
	bottom: 0;
}

.pcfooterNav .pcfooterNav_inner {
	display: flex;
	justify-content: space-between;
	width: 1023px;
}

.pcfooterNav .resultNum {
	font-size: 20px;
	color: #fff;
	font-weight: bolc;
}

.pcfooterNav .resultNum span {
	font-size: 24px;
}

.pcfooterNav .pcfooterNav_link {
	display: flex;
	font-size: 12px;
}

.pcfooterNav .pcfooterNav_link li {
	margin: 0 0 0 1em;
}

.pcfooterNav .pcfooterNav_link a {
	position: relative;
	display: block;
	padding: 10px;
	color: #231815;
	text-decoration: none;
	background-color: #fff;
	padding-right: 50px;
}

.pcfooterNav .pcfooterNav_link a:after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% - 22px);
	width: 8px;
	height: 8px;
	display: block;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: translateY(-50%) rotate(45deg);
}

/* =========================================================
 .spfooterNav
========================================================= */

.spfooterNav {
	display: none;
}

@media screen and (max-width: 767px) {
	.spfooterNav {
		position: fixed;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 74px;
		padding: 16px;
		background-color: rgba(34, 23, 20, 0.7);
	}

	#search .spfooterNav {
		display: none;
	}

	#search .footerNavWrap.is-show .spfooterNav {
		display: block;
	}

	.spfooterNav a {
		text-decoration: none;
	}

	.spfooterNav .search-more {
		display: flex;
		justify-content: center;
		height: 100%;
	}

	.spfooterNav .search-more.is-hide {
		display: none;
	}

	.spfooterNav .search-result {
		display: flex;
		justify-content: space-between;
		height: 100%;
		color: #fff;
		opacity: 0;
	}

	.footerNavWrap .spfooterNav .search-result.is-show {
		opacity: 1;
	}

	.spfooterNav .search-result .name {
		display: block;
		font-size: 12px;
	}

	.spfooterNav .search-result .num {
		display: block;
		font-size: 18px;
		margin: -0.2em 0 0;
	}

	.spfooterNav .search-result .num strong {
		font-size: 24px;
	}

	.spfooterNav .btn {
		display: flex;
		align-items: center;
		height: 100%;
		padding: 0 16px;
		color: #fff;
		background-color: #47a738;
		border-radius: 4px;
		/* takken change Style */
		font-size:80%;
	}

	.spfooterNav .favBtn {
		display: flex;
		justify-content: center;
		height: 100%;
	}

	.spfooterNav .favBtn .icon {
		margin: 6px 6px 0 0;
	}

	.spfooterNav .favBtn .btn {
		background-color: #fff;
		color: #231815;
	}
}


/* =========================================================
 .page-top
========================================================= */

.page-top {
	display: none;
	width: 50px;
	height: 50px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	background: #999;
	opacity: 0.6;
	border-radius: 50%;
}

.page-top.is-show-nav {
	bottom: 65px;
}

.page-top a {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	text-decoration: none;
	text-align: center;
}

.page-top a::before {
	font-family: "Font Awesome 5 Free";
	content: '\f106';
	font-weight: 900;
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 10px;
	bottom: 25px;
	right: 0;
	left: 0;
	margin: auto;
}


/* ADD:20201224 BY MIB */
/* =========================================================
 .navEstateTypeSelect
========================================================= */
/* JGS Add&Change Style */
.navEstateTypeSelect {
	min-height: 165px;
	/*
	top: 1000px;
	*/
	left: 50%;
	margin-left: -200px;
	transition: none;
}

@media screen and (max-width: 767px) {
	.navEstateTypeSelect {
		width: 95%;
		margin-left: -47.5%;
	}
}

/*
.navSpecialCond {
	top: 1430px;
}
*/