@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url("reset.css");

html{
	font-size:16px;
}

body {
	font-family:  "Noto Sans JP",游ゴシック, "Yu Gothic", 'Hiragino Kaku Gothic ProN', sans-serif;
	background-color: #ffffff;
	font-size: 1.05rem;
	color:#272727;
	font-weight: 500;
	/*line-height:1.8;*/
	line-height: 2;
	margin:0;	
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	text-align: left;
}

body.fix{
	 overflow-y: hidden;
}

.font_s{
	font-size:0.9rem!important;
}

.font_red{
	color:#B10854!important;
}

.rub{
	font-size:0.8rem!important;
}

a{
	text-decoration: none;
}


/*--------------------------------------


	TOPへ


--------------------------------------*/

#returntop{
	/*width:40px;*/
	width:80px;
	height: 80px;
	position: fixed;
	right:3px;
	bottom:10px;
	background-color:#9ECB3C;
	color:#fff;
	/*display: flex;*/
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1;
	/*writing-mode: vertical-rl;*/
	font-size:18px;
	font-weight: 800;
	border-radius: 50%/50%;
	box-shadow: 1px 1px 14px -5px rgba(0,0,0,0.6);
	z-index: 9998;
	display: none;
}

#returntop::before{
	 font: var(--fa-font-solid);
	content:"\f0d8";
	font-size:30px;
	font-weight: 800;
}

/*--------------------------------------
	レスポンシブ
--------------------------------------*/
@media screen and (min-width: 0) and (max-width: 430px){
	#returntop{
		width:60px;
		height: auto;
		font-size:14px;
		border-radius: 5px 0 0 0;
		box-shadow: none;
		flex-direction: row;
		right:0;
		align-items: center;
	}
	
	#returntop p{
		font-size:14px;
	}
	
	#returntop::before{
		font-size:18px;
		margin-right:5px;
	}
}

/*--------------------------------------


	ヘッダー


--------------------------------------*/

header{
	width:100%;
	margin:0 auto;
	padding:10px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/*------------------

	ロゴ

------------------*/

#logo{
	flex:1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 0;
	color:#333;
	text-decoration: none;
}

#logo-ico{
	width:108px;
	margin-right:10px;
}

#logo-ico img{
	width:100%;
	height: auto;
}
#logo-name{
	width:280px;	
}

#logo-name img{
	width:100%;
	height: auto;
}

#logo-name p{
	font-size:1rem;
	line-height: 1.8;
	font-weight: 500;
}

/*--------------------------------------
	レスポンシブ
--------------------------------------*/
@media screen and (min-width: 0) and (max-width: 980px){
	#logo-ico{
		width:11vw;
	}
	
	#logo-name{
		width: 28vw;
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	header{
		padding:5px 5px;
	}
	#logo-ico{
		width:50px;
	}
	
	#logo-name{
		width:auto;
		flex:1;
		font-size:0.8rem;
	}
}


/*------------------

	住所など

------------------*/
#header_info{
	display: inline-block;
	text-align: right;
	font-size: 1rem;
	line-height: 1.4;
}

#header_address{
	font-size:0.9rem;
	text-align: left;
	letter-spacing: 0.1em;
}
#header_tel{
	display: inline-flex;
	justify-content: flex-end;
	align-items: center;
}

#header_tel .ico{
	display: inline-block;
	line-height: 22px;
	padding: 0 10px;
	background-color: #6BA736;
	border-radius: 5px;
	margin-right: 8px;
	color:#fff;
	font-syze:0.9rem;
}

#header_tel a[href^="tel:"]{
	display: inline-block;
	font-size: 2rem;
	color:#333333;
	font-weight: 700;
	text-decoration: none;
	line-height: 1;
}

#header_info .time{
	font-size:0.85rem;
}

/*--------------------------------------
	レスポンシブ
--------------------------------------*/
@media screen and (min-width: 0) and (max-width: 980px){
	#header_tel a[href^="tel:"]{
		font-size: 3vw;
	}
}

/*------------------

	予約など

------------------*/

#header_bana{
	width:190px;
	margin-left:20px;
}

#header_bana span{
	width:100%;
	display: block;
	position: relative;
}

#header_bana a{
	width:100%;
	height: 35px;
	padding:0 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	font-weight: 800;
}
#header_bana span::after{
	content: '';
	width:100%;
	height:9px;
	position: absolute;
	left:0;
	bottom:3px;
	display: block;
	background-image: url("../img/bana_arrow.png");
	background-position: right bottom;
	background-repeat: no-repeat;
}

