@charset "UTF-8";

/* ==========================================================================
 * Root
 * ========================================================================== */
*,
::before,
::after {
	background-repeat: no-repeat;
	box-sizing: border-box;
}
:root {
	--gnavi-height: 60px;
	--basic-color: #2b973e;
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	font-family: "Roboto", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, Osaka, sans-serif;
	font-size: 1.8em;
	font-size: 1.8rem;
	line-height: 1.5;
	font-feature-settings: "palt";
	background-color: #fff;
}
@media screen and (max-width: 599px) {
	:root {
		--gnavi-height: 50px;
	}
}

/* ==========================================================================
 * HTML5 display definitions
 * ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}

/* ==========================================================================
 * Anchor
 * ========================================================================== */
a:link,
a:visited {
	background-color: transparent;
	color: #4f7aac;
	text-decoration: none;
}
a:active,
a:hover {
	outline: 0;
	text-decoration: underline;
}
:target {
	scroll-margin-top: var(--gnavi-height);
}

/* ==========================================================================
 * Embedded
 * ========================================================================== */
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}
svg:not(:root) {
	overflow: hidden;
}

/* ==========================================================================
 * Grouping
 * ========================================================================== */
figure {
	margin: 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	border: none;
	border-top: 1px solid #bbb;
}
dd {
	margin-left: 0;
}

/* ==========================================================================
 * Float
 * ========================================================================== */
.clear {
	clear: both;
}
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}

/* ==========================================================================
 * List
 * ========================================================================== */
ul,
ol {
	padding: 0;
}
ul {
	margin: 0;
	list-style: none;
}
ul.list-disc {
	margin-left: 1.55em;
	list-style: disc;
}
ul.list-annotation {
	margin-left: 1.3em;
}
ul.list-annotation li::before {
	margin-left: -1.3em;
	content: "※\0020";
}
ol {
	margin-left: 1.3em;
}
ol.list-annotation {
	margin-left: 2em;
	padding: 0;
	counter-reset: number;
	list-style: none;
}
ol.list-annotation li::before {
	margin-left: -2em;
	counter-increment: number;
	content: "※"counter(number)"\0020";
}
ul.list-disc li + li,
ul.list-annotation li + li,
ol li + li {
	margin-top: 8px;
}

/* ==========================================================================
 * Text
 * ========================================================================== */
