/*----------------------------------------
	全体
----------------------------------------*/
html{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	font-size:62.5%;
	color:  #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}

.meiryo{
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yugo{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yumin{
		font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',serif;
}

.lora{
	font-family: 'Lora', serif;
}


body{ font-size:1.4rem; font-size: 1.4em; }
img{ vertical-align: bottom; }
img {
    image-rendering: -webkit-optimize-contrast;
}

a{
	color:#14184c;
	transition: all 0.3s;
}
a:hover{
	color:#252b7e;
	transition: all 0.3s;
}
.op img{ transition: all 0.3s; }
.op:hover img{
	opacity:0.70;
	transition: all 0.3s;
}
.op:hover{
	opacity: 0.7;
}
.max_respon{max-width:100%;}
#container{ overflow: hidden; }
li{ list-style:none; }
.center{ text-align:center; }
.text_right {
	text-align: right;
}

@media screen and (min-width: 600px) {
.tb_center{ text-align:center; }
}



@media screen and (max-width: 599px) {
	.copy{ font-size: 1.8rem; }

	p{text-align:left;}

	.sp_text_left{
		text-align: left;
	}

	.sp_text_center{
		text-align: center;
	}

}/*END*/


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

p{ line-height: 2; font-feature-settings: "palt"; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.text_pink{ color: #fc799e; }
.text_blue{ color: #0162b3; }
.text_gold{ color: #7b622b; }
.text_emerald{ color:#00b2b2; }
.text_mizu{ color:#00a1e9; }
.text_white{ color:#fff; }

.text_11{ font-size:1.1rem !important; }
.text_12{ font-size:1.2rem !important; }
.text_13{ font-size:1.3rem !important; }
.text_15{ font-size:1.5rem !important; }
.text_21{ font-size:2.1rem !important; }
.text_22{ font-size:2.2rem !important; }
.text_26{ font-size:2.6rem !important; }
.text_34{ font-size:3.2rem !important; }
.text_35{ font-size: clamp(28px, 4vw, 35px) !important; }
.text_36{ font-size:3.6rem !important; }
.text_48{ font-size:4.8rem !important; }

.lh_12{ line-height: 1.2 !important; } /* 追加 */
.lh_24{ line-height: 2.4 !important; }
.lh_22{ line-height: 2.2 !important; }
.lh_20{ line-height: 2 !important; }
.lh_23{ line-height: 2.3 !important; } /* 追加 */
.lh_25{ line-height: 2.5 !important; } /* 追加 */
.lh_18{ line-height: 1.8 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_14{ line-height: 1.4 !important; }
.lh_14{ line-height: 1.3 !important; }
.ls_06{ letter-spacing: 0.6px; } /* 追加 */
.ls_1{ letter-spacing: 1px; }
.ls_15{ letter-spacing: 1.5px; } /* 追加 */
.ls_-1{ letter-spacing: -1px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_4{ letter-spacing: 4px; }

@media print, screen and (min-width: 769px) {

	.text_16{ font-size:1.6rem !important; }
	.text_18{ font-size:1.8rem !important; }
	.text_20{ font-size:2.0rem !important; }
	.text_24{ font-size:2.4rem !important; }

	.text_28{ font-size:2.8rem !important; }
	.text_30{ font-size:3.0rem !important; }
	.text_32{ font-size:3.2rem !important; }
	.text_42{ font-size:4.2rem !important; }
	.text_40{ font-size:4rem !important; }
	.text_50{ font-size:5rem !important; }
	.text_55{ font-size:5.5rem !important; }	
	.ls_4{ letter-spacing: 4px; }

}/*END*/

@media print, screen and (min-width:769px) and ( max-width: 1119px) {

	.text_16{ font-size:1.6rem !important; }
	.text_30{ font-size:2.8rem !important; }
	.text_32{ font-size: 2.6rem !important; }
	.text_42{ font-size: 3.6rem !important; }

}/*END*/

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

	p{ line-height: 1.8; }
	.lh_23{ line-height: 2 !important; } /* 追加 */
	.lh_25{ line-height: 2 !important; } /* 追加 */
	.text_18{ font-size: 1.5rem; }
	.text_24{ font-size: 2.2rem !important; }
	.text_28{ font-size: 1.9rem !important; }
	.text_30{ font-size: 2rem !important; }
	.text_32{ font-size: 2rem !important; }
	.text_42{ font-size: 3rem !important; }

	.text_28{ font-size:2.2rem !important; }
	.text_30{ font-size:2.4rem !important; }
	.text_32{ font-size:2.6rem !important; }
	.text_42{ font-size:3.6rem !important; }
	.text_40{ font-size:3.6rem !important; }
	.text_50{ font-size:4rem !important; }
	.text_55{ font-size:4.3rem !important; }	

	.ls_2{ letter-spacing: 1px; }
	.ls_4{ letter-spacing: 2px; }

}/*END*/

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

	p{ line-height: 1.6; }
	.lh_23{ line-height: 1.8 !important; } /* 追加 */
	.lh_25{ line-height: 1.8 !important; } /* 追加 */
	.text_18{ font-size: 1.4rem; }
	.text_21{ font-size: 1.8rem !important; }
	.text_24{ font-size: 1.9rem !important; }

	.text_28{ font-size: 1.7rem !important; }
	.text_30{ font-size: 2.2rem !important; }
	.text_32{ font-size: 1.8rem !important; }
	.text_42{ font-size: 3rem !important; }

	.text_48{ font-size: 3.2rem !important; }	

	.ls_4{ letter-spacing: 1px; }

}/*END*/

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

	.text_30{ font-size: 2rem !important; }
	.text_42{ font-size: 2.8rem !important; }
	.ls_2{ letter-spacing: 0; }

}


/*----------------------------------------
	layout
----------------------------------------*/
.inner_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
}

.pc_block{
	display: block;
}
.sp_block{
	display: none;
}
.p_t8p{
	padding-top: 8%;
}

@media print, screen and (min-width: 769px) {

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

}/*END*/

@media print, screen and (min-width: 1200px) {

	.inner_frame{
		width: 1200px;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}
	.in_frame{
		max_width: 980px;
		margin-right: auto;
		margin-left: auto;
	}
	.p_l12p{
		padding-left: 12%;
	}
}/*END*/
@media screen and (max-width: 768px){
	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}
}/*END*/
@media screen and (max-width: 599px){
	.pc_block{
		display: none;
	}
	.sp_block{
		display: block;
	}

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

/*----------------------------------------
	header
----------------------------------------*/

header{
	background: #fff;
	position: fixed;
	z-index: 100;
	width: 100%;
	box-sizing: border-box;
	max-height:80px;
}
header a{
	display: block;
	color: inherit;
	text-decoration: none;
}


h1.read{
	float:left;
	padding: 23px 0 0 15px;
	color: #8c8c8c;
	font-weight: normal;
	font-size: 1.1rem;
	line-height: 1.6;
}

.head_logo{ float: left; }

.head_logo img{ max-width:224px; }


main{
	margin-top:80px;
}

.top .toplogo{
	display: block;
}
.page .pagelogo{
	display: block;
}

.top .topimg{
	display: inline-block;
}
.top .pageimg{
	display: inline-block;
}

.top .pagelogo,.top .pageimg{ display: none; }
.page .toplogo,.page .topimg{ display: none; }


.header_l{
	width:35%;
	float:left;
}
.header_r{
	width:65%;
	float:right;
}


.page header{
	position: static;
	background:#fff;
}

.page header{
	min-height:60px;
}
.nav_sp_block{
	display: none;
}
.nav_sp_none{
	display: block;
}



@media print, screen and (min-width: 1199px) {

	header{
		width: 100%;
		z-index: 100;
	}


	.head_contact{
		margin-left:20px;
	}

	.head_contact a.btn{
		box-sizing: border-box;
		background: #fff;
		color: #022873;
		text-align: center;
		padding:22px 30px;
	}
	.head_contact a.btn:hover{
		    opacity: 0.6;
		/*box-shadow:rgba(0, 0, 0, 0.3) 0px 1px 2px 0;*/
	}
	.head_contact a.btn img{
		width: 32px;
		vertical-align: 0;
	}
	header li{
		float: left;
		padding-top: 34px;
	}

	header li:last-child{
		padding-top:18px;
	}


	header li a{
		text-align: center;
		box-sizing: border-box;
		padding:0 14px;
	}

	header li a:hover{
		color: inherit;
		transition: all 0.6s;
		text-decoration: underline;
	}



	.page header a{
		color:#060d2a;
	}
	.page header a:hover{
		color:#060d2a;
		text-decoration: underline;
	}

	.page .head_contact a.btn{
		background:#022873;
		color:#fff;
	}




	#sd{
		font-weight: bold;
		letter-spacing: 0.5px;
	}


	.head_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(19,66,149,0.8);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}

	.page header.head_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(255,255,255,0.8);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}

	#sd{
		float:right;
	}


}/*END*/



@media print, screen and (max-width: 1340px) {
	h1.read{
		padding: 23px 0 0 4px;
		font-size:1.0rem;
		letter-spacing: -0.5px;
	}

	.header_r {
	    width: 60%;
	}
	header li a{
		padding: 0 10px;
	}
	.header_l{
		width:38%;
	}

}/*END*/


@media print, screen and (max-width: 1280px) and (min-width: 1199px){
	header li:last-child {
	    padding-top: 22px;
	    width: 128px;
	}

	header li:last-child a{
		padding: 0 4px;
	}

}/*END*/




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

	.header_l{
		width:100%;
	}

	#sd ul,
	.head_inner{
		padding:0;
	}

	#sd {
	    border-left: 6px solid #000;
	}

	.border_non a{
		border:none !important;
		padding: 0 !important;
	}



	.sd-trigger{
		float: right;
		position: fixed;
		right: 15px;
		top: 20px;
		width: 44px;
		height: 42px;
		cursor: pointer;
		border: 1px solid #000;
		z-index: 10;
		/*background: rgba(255,255,255,0.8);*/
		background: #000;
		color:#fff;
	}


	.sp_fix_btn{
		display: block;
		position: fixed;
		right: 80px;
		top: 23px;
		width: auto;
		cursor: pointer;
		z-index: 10;
	}

	.nav_sp_block{
		display: block;
	}
	.nav_sp_none{
		display: none;
	}



	.sd-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		width: 22px;
		background-color: #fff;
	}
	.sd-trigger span:nth-of-type(1) { top: 11px; left: 11px; }
	.sd-trigger span:nth-of-type(2) { top: 19px; left: 11px; }
	.sd-trigger span:nth-of-type(3) { top: 27px; left: 11px; }
	#sd{ box-sizing: border-box; }
	#sd ul{
		margin-bottom: 0;
		/*border-top: 1px dotted #555;*/
	}
	#sd li{ position: relative; }
	#sd li a{
		display: block;
		text-decoration: none;
		padding: 15px 2% 15px 8%;
		color:#000;
		border-bottom: 1px dotted #555;
	}

}/*END*/



