@charset "UTF-8";
/*@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);*/
/* @import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:700&display=swap); */
/*@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);*/
/* @import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/*  "Jost",'Roboto Condensed',
 "Zen Kaku Gothic New", 
 'Shippori Mincho B1',
 "Open Sans",  "Zen Maru Gothic", */

:root {
	--font-min: 'Shippori Mincho B1', 'Noto Serif JP', "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", 'Noto Serif JP', serif;
	--font-go: "Zen Kaku Gothic New", 'Noto Sans JP', 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
	--font-titm: 'Shippori Mincho B1', 'Noto Serif JP', "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", 'Noto Serif JP', serif;
	--font-titg: "Zen Maru Gothic",'Roboto Condensed', 'Urbanist', 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
	--font-en: "Open Sans", "Jost", "futura-pt-condensed", 'Barlow', 'Shippori Mincho B1', 'Noto Serif JP', "ヒラギノ明朝 ProN", "HiraMinProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", 'Noto Serif JP', serif;
	--font-en2: 'Roboto Condensed', 'Urbanist', 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
	--font-sizeS: 12px;
	--font-sizeM: 14px;
	--font-sizeL: 18px;
	--color-base: #ffffff;
	--color-main: #3C3C3C;
	--color-accent1: #6EA2ED;
	--color-accent2: #F2B992;
	--color-accent3: #AAAAAA;
	/* --color-accent4: #FFC500;
	--color-accent5: #AAAAAA; */
	/* --color-accent6: linear-gradient(90deg, #001d7e, #0073ff); */
	/* --color-accent6: linear-gradient(90deg, #001d7e, #5751ff); */
	--color-sub1: #B9E3FF;
	--color-sub2: #B3D8F1;
	--color-sub3: #DEF0FF;
	--color-sub4: #F3F6FA;
	--color-sub5: #f9ffec;

	--shadow: drop-shadow(5px 5px 10px rgba(0, 8, 63, 0.4));
	--br-s: 20px;
	--br-m: 40px;
	--br-l: 50px;

}


body {

	height: 100%;
	font-family: var(--font-go);
	font-size: 1.4rem;
	line-height: 2.8rem;
	background-color: var(--color-sub4);
	color: var(--color-main);
	text-align: center;
}
* {
	box-sizing: border-box;
}

br {
	display: initial;
}
br.dis {
	display: inherit;
}
br.sp {
	display: none;
}

.pc {
	display: initial;
}
.sp {
	display: none;
}

 a ,
 a:link ,
 a:visited {
	transition: .3s;

}
 a:hover ,
 a:active ,
 a:focus {
}
 a[class$="btn"] ,
 a[class$="btn"]:link ,
 a[class$="btn"]:visited 
 a.btn ,
 a.btn:link ,
 a.btn:visited {
	color: var(--color-base);
	transition: .3s;
	text-decoration: none;
}
 a[class$="btn"]:hover ,
 a[class$="btn"]:active ,
 a[class$="btn"]:focus 
 a.btn:hover ,
 a.btn:active ,
 a.btn:focus {
}


/*コンテンツ間上下マージン*/
body section {
	padding-top: 100px;
	padding-bottom: 100px;
	text-align: center;
}

 /*******************************************/


h2 {
	font-size: 2.8rem;
	line-height: 1.5em;
	font-family: var(--font-titg);
	font-weight: bolder;
	margin-bottom: 60px;
}

h2:has(+ .subtitle) {
	margin-bottom: 15px;
}

h2+.subtitle {
	font-size: 2.4rem;
	margin-bottom: 30px;
	font-family: var(--font-en);
}

h3 {
	font-size: 2.0rem;
	line-height: 2.0rem;
	font-weight: bolder;

}

h3 {
	display: block;
	width: 100%;
	/*			height: 30px;*/
	text-align: center;
	line-height: 1.4em;

}

h3>span {
	display: block;
	margin-bottom: 30px;
}

h4 {
	font-size: 1.2em;
	line-height: 1.2em;
	font-weight: bolder;
}

h5 {
	font-size: 1em;
	line-height: 1em;
	font-weight: bolder;
}




/*******************************************/


#gotoTop img{
	position:fixed;
	bottom: 210px;
	right: 13px;
	width: 50px;
	z-index: 99;
	filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));

}
#gotoTop img:hover{
	transition: all .3s;
	bottom:205px;
	filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
	-webkit-filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
	}

/*******************************************/

aside.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #fff;
	z-index: 1000;
	/* z-index: 90; */

}
aside.loading img {
	width: 100px;
	height: 100px;
	position: fixed;
	top: -10%;
	bottom: 0;
	left: 0;
	right: 0;
	margin:  auto;
	width: 50px;
	height: 50px;
/* 	background: url(../img/common_lodinganime.gif) no-repeat center ;
	background-size: 50px 50px; */
	z-index: 99;
	animation: loading 3s  ease ;
	animation-iteration-count:infinite;
	opacity: 1;
	transition: all 3s;
}

