@charset "utf-8";
*{
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:16px;
  line-height: 24px;
	font-weight: 400;
	color:#2b2b2b;
}
/*
font-family: "Noto Serif JP";
font-weight: 700;
sans:400=Regular,700=Bold

*/
a[href^="tel:"] {
  pointer-events: none;
}
body{
	background-color: #FFF;
	-webkit-text-size-adjust: 100%;
}
img{
	pointer-events: none;
}
#wrap{
	width:100%;
	overflow: hidden;
}
main{
	width:100%;
}
#header{
	position: fixed;
	width: 100%;
	height: 100px;
	z-index: 100;
}
#header h1{
	position: absolute;
	top:30px;
	left: 30px;
  z-index: 2;
  background: url(../images/logo.webp) no-repeat;
  background-size: 300px 60px;
  width: 300px;
  height: 60px;
  text-indent: -9999px; /* テキストを画面外に追い出す */
  overflow: hidden;
}
#header h1 a{
	display: block;
	height: 100%;
}
/*下層ページのh1*/
.head_txt{
	position: absolute;
	top:30px;
	left: 30px;
  z-index: 2;
  background: url(../images/logo.webp) no-repeat;
  background-size: 300px 60px;
  width: 300px;
  height: 60px;
  text-indent: -9999px; /* テキストを画面外に追い出す */
  overflow: hidden;
}
.head_txt a{
	display: block;
	height: 100%;
}
/*下層ページのh1ここまで*/
#menu{
	position: absolute;
	top:30px;
	right:175px;
}
#btn_menu{
	display: none;
}
#menu_area{
	display: block;
}
#menu_area nav ul{
	display: flex;
	background-color: #FFF;
	border-radius: 10px;
	padding: 0 10px 0;
}
#menu_area nav ul li{
	position: relative;
	padding:0 0px 0 0;
	height: 58px;
	white-space: nowrap;
}
#menu_area nav ul li:first-child,
#menu_area nav ul li:last-child{
	padding:0 0px 0 0px;
}
#menu_area nav ul li a{
	display: block;
	margin-top: 9px;
	font-size:15px;
	padding: 0 1.7em 0;
	line-height: 40px;
	text-decoration: none;
	color: #333333;
	font-weight: 700;
}
#menu_area nav ul li a:hover{
	background-color: #E9F8EE;
}
.sp_menu{
	display: none;
}
.navi{
	position: absolute;
	top:30px;
	right: 30px;
	width: 130px;
	background-color: #FF8C6B;
	border-radius: 10px;
}
.navi a{
	display: block;
	font-size: 16px;
	line-height: 60px;
	color: #FFFFFF;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
}
.navi a:hover{
	background-color: #F0714F;
	border-radius: 10px;
}