@media print, screen and (max-width: 767px){
	.head_logo{
		width:110px;
	}

	h1.read{
		font-size:1rem;
		padding: 2px 0 0 2px;
	}

	.header_l{
		width:90%;
	}

	main{
		margin-top:30px;
	}

	.sd-trigger{
		float: right;
		position: fixed;
		right: 0;
		top: 0;
		width: 44px;
		height: 38px;
		cursor: pointer;
		border: 1px solid #000;
		z-index: 10;
		/*background: rgba(255,255,255,0.8);*/
		background: #000;
		color:#fff;
	}


}/*END*/



@media print, screen and (max-width: 599px){
	h1.read{
		font-size:1rem;
		letter-spacing: -0.5px;
	}


}/*END*/

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

.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 35% 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*/


/*----------------------------------------
	contact
----------------------------------------*/

.contact_frame{
	background: url("../images/contact_bg.jpg") no-repeat;
	background-size:cover;
	background-position: bottom;
	text-align: center;
}
.contact_tel_ttl img {
    max-width: 420px;
    width: 70%;
}


/*----------------------------------------
	footer
----------------------------------------*/
.foot_bg{
	background: #f6b92c;
	color:#000;
}

.foot_logo img {
    max-width: 296px;
    width: 65%;
}
.copyright{
	font-size: 1.1rem;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 15px;
	color:#000;
}

