/* ========================================
	DEBUG
======================================== */
.debug{
	display: block;
	position: fixed;
	bottom:0;left: 0;
	background-color: #1D7644;
	width: 10px; height: 10px;
	z-index: 99999;
	display: none;
}

@media screen and (max-width: 1400px) {
	.debug{
		background-color: blue;
	}
}
@media screen and (max-width: 1024px) {
	.debug{
		background-color: yellow;
	}
}
@media screen and (max-width: 767px) {
	.debug{
		background-color: red;
	}
}
/* SP横の特殊対応 */
@media (orientation: landscape) and (max-width: 767px) {
	.debug{
		background-color: pink;
	}
}

/* #splash{
	display: none;
}
#splash.maintenance{
	display: flex;
	background-color:#eee;
} */

.skiplink {
  position: absolute;
  top: -100px;	
  left: 50%;
  transform: translateX(-50%);
  background: #437cbf	;	
  color: #fff;
  padding: 8px 16px;
  z-index: 1000;
  text-decoration: none;
  transition: top 0.3s ease;
  text-align: center;
}

.skiplink:focus {
  top: 0;
}	


/*==============================================================
	L1 HEADER
==============================================================*/
header.globalheader{
	z-index: 10;
	position: absolute;
	width: 100%;
	height: 100px;
}

.headernav_inner{
	box-sizing: border-box;
	height: 100px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 33px 33px;
}
.headernav_inner .logo img{
	height: 54px;
	width: 426px;
}

.headernav .breadcrumbs{
	margin-right: 104px;
}
.headernav .breadcrumbs li{
	display: inline-block;
	font-size: 12px;
}
.headernav .breadcrumbs li::after{
	content: ">";
	display: inline-block;
	margin-left: 6px;
	margin-right: 3px;
}
.headernav .breadcrumbs li:last-child::after{
	content: "";
	display: none;
}

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


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


@media screen and (max-width: 767px) {
	header.globalheader{
		/* height: 16vw; */
		height: auto;
		position: relative;
	}

	.headernav_inner{
		padding: 5vw 4vw 4vw 4vw;
		flex-wrap: wrap;
		/* height: 16vw; */
		height: auto;
	}
	.headernav_inner .logo {
		width: 100%;
	}

	.headernav_inner .logo img{
		height: 7.25vw;
		width: 56vw;
	}

	.headernav_inner .headernav_right{
		width: 100%;
	}

	.headernav .breadcrumbs{
		text-align: right;
		margin-top: 5vw;
		margin-right: 2vw;
	}
	.headernav .breadcrumbs li{
		display: inline-block;
		font-size: 2.8vw;
	}
	.headernav .breadcrumbs li::after{
		content: ">";
		display: inline-block;
		margin-left: 1.2vw;
		margin-right: 0.8vw;
	}
	.headernav .breadcrumbs li:last-child::after{
		content: "";
		display: none;
	}
	/* .headernav .breadcrumbs{
		display: none;
	} */
}


/*==============================================================
	MENU
==============================================================*/
/* BUTTON */

.btn_menu{
	display: block;
	position: relative;
	position: fixed;
	z-index: 9999;
	top: 22px;
	right: 44px;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-align: center;
	background: transparent;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	border-radius: 30px 30px 30px 30px;
	border: 1px solid #000;
}


.btn_menu_bar_wrap{
	display: block;
	width: 60px;
	height: 60px;
	position: relative;
	transition: background 0.2s linear;
}

.btn_menu_bar {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	width: 31px;
	margin: 30px 13px;
	height: 1px;
	transition: background .25s ease;
}


.btn_menu_bar:before, .btn_menu_bar:after {
	display: block;
	content: "";
	background: #000;
	width: 31px;
	/* margin: -2px 0; */
	height: 1px;
	transition: transform .25s ease;
}

.btn_menu_bar:before {
	transform: translateY(-10px);
}

