/*
nishiku_kami
Last Updated: 2024-11-01
Author zeal
*/
@charset "utf-8";


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; }
.text_yu_min{ font-family:'游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝',serif; }
.text_15{ font-size: clamp(1.3rem,1.442vw,1.5rem);}
.text_16{ font-size: clamp(1.4rem,1.538vw,1.6rem); }
.text_18{ font-size: clamp(1.5rem,1.731vw,1.8rem); }
.text_28{ font-size: clamp(2rem,2.43vw,2.8rem); }
.text_36{ font-size: clamp(2.2rem,3.13vw,3.6rem); }

.ttl_110 img{
	max-width: 110px;
}

.ttl_420 img{
	max-width: 420px;
}
.ttl_500 img{
	max-width: 500px;
}
.ttl_center{
	margin-right: auto;
	margin-left: auto;
}

.text_center{
	text-align: center;
}
@media screen and (max-width: 599px) {
	.text_center{
		text-align: left;
	}
}	

/*----------------------------------------
	layout
----------------------------------------*/

.inner_frame{
	width: 100%;
	max-width: 1190px;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}
@media screen and (max-width: 1000px) {

	.inner_frame{
		padding-right: 2.5%;
		padding-left: 2.5%;
	}

}/*END*/

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

	.inner_frame{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}

}/*END*/

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

	.inner_frame{
		padding-right: 4.5%;
		padding-left: 4.5%;
	}

}/*END*/


/*----------------------------------------
	map
----------------------------------------*/

.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 45% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 599px) {
	.map{ padding: 60% 0 0; }
}/*END*/

/*----------------------------------------
	common
----------------------------------------*/
.abs{
	position: absolute;
}
.max870 {
	max-width: 870px;
}
@media screen and (max-width: 768px) {
	img.sp_respon150 {
		width: 150%;
	}
}
/*----------------------------------------
	mv
----------------------------------------*/

.mv_bg{
	background-color: #f5f9e2;
}

.concept_deco {
	position: absolute;
    bottom: 109%;
    transform: translateY(100%);
    left: 60%;
    max-width: 83px;
    width: 15.19%;
    min-width: 20px;
}
/*----------------------------------------
	plan
----------------------------------------*/
.bg_plan {
    background-color: #f8c446;
}
.bg_plan_white{
	background: #fff;
    padding: 5%;
}

.plan_deco01 {
	position: absolute;
    top: 40%;
    transform: translateY(-50%);
    left: 29%;
    max-width: 55px;
    width: 15.19%;
}
.plan_deco02 {
	position: absolute;
    top: 37%;
    transform: translateY(-50%);
    left: 68%;
    max-width: 50px;
    width: 15.19%;
}

@media screen and (max-width: 1200px) {
	.plan_deco01 {
		left: 16%;
	}
	.plan_deco02 {
		left: 79%;
	}
}
@media screen and (max-width: 768px) {
	.plan_deco01 {
		left: 10%;
        width: 10%;
	}
	.plan_deco02 {
		left: 87%;
        width: 10%;
	}
}
@media screen and (max-width: 599px) {
	.plan_deco01 {
        left: 7%;
	}
}
/*----------------------------------------
	contact set
----------------------------------------*/

.contact_set{
	background: #e3e2dc;
}
.contact_set ul{
	display: grid;
	height: auto;
	grid-template-columns: repeat(3,1fr);
	gap: 50px;
}
.contact_set a{
	display: block;
}

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

	.contact_set ul{
		gap: 30px;
	}

}/*END*/

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

	.contact_set ul{
		display: block;
		max-width: 350px;
		margin-left: auto;
		margin-right: auto;
	}
	.contact_set ul li{
		margin-bottom: 20px;
	}

}/*END*/


/*----------------------------------------
	spec
----------------------------------------*/

.spec_point{
	display: grid;
	height: auto;
	grid-template-columns: repeat(3,1fr);
	gap: 50px;
}
.spec_list{
	display: grid;
	height: auto;
	grid-template-columns: repeat(4,1fr);
	gap: 50px;
}
.spec_bnr{
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
/* soraene */
.soraene_box {
    background: #fff;
    gap: 0%;
    box-sizing: border-box;
    border: 20px solid #ddeff8;
    padding: 5% 4%;
    display: flex;
    align-items: center;
	justify-content: space-between;
}
.soraene_box_lt {
	width: 50%;
}
.soraene_box_rt {
	width: 45%;
}
/* chouki */
.chouki_frame{
	border: 20px solid #e5e5e5;
	box-sizing: border-box;
	padding-right: 2.7%;
}
.chouki_text{
	float: right;
	width: 39.63%;
}
.chouki_img{
	float: left;
	width: 54.05%;
}
@media screen and (max-width: 599px){
	.chouki_img{
		float: none;
		width: 100%;
	}
	.chouki_text {
		float: none;
        padding: 5% 4%;
        width: 92%;
    }
	.chouki_frame{
		width: 100%;
		padding-right: 0%;
	}

}/*END*/
/* spec bnr */
.spec_bnr {
	display: flex;
	border: 9px solid #e5e5e5;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {

	.spec_list{
		gap: 30px;
	}
	.spec_point{
		gap: 30px;
	}

	.soraene_box {
		flex-direction: column;
		gap: 15px;
	}
	.soraene_box_lt,.soraene_box_rt,.lq_housing_box_lt,.lq_housing_box_rt {
		width: 100%;
	}

	.chouki_box {
		background: #fff;
		flex-direction: column-reverse;
		gap: 15px;
		padding-bottom: 0;
	}
	.chouki_box_lt,.chouki_box_rt  {
		display: block;
		width: 100%;
	}
	.chouki_box_lt  {
		width: 107%;
		height: 200px;
	}
	.chouki_box_lt img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: left;
	}
}/*END*/