.contact_tel_ttl img{
	max-width: calc(726px / 2);
}
@media screen and (max-width: 599px) {

	.copyright{ font-size: 1rem; }

}/*END*/



/*----------------------------------------
	page top
----------------------------------------*/
.page_top{
	width: 50px;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 49;
}
.page_top a{
	display: block;
	text-align: center;
	padding-top: 28px;
	padding-bottom: 20px;
	line-height: 0;
	background: #1d1512;
}

.page_top a::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-left: 2px solid #FFF;
    border-top: 2px solid #FFF;
    -webkit-transform: scaleY(0.9) rotate(45deg);
    -moz-transform: scaleY(0.9) rotate(45deg);
    -ms-transform: scaleY(0.9) rotate(45deg);
    -o-transform: scaleY(0.9) rotate(45deg);
    transform: scaleY(0.9) rotate(45deg);
    position: absolute;
    top: 7px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
@media screen and (max-width: 768px){
	.page_top{
		width: 40px;
		right: 0;
		bottom: 55px;
	}
	.page_top a{
		padding-top: 20px;
		padding-bottom: 20px;
	}
}/*END*/
@media screen and (min-width: 600px){
	.sp_menu{
		position: fixed;
		bottom: 10vh!important;
		right: -150px;
		transition: all 0.4s;

	}
	.sp_menu img{
		max-width: 55px;
	}
	.sp_only{
		display: none!important;
	}
}
@media screen and (max-width: 599px){
	.pc_only{
		display: none!important;
	}
	.sp_menu{
		/* max-width: 500px; */
		position: fixed;
		left: 0;
		right: 0;
		bottom: -150px;
		transition: all 0.4s;
		margin: auto;
		background: #fff;
		z-index: 10;
	}
	.sp_menu li{
		float: left;
		width: 50%;
	}
}