.btn_menu_bar:after {
	transform: translateY(9px);
}


/* ACTIVE */
.btn_menu.menu_active{
	background-color: #fff;
}
.btn_menu.menu_active .btn_menu_bar {
	background: transparent;
}
.btn_menu.menu_active .btn_menu_bar:before {
	transform: translateX(-1px) translateY(0px) rotate(36deg);
	width: 33px;
}

.btn_menu.menu_active .btn_menu_bar:after {
	transform: translateX(-1px) translateY(-1px) rotate(-36deg);
	width: 33px;
}




	/* BUTTON SP */

@media screen and (max-width: 767px) {
	.btn_menu{
		top: 4vw;
		right: 4vw;
		width: 10vw;
		height: 10vw;
		border-radius: 5vw;
	}
	

	.btn_menu_bar_wrap{
		width: 10vw;
		height: 10vw;
	}
	.btn_menu_bar {
		width: 5vw;
		margin: 5vw 2.4vw;
		height: 0.2vw;
	}
	.btn_menu_bar:before, .btn_menu_bar:after {
		width: 5vw;
		height: 0.2vw;
	}
	
	.btn_menu_bar:before {
		transform: translateY(-2vw);
	}
	.btn_menu_bar:after {
		transform: translateY(1.8vw);
	}
	
	/* ACTIVE */
	.btn_menu.menu_active{
	}

	.btn_menu.menu_active .btn_menu_bar:before {
		transform: translateX(-0.5vw) translateY(0px) rotate(36deg);
		width: 6vw;
	}
	.btn_menu.menu_active .btn_menu_bar:after {
		transform: translateX(-0.5vw) translateY(-0.2vw) rotate(-36deg);
		width: 6vw;
	}
}

/* MENU */


#menu{
	height: 100%;
	z-index: 9990;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	transition: 0.33s ease;
	transition-property: transform opacity;
	visibility:hidden;
	opacity: 0;
	overflow: hidden;
	/* モーダル背景なし */
	width: 590px;
	right: 0;
}


#menu .menu_inner{
	width: 590px;
	height: 100%;
	height: 100vh;
	height: 100dvh;
	box-sizing: border-box;
	background-color: #eee9e1;
	transition: 0.33s ease;
	transition-property: transform opacity;
	opacity: 0;
	transform: translateX(200px);
	position: absolute;
	right: 0;
	overflow: auto;
	padding: 90px 90px 90px 70px;
}


#menu.menu_active{
	visibility:visible;
	opacity: 1;
}

#menu.menu_active .menu_inner{
	transform: translateX(0);
	opacity: 1;
}

#menu .menu_inner a{
	position: relative;
}

.menunav{
	/* padding: 0 0 0 16px; */
	line-height: 1;
	font-size: 18px;
	margin-bottom: 50px;
}




.menunav>li{ 
	margin-bottom: 25px;
}
.menunav>li:first-child{ 
	margin-bottom: 60px;
}
.menunav_child{
}
.menunav_child li{
	font-size: 16px;
	margin-bottom: 15px;
}
.menunav span.-ul{
	display: block;
	margin-bottom: 25px;
}
.menunav span.-ul::after{
	content: "";
	background-color: #000;
	height: 1px;
	display: block;
	margin-top: 10px;
}

/* 表示切替 */
.menunav{display: none;}
#jigyo .menunav.menunav_jigyo{display: block;}
#housing .menunav.menunav_housing{display: block;}
#top .menunav.menunav_top{display: block;}
#information .menunav.menunav_top{display: block;}
#etc .menunav.menunav_top{display: block;}

#housing .menunav li.-hs{
	color: #ff9933;
	font-size: 20px;
	margin-top: 30px;
}
#housing .menunav li.-hs:first-child{
	margin-top: 0;
}
.menunav_top>li:first-child>ul{
	margin-bottom: 50px;
}
.menunav_top>li:first-child>ul li.-h{
	font-size: 18px;
}