@keyframes loading {
 0% {
		transform: rotate(0deg); 
 }
 to {
		transform: rotate(360deg); 
 }
}


header.header {
	position:fixed;
	inset: 50px 0 ;
	margin: auto;
	width: 100%;
	padding: 0 ;
	pointer-events: none;
	z-index: 100;

	.spmenuTgr {
		display: none;
	}
	.inner {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;

	  & .sitelogo {
		margin-top: 30px;
		padding-left: 20px;
		background: var(--color-sub1);
		padding: 20px;
		border-radius: 0 20px 20px 0;
		
		& a.logo ,
		& a.logo:link ,
		& a.logo:visited {
			pointer-events: auto;
			transition: .3s;
			text-decoration: none;


				& img {
					width: 140px;
				}

		}
		& a.logo:hover ,
		& a.logo:active ,
		& a.logo:focus {
		}


	  }
  
	  .rightmenu {
		background: var(--color-sub4);
		color: var(--color-accent1);
		border-radius: 20px 0 0 20px;
		/* width: 70%; */
		/* max-width: 600px; */
		height: 140px;
		padding: 25px 30px 0 40px;
		display: grid;
		grid-template:
		"time tel" 20px
		"holiday tel" 20px
		"nav nav" 60px /
		130px 330px;
		gap: 5px;
		text-align: left;

		.menulogo {
			display: none;
		}

			& .time {
				grid-area: time;
				/* font-size: var(--font-sizeS); */
			}

			& .holiday {
				grid-area: holiday;
			}

			& .tel {
				grid-area: tel;
				align-self: center;
				font-size: 3.8rem;
				font-family: var(--font-en);
				font-weight: 600;
				text-align: right;
				& img {
					width: .55em;
					margin-right: .5em;

				}
			}
				& a.tel ,
				& a.tel:link ,
				& a.tel:visited {
					color: var(--color-accent1);
					pointer-events: none;
					cursor: default;
					transition: .3s;
					text-decoration: none;
				}
				& a.tel:hover ,
				& a.tel:active ,
				& a.tel:focus {
				}

			& nav.nav {
				grid-area: nav;
				display: flex;
				justify-content: space-between;
				margin-top: 10px;
				align-items: center;
				pointer-events: auto;

				background-image: radial-gradient(circle, var(--color-sub1) 1px, transparent 1px);
				background-position: left top;
				background-repeat: repeat-x;
				background-size: 6px 2px;

					& a.btn ,
					& a.btn:link ,
					& a.btn:visited {
						display: inline-block;
						/* height: 1em; */
						color: var(--color-accent1);
						font-weight: 600;
						transition: .3s;
						text-decoration: none;
					}
					& a.btn:hover ,
					& a.btn:active ,
					& a.btn:focus {
						color: var(--color-accent2);

					} 
			}
	  }
	}
  }

aside.sidebtn {
	position: fixed;
	inset: auto 0 0 auto;
	z-index: 10;
	& a {
		text-align: center;
		display: block;
		width: 100px;
		height: 100px;
		margin: 0 0 0 auto;
		padding: 20px;


		& img {
			width: 40px;
			display: block;
			margin: 0 auto;
		}
	}
	& a:hover ,
	& a:active ,
	& a:focus {
		width: 150px;
		padding-right: 70px;
	}


	& a.recluit ,
	& a.recluit:link ,
	& a.recluit:visited {
		background: var(--color-accent2);
		border-radius: 20px 0 0 20px;

	}
	& a.recluit:hover ,
	& a.recluit:active ,
	& a.recluit:focus {
	}


	& a.reserve ,
	& a.reserve:link ,
	& a.reserve:visited {
		background: var(--color-sub1);
		border-radius: 20px 0 0 0px;

	}
	& a.reserve:hover ,
	& a.reserve:active ,
	& a.reserve:focus {
	}



}