/*----------------------------------------
	common
----------------------------------------*/
/* レイアウト */
.rela{
	position: relative;
}
.flex{
	display: flex;
}
.f_reverse {
	flex-direction: row-reverse;
}
.flex > div{
	width: 50%;
}
.al_center{
	align-items: center;
}
.al_s {align-items: flex-start;}
.jus_between{justify-content: space-between;}
.jc_around {justify-content: space-around;}
.grid3{
	display: grid;
	grid-template-columns: repeat(3,1fr);
}
.gap3{gap: 3%;}
.gap4{gap: 4%;}
.gap30p{gap: 30px;}

.w70{
	width: 70%!important;
}
.w63{
	width: 63%!important;
}
.w40{
	width: 40%!important;
}
.w45{
	width: 45%!important;
}
.w48{
	width: 48%!important;
}
.w50{
	width: 50%!important;
}
.w30{
	width: 30%!important;
}
/* タイトル */
.main_ttl img {
	max-width: 660px;
	width: 57%;
}
.copy_ttl img {
	max-width: 660px;
	width: 100%;
}
/* テキスト */
.nowrap{white-space: nowrap;}
.middle_none{display: block;}
@media screen and (max-width: 768px) {
	.middle_none{display: none;	}
}
@media screen and (max-width: 599px) {
	.flex{flex-direction: column;}
	.flex > div{width: 100%;}
	.grid3{grid-template-columns: repeat(2,1fr);}
	.gap3,
	.gap4{gap: 20px;}
	.w50,
	.w45,.w48,
	.w63,.w40,
	.w30,.w70{width: 100%!important;}
	/* テキスト */
	.middle_none{display: block;}
	/* タイトル */
	.main_ttl img {width: 100%;}
}


/*----------------------------------------
	margin
----------------------------------------*/
@media screen and (max-width: 599px) {
	.sp_m_b10 {margin-bottom: 10px !important;}
	.sp_m_b20 {margin-bottom: 20px !important;}
	.sp_m_b50 {margin-bottom: 50px !important;}

	.sp_p_t0 {padding-top: 0 !important;}

	.sp_p_b140 {padding-bottom: 140px !important;}
}



/*----------------------------------------
	MV
----------------------------------------*/
.TopMain{
	padding:0 !important;
	margin:0;
	position: relative;
}
.mv_point{
	background:#f9f0f9;
	box-sizing: border-box;
}
.mv_point_frame{
    max-width: 1290px;
    padding-right: 20px;
    padding-left: 20px;
    margin-right: auto;
    margin-left: auto;
}
.mv_point ul{
	overflow: hidden;
}
.mv_point li{
	float: left;
	width: calc(100% / 3);
	box-sizing: border-box;
	text-align: center;
	padding: 18px 0;
	border-right:1px solid #fff;
	padding: 0 5px;
}

.mv_point li:last-child{
	border-right:none;
}