/* searchbox */
.searchbox_menu{
	width: 390px;
}

#jigyo .searchbox button {background-color: #437cbf;}
#housing .searchbox button {background-color: #ff9933;}
#top .searchbox button {background-color: #A9A9A9;}


/* MENU SP */
@media screen and (max-width: 767px) {
	body.overflow_hidden{
		overflow: hidden;
	}
	#menu{
		width: 100%;
		overflow: hidden;
	}
	#menu .menu_inner{
		width: 100%;
		padding: 8vw 14vw 8vw 8vw;
	}

	.menunav{
		margin-bottom: 12vw;
	}

	.menunav>li{
		margin-bottom: 6vw;
		font-size: 4.2vw;
	}
	.menunav>li:first-child{ 
		margin-bottom: 10vw;
	}

	.menunav_child li{
		font-size: 3.6vw;
		line-height: 1.5;
		margin-bottom: 4vw;
	}

	.menunav span.-ul{
		display: block;
		margin-bottom: 5.5vw;
	}
	.menunav span.-ul::after{
		margin-top: 2vw;
	}

	/* searchbox */
	.searchbox_menu{
		width: 100%;
		margin-left: -2vw;
	}
}

/* SP横の特殊対応 */
@media (orientation: landscape) and (max-width: 767px) {
}


/* ====================
	footer
==================== */

footer{
	box-sizing: border-box;
	width: 100%;
	padding: 60px 0;
	position: relative;
	background-color: #eee9e1;
}



.footer_gototop a{
	z-index: 2;
	position: fixed;
	top:unset;
	right: 60px;
	bottom: 60px;
	height: 120px;
	width: 120px;
	background-position: center;
	background-size: 100%;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	opacity: 0;
	transition: opacity 0.3s linear;
	background: url(../img/common/icon-gototop.svg) no-repeat;
}


#jigyo .footer_gototop a{background-image: url(../img/common/icon-gototop-blue.svg);}
#housing .footer_gototop a{background-image: url(../img/common/icon-gototop-orange.svg);}

.footer_gototop.scrolled a{
	opacity: 1;
}

.footer_gototop a.-faq{
	display: none;
}
#jigyo.-single .footer_gototop a.-faq{
	display: block;
	right: 60px;
	bottom: 200px;
	background-image: url(../img/common/icon-faq.svg);
}


.footer_inner{
	box-sizing: border-box;
	width: 100%;
	max-width: 1120px;
	padding: 0 10px;
	margin: 0 auto;
}



.footer_inner>div#contact,
.footer_inner>div#access{
	margin-bottom: 50px;
}
.footer_inner h3{
	margin-bottom: 30px;
}
.footer_inner #access .acd_target{
	margin-bottom: 30px;
}
.footer_inner #access>div{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_inner #access>div>div{
	width: 23%;
	border-left: 1px solid #929292;
	box-sizing: border-box;
	padding-left: 15px;
}

.footer_inner #access>div>div:first-child{
	width: 26%;
}

.footer_inner #access>div>div:first-child{
	border-left: none;
}

.footer_inner #access>div h4{
	font-size: 20px;
	margin-bottom: 15px;
}
.footer_inner #access>div p{
	font-size: 16px;
	font-feature-settings: "palt" !important;
}



.footer_nav .footer_nav_base{
	margin-left: 10px;
	margin-bottom: 50px;
}

.footer_nav .footer_nav_base>div{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/* row-gap: 60px; */
}

.footer_nav_base h3{
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 25px;
}
.footer_nav_base h3::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}