/* footer */
footer{
	clear: both;
}
#footer{
	background-color: #008000;
	width: 100%;
	overflow: auto;
}
#site_data{
	position: relative;
	width: calc(100% - 60px);
	margin:60px auto 0;
	padding:0 0 30px;
	border-bottom: 1px solid #FFFFFF;
}
#site_data h3{
	display: block;
	margin: 0 auto 0;
	font-size: 24px;
	line-height: 29px;
	font-weight: 700;
	color: #FFF;
}
#site_data .address{
	margin:15px 0 5px;
	font-size:16px;
	line-height: 19px;
	color: #FFF;
}
.site_data_tel a{
	display: block;
	font-size: 35px;
	line-height: 42px;
	color: #FFF;
	text-decoration: none;
}
#site_data ul{
	margin: 30px auto 0;
}
#site_data ul li{
	margin:0 0 0.5em ;
	font-size:16px ;
	line-height: 19px;
	color: #FFF;
}
#site_data ul li:last-child{
	margin:0 0 0;
}
.sns_icon{
	margin: 0!important;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	gap:15px;
}
.sns_icon li{
	width: 50px;
}
.sns_icon li a{
	display: block;
}
.sns_icon li img{
	width: 100%;
}
#site_data02{
	width: calc(100% - 60px);
	margin:20px auto 40px;
}
#site_data02 ul{
	display: flex;
	gap:2em;
	width: 100%;
}
#site_data02 ul li{
	position: relative;
}
#site_data02 ul li a{
	text-decoration: none;
	font-size:15px;
	line-height: 17px;
	color: #FFF;
}
#site_data02 ul li::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left:50%;
	transform:translateX(-50%);
  -webkit- transform:translateX(-50%);
  background-color: #FFF;
  width: 0; /* 初期状態は幅 0 */
  height: 2px;
  transition: width 0.3s ease; /* 幅のアニメーション */
}
#site_data02 ul li:hover::after {
  width: calc(100% - 0.2rem); /* ホバー時に幅を拡大 */
}
#site_data02 p{
	margin-top: 30px;
	font-size:14px;
	line-height: 17px;
	color: #FFF;
}
small{
	clear: both;
	display: block;
	background-color: #008000;
	width: 100%;
	height: auto;
	padding-bottom: 35px;
	color:#FFF;
	font-size:14px;
	line-height: 17px;
	text-align: center;
}
#pagetop{
	position: fixed;
	right:10px;
	bottom:10px;
	width: 50px;
	height: 50px;
	cursor: pointer;
}
#pagetop img{
	width: 100%;
}
#pankuzu{
	position: relative;
	background-color: #FFF;
	width: 100%;
	height: 42px;
}
#pankuzu ul{
	display: flex;
	position: absolute;
	bottom:15px;
	left:50px;
}
#pankuzu ul li{
	padding:0 2.5em 0 0;
	color:#333333;
	font-size:16px;
	line-height: 14px;
}
#pankuzu ul li:first-child::before{
	content: "";
	position: absolute;
	top:50%;
	left: -28px;
	transform:translateY(-50%);
	background:url(../images/icon_home.svg) no-repeat;
	background-size: cover;
  width: 18px;
  height: 18px;
}
#pankuzu ul li a{
	display: block;
	position: relative;
	color:#333333;
	font-size:16px;
	line-height: 14px;
	text-decoration: none;
}
#pankuzu ul li a:hover{
	text-decoration:underline;
}
#pankuzu ul li a::after{
	content: "";
	position: absolute;
	top:4px;
	right:-23px;
	background:url(../images/icon_arrow_b.webp) no-repeat;
	background-size: cover;
  width: 6px;
  height: 7px;
}
/* enquiry */
#enquiry{
  width: 100%;
	padding: 100px 0 100px;
	background-color: #FFF;
}
.cont_enquiry{
	width: 1024px;
	margin: 0 auto;
}
.cont_enquiry h3{
  position: relative;
  font-size: 32px;
  line-height: 1em;
  color: #2F7A5B;
  font-weight: 700;
	text-align: center;
}
.cont_enquiry h3::before{
  position: absolute;
  bottom: -17px;
  left: 50%;
	transform:translateX(-50%);
  content: '';
  width: 60px;
  height: 2px;
  background-color: #2F7A5B;
}
.cont_enquiry p{
  margin-top: 45px;
  font-size: 16px;
  line-height: 1.5em;
  color: #333333;
	text-align: center;
}
.enquiry_box{
	display: flex;
	gap: 20px;
	width: 904px;
	margin: 60px 0 0px;
	padding: 60px 60px 60px;
	background-color: #F7F7F7;
	border: 1px solid #E5E5E5;
}
.enquiry_box p{
	width: 353px;
	margin-top: 10px;
  font-size: 14px;
  line-height: 1.5em;
  color: #666666;
	text-align: left;
}
.enquiry_btn{
	width: 256px;
	height: 90px;
	background-color: #FF8C6B;
}
.enquiry_btn a{
	display: block;
	font-size: 15px;
	font-weight: 700;
  line-height: 90px;
  color: #FFF;
	text-align: center;
	text-decoration: none;
}
.enquiry_btn:hover{
	background-color: #F0714F;
}
.enquiry_area{
	display: flex;
	gap:10px;
	width: 100%;
	margin-top: 15px;
}
.enquiry_area p{
	margin-top: 0px;
  font-size: 12px;
  line-height: 1.5em;
  color: #777777;
	text-align: left;
	white-space: nowrap;
}
.enquiry_area ul{
	display: flex;
	width: 100%;
}
.enquiry_area ul li{
	padding: 0 0.5em 0;
	border-right: 1px solid #777777;
	font-size: 12px;
  line-height: 1.5em;
  color: #777777;
	text-align: left;
	white-space: nowrap;
}
.enquiry_area ul li:last-child{
	padding: 0 0 0 0.5em;
	border-right: 0px;
}
.enquiry_btn_recruit{
	width: 532px;
	height: 90px;
	background-color: #FF8C6B;
}
.enquiry_btn_recruit a{
	display: block;
	font-size: 15px;
	font-weight: 700;
  line-height: 90px;
  color: #FFF;
	text-align: center;
	text-decoration: none;
}
.enquiry_btn_recruit:hover{
	background-color: #F0714F;
}