@media screen and (max-width: 599px) {
	.mv_point img {
        width: 70%;
    }
	.mv_point li {
        float: none;
        width: 100%;
        border-right: none;
        padding: 10px 0;
        border-bottom: 1px solid #fff;
        margin-bottom: 5px;
    }

	.mv_point li:last-child{
		border-bottom: none;
	}


}/*END*/
/*----------------------------------------
	concept
----------------------------------------*/
.concept_deco01 {
	max-width: 67px;
    width: 12%;
    position: absolute;
    bottom: 105%;
    right: 36%;
}
.concept_deco02 {
	max-width: 98px;
    width: 26%;
    position: absolute;
    top: 96%;
    left: 12%;
}
.concept_list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3%;
}
.concept_list p{
	width: 90%;
	margin-inline: auto;
}
@media screen and (max-width: 768px) {
	.concept_deco02 {
		width: 7%;
		top: 94%;
		left: 22%;
	}
}
@media screen and (max-width: 599px) {
	.concept_list{
		grid-template-columns: repeat(1,auto);
	}
	.concept_list p{width: 100%;}
	.concept_deco01 {
		width: 10%;
		bottom: 102%;
		right: 5%;
	}
	.concept_deco02 {
		width: 8%;
		top: 103%;
		left: 87%;
	}
}
@media screen and (max-width: 410px) {
	.concept_deco02 {
		width: 10%;
		left: 83%;
	}
}



/*----------------------------------------
	news
----------------------------------------*/
.bg_news {
	background-image: url(../images/news_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.news_inner{
	max-width: 580px;
	width: 100%;
	margin:0 auto;
	font-size: 1.6rem;
	line-height: 2.5;
}
.news_inner li{
	margin-bottom: 15px;
	overflow: hidden;
}

.news_inner .day{
	display: block;
	width:18%;
	float: left;
}
.news_inner .title{
	display: block;
	width:79%;
	float: right;
}
.news_inner a{
	color:#000;
}
@media screen and (max-width: 768px) {
	.news_inner{
		font-size: 1.4rem;
	}
	.news_inner .day{
		display: block;
		width:28%;
		float: left;
	}
	.news_inner .title{
		display: block;
		width:70%;
		float: right;
	}

}

/*----------------------------------------
	land_plan
----------------------------------------*/
.land_copy img {
	max-width: 601px;
    width: 100%;
}
.land_deco {
	max-width: 137px !important;
    width: 12% !important;
    position: absolute;
    top: 39%;
    left: 16%;
}
.land_point {
	max-width: 558px;
    width: 100%;
}
@media screen and (max-width: 599px) {
    .land_deco {
		width: 13% !important;
		top: 68%;
		left: 82%;
    }
	.land_point {
		display: block;
		width: 85%;
		margin-inline: auto;
	}
}


/*----------------------------------------
	room_plan
----------------------------------------*/
.roomplan_bg {
	background-image: url(../images/roomplan_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.plan_deco {
	max-width: 293px;
    width: 53%;
}
.plan_tab {
    display: flex;
    column-gap: 1%;
    row-gap: 10px;
    flex-wrap: wrap;
}
.plan_tab li {
    max-width: 150px;
    width: 20%;
	cursor: pointer;
    transition: all 0.4s;
    background: #fff;
    border-radius: 5px;
}
.plan_tab li.active/*,.spec_tab li.active*/{
	/*transform: scaleY(1.1, 1);*/
	transition: all 0.4s;
	background: #147033;
}
.plan_tab li.active img{
	filter: invert(100%);
}
.plan_box{ 
	display: none; 
	background: #fff;
    padding: 1% 5% 2% 5%;
    box-sizing: border-box;
}
.plan_box_copy {
	max-width: 470px;
	width: 100%;
}
.plan_box.show{ 
	display: block!important; 
}
.plan_box h4 img{
	max-width: 260px;
	width: 25%;
}
@media screen and (max-width: 768px) {
	.plan_tab li{ font-size: 1.4rem; }
}/*END*/
@media screen and (max-width: 599px) {
	.plan_tab {flex-wrap: nowrap;}
	.plan_tab li {width: 35%;}
	.plan_box{ padding: 15px 4% 15px 4%;}
	.plan_box h4 img{width: 50%;}
}/*END*/


/*----------------------------------------
	equipment
----------------------------------------*/
.equipment_deco01 {
	max-width: 85px !important;
    width: 8% !important;
    position: absolute;
    top: 74%;
    left: 17%;
}
.equipment_copy img{
	max-width: 660px;
	width: 57%;
}
.equipment_point_box {
    border: 20px solid #e8f5f6;
	padding: 2em 3em;
}
@media screen and (max-width: 599px) {
	.equipment_copy img{
		width: 100%;
	}
	.equipment_deco01 {
		width: 13% !important;
		top: 79%;
		left: 3%;
	}
	.equipment_point_box {padding: 2em 1em;}
}


/*----------------------------------------
	access
----------------------------------------*/
.bg_access {
	background-image: url(../images/access_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.access_copy {
	max-width: 651px;
	width: 100%;
}
.access_deco {
	position: absolute;
    width: 20.25%;
    top: 26%;
    right: 10%;
}
.access_info_box{
	width: 85%;
}
@media screen and (max-width: 768px) {
	.access_info_box{
		width: 100%;
	}
}


/*----------------------------------------
	loaction
----------------------------------------*/
.location_deco {
    position: absolute;
    width: 22.65%;
    top: 12%;
    left: 4%;
}
.location_copy {
	max-width: 563px;
	width: 100%;
}
.location_grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    row-gap: 48px;
    column-gap: 40px;
    width: 100%;
}
@media screen and (max-width: 1100px) {
	.location_deco {
		left: 0%;
	}
}
@media screen and (max-width: 768px) {
	.location_grid {
        grid-template-columns: repeat(2,1fr);
    }
}
@media screen and (max-width: 599px) {
	.location_grid {
        grid-template-columns: repeat(2,auto);
		row-gap: 20px;
		column-gap: 10px;
    }
}/*END*/


/*----------------------------------------
	outline
----------------------------------------*/
.outline_bg {
	background-image: url(../images/outline_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
#outline table{
	width:100%;
	line-height: 1.8;
	border-top: 1px dotted #555;
	width:960px;
	margin-right:auto;
	margin-left:auto;
}
#outline th,
#outline td{
	font-weight: normal;
	text-align: left;
	border-bottom: 1px dotted #555;
	padding: 11px 6px;
	box-sizing: border-box;
}
#outline th{
	width: 26%;
	font-weight: bold;
}



@media screen and (max-width: 839px) {
	#outline table{
		width: 100%;
		padding-right: 4%;
		padding-left: 4%;
		box-sizing: border-box;
	}

}/*END*/

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

	#outline table{
		line-height: 1.6;
		font-size:1.4rem;
	}
	#outline th,
	#outline td{
		display: block;
		width: 100%;
	}
	#outline th{
		font-weight: bold;
		border-bottom: none;
		padding: 8px 2% 0 2%;
	}
	#outline td{ padding: 0 2% 8px 2%; }

}/*END*/