b,
strong {
	font-weight: 700;
}
mark {
	background: #ff0;
	color: #000;
}
small,
.txt-small{
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
address {
	font-style: normal;
}
h1,
.h1 {
	font-size: 3.2rem;
	line-height: 1.2;
	margin: 0;
}
h2,
.h2 {
	font-size: 2.4rem;
	line-height: 1.2;
	margin: 0;
}
h3,
.h3 {
	font-size: 1.8rem;
	line-height: 1.2;
	margin: 0;
}
h4,
.h4 {
	font-size: 1.6rem;
	line-height: 1.2;
	margin: 0;
}
p {
	margin: 0;
}
p + p {
	margin-top: .5em;
	margin-bottom: 0;
}
.txt-left {
	text-align: left;
}
.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
.txt-unbold {
	font-weight: normal;
}
.txt-bold {
	font-weight: 700;
}
.txt-emphasis {
	color: #e74c3c;
}
.txt-notes {
	color: #7f8c8d;
}

/* ==========================================================================
 * Table
 * ========================================================================== */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td,
th {
	padding: 0;
}

/* ==========================================================================
 * Form
 * ========================================================================== */
button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
	border: 1px solid #999;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	width: 100%;
	padding: 5px;
}
button {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled],
html input[disabled] {
	cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input {
	line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
textarea {
	overflow: auto;
}

/* ==========================================================================
 * Responsive
 * ========================================================================== */
/*PCのみ表示(959px以下非表示)*/
@media screen and (max-width: 959px) {
.visible-pc {display: none !important;}
}
/*Tabのみ表示(960px以上、599px以下非表示)*/
@media screen and (min-width: 960px), screen and (max-width: 599px) {
.visible-tab {display: none !important;}
}
/*SPのみ表示(600px以上非表示)*/
@media screen and (min-width: 600px) {
.visible-sp {display: none !important;}
}
/*PCのみ非表示(960px以上非表示)*/
@media screen and (min-width: 960px) {
.hidden-pc {display: none !important;}
}
/*Tabのみ非表示(600px以上、959px以下非表示)*/
@media screen and (min-width: 600px) and (max-width: 959px) {
.hidden-tab {display: none !important;}
}
/*SPのみ非表示(599px以下非表示)*/
@media screen and (max-width: 599px) {
.hidden-sp {display: none !important;}
}

/* ==========================================================================
 * Spacing
 * ========================================================================== */
.margin-none  {margin:           0px !important;}
.padding-none {padding:          0px !important;}

.margin-T0    {margin-top:       0px !important;}
.margin-T5    {margin-top:       5px !important;}
.margin-T10   {margin-top:      10px !important;}
.margin-T15   {margin-top:      15px !important;}
.margin-T20   {margin-top:      20px !important;}
.margin-T25   {margin-top:      25px !important;}
.margin-T30   {margin-top:      30px !important;}
.margin-T35   {margin-top:      35px !important;}
.margin-T40   {margin-top:      40px !important;}
.margin-T45   {margin-top:      45px !important;}
.margin-T50   {margin-top:      50px !important;}
.margin-T60   {margin-top:      60px !important;}
.margin-T70   {margin-top:      70px !important;}
.margin-T80   {margin-top:      80px !important;}
.margin-T90   {margin-top:      90px !important;}
.margin-T100  {margin-top:     100px !important;}

.margin-R0    {margin-right:     0px !important;}
.margin-R5    {margin-right:     5px !important;}
.margin-R10   {margin-right:    10px !important;}
.margin-R15   {margin-right:    15px !important;}
.margin-R20   {margin-right:    20px !important;}

.margin-B0    {margin-bottom:    0px !important;}
.margin-B5    {margin-bottom:    5px !important;}
.margin-B10   {margin-bottom:   10px !important;}
.margin-B15   {margin-bottom:   15px !important;}
.margin-B20   {margin-bottom:   20px !important;}

.margin-L0    {margin-left:      0px !important;}
.margin-L5    {margin-left:      5px !important;}
.margin-L10   {margin-left:     10px !important;}
.margin-L15   {margin-left:     15px !important;}
.margin-L20   {margin-left:     20px !important;}

.padding-T0   {padding-top:      0px !important;}
.padding-T5   {padding-top:      5px !important;}
.padding-T10  {padding-top:     10px !important;}
.padding-T15  {padding-top:     15px !important;}
.padding-T20  {padding-top:     20px !important;}
.padding-T25  {padding-top:     25px !important;}
.padding-T30  {padding-top:     30px !important;}
.padding-T35  {padding-top:     35px !important;}
.padding-T40  {padding-top:     40px !important;}
.padding-T45  {padding-top:     45px !important;}
.padding-T50  {padding-top:     50px !important;}
.padding-T60  {padding-top:     60px !important;}
.padding-T70  {padding-top:     70px !important;}
.padding-T80  {padding-top:     80px !important;}
.padding-T90  {padding-top:     90px !important;}
.padding-T100 {padding-top:    100px !important;}

.padding-R0   {padding-right:    0px !important;}
.padding-R5   {padding-right:    5px !important;}
.padding-R10  {padding-right:   10px !important;}
.padding-R15  {padding-right:   15px !important;}
.padding-R20  {padding-right:   20px !important;}

.padding-B0   {padding-bottom:   0px !important;}
.padding-B5   {padding-bottom:   5px !important;}
.padding-B10  {padding-bottom:  10px !important;}
.padding-B15  {padding-bottom:  15px !important;}
.padding-B20  {padding-bottom:  20px !important;}

.padding-L0   {padding-left:     0px !important;}
.padding-L5   {padding-left:     5px !important;}
.padding-L10  {padding-left:    10px !important;}
.padding-L15  {padding-left:    15px !important;}
.padding-L20  {padding-left:    20px !important;}

/* ==========================================================================
 * Common
 * ========================================================================== */
#page-container {
	max-width: 2000px;
	margin: 0 auto;
}
.inner-width {
	width: 920px;
	margin-right: auto;
	margin-left:  auto;
}
@media screen and (max-width: 599px) {
	#page-container {
		max-width: 100%;
		overflow: hidden;
	}
	.inner-width {
		width: 90%;
	}
}
/*-------------------- Back to Top --------------------*/
a.backtotop {
	position: fixed;
	bottom: 70px;
	right: 5%;
	width: 40px;
	height: 40px;
	padding: 38px 0 0;
	background-color: #ccc;
	color: #fff;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	opacity: .5;
	border-radius: 50%;
	z-index: 30;
}
a.backtotop::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 17.3px 10px;
	border-color: transparent transparent #ffffff transparent;
}
/*-------------------- Title --------------------*/
h2 {
	text-align: center;
}
.common__ttl--inner {
	position: relative;
	color: #249e3e;
	font-size: 6.4rem;
	display: inline-block;
}
.common__ttl--inner::before,
.common__ttl--inner::after {
	content: "";
	position: absolute;
	width: 28px;
	height: 25px;
	display: block;
}
.common__ttl--inner::before {
	bottom: 50px;
	left: -40px;
	background: url("../images/pc/common_icon_ttl-left.png") no-repeat center center /cover;
}
.common__ttl--inner::after {
	bottom: 0;
	right: -40px;
	background: url("../images/pc/common_icon_ttl-right.png") no-repeat center center /cover;
}
.common__ttl--inner .ttl-line {
	font-size: 3.2rem;
	color: #333;
}
.common__ttl--inner .txt-small {
	font-size: 5.12rem;
}
@media screen and (max-width: 599px) {
	.common__ttl--inner {
		font-size: 2.8rem;
	}
	.common__ttl--inner .ttl-line {
		font-size: 1.8rem;
	}
	.common__ttl--inner .txt-small {
		font-size: 2.24rem
	}
	.common__ttl--inner::before,
	.common__ttl--inner::after {
		width: 15px;
		height: 14px;
	}
	.common__ttl--inner::before {
		bottom: 17px;
		left: -23px;
	}
	.common__ttl--inner::after {
		bottom: 0;
		right: -23px;
	}
}
/*-------------------- CTA --------------------*/
.cta {
	position: relative;
	padding: 20px 0;
	box-shadow: 0px 0px 5px 2px rgba(0,0,0,.2);
	z-index: 1;
}
@media screen and (min-width: 600px) {
	.cta {
		background: url("../images/pc/cta_bg.jpg") no-repeat center center /cover;
	}
}
.cta .inner-width {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.cta__col.num {
	font-size: 3rem;
	text-align: center;
	font-weight: 600;
}
.cta__col.num small {
	font-size: 3rem;
}
.cta__col.num .num__undisclosed {
	font-size: 11rem;
	color: #c45e4a;
}
.cta__number {
	margin-top: 0;
	line-height: 1;
}
.cta__col.btn a img,
.float-cta a img,
.float-cta__circle a img {
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,.3));
}
.cta__col.btn a:hover,
.float-cta a:hover,
.float-cta__circle a:hover {
	opacity: .8;
}
.cta__col.btn a:hover img,
.float-cta a:hover img {
	filter: none;
}
.float-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
	padding: 5px 0;
	text-align: center;
	background-color: rgba(255,255,255,.8);
	box-shadow: 0 0 5px 0 rgba(0,0,0,.5);
	backdrop-filter: blur(6px);
	z-index: 10;
}
.float-cta .inner-width,
.float-cta a {
	width: 100%;
	height: 100%;
}
.float-cta img {
	width: auto;
	height: 100%;
	animation: 3s bom-anim linear infinite alternate;
}
.float-cta__circle {
	position: fixed;
	top: 10%;
	right: 5%;
	animation: .5s bound-anim ease-in infinite alternate;
	z-index: 10;
}
@keyframes bound-anim {
	0%{transform:translateY(0px);}
	100%{transform: translateY(15px);}
}
@keyframes bom-anim {
	0%{transform:scale(.85);}
	2%{transform:scale(1.13);}
	4%{transform:scale(.995);}
	6%{transform:scale(1);}
	100%{transform:scale(1);}
}
@media screen and (max-width: 599px) {
	.cta {
		background: url("../images/sp/cta_bg.jpg") no-repeat center center /cover;
	}
	.cta .inner-width {
		display: block;
	}
	.cta__col.num {
		font-size: 2.2rem;
	}
	.cta__col.num .num__undisclosed {
		font-size: 6rem;
	}
	.cta__col.btn {
		margin-top: 15px;
	}
	.float-cta__circle {
		display: none !important;
	}
}