#header_yoyaku{
	flex:1;
	background: #B10854;
	background: -webkit-linear-gradient(bottom, #B10854 100%, #D80C67 0%);
	background: -o-linear-gradient(bottom, #B10854 100%, #D80C67 0%);
	background: linear-gradient(to top, #B10854 100%, #D80C67 0%);
	border-radius: 5px;
	font-size: 18px;
	margin-bottom:5px;
	cursor: pointer;
}

#header_calendar{
	flex:1;
	background: #74B43A;
	background: -webkit-linear-gradient(bottom, #67A233 100%, #74B43A 0%);
	background: -o-linear-gradient(bottom, #67A233 100%, #74B43A 0%);
	background: linear-gradient(to top, #67A233 100%, #74B43A 0%);
	border-radius: 5px;
	font-size: 15px;
}

/*--------------------------------------
	レスポンシブ
--------------------------------------*/
#header_bana a#spmenu{
	display: none;
}
@media screen and (min-width: 431px){
	#header_bana a{
		 -webkit-transition: all .3s;
	  transition: all .3s;
	}

	#header_bana a:hover{
			opacity: 0.8;
	}
}
@media screen and (min-width: 0) and (max-width: 980px){
	#header_bana{
		display: flex;
		justify-content: flex-end;
		gap:3px;
	}
	#header_bana a{
		flex:none;
		width:60px;
		height: auto;
		aspect-ratio:1/1;
		font-size:0.8rem;
		flex-direction: column;
	}
	#header_bana span::after{
		content:none;
	}
	
	#header_bana a#spmenu{
		display: flex;
		background: #74B43A;
		line-height: 0;
		padding:2px 0;
		text-align: center;
		border-radius: 5px;
		font-size: 30px;
	}
	
	#header_bana a#spmenu .ico{
		width:30px;
		height: 3px;
		margin:0 auto;
		background-color: #fff;
		position: relative;
	}
	
	#header_bana a#spmenu .ico::before,
	#header_bana a#spmenu .ico::after{
		content:'';
		width:100%;
		height: 3px;
		background-color: #fff;
		position: absolute;
		left:0;
	}
	
	#header_bana a#spmenu .ico::before{
		top:-10px;
	}
	
	#header_bana a#spmenu .ico::after{
		bottom:-10px;
	}
	
	
	
	#header_bana a#header_calendar{
		background: #74B43A;
		line-height: 0;
		padding:2px 0;
		text-align: center;
	}
	
	#header_bana a#header_calendar .ico{
		flex:1;
	}
	
	#header_bana a#header_calendar img{
		width:auto;
		max-width:30px;
		height: auto;
		max-height: 100%;
	}
	
	#header_bana a#header_calendar .text{
		flex:1;
		line-height: 1;
		font-size:0.6rem;
		display: block;
		letter-spacing: -0.2;
		margin-top:5px;
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	#header_bana{
		width:105px;
	}
	
	#header_bana a{
		width:50px;
	}
}

/*--------------------------------------


	タブレット・スマホ用予約


--------------------------------------*/
#sp_yoyaku{
	display: none;
}
@media screen and (min-width: 0) and (max-width: 980px){
	#sp_yoyaku{
		width: 100%;
		background-color:rgba(244,244,244,0.90);
		position: fixed;
		left:0;
		bottom:0;
		padding:10px 5px;
		display: flex;
		justify-content: center;
		gap:0 15px;
		/*align-items: center;*/
	}


	#sp_yoyaku a#header_yoyaku{
		flex:none;
		width:140px;
		padding:0 5px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		color:#fff;
		font-weight: 800;
		font-size:0.95rem;
		line-height: 1.1;
	}

	#sp_yoyaku a#header_yoyaku::after{
		 font: var(--fa-font-solid);
			content: "\f0da\f0da\f0da";
		line-height: 1;
	}
	
	#sp_yoyaku #header_info{
		font-size:0.95rem;
		text-align: left;
	}

	#sp_yoyaku #header_address{
		display: none;
	}

	#sp_yoyaku #header_tel .ico{
		font-size:0.85rem;
	}

}