@media screen and (max-width: 599px){
	.spec_point{
		display: block;
	}
	.spec_point li{
		margin-bottom: 30px;
	}
	.spec_list{
		grid-template-columns: repeat(2,1fr);
		gap: 20px;
	}


	.spec_bnr {
		flex-direction: column;
	}
}/*END*/


/*----------------------------------------
	location
----------------------------------------*/

.bg_location {
    background-color: #5cbfc6;
	color: #fff;
}
.location_list > div{
	display: flex;
	justify-content: space-between;
	padding: 0.6em 10px;
	gap: 10px;
	line-height: 1.4;
	border-bottom: 1px solid #f3d0cd;
}
.location_list > div:first-of-type{
	border-top: 1px solid #f3d0cd;
}
.location_deco01 {
    position: absolute;
    bottom: 1%;
    transform: translateY(-50%);
    left: 24%;
    max-width: 105px;
    width: 15.19%;
}
.location_deco02 {
    position: absolute;
    bottom: -25%;
    transform: translateY(-50%);
    left: 69%;
    max-width: 75px;
    width: 15.19%;
}
.location_gap{
	gap: 8.3%;
}
@media screen and (max-width: 1200px) {
	.location_deco01 {
		bottom: 4%;
        left: 10%;
		width: 13%;
	}
	.location_deco02 {
		left: 77%;
		bottom: -3%;
		width: 8%;
	}
}
@media screen and (max-width: 768px) {
	.location_deco01 {
        bottom: 14%;
        left: 2%;
        width: 15%;
	}
	.location_deco02 {
		left: 84%;
        bottom: 16%;
        width: 8%;
	}
}
/*----------------------------------------
	access
----------------------------------------*/
.access_deco01 {
position: absolute;
    bottom: -17%;
    transform: translateY(-50%);
    left: 24%;
    max-width: 110px;
    width: 15.19%;
}
.access_deco02 {
position: absolute;
    bottom: -37%;
    transform: translateY(-50%);
    left: 65%;
    max-width: 70px;
    width: 15.19%;
}
@media screen and (max-width: 1200px) {
	.access_deco01 {
		bottom: -18%;
        left: 17%;
        width: 12%;
	}
	.access_deco02 {
		bottom: -39%;
        left: 70%;
        width: 7.19%;
	}
}
@media screen and (max-width: 768px) {
	.access_deco01 {
		bottom: -1%;
        left: 11%;
        width: 13%;
	}
	.access_deco02 {
		bottom: 0%;
        left: 76%;
        width: 7%;
	}
}
@media screen and (max-width: 599px) {
	.access_deco01 {
		bottom: 15%;
        left: 8%;
		width: 13%;
	}
	.access_deco02 {
		bottom: -8%;
        left: 80%;
		width: 10%;
	}
}
/*----------------------------------------
	outline
----------------------------------------*/

.outline_l{
	float: left;
	width: 47.82%;
}
.outline_r{
	float: right;
	width: 47.82%;
}
#outline table{
	line-height: 2;
	width: 100%;
	border-top: 1px solid #d9d9d9;
}
#outline th{
    font-weight: normal;
    text-align: left;
    background: #ecc16c;
    border-bottom: 1px solid #d9d9d9;
    padding: 4px 10px;
    box-sizing: border-box;
    width: 150px;
}
#outline td{
	border-bottom: 1px solid #d9d9d9;
	padding: 4px 10px;
	box-sizing: border-box;
}


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

	.outline_l,
	.outline_r{
		float: none;
		width: 100%;
	}
	#outline td,
	#outline th{
		font-size: 1.3rem;
	}
	#outline th{
		width: 120px;
	}

}/*END*/
@media screen and (max-width: 599px) {
	.kigen th,
	.kigen td{
		display: block;
		width: 100% !important;
	}
}

/*----------------------------------------
	contents
----------------------------------------*/
.flex_two{
	display: flex;
	justify-content: space-between;
}
.flex_two.reverse{
	flex-direction: row-reverse;
}
.flex_two.al_center{
	align-items: center;
}
.flex_two > div{
	width: 47.83%;
}
.flex_two > div.box43{
	width: 43.48%;
}
@media screen and (max-width: 599px) {
	.flex_two,
	.flex_two.reverse{
		flex-direction: column;
		row-gap: 30px;
	}
	.flex_two > div,
	.flex_two > div.box43{
		width: 100%;
	}
}
.grid_four{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	column-gap: 3.5%;
	row-gap: 30px;
}
@media screen and (max-width: 599px) {
	.grid_four{
		grid-template-columns: 1fr;
	}
}
.max_850{
	max-width: 850px;
}
.m_center{
	margin-inline: auto;
}