/*****************************
******footer******************
******************************/
footer {
	& section.campany {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 40px;
		width: calc(100% - 80px) ;
		max-width: 1200px;
		margin: 0 auto;

		& h2 {
			width: 100%;
			margin-bottom: 20px;
			font-size: var(--font-sizeL);

			
	  }
  
	  .map {
		width: 100%;
		height: 400px;
		margin:  0 auto;
		border-radius: var(--br-l);
  
	  }
  
	  .daytime {
		flex: 1 0 470px;
		& .daytimetable {
			/* position: absolute; */
			inset: 40% 30% 0 0;
			margin: auto;
			width: 100%;
			height: 200px;

			border-radius: var(--br-m);
			color: var(--color-accent1);
			overflow: hidden;
			z-index: 5;
			display: grid;
			grid-template-columns: 3fr 1fr 1fr 1fr 1fr 1fr 1fr 2.5fr ;

			& .thead {
				background: var(--color-sub3);
				padding: 1.4em 0;
			}

			& .ttit {
				background: var(--color-sub3);
				/* line-height: 1em; */
				padding: 1.4em 0;
			}

			& .tdatl {
				background: var(--color-base);
				padding:  1.4em 0;
			}

			& .tdat {
				background: var(--color-base);
				padding: 1.4em 0;
			}
			& div:nth-of-type(8n) {
				padding-right: 2.5em;
			}
			& div:nth-of-type(8n + 1) {
				padding-left: 2.5em;
			}
			& div:nth-of-type(n + 17) {
				background-image: radial-gradient(circle, var(--color-sub1) 1px, transparent 1px);
				background-position: left top;
				background-repeat: repeat-x;
				background-size: 6px 2px;
			}
		}

	  }
  
	  .detail {
		flex: 1 0 470px;
		border-radius: var(--br-l);
		background: var(--color-base);
		color: var(--color-accent1);
		padding: 30px 30px;
		text-align: left;
		& h3 {
			background-image: radial-gradient(circle, var(--color-sub1) 1px, transparent 1px);
			background-position: left bottom;
			background-repeat: repeat-x;
			background-size: 6px 2px;
			text-align: left;
			padding-bottom: 20px;
			margin-bottom: 10px;

		  .tag {
			font-size: var(--font-sizeM);
			font-weight: normal;
			display: inline-block;
  
		  }
		}
  
		.text {
			display: flex;
			justify-content: flex-start;
			align-items: flex-start;
			flex-wrap: wrap;
			gap: 5px;

		  .address {
			width: 100%;
  
		  }
  
		  .tel {
			flex: 0 150px;
			& img {
				height: .8em;
				display: inline-block;
				margin-right: .75em;
  
			}
		  }
  
		  .mail {
			flex: 1;
			& img {
				height: .8em;
				display: inline-block;
				margin-right: .75em;
  
			}
		  }
  
		  & .time {
			width: 100%;

			& p {
				display: inline-block;
				margin-right: 20px;
  
			}
		  }
		}
	  }
	}
  
	& section.footermenu {

		background: var(--color-sub5);

		.inner {
			width: calc(100% - 80px);
			max-width: 1200px;
			margin: 0 auto;
			display: flex;
			justify-content: center;
			align-items: stretch;
			flex-wrap: wrap;
			gap: 40px;
		}
	  .left {
		flex: 0 1 580px;
		aspect-ratio: 580/ 250;

		& a {
			width: 100%;
			height: 100%;
			display: grid;
			place-items: center left;
			place-content: center left;
			padding: 40px;
			background: url(../common_img/footer_recruit.webp) no-repeat;
			background-size: 100%;
			background-position: center,center;
			text-align: left;
			position: relative;
			border-radius: var(--br-l);
			overflow: hidden;
			transition: .3s;
			
			&:before {
				content: "";
				width: 100%;
				height: 100%;
				display: block;
				position: absolute;
				background: var(--color-accent1);
				mix-blend-mode:multiply;
				z-index: 0;
				opacity: 0;
				transition: .3s;
			}
			&:after {
				content: "";
				width: 40px;
				height: 40px;
				display: block;
				position: absolute;
				inset: auto 20px 20px auto;
				background: url(../common_img/footer_arrow_w.webp) no-repeat,var(--color-accent2);
				background-size: 14px 21px;
				background-position: 60% 50% ;
				border-radius: var(--br-l);
				transition: .3s;
			}
			& h3 {
			text-align: left;
			margin-bottom: 10px;
			font-family: var(--font-titg);
			z-index: 1;
  
		  }
  
		  .comment {
			z-index: 1;
			& p {
  
			}
		  }
		}
		& a ,
		& a:link ,
		& a:visited {
			color: var(--color-base);

			transition: .3s;
			text-decoration: none;
		}
		& a:hover ,
		& a:active ,
		& a:focus {
			background-size: 105%;

			&:before {
				opacity: .2;
			}
			&:after {
				inset: auto 10px 20px auto;
			}
			
		}
	  }
  
	  .right {
		flex: 0 1 580px;
		/* aspect-ratio: 580/ 250; */
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: var(--br-l);
		background: var(--color-base);
		.logo {
			flex: 2;

			& img {
				width: 140px;

  
		  }
		}
  
		& ul {
			flex: 3;
			display: grid;
			grid-auto-flow: column;
			grid-template-rows: repeat(4, auto);
			gap: 10px 5px;
			border-left:var(--color-sub2) 2px dotted;
			padding: 40px 0px 40px 40px;
			& li {
				text-align: left;
				display: block;


			& a.menuitem ,
			& a.menuitem:link ,
			& a.menuitem:visited {
				font-size: var(--font-sizeL);
				color: var(--color-accent1);
				transition: .3s;
				text-decoration: none;
			}
			& a.menuitem:hover ,
			& a.menuitem:active ,
			& a.menuitem:focus {
				color: var(--color-accent2);
			}

		  }
		}
	  }
	}
  
	& section.copy {
		padding: 40px;
		background: var(--color-sub1);
		color: var(--color-base);
  
	}
  }
/*****************************
******footer終わり*************
******************************/