@media screen and (min-width: 0) and (max-width: 430px){
	#sp_yoyaku{
		height:60px;
		gap:0 5px;
		line-height: 1.2;
	}
	#sp_yoyaku #header_tel a[href^="tel:"]{
		font-size:1.15rem;
	}
	
	#sp_yoyaku .time{
		font-size:0.75rem;
		font-weight: 700;
	}
}

/*--------------------------------------


	メニュー


--------------------------------------*/

nav{
	width:100%;
	text-align: center;
	border-top:1px solid #BBBBBB;
	border-bottom:1px solid #BBBBBB;
	padding:15px 0;
}

nav ul{
	width:min(95%,1200px);
	margin:0 auto;
	display: flex;
	align-items: center;
	justify-content:space-around;
}

nav li{
	line-height: 1.4;
	text-align: left;
}
nav li a::before{
	content:'●';
	color:#CFEA9C;
	font-size:10px;
	margin-right:5px;
}

nav li a{
	width:100%;
	font-weight: 700;
	text-decoration: none;
	color:#333333;
	display: inline-flex;
	align-items: center;
}

#nav_close,
#nav_header{
	display: none;
}



/*--------------------------------------

	レスポンシブ

--------------------------------------*/

@media screen and (min-width: 981px){
	nav li a{
		 color: transparent;
		 background: linear-gradient(to right, #4B841E 50%, #333 50%) 100%;
		 background-size: 200% 100%;
		background-clip: text;
		  transition: background-position 0.3s;
	}
	nav li a:hover{
		 background-position: 0 100%;
	}
	nav li.shinryou{
		position: relative;
	}
	
	nav li.shinryou:hover a{
		color:#4B841E;
	}
	
	nav li  ul.submenu{
		display: none;
		width:250px;
		position: absolute;
		top:40px;
		left:10px;
		/*width:250px;
		display:block;*/
		background-color: #E9F7DD;
		padding:15px 15px;
		border-radius: 5px;
		filter: drop-shadow(1px 1px 2px rgba(159,159,159,0.41));
		
		
	}
	
	nav li.shinryou{
		cursor: pointer;
	}
	
	nav li.shinryou ul.submenu::before{
		content:'';
		width:40px;
		height: 20px;
		display: block;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		background-color:#E9F7DD;
		position: absolute;
		top:-10px;
		left:5px;
	}
	
	nav li.shinryou ul.submenu li{
		font-size:0.95rem;
		line-height: 1.6;
		font-weight: 500;
		margin-bottom:8px;
		text-shadow:
			1px 1px 0 rgba(255,255,255,0.7),
			-1px 1px 0  rgba(255,255,255,0.7),
			-1px -1px 0  rgba(255,255,255,0.7),
			1px -1px 0  rgba(255,255,255,0.7),
	}
	
	nav li.shinryou:hover ul.submenu li a{
		color: transparent;
	}
	
	nav li.shinryou ul.submenu li::before{
		color:#A8D67E;
	}
}

@media screen and (max-width: 980px){
	nav{
		width:100%;
		height: 100dvh;
		position: fixed;
		top:0;
		left:0;
		background-color: #fff;
		/*display: flex;*/
		display: none;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		z-index: 99999;
		text-align: center;
		border-top: none;
		border-bottom: none;
	}
	
	#nav_header{
		width:95%;
		margin:0 auto 50px auto;
		line-height: 1.4;
		font-size:0.9rem;
		font-weight: 700;
	}
	
	#nav_header_logo{
		width:200px;
		margin:0 auto;
	}
	
	#nav_header_logo .logo{
		width:100px;
		height: auto;
		vertical-align: top;
		margin-bottom:10px;
	}
	
	#nav_header_logo .name{
		width:100%;
		height: auto;
		vertical-align: top;
	}
	
	#nav_header_time{
		font-size:0.8rem;
	}
	
	#nav_header_tel{
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}
	
	#nav_header_tel a{
		font-size:1.3rem;
		font-weight: 700;
		margin-left:5px;
	}
	
	#nav_header_bana{
		width: 100%;
		display: flex;
		gap:5px;
	}
	
	#nav_header_bana a{
		flex:1;
		max-width: 200px;
		height: 30px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding:0 10px;
		color:#fff;
		text-decoration: none;
		border-radius: 5px;
		line-height: 1;
	}
	

	#nav_header_bana a span{
		display: block;
		border-bottom:1px solid #fff;
		position: relative;
		padding-bottom:2px;
	}
	
	#nav_header_bana a span::after{
		display: block;
		border-bottom:1px solid #fff;
		position: relative;
		padding-bottom:2px;
	}
	
	
	#nav_header_bana a span::after{
		content: '';
		width:10px;
		height: 10px;
		display: block;
		/*background-color: #fff;*/
		border-bottom:2px solid #fff;
		 transform: rotate(45deg);
		position: absolute;
		bottom:2px;
		right:-5px;
	}

	#nav_header_bana_yoyaku{
		flex:1;
		background: #B10854;
		background: -webkit-linear-gradient(bottom, #B10854 100%, #D80C67 0%);
		background: -o-linear-gradient(bottom, #B10854 100%, #D80C67 0%);
		background: linear-gradient(to top, #B10854 100%, #D80C67 0%);
		border-radius: 5px;
		font-size: 18px;
		margin-bottom:5px;
	}

	#nav_header_bana_calendar{
		flex:1;
		background: #74B43A;
		background: -webkit-linear-gradient(bottom, #67A233 100%, #74B43A 0%);
		background: -o-linear-gradient(bottom, #67A233 100%, #74B43A 0%);
		background: linear-gradient(to top, #67A233 100%, #74B43A 0%);
		border-radius: 5px;
		font-size: 15px;
	}

	nav ul{
		display: inline-block;
		width:auto;
		text-align: left;
		/*flex-direction: column;
		align-items: flex-start;*/
	}
	
	nav li{
		margin-bottom:15px;
		/*display: inline-block;*/
	}
	
	nav ul li:last-child{
		margin-bottom:0;
	}
	
	nav ul.submenu{
		width:auto;
		margin-left:10px;
		margin-top:15px;
		display: inline-block;
	}
	
	nav ul.submenu li a::before{
		font-size:5px;
	}
	
	#nav_close{
		width:30px;
		height: 30px;
		position: absolute;
		top:0;
		right:0;
		background-color: #A9D4B5;
		border-radius: 0 0 0 5px;
		color:#fff;
		font-size:20px;
		line-height: 30px;
		cursor: pointer;
	}
}

/*--------------------------------------


	予約


--------------------------------------*/

section#yoyaku{
	width:100%!important;
	margin:0;
	padding:30px;
	background-color: #F7FBF8;
}

#yoyaku_inner{
	width:min(98%,1200px);
	margin:0 auto;
	display: flex;
	gap:20px 40px;
}