.footer_nav .footer_nav_base>div ul.-gtl{
	width: 100%;
}
.footer_nav_base a.-gt{
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	max-width: 430px;
	padding: 2px 20px 3px 20px;
	border-radius: 15px;
	color: #fff;
	margin-bottom: 20px;
	white-space: nowrap;
	line-height: 1.33;
	font-weight: bold;
}
.footer_nav_base a.-gt.-gt_index{background-color: #929292;}
.footer_nav_base a.-gt.-gt_jigyo{background-color: #437cbf;}
.footer_nav_base a.-gt.-gt_kenmin{background-color: #ff9933;}


/* 表示切替 */
.footer_nav .footer_nav_base{display: none;}
#jigyo .footer_nav .footer_nav_base.footer_nav_jigyo{display: block;}
#housing .footer_nav .footer_nav_base.footer_nav_housing{display: block;}
#top .footer_nav .footer_nav_base.footer_nav_top{display: block;}
#information .footer_nav .footer_nav_base.footer_nav_top{display: block;}
#etc .footer_nav .footer_nav_base.footer_nav_top{display: block;}


.footer_nav_list>li{
	margin-bottom: 25px;
	font-size: 16px;
}
.footer_nav_list>li.-h{
	font-size: 18px;
	font-weight: bold;
}
.footer_nav_list>li span{
	display: inline-block;
	color: #929292;
	margin-bottom: 15px;
	font-weight: bold;
}
/* 表示切替 */
#jigyo .footer_nav_list>li span{color: #437cbf;}
#housing .footer_nav_list>li span{color: #ff9933;}

/* TOPの要素 */
#top .-gt_lists,
#information .-gt_lists,
#etc .-gt_lists{
	margin-bottom: 50px;
}
.-gt_index_list ul{
	width: 100%;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	/* grid-auto-columns: 1fr;  */
	column-gap: 12px;
	row-gap: 12px;
	font-weight: 500;
}



.-gt_jigyo_list .footer_nav_list>li span{color: #437cbf;}
.-gt_housing_list .footer_nav_list>li span{color: #ff9933;}

@media screen and (max-width: 767px) {
	#top .-gt_lists,
	#information .-gt_lists,
	#etc .-gt_lists{
		margin-top: 2vw;
		margin-bottom: 8vw;
	}
	.-gt_index_list ul{
		display: flex;
		flex-wrap: wrap;
		column-gap: 0;
		row-gap: 2vw;
	}
	.-gt_index_list ul li{
		width: 100%;
	}
}



.footer_nav_list .footer_nav_child a{
	display: inline-block;
	text-indent: -0.9em;
	padding-left: 0.9em;
}


.footer_nav_child>li{
	margin-bottom: 15px;
}

#jigyo .footer_nav_child>li{margin-left: 20px;}
#housing .footer_nav_child>li{margin-left: 20px;}

.footer_sns{
	display: flex;
	justify-content: end;
	align-items: center;
	font-size: 16px;
	width: 100%;
	column-gap: 40px;
}

#jigyo .footer_sns{}
#housing .footer_sns{margin-bottom: 40px;}

.footer_sns li{
}
.footer_sns li a{
}
.footer_sns li a.-youtube{
	display: block;
	width: 40px;
	height: 30px;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background: url(../img/common/icon-youtube.svg) no-repeat center;
	background-size: contain;
}
/* .footer_sns li a.-x{
	background-image: url(../img/common/icon-x.svg);
} */


.footer_logo{
	display: block;
	width: 100%;
	text-align: center;
}
.footer_logo img{
	width: 430px;
}



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

@media screen and (max-width: 767px) {
	footer{
		padding: 7.5vw 0;
	}

	.footer_gototop a{
		position: fixed;
		top:unset;
		right: 5vw;
		bottom: 5vw;
		height: 20vw;
		width: 20vw;
	}

	.footer_inner{
		width: 100%;
		max-width: unset;
		padding: 0 6vw;
		margin: 0 auto;
	}


	.footer_inner>div#contact,
	.footer_inner>div#access{
		margin-bottom: 16vw;
	}
	.footer_inner h3{
		font-size: 4vw;
		margin-bottom: 2vw;
	}
	.footer_inner #access .acd_target{
		margin-bottom: 0 ;
	}

	.footer_inner #access>div{
		display: block;
	}
	.footer_inner #access>div>div{
		width: 100%;
		border-left: none;
		padding-left: 0;
	}

	.footer_inner #access>div>div:first-child{
		width: 100%;
	}

	.footer_inner #access>div h4{
		font-size: 3.8vw;
		margin-bottom: 0;
	}
	.footer_inner #access>div p{
		font-size: 3.2vw;
	}


	/* .footer_inner #access .gmaps iframe{
		width: 100%;
		aspect-ratio: 1570 / 585;
	} */


	.footer_nav .footer_nav_base{
		margin-left: 0;
		/* margin-bottom: 6vw; */
	}

	.footer_nav .footer_nav_base>div{
		display: block;
	}

	.footer_nav_base h3{
		font-size: 3.6vw;
		margin-bottom: 1vw;
	}
	.footer_nav_base h3::after{
		content: "";
		display: block;
		/* margin-top: 1vw; */
		width: 100%;
		height: 1px;
		background-color: #000;
	}
	.footer_nav .footer_nav_base>div ul.-gtl{
		margin: 8vw 0;
	}
	.footer_nav_base a.-gt{
		width: 100%;
		max-width: unset;
		padding: 1.4vw 4vw 1.6vw 4vw;
		border-radius: 6vw;
		margin-bottom: 4vw;
		text-align: center;
	}


	/* 表示切替 */
	.footer_nav .footer_nav_base{display: none;}
	#jigyo .footer_nav .footer_nav_base.footer_nav_jigyo{display: block;}
	#housing .footer_nav .footer_nav_base.footer_nav_housing{display: block;}
	#top .footer_nav .footer_nav_base.footer_nav_top{display: block;}
	#information .footer_nav .footer_nav_base.footer_nav_top{display: block;}
	#etc .footer_nav .footer_nav_base.footer_nav_top{display: block;}

	.footer_nav_list>li{
		margin-bottom: 0;
		font-size: 3.2vw;
	}
	.footer_nav_list>li.-h{
		font-size: 3.5vw;
		margin-top: 2vw;
	}
	.footer_nav_list>li span{
		margin-bottom: 0;
		font-size: 3.2vw;
	}

	.footer_nav_list>li div.acd_trig{
		margin-bottom: 0;
		font-size: 3vw !important;
	}




	.footer_nav_child>li{
		margin-bottom: 3vw;
	}

	#jigyo .footer_nav_child>li{margin-left: 0;}
	#housing .footer_nav_child>li{margin-left: 0;}

	.footer_nav_list.fmenu2{
		margin-top: 6vw;
		margin-bottom: 8vw;
	}


	.footer_sns{
		display: flex;
		justify-content: end;
		align-items: center;
		margin-top: 4vw;
		column-gap: 0;
		margin-bottom: 8vw;
	}
	.footer_sns li{
		width: auto;
	}
	.footer_sns li a{
		display: block;
		width: 8vw;
		height: 8vw;
	}


	.footer_sns li a.-youtube{
		width: 8vw;
		height: 6vw;
	}


	.footer_logo img{
		width: 80%;
	}

}

/* ACCORDION FOOTER */
@media screen and (max-width: 767px) {
	footer .acd_sp.acd_body{
		box-sizing: border-box;
		/* border-bottom: 1px solid #fff; */
	}

	footer .acd_sp.acd_body .acd_trig{
		cursor: pointer;
		position: relative;
		font-size: 4vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 3vw 0;
	}
	footer .acd_sp.acd_body .acd_trig::after{
		content: "";
		display: block;
		width: 4vw;
		height: 4vw;
		background-image: url(../img/common/acd-plus.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 100%;
	}
	footer .acd_sp.acd_body .acd_trig.-isopen::after{
		background-image: url(../img/common/acd-minus.png);
	}

	footer .acd_sp.acd_body .acd_target{
		display: none;
		padding: 0 0 4vw 0;
	}
}