@media (max-width: 767px){
	a[href^="tel:"] {
    pointer-events:auto;
  }
	body{
		background-color: #FFF;
		-webkit-text-size-adjust: 100%;
		overflow: auto;
	}
	img{
		pointer-events:auto;
	}
	#wrap{
		width:100%;
		overflow: hidden;
	}
	main{
		width:100%;
	}
	#header{
		position: fixed;
		width: 100%;
		height: auto;
		z-index: 1;
	}
	#header h1{
		position: absolute;
		top:15px;
		left: 10px;
	  z-index: 2;
	  background: url(../images/logo_sp.webp) no-repeat;
	  background-size: cover;
	  width: 127px;
	  height: 48px;
	  text-indent: -9999px; /* テキストを画面外に追い出す */
	  overflow: hidden;
	}
	#header h1 a{
		display: block;
		height: 100%;
	}
	/*下層ページh1*/
	.head_txt{
		position: absolute;
		top:15px;
		left: 10px;
	  z-index: 2;
	  background: url(../images/logo_sp.webp) no-repeat;
	  background-size: cover;
	  width: 127px;
	  height: 48px;
	  text-indent: -9999px; /* テキストを画面外に追い出す */
	  overflow: hidden;
	}
	.head_txt a{
		display: block;
		height: 100%;
	}
	/*下層ページh1ここまで*/
	#menu{
		position: relative;
		top:0px;
		right:0px;
		z-index: 110;
		width: 100%;
		height: 60px;
		pointer-events: none;
	}
	#btn_menu{
		display: block;
		position: absolute;
		top:17px;
		right:105px;
		width: 90px;
		height: 48px;
		padding:0px;
		cursor: pointer;
		z-index: 110;
		pointer-events: auto;
	}
	#btn_menu img{
		width: 90px;
		height: 48px;
	}
	#btn_menu.open{
		position: absolute;
		top: 25px!important;
		left: 20px;
		z-index: 250;
		width: 30px;
		height: 30px;
	}
	#btn_menu.open img{
		width: 30px;
		height: 30px;
	}
	#menu_area{
		display: none;
		position: absolute;
		top:0;
		left:0;
		background-color: rgba(94, 140, 118, 0.94);
		width: 100vw;
		height: 100vh;
		pointer-events: auto;
	}
	#menu_area nav ul{
		display: block;
		margin:100px auto 0;
		width: calc(100% - 20px);
		background-color: transparent;
	}
	#menu_area nav ul li{
		padding:0 0.5rem 0;
		height: 58px;
	}
	#menu_area nav ul li a{
		display: block;
		color: #FFF;
		font-size:20px;
		line-height: 64px;
		text-align: center;
		font-weight: 700;
		text-decoration: none;
	}
	#menu_area nav ul li:hover{
		background-color:transparent;
	}
	#menu_area nav ul li:hover a{
		color:#FFF;
	}
	.sp_menu{
		display: block;
	}
	.navi{
		position: absolute;
		top:17px;
		right: 10px;
		z-index: 200;
		width: 87px;
		height: 50px;
		background-color: #FF8C6B;
		border-radius: 10px;
	}
	.navi a{
		display: block;
		font-size: 14px;
		line-height: 50px;
		color: #FFFFFF;
		font-weight: 700;
		text-decoration: none;
		text-align: center;
	}
	.navi a:hover{
		background-color: #F0714F;
		border-radius: 10px;
	}
	/* footer */
	footer{
		clear: both;
	}
	#footer{
		background-color: #008000;
		width: 100%;
		overflow: auto;
	}
	#site_data{
		position: relative;
		width: calc(100% - 20px);
		margin: 30px auto 0;
		padding:0 0 30px;
		border-bottom: 1px solid #FFFFFF;
		overflow: auto;
	}
	.sns_icon{
		position: static;
		width: 100%;
		margin: 0px auto 0!important;
		display: flex;
		gap:15px;
		justify-content: center;
	}
	.sns_icon li{
		width: 60px;
	}
	.sns_icon li a{
		display: block;
	}
	.sns_icon li img{
		width: 100%;
	}
	#site_data h3{
		display: block;
		margin: 30px auto 0;
		font-size: 22px;
		line-height: 29px;
		font-weight: 700;
		color: #FFF;
		overflow: hidden;
	}
	#site_data .address{
		margin:15px 0 10px;
		font-size:16px;
		line-height: 19px;
		color: #FFF;
	}
	.site_data_tel a{
		display: block;
		font-size: 32px;
		line-height: 38px;
		color: #FFF;
		text-decoration: none;
	}
	#site_data ul{
		margin: 25px auto 0;
	}
	#site_data ul li{
		margin:0 0 0.5em ;
		font-size:14px ;
		line-height: 17px;
		color: #FFF;
	}
	#site_data ul li:last-child{
		margin:0 0 0;
	}
	#site_data02{
		width: calc(100% - 20px);
		margin: 30px auto 50px;
	}
	#site_data02 ul{
		display: flex;
		gap:2em;
		flex-wrap: wrap;
		width: 100%;
	}
	#site_data02 ul li{
		position: relative;
		min-width: 160px;
	}
	#site_data02 ul li a{
		display: block;
		text-decoration: none;
		font-size:15px;
		line-height: 17px;
		color: #FFF;
	}
	#site_data02 ul li::after {
	  content: "";
	  position: absolute;
	  bottom: -5px;
	  left:50%;
		transform:translateX(-50%);
	  -webkit- transform:translateX(-50%);
	  background-color: #FFF;
	  width: 0; /* 初期状態は幅 0 */
	  height: 2px;
	  transition: width 0.3s ease; /* 幅のアニメーション */
	}
	#site_data02 ul li:hover::after {
	  width: calc(100% - 0.2rem); /* ホバー時に幅を拡大 */
	}
	#site_data02 p{
		margin-top: 50px;
		font-size:14px;
		line-height: 17px;
		color: #FFF;
	}
	small{
		clear: both;
		display: block;
		background-color: #008000;
		width: 100%;
		height: auto;
		padding-bottom: 25px;
		color:#FFF;
		font-size:12px;
		line-height: 17px;
		text-align: center;
	}
	#pagetop{
		display: none;
		position: fixed;
		right:10px;
		bottom:10px;
		width: 50px;
		height: 50px;
	}
	#pagetop img{
		width: 100%;
	}
	#pankuzu{
		position: relative;
		background-color: #FFF;
		width: 100%;
		height: 42px;
		overflow-x: auto;
	}
	#pankuzu ul{
		display: flex;
		white-space: nowrap;
		position: absolute;
		bottom:15px;
		left:40px;
	}
	#pankuzu ul li{
		padding:0 2em 0 0;
		color:#333333;
		font-size:14px;
		line-height: 14px;
	}
	#pankuzu ul li a{
		display: block;
		position: relative;
		color:#333333;
		font-size:14px;
		line-height: 14px;
		text-decoration: none;
	}
	#pankuzu ul li a:hover{
		text-decoration:underline;
	}
	#pankuzu ul li a::after{
		content: "";
		position: absolute;
		top:4px;
		right:-17px;
		background:url(../images/icon_arrow_b.webp) no-repeat;
		background-size: cover;
		width: 6px;
		height: 7px;
	}
	/* enquiry */
	#enquiry{
	  width: 100%;
		padding: 50px 0 50px;
		background-color: #FFF;
	}
	.cont_enquiry{
		width: calc(100% - 20px);
		margin: 0 auto;
	}
	.cont_enquiry h3{
	  position: relative;
	  font-size: 22px;
	  line-height: 1em;
	  color: #2F7A5B;
	  font-weight: 700;
		text-align: center;
	}
	.cont_enquiry h3::before{
	  position: absolute;
	  bottom: -10px;
	  left: 50%;
		transform:translateX(-50%);
	  content: '';
	  width: 30px;
	  height: 2px;
	  background-color: #2F7A5B;
	}
	.cont_enquiry p{
	  margin-top: 35px;
	  font-size: 16px;
	  line-height: 1.5em;
	  color: #333333;
		text-align: left;
	}
	.enquiry_box{
		display: block;
		gap: 0px;
		width: 100%;
		margin: 30px 0 0px;
		padding: 15px 0px 15px;
		background-color: #F7F7F7;
		border: 1px solid #E5E5E5;
	}
	.enquiry_box p{
		width: auto;
		margin: 0px 0 20px;
		padding: 0 15px 0;
	  font-size: 16px;
	  line-height: 1.5em;
	  color: #666666;
		text-align: left;
	}
	.enquiry_btn{
		width: calc(100% - 30px);
		height: 60px;
		margin: 10px auto 0;
		background-color: #FF8C6B;
	}
	.enquiry_btn a{
		display: block;
		font-size: 14px;
		font-weight: 700;
	  line-height: 60px;
	  color: #FFF;
		text-align: center;
		text-decoration: none;
	}
	.enquiry_btn:hover{
		background-color: #F0714F;
	}
	.enquiry_area{
		display: flex;
		gap: 10px;
		width: 100%;
		margin-top: 10px;
	}
	.enquiry_area p{
		margin-top: 0px;
	  font-size: 12px;
	  line-height: 1.5em;
	  color: #777777;
		text-align: left;
		white-space: nowrap;
	}
	.enquiry_area ul{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.enquiry_area ul li{
		padding: 0 0.5em 0;
		border-right: 1px solid #777777;
		font-size: 12px;
	  line-height: 1.5em;
	  color: #777777;
		text-align: left;
		white-space: nowrap;
	}
	.enquiry_area ul li:last-child{
		padding: 0 0 0 0.5em;
		border-right: 0px;
	}
	.enquiry_btn_recruit{
		width: calc(100% - 30px);
		height: 60px;
		margin: 0 auto;
		background-color: #FF8C6B;
	}
	.enquiry_btn_recruit a{
		display: block;
		font-size: 14px;
		font-weight: 700;
	  line-height: 60px;
	  color: #FFF;
		text-align: center;
		text-decoration: none;
	}
	.enquiry_btn_recruit:hover{
		background-color: #F0714F;
	}
}
@media screen and (max-width: 767px) and (orientation:landscape){

}