#yoyaku_table{
	flex:1;
	background-color: #fff;
	border-radius: 5px;
	padding:20px 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#yoyaku_table table{
	width:100%;
	border-top:1px solid #D4D4D4;
	table-layout:fixed;
}

#yoyaku_table th,
#yoyaku_table td{
	padding:10px 0;
	border-bottom:1px solid #D4D4D4;
	text-align: center;
	font-weight: 600;
	line-height: 1.4;
}

#yoyaku_table tbody tr:last-child td{
	padding:15px 3px;
	font-weight: 400;
	font-size:0.85rem;
}

#yoyaku_table thead th{
	border-left:1px dotted #D4D4D4;
	padding:15px 10px;
}

#yoyaku_table thead th:first-child{
	border-left:none;
}

#yoyaku_table tbody th{
	width:110px;
	vertical-align: middle;
	text-align: center;
}
#yoyaku_table td{
	text-align: center;
	border-left:1px dotted #BBBBBB;
	vertical-align: top;
}

#yoyaku_table tr.time td{
	font-size: 0.8rem;
	font-weight: 500;
}

#yoyaku_table p.sat{
	width:100%;
	text-align: right;
	font-size:0.8rem;
}

#yoyaku_table .fa-solid{
	color:#A6DB43;
}

#yoyaku_table td .fa-xmark{
	font-size:1.5rem;
	font-weight: bold;
}

#yoyaku_reception{
	flex:1;
	text-align: center;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding:10px 0;
		
}

#yoyaku_reception h2{
	border-top:2px solid #76A420;
	border-bottom:2px solid #76A420;
	padding:10px 0;
	text-align: center;
	font-size:2rem;
	line-height: 1;
	margin-bottom:0;
	color:#639930;
	 text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0 -1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

#yoyaku_reception_tel{
	flex:1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	
}
#yoyaku_reception_tel_no{
	display: flex;
	align-items: flex-end;
	justify-content: center;
	line-height: 1;
	font-size:1.15rem;
	margin-top:10px;
	margin-bottom:10px;
}