/*-------------------- Slanted Background --------------------*/
.slantbg {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 300px;
	opacity: .3;
	transform: skewY(-5deg) translateY(-50%);
}
.slantbg__gr-bl {
	background: linear-gradient(to right, rgba(99,215,123,1) 0%,rgba(78,180,241,1) 100%);
}
.slantbg__bl-gr {
	background: linear-gradient(to right, rgba(78,180,241,1) 0%,rgba(99,215,123,1) 100%);
}

/* ==========================================================================
 * Header
 * ========================================================================== */
header {
	height: 60px;
}
header .inner-width {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
header a {
	line-height: 1;
	pointer-events: none;
}
@media screen and (max-width: 599px) {
	header {
		position: fixed;
		width: 100%;
		height: 50px;
		background-color: rgba(255, 255, 255,.8);
		backdrop-filter: blur(6px);
		box-shadow: 0 0 5px 0 rgba(0,0,0,.5);
		z-index: 10;
	}
	header .inner-width {
		justify-content: flex-start;
	}
	header a {
		pointer-events: auto;
	}
	header img {
		width: 150px;
	}
}

/* ==========================================================================
 * KV
 * ========================================================================== */
.kv {
	height: 700px;
	padding-top: 100px;
	box-shadow: 0 0 5px 0 rgba(0,0,0,.2);
}
@media screen and (min-width: 600px) {
	.kv {
		background: url("../images/pc/fv_bg.jpg") no-repeat center center /cover;
	}
}
.kv .inner-width {
	position: relative;
	height: 100%;
	display: flex;
	justify-content: center;
	align-content: center;
}
.kv__inner {
	position: relative;
	width: 700px;
	height: 500px;
	margin: 0 auto;
	text-align: center;
	background-color: rgba(255,255,255,.8);
	backdrop-filter: blur(8px);
	box-shadow: 0 0 5px 0 rgba(0,0,0,.2);
	border-radius: 5px;
}
.kv__subcopy {
	position: absolute;
	top: -77px;
	left: 50%;
	transform: translateX(-50%);
}
h1 {
	margin-top: 60px;
}
.kv__3point {
	margin-top: 20px;
}
.kv__notes {
	position: absolute;
	left: 0;
	bottom: 5px;
	font-size: 1.2rem;
	text-shadow: 
		#fff 2px 0px 2px, #fff -2px 0px 2px,
		#fff 0px -2px 2px, #fff -2px 0px 2px,
		#fff 2px 2px 2px, #fff -2px 2px 2px,
		#fff 2px -2px 2px, #fff -2px -2px 2px,
		#fff 1px 2px 2px, #fff -1px 2px 2px,
		#fff 1px -2px 2px, #fff -1px -2px 2px,
		#fff 2px 1px 2px, #fff -2px 1px 2px,
		#fff 2px -1px 2px, #fff -2px -1px 2px,
		#fff 1px 1px 2px, #fff -1px 1px 2px,
		#fff 1px -1px 2px, #fff -1px -1px 2px;
}
.kv__notes li + li {
	margin-top: 0;
}
@media screen and (max-width: 599px) {
	.kv {
		height: auto;
		padding: 110px 0 1px;
		background: url("../images/sp/fv_bg.jpg") no-repeat center center /cover;
	}
	.kv .inner-width {
		display: block;
	}
	.kv__inner {
		width: 100%;
		height: auto;
		padding: 30px 10px;
	}
	.kv__subcopy {
		top: -35px;
	}
	h1 {
		margin-top: 20px;
	}
	.kv__notes {
		position: static;
	}
}

/* ==========================================================================
 * Gnavi
 * ========================================================================== */
#gnavi__btn--check {
	display: none;
}
.gnavi {
	position: sticky;
	top: 0;
	height: var(--gnavi-height);
	background-color: rgba(0, 145, 31,.8);
	backdrop-filter: blur(6px);
	box-shadow: 0 0 5px 0 rgba(0,0,0,.5);
	z-index: 10;
}
.gnavi ul {
	display: flex;
	justify-content: space-between;
}
a.gnavi__link {
	min-width: 100px;
	padding: 0 10px;
	height: var(--gnavi-height);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .2s;
}
a.gnavi__link:hover {
	font-weight: 700;
	background-color: #346d19;
	text-decoration: none;
}
a.gnavi__link.active {
	color: #249e3e;
	font-weight: 700;
	background-color: #fff;
	text-decoration: none;
}
@media screen and (max-width: 599px) {
	.gnavi__btn--menu {
		position: fixed;
		top: 5px;
		right: 5%;
		display: flex;
		height: 40px;
		width: 40px;
		justify-content: center;
		align-items: center;
		z-index: 1001;
		background-color: #249e3e;
	}
	.gnavi__btn--menu span,
	.gnavi__btn--menu span::before,
	.gnavi__btn--menu span::after {
		content: '';
		position: absolute;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: #ffffff;
		display: block;
	}
	.gnavi__btn--menu span::before {
		bottom: 8px;
	}
	.gnavi__btn--menu span::after {
		top: 8px;
	}
	#gnavi__btn--check:checked ~ .gnavi__btn--menu span {
		background-color: rgba(255, 255, 255, 0);
	}
	#gnavi__btn--check:checked ~ .gnavi__btn--menu span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#gnavi__btn--check:checked ~ .gnavi__btn--menu span::after {
		top: 0;
		transform: rotate(-45deg);
	}
	.gnavi {
		position: fixed;
		right: -105vw;
		width: 100%;
		height: 100vh;
		background-color: #c0e2c3;
		overflow: hidden;
		transition: all .3s;
		z-index: 1000;
	}
	#gnavi__btn--check:checked + .gnavi__btn--menu + .gnavi {
		right: 0;
	}
	.gnavi .inner-width {
		height: 100vh;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.gnavi ul {
		width: 100%;
		display: block;
	}
	a.gnavi__link {
		padding: 0;
		color: #249e3e;
		font-weight: 700;
	}
	a.gnavi__link:hover {
		color: #fff;
	}
	a.gnavi__link.active[href="#contact"],
	a.gnavi__link[href="#contact"]:hover {
		background-color: transparent;
	}
	a.gnavi__link[href="#contact"] {
		margin-top: 30px;
	}
	a.gnavi__link[href="#contact"] img {
		width: 100%;
	}
}