.madori_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-top: 50px;
}

@media screen and (max-width: 599px) {
	.madori_grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 30px;
	}
}

.kitchen_l_space {
	padding-left: 3% !important;
	box-sizing: border-box;
	padding-bottom: 1.5%;
}
.kitchen_r_space {
	padding-top: 3% !important;
	padding-right: 2% !important;
	box-sizing: border-box;
}

.bath_panel_grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    align-items: end;
}

.bath_bottom_flex {
    display: flex;
    gap: 3%;
    align-items: flex-start;
	padding: 0 !important;
}

.w80{
	width: 80% !important;
}
.m_center{
	margin-inline: auto;
}

@media screen and (max-width: 599px) {
	.kitchen_l_space {
		padding: 4% !important;
	}
	.kitchen_r_space {
		padding: 4% !important;
	}
	.bath_panel_grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
    
    .bath_bottom_flex {
        flex-direction: column;
        gap: 20px;
		text-align: left !important;
        padding-left: 2.5% !important;
    }
	.sp_w100{
		width: 100% !important;
	}
	.sp_w80{
		width: 80% !important;
	}
	.sp_pb20{
		padding-bottom: 20px;
	}
}

.toilet_r_space {
	padding-top: 3% !important;
	padding-right: 2% !important;
	padding-bottom: 3% !important;
	box-sizing: border-box;
}

.toilet_top_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: 0 !important;
}

.toilet_bottom_flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 3%;
	padding: 0 !important;
}

.toilet_bottom_l {
	width: 65%;
}

.toilet_bottom_r {
	width: 32%;
	text-align: right;
}

.max300{
	max-width: 300px !important;
}

@media screen and (max-width: 599px) {
	.toilet_r_space {
		padding: 5% !important;
	}

	.toilet_top_grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}

	.toilet_bottom_flex {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}

	.toilet_bottom_l,
	.toilet_bottom_r {
		width: 100%;
	}

	.toilet_bottom_r {
		text-align: center;
	}
}