#yoyaku_reception_tel_no a[href^="tel:"] {
	font-size:2.5rem;
	color:#333;
	font-weight: 700;
	text-decoration: none;
}

#yoyaku_reception_bana{
	width:100%;
	display: flex;
	gap:10px;
	margin-top:15px;
}

#yoyaku_reception_bana a{
	flex:1;
	height: 60px;
	color:#fff;
	padding:5px 10px;
	font-size:25px;
	border-radius: 5px;
	line-height: 1;
	display: flex;
	/*flex-direction: column;*/
	justify-content: center;
	align-items: center;
	position: relative;
}

#yoyaku_reception_bana a span{
	width:100%;
	text-align: left;
	padding-left:10px;
}

#yoyaku_reception_bana a span{
	display: block;
	border-bottom:1px solid #fff;
	padding-bottom:3px;
	position: relative;
}

#yoyaku_reception_bana a span::after{
	content: '';
	width:20px;
	height: 20px;
	display: block;
	/*background-color: #fff;*/
	border-right:2px solid #fff;
	 transform: rotate(-45deg);
	position: absolute;
	bottom:-10px;
	/*right:-10px;*/
	right:4px;
}


#yoyaku_reception_bana .yoyaku{
	flex:1;
	background: #B10854;
	background: -webkit-linear-gradient(bottom, #B10854 100%, #D80C67 0%);
	background: -o-linear-gradient(bottom, #B10854 100%, #D80C67 0%);
	background: linear-gradient(to top, #B10854 100%, #D80C67 0%);
	border-radius: 5px;
	margin-bottom:5px;
	font-size:23px;
	cursor: pointer;
}

#yoyaku_reception_bana .calendar{
	flex:1;
	background: #74B43A;
	background: -webkit-linear-gradient(bottom, #67A233 100%, #74B43A 0%);
	background: -o-linear-gradient(bottom, #67A233 100%, #74B43A 0%);
	background: linear-gradient(to top, #67A233 100%, #74B43A 0%);
	border-radius: 5px;
	font-size: 15px;
	font-size:20px;
}


/*--------------------------------------

	レスポンシブ

--------------------------------------*/
@media screen and (min-width: 431px){
	#yoyaku_reception_bana a{
		 -webkit-transition: all .3s;
	  transition: all .3s;
	}

	#yoyaku_reception_bana a:hover{
			opacity: 0.8;
	}
}

@media screen and (min-width: 0) and (max-width: 980px){
	#yoyaku_inner{
		flex-direction: column;
	}
	
	#yoyaku_reception{
		width:min(100%,500px);
		order:1;
		margin:0 auto;
	}
	
	#yoyaku_table{
		width:min(100%,600px);
		margin:0 auto;
		order:2;
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	section#yoyaku{
		padding:30px 0;
	}
	#yoyaku_inner{
		width:98%;
		gap:20px;
	}
	
	#yoyaku_table{
		width:100%;
	}
	
	#yoyaku_table tbody th{
		width:100px;
		vertical-align: middle;
		text-align: center;
	}
	
	#yoyaku_reception{
		width:100%;
	}
	#yoyaku_table tbody th span.font_s{
		font-size:0.75rem!important;
	}
	
	#yoyaku_reception_bana{
		gap:3px;
	}
	
	#yoyaku_reception_bana a{
		width:auto;
		padding:3px 3px;
	}
	
	#yoyaku_reception_bana .yoyaku{
		font-size:1.5rem;
	}
	
	#yoyaku_reception_bana .calendar{
		font-size:0.9rem
	}
	
	#yoyaku_reception_bana a span::after{
		
	}
	
}
/*--------------------------------------


	フッダー


--------------------------------------*/

footer{
	width:100%;
	background-color: #8AC751;
	padding-bottom:3px;
	background-image: url("../img/f_chou.png");
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: auto 95%;
}

footer .inner{
	width:min(95%,980px);
	margin:0 auto;
	padding:5px 0;
	display: flex;
	color:#fff;
}

/*--------------------------------------

	レスポンシブ

--------------------------------------*/