/* ==========================================================================
 * Search
 * ========================================================================== */
.search {
	padding: 120px 0 60px;
}
@media screen and (min-width: 600px) {
	.search {
		background: #f4f1ea url("../images/pc/search_bg.jpg") no-repeat top right /contain;
	}
}
.search__body {
	margin-top: 120px;
	display: flex;
	justify-content: space-between;
}
.search__col {
	background: linear-gradient(to bottom, rgba(254,254,254,0) 0%, rgba(254,254,254,0) 79%,rgba(255,255,255,1) 80%);
}
.search__item {
	width: 440px;
}
.search__item + .search__item {
	margin-top: 20px;
}
.search__item h3 {
	padding: 8px;
	color: #fff;
	font-size: 2.8rem;
	font-weight: normal;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	background-color: var(--basic-color);
}
.search__item h3 img {
	margin-right: .3em;
	display: inline-block;
}
.search__col.right {
	display: flex;
	flex-direction: column;
	align-content: space-between;
}
.search__col.right .search__item--body {
	padding: 0 25px 30px;
	background-color: #ebf8ee;
}
.search__button {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.search__button li {
	padding-top: 30px;
}
.search__button a {
	width: 180px;
	height: 120px;
	color: #333;
	font-size: 2.8rem;
	line-height: 1.2;
	text-align: center;
	border: 1px solid #afbfca;
	display: flex;
	box-shadow: 2px 2px 3px 0 rgba(0,0,0,.15);
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.search__button a:hover {
	text-decoration: none;
	box-shadow: 2px 2px 3px 0 rgba(0,0,0,.15) inset;
	background: linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--newdetached a,
.search__button--useddetached a {
	background: url("../images/pc/search_icon_home.png") no-repeat center center, linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--usedapartment a {
	background: url("../images/pc/search_icon_building.png") no-repeat center center, linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--land a,
.search__button--area a {
	background: url("../images/pc/search_icon_lot.png") no-repeat center center, linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--station a {
	background: url("../images/pc/search_icon_train.png") no-repeat center center, linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--price a {
	background: url("../images/pc/search_icon_yen.png") no-repeat center center, linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--new a {
	background: url("../images/pc/search_icon_new.png") no-repeat center center, linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}

.search__button--newdetached a:hover,
.search__button--useddetached a:hover {
	background: url("../images/pc/search_icon_home.png") no-repeat center center, linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--usedapartment a:hover {
	background: url("../images/pc/search_icon_building.png") no-repeat center center, linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--land a:hover,
.search__button--area a:hover {
	background: url("../images/pc/search_icon_lot.png") no-repeat center center, linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--station a:hover {
	background: url("../images/pc/search_icon_train.png") no-repeat center center, linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--price a:hover {
	background: url("../images/pc/search_icon_yen.png") no-repeat center center, linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
.search__button--new a:hover {
	background: url("../images/pc/search_icon_new.png") no-repeat center center, linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
}
@media screen and (max-width: 599px) {
	.search {
		padding: 60px 0;
		background: url("../images/sp/search_bg.jpg") no-repeat top right /contain;
	}
	.search__body {
		margin-top: 60px;
		display: block;
	}
	.search__item {
		width: 100%;
	}
	.search__item h3 {
		font-size: 2.2rem;
	}
	.search__item h3 img {
		vertical-align: middle;
	}
	.search__item.types {
		margin-top: 30px;
	}
	.search__col.right .search__item--body {
		padding: 0 15px 20px;
	}
	.search__button li {
		width: 49%;
		padding-top: 15px;
	}
	.search__button a {
		width: 100%;
		height: 80px;
		font-size: 1.8rem;
	}
	.search__item.requirements {
		display: none;
	}
}
/*-------------------- ポップアップ --------------------*/
.unregistered-alert h2 {
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--basic-color);
}
.unregistered-alert__merit {
	display: flex;
	justify-content: center;
}
.unregistered-alert__cta {
	text-align: center;
}

.unregistered-alert {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(242, 255, 246, .8);
	backdrop-filter: blur(5px);
	z-index: 100;
}
.unregistered-alert__bg {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 101;
}
.unregistered-alert__body {
	position: relative;
	background: #fff;
	padding: 40px;
	width: auto;
	max-width: 920px;
	margin: 20px auto;
	box-shadow: 0px 0px 5px 2px rgba(0,0,0,.1);
	z-index: 102;
}
.unregistered-alert__close {
	position: absolute;
	top: -30px;
	right: 0;
	cursor: pointer;
}
@media screen and (max-width: 599px) {
	.unregistered-alert__body {
		max-width: 90%;
		padding: 20px 10px;
	}
	.unregistered-alert h2 {
		font-size: 2.2rem;
	}
}

/* ==========================================================================
 * Problem
 * ========================================================================== */
.problem {
	min-height: 946px;
	padding-top: 110px;
}
@media screen and (min-width: 600px) {
	.problem {
		background: url("../images/pc/problem_bg.jpg") no-repeat center top /cover;
	}
}
.problem .inner-width {
	position: relative;
}
.problem h2 {
	font-size: 4rem;
	color: #fff;
	text-align: left;
}
.problem h2 span {
	margin-top: 10px;
	padding: 3px 10px 6px;
	background-color: #535353;
	display: inline-block;
}
.problem__now {
	position: absolute;
	top: 140px;
	left: 0;
	margin-top: 120px;
}
.problem__now::after {
	content: "MIKOKAI BUKKEN?";
	position: absolute;
	top: -88px;
	left: 0;
	font-size: 7.4rem;
	color: #fff;
	opacity: .5;
}
@media screen and (max-width: 599px) {
	.problem {
		min-height: inherit;
		margin-bottom: -60px;
		padding: 30px 0 0;
		background: url("../images/sp/problem_bg.jpg") no-repeat center top /cover;
	}
	.problem h2 {
		font-size: 2.2rem;
	}
	.problem h2 span {
		padding: 5px 10px 3px;
	}
	.problem__now {
		position: static;
		margin-top: 30px;
		text-align: center;
	}
	.problem__now::after {
		content: none;
	}
}

/* ==========================================================================
 * Key
 * ========================================================================== */
.key {
	padding: 120px 0 60px;
}
@media screen and (min-width: 600px) {
	.key {
		padding: 120px 0 60px;
		background: url("../images/pc/key_bg.jpg") no-repeat right top /contain;
	}
}
.key__kokai {
	margin-top: 30px;
}
@media screen and (max-width: 599px) {
	.key__kokai {
		text-align: center;
	}
}

/* ==========================================================================
 * Solution
 * ========================================================================== */
.solution {
	padding: 60px 0;
	text-align: center;
}
@media screen and (min-width: 600px) {
	.solution {
		background: url("../images/pc/common_bg_house.jpg") no-repeat center center /cover;
	}
}
.solution__lead {
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1;
}
.solution__kensu {
	position: relative;
	margin-top: 60px;
	padding: 25px 20px 15px;
	background-color: #ddf6e1;
}
.solution__kensu::after {
	content: "";
	position: absolute;
	bottom: -50px;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 100px 0 100px;
	border-color: #ddf6e1 transparent transparent transparent;
	transform: translateX(-50%);
}
.solution__kensu--item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.solution__kensu--item p {
	width: 49%;
	margin-top: 0;
	padding: 20px 0;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 3.2rem;
	text-align: center;
	background: linear-gradient(to right,  rgba(36,158,62,1) 0%,rgba(0,175,137,1) 50%,rgba(67,155,207,1) 100%);
}
.solution__kensu--item img {
	margin-right: 5px;
	vertical-align: text-top;
}
.solution__kensu--area {
	margin-top: 15px;
	font-size: 2.4rem;
	font-weight: 700;
}
.solution__kensu--num {
	margin-top: 0;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1;
}
.solution__kensu--num .num__undisclosed {
	font-size: 11rem;
	color: #c45e4a;
}
.solution__kensu--close {
	position: relative;
}
@media screen and (max-width: 599px) {
	.solution {
		padding: 30px 0;
		background: url("../images/sp/common_bg_house.jpg") no-repeat center center /cover;
	}
	.solution__lead {
		font-size: 1.8rem;
	}
	.solution__kensu {
		margin-top: 30px;
		padding: 10px;
	}
	.solution__kensu--item {
		display: block;
	}
	.solution__kensu--item p {
		width: 100%;
		padding: 8px;
		font-size: 2.2rem;
	}
	.solution__kensu--item p + p {
		margin-top: 5px;
	}
	.solution__kensu--item img {
		vertical-align: middle;
	}
	.solution__kensu--area {
		font-size: 1.8rem;
	}
	.solution__kensu--num {
		font-size: 2.2rem;
	}
	.solution__kensu--num .num__undisclosed {
		font-size: 6rem;
	}
	.solution__kensu::after {
		bottom: -25px;
		border-width: 25px 35px 0 35px;
	}
	.solution__kensu--close {
		margin-top: 5px;
	}
}

/* ==========================================================================
 * Reason
 * ========================================================================== */
.reason {
	padding: 80px 0 60px;
	border-top: 30px solid var(--basic-color);
}
@media screen and (min-width: 600px) {
	.reason {
		background: url("../images/pc/reason_bg.jpg") no-repeat center center /cover;
	}
	.reason__network {
		background: url("../images/pc/reason_img_network.png") no-repeat center center /cover;
	}
}
.reason__lead {
	margin-top: 60px;
	text-align: center;
}
.reason__network {
	margin-top: 60px;
}
.reason__benefit {
	text-align: center;
}
.reason__close {
	margin-top: 30px;
	display: flex;
	justify-content: center;
	align-content: center;
}
.reason__close--35 {
	margin-left: 30px;
	font-size: 3.5rem;
	font-weight: 700;
	text-align: center;
}
.reason__close--solution {
	padding-top: 15px;
}
.reason__close--35 strong {
	color: #c45e4a;
}
@media screen and (max-width: 599px) {
	.reason {
		padding: 60px 0;
		background: url("../images/sp/reason_bg.jpg") no-repeat center center /cover;
	}
	.reason__lead {
		text-align: left;
	}
	.reason__network {
		margin-top: 0;
		text-align: center;
	}
	.reason__benefit {
		margin-top: 30px;
	}
	.reason__close {
		margin-top: 15px;
		display: block;
	}
	.reason__close--solution {
		padding-top: 0;
		text-align: center;
	}
	.reason__close--35 {
		margin: 5px 0 0 0;
		font-size: 2.2rem;
	}
}

/* ==========================================================================
 * Award
 * ========================================================================== */
.award {
	padding: 80px 0 60px;
}
@media screen and (min-width: 600px) {
	.award {
		background: url("../images/pc/award_bg.jpg") no-repeat top center /2000px 874px;
	}
}
.award__body {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}
.award__body p {
	text-align: center;
	flex-grow: 1;
}
@media screen and (max-width: 599px) {
	.award {
		padding: 60px 0;
		background-image:
			url("../images/sp/award_img_ribbon-lefttop.png"),
			url("../images/sp/award_img_ribbon-rightbottom.png"),
			url("../images/sp/award_bg.jpg");
		background-repeat:
			no-repeat,no-repeat,repeat;
		background-position: 
			left top,
			right bottom,
			center center;
		background-size:
			90px 90px,
			66px 72px,
			169px 299px;
	}
	.award__body {
		display: block;
	}
}

/* ==========================================================================
 * Convenient
 * ========================================================================== */
.convenient {
	padding: 80px 0 60px;
}
.convenient__point {
	position: relative;
	margin-top: 120px;
}
.convenient__point .inner-width {
	position: relative;
	display: flex;
	justify-content: space-between;
	z-index: 1;
}
.convenient__point .slantbg {
	height: 450px;
}
.convenient__point--txt {
	margin-top: 60px;
}
@media screen and (max-width: 599px) {
	.convenient {
		margin-bottom: 60px;
		padding: 60px 0;
	}
	.convenient__point {
		margin-top: 200px;
	}
	.convenient__point + .convenient__point {
		margin-top: 150px;
	}
	.convenient__point .inner-width {
		display: block;
	}
	.convenient__point--col.fig {
		position: absolute;
		top: -140px;
		right: 0;
		width: 230px;
	}
	.convenient__point--col.fig img {
		width: 100%;
	}
	.convenient__point--txt {
		margin-top: 30px;
	}
	.convenient__point .slantbg {
		height: 310px;
		top: inherit;
		bottom: -10px;
		transform: skewY(-5deg);
	}
}

/* ==========================================================================
 * Omakase
 * ========================================================================== */
.omakase {
	padding: 80px 0 60px;
	background: url("../images/pc/common_bg_grid.jpg");
}
.omakase__plan {
	margin-top: 100px;
	text-align: center;
	box-shadow: 0 0 5px 0 rgba(0,0,0,.2);
}
.omakase__codawari {
	margin-top: 60px;
	text-align: center;
	box-shadow: 0 0 5px 0 rgba(0,0,0,.2);
}
@media screen and (max-width: 599px) {
	.omakase {
		padding: 60px 0;
	}
	.omakase__plan {
		margin-top: 60px;
	}
}

/* ==========================================================================
 * Flow
 * ========================================================================== */
.flow {
	padding: 120px 0 60px;
}
@media screen and (min-width: 600px) {
	.flow {
		background: url("../images/pc/flow_bg.jpg") no-repeat center center /cover;
	}
}
.flow__list {
	margin: 100px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flow__list li {
	position: relative;
	width: 294px;
	height: 361px;
	margin-top: 30px;
	padding: 5px 23px 0;
	background: url("../images/pc/flow_arrow_step.jpg") no-repeat center center /cover;
}
.flow__stepnum {
	position: absolute;
	top: 20px;
	left: -18px;
	transform: rotate(-90deg);
	display: inline-block;
}
.flow__fig {
	text-align: center;
}
.flow__fig img {
	filter: drop-shadow(0 0 2px rgba(0,0,0,.4));
}
.flow__list dt {
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--basic-color);
}
.flow__list dd {
	margin-top: 10px;
	font-size: 1.6rem;
}
@media screen and (max-width: 599px) {
	.flow {
		padding: 60px 0;
		background: url("../images/sp/flow_bg.jpg") no-repeat center center /cover;
	}
	.flow__list {
		margin: 30px 0 0;
	}
	.flow__list li {
		width: 48%;
		height: auto;
		margin-top: 85px;
		padding: 5px 20px 0 23px;
		background: url("../images/sp/flow_arrow_step.png") no-repeat bottom left /cover;
	}
	.flow__stepnum {
		top: 15px;
		left: -13px;
		font-size: 1.2rem;
	}
	.flow__fig {
		margin-top: -70px;
		transform: translateX(10px);
	}
	.flow__list dt {
		font-size: 1.8rem;
	}
}

/* ==========================================================================
 * Voice
 * ========================================================================== */
.voice {
	padding: 80px 0 60px;
}
.voice__box {
	position: relative;
	margin-top: 120px;
}
.voice__box + .voice__box {
	margin-top: 90px;
}
.voice__box .slantbg {
	height: 520px;
}
.voice__box .inner-width {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	z-index: 1;
}
.voice__box:nth-last-of-type(even) .inner-width {
	flex-direction: row;
}
.voice__box--ttl {
	font-size: 4rem;
	font-weight: 700;
	color: transparent !important;
	background: linear-gradient(to right,  rgba(36,158,62,1) 0%,rgba(0,175,137,1) 50%,rgba(67,155,207,1) 100%);
	-webkit-background-clip: text;
}
.voice__box--col.text {
	width: 480px;
}
.voice__box--body {
	margin-top: 15px;
}
.voice__box--col.img {
	width: 440px;
}
.voice__box--col.img figure {
	text-align: right;
}
.voice__box:nth-last-of-type(even) .voice__box--col.img figure {
	text-align: left;
}
@media screen and (max-width: 599px) {
	.voice {
		padding: 60px 0;
	}
	.voice__box {
		margin-top: 60px;
	}
	.voice__box + .voice__box {
		margin-top: 30px;
	}
	.voice__box .inner-width {
		display: block;
	}
	.voice__box--col.img {
		width: 60%;
		margin: 0 auto;
		text-align: center;
	}
	.voice__box--col.text {
		width: 100%;
		margin-top: 30px;
	}
	.voice__box--ttl {
		font-size: 2.2rem;
	}
	.voice__box .slantbg {
		height: 80%;
		top: auto;
		bottom: 15px;
		transform: skewY(-5deg);
	}
}
/*-------------------- Graf --------------------*/
.voice__graf h3 {
	margin-top: 120px;
	font-size: 3.2rem;
	text-align: center;
}
.voice__graf--img {
	margin-top: 60px;
	text-align: center;
}
.voice__graf--notes {
	margin-top: 15px;
	font-size: 1.2rem;
	color: #ccc;
}
@media screen and (max-width: 599px) {
	.voice__graf h3 {
		margin-top: 60px;
		font-size: 2.2rem;
	}
	.voice__graf--img {
		margin-top: 30px;
	}
}

/* ==========================================================================
 * Voice
 * ========================================================================== */
.access {
	min-height: 920px;
	padding: 80px 0 60px;
}
@media screen and (min-width: 600px) {
	.access {
		background-image: url("../images/pc/access_bg_pin.png"), url("../images/pc/access_bg.jpg");
		background-repeat: no-repeat, no-repeat;
		background-position: 20% bottom, center center;
		background-size: 484px 621px, cover;
	}
}
.access__body {
	display: flex;
	justify-content: space-between;
}
.shoplist {
	position: relative;
	width: 100%;
	margin-top: 80px;
}
@media screen and (max-width: 599px) {
	.access {
		padding: 60px 0;
		background-image: url("../images/pc/access_bg_pin.png"), url("../images/sp/access_bg.jpg");
		background-repeat: no-repeat, no-repeat;
		background-position: -110% bottom, center center;
		background-size: 290px 372px, cover;
	}
}
/*-------------------- 店舗リスト --------------------*/
.shoplist__area {
	width: 48%;
}
.shoplist__area + .shoplist__area {
	margin-top: 30px;
}
.shoplist__area--pref {
	font-size: 2.8rem;
	font-weight: 700;
	color: var(--basic-color);
}
.shop__area--body {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.shop__btn {
	width: 49%;
	margin-top: 8px;
	padding: 10px;
	text-align: center;
	background: linear-gradient(to bottom,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
	box-shadow: 2px 2px 2px 0 rgba(0,0,0,.15);
	cursor: pointer;
}
.shop__btn:hover,
.shop__btn.active {
	background: linear-gradient(to top,  #fefefe 0%,#fefefe 27%,#d5dfe4 100%);
	box-shadow: 2px 2px 2px 0 rgba(0,0,0,.15) inset;
}
@media screen and (max-width: 599px) {
	.shoplist {
		margin-top: 60px;
	}
	.shoplist__area {
		width: 100%;
	}
	.shoplist__area--pref {
		font-size: 2.2rem;
	}
	.shop__area--body {
		display: block;
	}
	.shop__btn {
		width: 100%;
	}
}
/*-------------------- 店舗詳細 --------------------*/
.shop__detail {
	position: absolute;
	top: 0;
	left: 50%;
	width: 48%;
	padding: 15px;
	background-color: rgba(255, 255, 255,.5);
	backdrop-filter: blur(6px);
	border: 2px solid var(--basic-color);
	display: none;
}
.shop__detail--shopname {
	font-size: 2.2rem;
}
.shop__detail--shopname img {
	height: 1.5em;
}
.shop__detail--gmap {
	width: 100%;
	height: 300px;
	margin-top: 15px;
}
.shop__detail dl {
	display: flex;
	justify-content: space-between;
}
.shop__detail dt {
	width: 25%;
	padding: 10px;
	color: #fff;
	display: flex;
	align-items: center;
	background: linear-gradient(to right, rgba(99,215,123,1) 0%,rgba(78,180,241,1) 100%);
}
.shop__detail dt img {
	margin-right: 3px;
	vertical-align: sub;
}
.shop__detail dd {
	width: 73%;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 599px) {
	.shop__detail {
		position: static;
		width: 100%;
		margin-top: 5px;
	}
	.shop__detail--shopname {
		font-size: 1.8rem;
	}
	.shop__detail--shopname img {
		height: 1.2em;
	}
	.shop__detail dl {
		display: block;
	}
	.shop__detail dt,
	.shop__detail dd {
		width: 100%;
	}
	.shop__detail dt {
		padding: 5px;
	}
}

/* ==========================================================================
 * Contact
 * ========================================================================== */
.contact {
	padding: 80px 0 60px;
	background: url("../images/pc/common_bg_grid.jpg");
}
.contact__nav {
	margin-top: 60px;
}
.contact__body {
	margin-top: 60px;
}
@media screen and (max-width: 599px) {
	.contact {
		padding: 60px 0 30px;
	}
	.contact__body {
		margin-top: 30px;
	}
}

/* ==========================================================================
 * Company
 * ========================================================================== */
.company {
	padding: 80px 0 60px;
}
@media screen and (min-width: 600px) {
	.company {
		background: url("../images/pc/common_bg_house.jpg") no-repeat center center /cover;
	}
}
.company__inner {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.company__body--name {
	font-size: 3.2rem;
	font-weight: 700;
}
.company__body--license {
	margin-top: -5px;
	font-weight: 700;
}
.company__body--detail {
	margin-top: 30px;
}
.company__body--detail dl {
	width: 680px;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
.company__body--detail dt {
	width: 150px;
}
.company__body--detail dd {
	width: 530px;
}
.company__inner figure img {
	filter: drop-shadow(0 0 2px rgba(0,0,0,.2));
}
@media screen and (max-width: 599px) {
	.company {
		padding: 60px 0 30px;
		background: url("../images/sp/common_bg_house.jpg") no-repeat center center /cover;
	}
	.company__inner {
		display: block;
	}
	.company__body--name,
	.company__body--license {
		text-align: center;
	}
	.company__body--name {
		font-size: 2.2rem;
	}
	.company__body--detail dl,
	.company__body--detail dt,
	.company__body--detail dd {
		width: 100%;
		display: block;
	}
	.company__body--detail dl + dl {
		margin-top: 15px;
	}
	.company__body--detail dt {
		font-weight: 700;
	}
	.company__body--detail dd {
		font-size: 1.6rem;
	}
}

/* ==========================================================================
 * Footer
 * ========================================================================== */
footer {
	padding: 10px 0;
}
footer .inner-width {
	display: flex;
	justify-content: space-between;
}
.footer__link {
	font-size: 1.2rem;
}
footer small {
	font-size: 1.2rem;
}
@media screen and (max-width: 599px) {
	footer {
		padding: 10px 0 70px;
	}
}
