/*----------------------------------------
	全体
----------------------------------------*/

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_13{ line-height: 1.3 !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_04{ letter-spacing: 0.4px; } /* 追加 */
.ls_02{ letter-spacing: 0.2px; } /* 追加 */
.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!important;
		bottom: -150px;
		transition: all 0.4s;
		margin: auto;
		background: #fff;
		z-index: 10;
	}
	.sp_menu li{
		float: left;
		width: 50%;
	}
}

/*----------------------------------------
	common
----------------------------------------*/

/* 背景 */
.bg_beige{
	background: #f4f3ea;
}
.up-wave svg,
.down-wave svg {
	display: block;

}
.up-wave svg{
	vertical-align: bottom;
	margin-bottom: -1px;
}
.down-wave svg {
	vertical-align: top;
	margin-top: -1px;
	transform: rotate(180deg);
}
/* レイアウト */
.rela{
	position: relative;
}
.flex{
	display: flex;
}
.al_center{
	align-items: center;
}
.j_between{
	justify-content: space-between;
}
.grid2{
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.grid3{
	display: grid;
	grid-template-columns: repeat(3,1fr);
}
.grid4{
	display: grid;
	grid-template-columns: repeat(4,1fr);
}
.grid6{
	display: grid;
	grid-template-columns: repeat(6,1fr);
}
.grid2 li,.grid3 li,.grid4 li,.grid6 li{
	justify-self: center;
}
.gap5p{
	gap: 5px;
}
.gap10p{
	gap: 10px;
}
.gap2{
	gap: 2%;
	row-gap: 20px;
}
.gap3{
	gap: 3%;
	row-gap: 25px;
}
.gap4{
	gap: 4%;
	row-gap: 30px;
}
.w25{ width:25%; }
.w30{ width:30%; }
.w35{ width:35%; }
.w40{ width:40%; }
.w45{ width:45%; }
.w50{ width:50%; }
.w55{ width:55%; }
.w60{ width:60%; }
.w65{ width:65%; }
.w70{ width:70%; }
.w75{ width:75%; }
.w80{ width:80%; }
.w85{ width:85%; }
.w90{ width:90%; }
.w95{ width:95%; }


/* タイトル */
.main_ttl img {
    max-width: 460px;
	width: 50%;
}
.copy_ttl img {
    max-width: 500px;
	width: 100%;
}
/* テキスト */
.nowrap{
	white-space: nowrap;
}
.middle_none{
	display: block;
}
@media (max-width:1200px){
	.box.w25,
	.box.w30,
	.box.w35{ width:45%; }
	.box.w40,
	.box.w45{ width:55%; }
	.box.w50,
	.box.w55{ width:65%; }
	.box.w60,
	.box.w65{ width:75%; }
	.box.w70,
	.box.w75,
	.box.w80{ width:85%; }
	.box.w85{ width:95%; }
}
@media screen and (max-width: 768px) {
	.box.w25,
	.box.w30,
	.box.w35{ width:50%; }
	.box.w40,
	.box.w45{ width:60%; }
	.box.w50,
	.box.w55{ width:70%; }
	.box.w60,
	.box.w65{ width:80%; }
	.box.w70,
	.box.w75,
	.box.w80{ width:90%; }
	.box.w85{ width:100%; }
	
	.middle_none{
		display: none;
	}
	.grid3{
		grid-template-columns: repeat(2, 1fr);
		gap: 20px!important;
	}
	.grid3 li:nth-child(3){
		grid-column: 1 / 3; 
		width: calc((100% - 20px) / 2);
	}
}
@media screen and (max-width: 599px) {
	.flex{
		flex-direction: column;
	}
	.flex.reverse{
		flex-direction: column-reverse;
	}
	.grid2,.grid3{
		grid-template-columns: repeat(1, 1fr);
	}
	.grid3 li:nth-child(3) {
        grid-column: unset;
        width: 100%;
    }
	.grid4{
		grid-template-columns: repeat(2,1fr);
	}
	.grid6{
		grid-template-columns: repeat(3,1fr);
	}
	.w25,
	.w30,
	.w35,
	.w40,
	.w45,
	.w50,
	.w55,
	.w60,
	.w65,
	.w70,
	.w75,
	.w80,
	.w85,
	.w90,
	.w95{
		width:100%!important;
	}
	/* タイトル */
	.main_ttl img {
		width: 80%;
	}
	.copy_ttl img {
		width: 90%;
	}
	/* テキスト */
	.middle_none{
		display: block;
	}
}
/* デコレーション */
.deco{
	position: absolute;
}
@media screen and (max-width: 768px) {
	.deco{
		width: calc(var(--w) * 1.3)!important;
		transform: unset!important;
	}
}
@media screen and (max-width: 599px) {
	.deco{
		width: calc(var(--w) * 1.6)!important;
	}
}
/*----------------------------------------
	MV
----------------------------------------*/
.TopMain{
padding:0 !important;
margin:0;
position: relative;
}

.mv_point{
	background:#55787c;
	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_sub_copy img {
    max-width: 300px;
    width: 100%;
}
.concept_list li{
	display: flex;
	flex-direction: column;
	gap: 35px;
	align-items: center;
}
/* デコレーション */
.concept_deco01 {
	--w: 7.3%;
    width: var(--w);
    top: 8%;
    left: calc(50% - 230px);
    transform: translateX(-50%);
}
.concept_deco02 {
    --w: 6.7%;
    width: var(--w);
    bottom: 0%;
    right: calc(45% - 230px);
    transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
	/* デコレーション */
	.concept_deco01 {		
		top: 28%;
		left: 5%;
	}
	.concept_deco02 {
		bottom: 5%;
		right: 5%;
	}
}
@media screen and (max-width: 599px) {
	.concept_sub_copy img {
		width: 70%;
	}
	.concept_list li{
		max-width: 335px;
		gap: 20px;
	}
	.concept_list .ls_02{
		letter-spacing: normal;
	}
	
}
/*----------------------------------------
	news
----------------------------------------*/
.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_point{
	width: 100.5%;
	bottom: -25%;
	left: 0%;
}
/* デコレーション */
.land_deco {
    --w: 6.8%;
    width: var(--w);
    bottom: 18%;
    right: calc(43% - 230px);
    transform: translateX(-50%);
}
@media screen and (max-width: 1100px) {
	.land_point{
		display: block;
		position: unset;
		margin-top: 20px;
	}
	/* デコレーション */
	.land_deco {
		right: 2%;
	}
}
/*----------------------------------------
	room_plan
----------------------------------------*/
.plan_tab {
    display: flex;
    column-gap: 2%;
    flex-wrap: wrap;
	margin-bottom: 80px;
}
.plan_tab li {
    max-width: 250px;
    width: 22%;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.4s;
    background: #a1a1a1;
    border: 2px solid #fff;
    outline: 4px solid #a1a1a1;
}
.plan_tab li.active{
	transition: all 0.4s;
	background: #55787c;
    outline: 4px solid #55787c;
}
.plan_box{ 
	display: none; 
	background: #fff;
    padding: 5%;
    box-sizing: border-box;
}
.plan_box.show{ 
	display: block!important; 
}
.plan_box_copy img{
	max-width: 470px;
	width: 100%;
}
.point_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-top: 50px;
}
@media screen and (max-width: 768px) {
	.plan_tab{
		margin-bottom: 40px;
	}
	.plan_tab li{ 
		font-size: 1.4rem; 
	}
	
}/*END*/

@media screen and (max-width: 599px) {
    .plan_tab {
        flex-wrap: nowrap;
        column-gap: 4%;
        margin-bottom: 20px;
    }
	.plan_tab li {
		width: 35%;
	}
	.plan_box{ 
		padding: 15px 4%;
	}
	.plan_box_copy img {
		width: 85%;
	}
	.plan_box .flex .text_right{
		text-align: center;
	}
	.point_list {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 30px;
	}
}/*END*/

/*----------------------------------------
	equipment
----------------------------------------*/
.equipment_name img {
    max-width: 303px;
    width: 35%;
}
.equipment_copy01 img {
    max-width: 565px;
    width: 60%;
}
.equipment_copy02 img {
    max-width: 798px;
    width: 85%;
}
.equipment_box {
    border: 2px solid #55787c;
	padding: 3% 3% 1% 3%;
	background: #fff; 
	box-sizing: border-box;
}
.equipment_box img.max_respon{
	height: auto;
}
/* エコジョーズ */
.equipment_box.num01 .equipment_copy img {
    max-width: 362px;
    width: 100%;
}
/* システムキッチン */
.equipment_box.num02 ul{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2px;
}
.equipment_box.num02 .equipment_copy img {
    max-width: 545px;
    width: 83.8%;
}
/* ドレッサー */
.equipment_box03_deco {
    width: 25.7%;
    top: 4%;
    right: -2%;
}
.equipment_box.num03 .equipment_copy img {
    max-width: 359px;
    width: 77.3%;
}
/* バスルーム */
.equipment_box.num04 .w45 .equipment_copy img {
    max-width: 359px;
    width: 87.6%;
}
.equipment_box.num04 .w30 .equipment_copy img{
	max-width: 273px;
	width: 100%;
}
/* デコレーション */
.equipment_deco01 {
	--w:11.3%;
	width: var(--w);
    top: -36%;
    left: calc(48% - 230px);
    transform: translateX(-50%);
}
.equipment_deco02 {
	--w: 10.2%;
	width: var(--w);
    top: 5%;
    right: calc(37% - 230px);
    transform: translateX(-50%);
}
@media screen and (max-width: 1200px) {
	/* ドレッサー */
	.equipment_box03_deco {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	/* エコジョーズ */
	.equipment_box.num01 >.flex{
		flex-direction: column;
	}
	.equipment_box.num01 >.flex >div{
		width: 100%!important;
	}
	.equipment_box.num02 ul{
		grid-template-columns: repeat(2,1fr);
	}
	.equipment_box.num01 .equipment_copy img {
		width: 75%;
	}
	/* システムキッチン */
	.equipment_box.num02 >.flex >div.w30{
		text-align: center;
	}
	/* デコレーション */
	.equipment_deco01 {
        left: 3%;
        top: -18%;
	}
	.equipment_deco02 {
		right: 3%;
	}
}
@media screen and (max-width: 599px) {
	.equipment_name img {
		width: 50%;
	}
	.equipment_copy02 img {
		width: 100%;
	}
    .equipment_box {
		padding: 40px 4%;
    }
	.equipment_copy01 img {
		width: 65%;
	}
	/* エコジョーズ */
	.equipment_box.num01 .text_21{
		font-size: 1.4rem!important;
		line-height: 1.3!important;
	}
	/* システムキッチン */
	.equipment_box.num02 .equipment_copy img {
		width: 100%;
	}
	/* ドレッサー */
	.equipment_box.num03 .equipment_copy img {
		width: 65.9%;
	}
	/* バスルーム */
	.equipment_box.num04 .w25{
		text-align: center;
	}
	.equipment_box.num04 .w45 .equipment_copy img {
		width: 67.35%;
	}
	.equipment_box.num04 .w30 .equipment_copy img {
		width: 51.2%;
	}
}
@media screen and (max-width: 450px) {
	.equipment_box {
		padding: 30px 4% 10px 4%;
	}
	.equipment_box li{
		justify-self: center;
		gap: 5px;
	}
}
/*----------------------------------------
	access
----------------------------------------*/
.access_deco {
	--w:12.25%;
    width: var(--w);
    top: 15%;
    right: calc(39% - 230px);
    transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
	.access_deco {
		right: 3%;
	}
}
/*----------------------------------------
	loaction
----------------------------------------*/

.location_grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    row-gap: 48px;
    column-gap: 40px;
    width: 100%;
}
@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: 1fr;
		row-gap: 30px;
    }

}/*END*/

/*----------------------------------------
	outline
----------------------------------------*/
#outline table{
	width:100%;
	line-height: 1.8;
	border-top: 1px dotted #000;
	width:960px;
	margin-right:auto;
	margin-left:auto;
}
#outline th,
#outline td{
	font-weight: normal;
	text-align: left;
	border-bottom: 1px dotted #000;
	padding: 11px 6px;
	box-sizing: border-box;
}
#outline th{
	width: 26%;
	font-weight: bold;
}
#outline td{
	font-weight: 500;
}


@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*/