@media screen and (min-width: 0) and (max-width: 980px){
	footer .inner{
		flex-direction: column;
		width:98%;
		gap:10px;
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	footer{
		background-image: none;
	}

	footer .inner{
		flex-direction: column;
		width:98%;
		gap:10px;
	}
}

/*--------------------------------------

	インフォメーション

--------------------------------------*/

#footer_info{
	width:min(98%,430px);
	margin-right:40px;
	padding:20px 0;
}

#footer_info_name{
	display: flex;
	/*align-items: center;*/
}

#footer_info_logo{
	height: 100%;
	line-height: 0;
	margin-right:10px;
}

#footer_info_logo img{
	width:auto;
	height: 100%;
}

#footer_info_name .text{
	width:300px;
}

#footer_info_name .text p{
	line-height: 1;
	font-weight: 500;
	margin-bottom:10px;
}

#footer_info_name .text img{
	width:100%;
	height: auto;
	vertical-align:top;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(317deg) brightness(103%) contrast(102%);
	margin:5px 0;
}


#footer_info_name p.address{
		font-size:0.9rem;
	}

#footer_info_bottom{
	width:100%;
	display: flex;
	margin-top:10px;
	align-items: flex-start;
}

#footer_info_bottom p{
	font-size:0.8rem;
}

#footer_info_eco{
	width:70px;
	background-color: rgba(255,255,255,0.8);
	border-radius: 5px;
	padding:3px;
	line-height: 0;
}

#footer_info_eco img{
	width:100%;
	height: auto;
}

#footer_info_bottom .text{
	flex:1;
	margin-left:10px;
}

#footer_info_tel{
	font-size:0.9rem;
	/*display: flex;
	flex-wrap: wrap;
	align-items: flex-end;*/
	line-height: 1.4;
	text-align: center;
	margin-top:-10px;
}

#footer_info_tel span{
	display: inline-block;
	background-color: #fff;
	padding:1px 8px;
	border-radius: 5px;
	color:#4F9A0A;
	font-weight: 700;
}

#footer_info_tel a{
	font-size:2.3rem;
	color:#fff;
	font-weight: 700;
	display: inline-block;
	margin-left:3px;
	text-decoration: none;
}

#footer_info_access{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:5px;
	margin-top:10px;
}
#footer_info_access a{
	width:130px;
	height: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding:0 10px;
	color:#fff;
	text-decoration: none;
	border:1px solid #fff;
	border-radius: 5px;
	line-height: 1;
}


#footer_info_access a span{
	display: block;
	border-bottom:1px solid #fff;
	position: relative;
	padding-bottom:2px;
}

#footer_info_access a span::after{
	content: '';
	width:10px;
	height: 10px;
	display: block;
	/*background-color: #fff;*/
	border-bottom:2px solid #fff;
	 transform: rotate(45deg);
	position: absolute;
	bottom:2px;
	right:-5px;
}

/*--------------------------------------

	レスポンシブ

--------------------------------------*/
@media screen and (min-width: 431px){
	#footer_info_access a{
		 -webkit-transition: all .3s;
	  transition: all .3s;
	}

	#footer_info_access a:hover{
		background-color: #fff;
		color:#57B450;
	}
	
	#footer_info_access a:hover span{
		border-bottom:1px solid #57B450;
	}
	
	#footer_info_access a:hover span::after{
		border-bottom:2px solid #57B450;
	}
}

@media screen and (min-width: 0) and (max-width: 980px){
	#footer_info{
		margin:0 auto;
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	#footer_info_name{
		flex-direction: column;
		align-items: center;
		row-gap:15px;
	}
	
	#footer_info_logo{
		width:100px;
	}
	
	#footer_info_logo img{
		width:100%;
		height: auto;
	}
	
	#footer_info_name .text{
		width:min(95%,300px);
		text-align: center;
	}
	
	#footer_info_tel{
		margin-top:0;
	}
	#footer_info_eco{
		width:80px;
		/*order:2;*/
		margin:0 auto;
	}
	
	#footer_info_bottom .text{
		flex:none;
		margin-left:0;
	}
	#footer_info_access{
		justify-content: center;
		margin-top:20px;
	}
	
	#footer_info_bottom .text p.address{
		font-size:0.9rem;
	}
	
	#footer_info_access a{
		width:150px;
	}
	
	#footer_info_access{
		gap:10px;
		flex-wrap: wrap;
	}
	
	#footer_info{
		margin:0 auto;
		order:1;
	}
	
}
/*--------------------------------------

	フッダーメニュー

--------------------------------------*/
#footer_menu{
	flex:1;
	border-left:1px dotted #E2F5C2;
	display: flex;
	gap:10px;
	justify-content: space-between;
	padding:20px 0 20px 40px;
}

#footer_menu ul{
	flex:1;
	font-size:0.95rem;
	font-weight: 700;
}

#footer_menu li a{
	color:#fff;
	text-decoration: none;
}

#footer_menu ul li::before{
	content: "・";
}


#footer_menu ul.shinryou li{
	/*margin-bottom:10px;*/
	/*padding-left:1em;
	text-indent: -1em;*/
}


#footer_menu ul.shinryou li>ul li{
	text-indent: 0;
	font-size:0.9rem;
}

#footer_menu ul.shinryou li::before{
	content:none;
}

#footer_menu ul.shinryou li>ul li::before{
	content: "・";
}

/*--------------------------------------

	レスポンシブ

--------------------------------------*/

@media screen and (min-width: 0) and (max-width: 980px){
		
	#footer_menu{
		width:100%;
		border-left:none;
		border-top:1px dotted #E2F5C2;
		/*margin-top:20px;*/
		padding-top:20px;
		order:2;
		justify-content: center;
		gap:40px;
		padding:10px 0;
	}
	
	#footer_menu ul{
		display: inline-block;
		flex:none;
	}
}

@media screen and (min-width: 0) and (max-width: 430px){
	#footer_menu{
		/*display: block;*/
		gap:20px;
	}
	#footer_menu li{
		font-size:0.7rem;
		margin-bottom:0;
		line-height: 1.6;
		/*padding-left:1em;
		text-indent: -1em;*/
	}
	
	#footer_menu ul.shinryou li>ul li{
	font-size:0.7rem;
	}

	/*#footer_menu ul{
		flex:none;
		width:100%;
		display: flex;
		flex-wrap: wrap;
		gap:5px 10px;
		margin:0 auto;
	}
	
	#footer_menu li{
		min-width:calc((100% / 2) - 10px);
		font-size:0.85rem;
		margin-bottom:0;
		line-height: 1.6;
	}
	
	#footer_menu ul.shinryou{
		margin-bottom:15px;
	}
	
	#footer_menu ul.shinryou li:first-child{
		width:100%;
	}
	
	#footer_menu ul.shinryou li{
		margin-bottom:0;
	}*/
}

/*--------------------------------------

	コピーライト

--------------------------------------*/
#coopyright{
	width:100%;
	font-size:0.7rem;
	display: flex;
	align-items: center;
	line-height: 1;
	color:#fff;
}

#coopyright::before{
	content:'';
	flex:1;
	height: 1px;
	display: block;
	background-color: #C2E77E;
}


/*--------------------------------------



	下層ページ



--------------------------------------*/

#title{
	width:100%;
	background-image: url("../img/titile_back01.png");
	background-size: auto 100%;
	background-position: right bottom;
	background-repeat: no-repeat;
	border-bottom:1px solid #DDDDDD;
	padding:50px 0;
}


#title p.maintitle{
	width:min(95%,1200px);
	margin:0 auto;
	font-size:1.2rem;
	line-height: 1;
	color:#2C2C2C;
	font-weight: 500;
	/*padding-left:35px;*/
	margin-bottom:8px;
	padding-left:35px;
}

#title h1{
	width:min(95%,1200px);
	margin:0 auto;
	font-size:3rem;
	line-height: 1;
	color:#2C2C2C;
	font-weight: 500;
	display: flex;
	align-items: center;
	border-radius: 3px;
}

#title h1::before{
	content:'';
	width:15px;
	height: 15px;
	display: block;
	background-color: #D2EB9C;
	box-shadow: 5px 5px 0px 0px #A6DB45;
	margin-right:20px;
}

main{
	width:min(99%,1200px);
	margin:0 auto 80px auto;
}

body:not(#director):not(#consultation):not(#magazine) main h2{
	width:100%;
	height: 70px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	/*align-items: center;*/
	line-height: normal;
	/*background-color: #F4F2EB;*/
	font-size:1.7rem;
	color:#387051;
	font-weight: 700;
	text-align: left;
}

body:not(#director):not(#consultation) main h2 span{
	display: flex;
	align-items: center;
}


body:not(#director):not(#consultation) main h2 span::before{
	content:'';
	width:5px;
	height: calc(100% - 10px);
	display: block;
	background-color: #A6DA43;
	margin-right:15px;
	border-radius:100px;
}

body:not(#director):not(#consultation) main h2 span::after{
	content: '';
	flex:1;
	height: 2px;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	margin-left:10px;
}

main section:first-child{
	padding-top:80px;
}

main .content_inner{
	padding:60px 10px;
}

/*--------------------------------------

	レスポンシブ

--------------------------------------*/

@media screen and (min-width: 0) and (max-width: 980px){
	#title{
		border-top:1px solid #DDDDDD;
		padding:5.1vh 0;
	}
	
	#title h1{
		font-size:2rem;
	}
	
}

@media screen and (min-width: 0) and (max-width: 430px){
	main section:first-child{
		padding-top:50px;
	}

	main h2:not(#director):not(#magazine){
		height: 70px;
		font-size:1.5rem;
	}
	
	main h2:not(#director)::not(#magazine) span{
		padding-left:10px;
	}
		
	main .content_inner{
		padding:50px 10px;
	}

}

/*--------------------------------------

	パンくず

--------------------------------------*/
#pan{
	width:100%;
	display: flex;
	align-items: center;
	padding-left:5px;
}

#pan::after,
#pan::before{
	content:'';
	flex:1;
	height: 1px;
	background-color:#D0D0D0;
	display: block;
}

#pan::before{
	margin-right:5px;
}
#pan ul{
	width:min(99%,1200px);
	display: flex;
	align-items: center;
	gap:5px;
	line-height: 1;
	font-size:0.75rem;
	/*width:min(95%,1200px);*/
	margin:3px auto;
}

#pan ul::after{
	content:'';
	flex:1;
	height: 1px;
	background-color:#D0D0D0;
	display: block;
	margin-right:5px;
	margin-left:5px;
}
#pan li{
	display: inline-flex;
	align-items: center;
	color:rgba(153,153,153,1.00);
	margin-right:5px;
}

#pan li::after{
	 font: var(--fa-font-solid); 
	content:"\f054";
	margin-left: 5px;
	font-size:10px;
}

#pan li.now{
	color:#387051;
}

#pan li.now::after{
	content: none;
}
#pan li a{
	color:rgba(108,108,108,1.00);
	text-decoration: none;
}

#pan li a:hover{
	color:#387051;
}


/*--------------------------------------


	ロード画面


--------------------------------------*/

#loading{
	width:100%;
	height: 100dvh;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	top:0;
	left:0;
	z-index:99999;
}

#loading .inner{
	width:200px;
}

#loading .inner img{
	width:100%;
	height: auto;
}

/* HTML: <div class="loader"></div> */
.loader {
  height: 4px;
  width: 100%;
  --c:no-repeat linear-gradient(#C1F0C0 0 0);
  background: var(--c),var(--c),#EFEFEF;
  background-size: 60% 100%;
  animation: l16 3s infinite;
	margin-top:15px;
}
@keyframes l16 {
  0%   {background-position:-150% 0,-150% 0}
  66%  {background-position: 250% 0,-150% 0}
  100% {background-position: 250% 0, 250% 0}
}



/*---------------

	サブウインドウ

----------------------*/


#cboxOverlay {
  background: #000;
}
#cboxLoadedContent {
  background: #fff;
	text-align: left;
	font-weight:normal;
	border-radius: 6px;
	color:#363636;
	padding:5px!important;
}

#cboxLoadedContent img{
	border-radius: 6px;
}

#cboxLoadedContent{
  padding: 0;
  overflow: auto;
  -moz-box-shadow: 0px 1px 10px #000000;
  -webkit-box-shadow: 0px 1px 10px #000000;
  box-shadow: 0px 1px 10px #000000;
}
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose , #cboxTitle {
  top: -30px;
right:-80px;
}

#cboxClose{
	width:50px;
	height: 50px;
	background-image: url("../img/close.png");
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-color:rgba(0,0,0,0.00);
}

#colorbox, #cboxOverlay, #cboxWrapper {
  overflow: visible ;
}
#cboxTitle {
  color: #fff;
}

/*--------------------------------------

	レスポンシブ

--------------------------------------*/

@media screen and (min-width: 0) and (max-width: 430px){
	#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose , #cboxTitle {
	  top: -30px;
	right:0px;
	}
	
	#cboxClose{
		width:30px;
		height: 30px;
	}

}