@charset "utf-8";
html {
	background: #b9b5b4;
}


body {
margin: 0;
	padding: 0;	
	font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	width: 100%;
	overflow-x: hidden;
	background: linear-gradient(to bottom, transparent 20%, transparent 60%, #b9b5b4), url("../images/pexels-bich-tran-945453.jpg");
	background-repeat: no-repeat;
	min-height: 100vh;
	background-size: 100% auto;
	background-attachment: fixed;
	background-position: top center;
	color: #333;
}


@media screen and (max-width: 780px) {
	body {
		height: 100%;
		background-size: auto 100%;
		background-position: top left;
		
	}
}



a{
  text-decoration: none;
	color: #333;
}

li {
list-style: none;
}

/*ナビ*/
.pc-nav {
	width: 100%;
	height: 60px;
	z-index: 999;
	background-color: rgba(255,255,255,.9);
}

.pc-nav.sticky{
  position: fixed;
  top: 0;
  right: 0;	
}

.logo {
width: 60px;
padding-top: 17px;
padding-left: 60px;
}


.pc-nav ul {
	float: right;
    display: flex;
    flex-wrap: wrap;/*スマホ表示折り返し用なのでPCのみなら不要*/
    margin: 10px 60px 50px 0;
}

.navi-list a {
    display: block;
    padding: 4px 20px;
    text-decoration: none;
    color: #555968;
	font-size: 18px;
	font-family: 'EB Garamond', serif;
}

/*==================================================
　5-3-10 線が伸びて枠線になる
===================================*/

.navi-list {
    /*線の基点とするためrelativeを指定*/
  position: relative;
    margin:0 10px;
}

/*線の基点位置*/
.navi-list::before,
.navi-list::after{
    content:"";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    background: #555968;
    /*線の形状*/
    width: 0;
    height: 1px;
    /*アニメーションの指定*/
    transition: all 0.2s linear;
}

.navi-list::before{
  right: 0;
  bottom: 0;
}

.navi-list::after{
  left: 0;
  top: 0;
}

/*線の基点位置2 spanタグ*/

.navi-list span{
    display: block;
}

.navi-list span::before,
.navi-list span::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
  background: #0481A2;
    /*線の形状*/
  width:1px;
  height:0;
/*アニメーションの指定*/
  transition: all 0.1s linear;
}

.navi-list span::before{
  left: 0;
  bottom: 0;
}

.navi-list span::after{
  right: 0;
  top: 0;
}

/*現在地とhoverした際の線の変化*/
.navi-list.current::before,
.navi-list.current::after,
.navi-list:hover::before,
.navi-list:hover::after{
  width: 100%;
}

.navi-list:hover::after{
  transition-delay: 0s;/*すぐ線を出現させる*/
}

.navi-list:hover::before{
  transition-delay: 0.3s;/*線の出現を0.3秒遅らせる*/
}

.navi-list.current span::before,
.navi-list.current span::after,
.navi-list:hover span::before,
.navi-list:hover span::after{
  height: 100%;
}

.navi-list:hover span::before{
  transition-delay: 0.5s;/*線の出現を0.5秒遅らせる*/
}

.navi-list:hover span::after{
  transition-delay: 0.2s;/*線の出現を0.2秒遅らせる*/
}
/*========= レイアウトのためのCSS ===============*/

.lead{
  padding: 50px 20px;
}

.sp-nav {
	display: none;
}

@media screen and (max-width: 1024px) {
	.logo {
		padding-left: 30px;
	}
	
	.pc-nav ul {
    margin-left: auto;
		margin-right: 20px;
		padding-left: 0;
}
	
	.navi-list a {
	font-size: 17px;
}
}


@media screen and (max-width: 800px) {
/*スマホナビ*/
.pc-nav {
	display: none;
}

.sp-nav {
	display: block;
	width: 100%;
	height: 80px;
	position: fixed;
	top: 0;
	left: 0;
	position: relative;
}
	
.sp-nav .logo {
	display: block;
	width: 44px;
	padding: 0;
	position: absolute;
	top: 28px;
	right: 16px;
	}
	
.openbtn{
	z-index: 999;
	margin-right: auto;
	position: fixed;
	left: 10px;
	top: 20px;
	width: 42px;
    height:42px;
	cursor: pointer;
	background:#555968;
	border-radius: 50%;
}
	
/*ボタン内側*/

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
	right: 10px;
    height: 2px;
	background-color: #fff;
  }


.openbtn span:nth-of-type(1) {
	top:14px;	
  	width: 50%;
}

.openbtn span:nth-of-type(2) {
	top:24px;
  	width:30%;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 14px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 26px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}
	
/*スマホナビリスト*/
	.sp-nav-wrap {
		  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position:fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top:-120%;
		left:0;
		width:100%;
		height: 300px;/*ナビの高さ*/
		background-color: rgba(255,255,255,.9);
		/*動き*/
		transition: all 1s;
		padding-top: 40px;
		text-align: center;
	}
	
	/*アクティブクラスがついたら位置を0に*/
	.sp-nav-wrap.panelactive{
    top: 80px;
	}
	
	.sp-nav ul {
		padding: 0;
	}
	
	.sp-nav .navi-list {
		height: 50px;
	}
		.navi-list::before,
	.navi-list::after{
		display: none;
	}
}

/*ヘッダーここまで*/


/*見出し共通*/
h1 {
  width: 35%;
  margin: 0;	
  padding: 30px 0;	
  font-size: 48px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  background-color: #555968;
  color: #fff;	
  text-align: center;
  animation: SlideIn 2s;
  margin-top: 180px;	
  margin-bottom: 0;	
  }
  
  @keyframes SlideIn {
    0% {
      opacity: 0;
      transform: translateX(-64px);
    }
    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  .main {
    width: 100%;
    margin-top: 150px;
    position: relative;
    
  }
  
  @media screen and (max-width: 1380px) {
    h1 {
      margin-top: 100px;
    }
  }
  @media screen and (max-width: 1200px) {
    h1 {
      font-size: 28px;
      padding: 20px 0;
    }
    
      
    .main {
      margin-top: 100px;
    }
  }
  
  
  @media screen and (max-width: 1024px) {
    h1 {
      width: 50%;
      margin-top: 60px;
    }
    
      .main {
      margin-top: 60px!important;
      
    }
    
  }
  
  @media screen and (max-width: 599px) {
  
    h1{
      width: 80%;
      font-size: 24px;
      padding: 10px 0;
    }
  }
  /*共通ここまで*/
  
.contact, .access {
  width: 100%;
	padding: 50px 0;
	margin-bottom: 250px;
	color: #555;
	z-index: 000;
	background:rgba(255,255,255,.9);
}


.wrap {
	width: 70%;
	margin: 0;
	margin-left: auto;
	margin-right: auto;
}

h2 {
	display: flex;
	font-size: 24px;
	color: #555968;
	margin-top: 0;
  margin-bottom: 60px;
	font-family: 'EB Garamond', serif;
}


h2::after {
	content: "";
  flex-grow: 1;
  height: 1px; /* 線の太さ */
  background: #ccc; /* 線の色 */
  display: block;
  margin: 16px 0 0 10px;
}

@media screen and (max-width: 1500px) {
	.wrap {
		width: 80%;
	}
}

@media screen and (max-width: 1200px) {
	.contact {
		padding: 80px 0;
	}
	
	.access {
		padding: 80px 0;
		margin: 100px 0;
	}

	
}

@media screen and (max-width: 1029px) {
	.wrap {
		width: 90%;
	}
	
}

@media screen and (max-width: 599px) {
	.contact, .access {
		padding: 40px 0;
	}

	h2 {
		font-size: 20px;
	}
}






/*お問い合わせ*/
.contact {
	height: 1400px;
}

.contact .wrap {
  position: relative;
	width: 40%;
	margin-left: auto;
	margin-right: auto;
}



.contact p {
  margin-bottom: 60px;
  font-size: 15px;
}

form {
	height: 1200px;
}

		.result .contact {
		height: 1600px;
	}
	
		.result form {
		height: 1400px;
	}


.form-1, .form-2 {
	width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
}

.form-4 {
		width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
}


.label_1 {
  position: relative;
  width: 200px;
  font-size: 16px;
}

.label_1 span {
position: absolute;
top: 24px;
left: 0;
background-color: #999;
color: #fff;
padding: 0 10px;
font-size: 12px;
}

.label_1 p , input ,select, .form-5txt {
	display: inline-block;
}



.form-1 input {
	display: block;
	height: 25px;
	width: 300px;
	border: 1px solid #ccc;
	margin-left: auto;
	margin-right: 0;
	margin-top: -25px;
}

.form-4 select {
		height: 25px;
	width: 300px;
	border: 1px solid #ccc;
	display: block;
	margin-left: auto;
	margin-right: 0;
	margin-top: -25px;
}

.form-5 {
width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.form-5 p {
	text-align: center;
	margin-top: -25px;
}


label span {
	color:red;
	margin-left: 10px;
	font-size: 12px;
}



/*テキストエリア*/
textarea {
	display: block;
	margin-left: auto;
	margin-right: 0;
  width: 300px;
  height: 200px;
  border: 1px solid #ccc;
	margin-top: -25px;
}

/*確認ボタン*/
.form-3 {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%);
}

.form-3 input, .form-3 button, .form-4 button {
	width: 120px;
	border: 1px solid #ccc;
  color: #555;
}

/*トップに戻るボタン*/
.form-4 a {
  display: block;
  text-align: center;

}

input:focus, textarea:focus {
	background-color: #eaedf7;
}

@media screen and (max-width: 1500px) {
		.contact .wrap {
width: 50%;
	}
}

@media screen and (max-width: 1200px) {

	.form-1 {
		margin-bottom: 40px;
	}

  .form-3 {
bottom: 140px;
  }
	
	.form-5 {
width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}

.form-5 p {
	text-align: left;
	margin-left: 36px;
}
}

@media screen and (max-width: 1024px) {
	.contact .wrap {
		width: 70%;
		
	}
	.label_1 p {
		font-size: 15px;
	}
		

}


@media screen and (max-width: 700px) {
	.contact .wrap {
		width: 90%;
		
	}
}

@media screen and (max-width: 599px) {
	.contact {
		height: 2000px;
	}
	
	form {
	height: 1800px;
}
	
		.result .contact {
		height: 2000px;
	}
	
		.result form {
		height: 1800px;
	}


	
	.form-1 input, .form-2 textarea, .form-4 select {
		margin-top: 20px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.form-3 button {
		margin-top: 20px;
	}
	

}




/*アクセス*/
.access {
	height: 540px;
}

.access h2 {
  font-size: 28px;
}

h2::after {
  margin-top: 22px;
}
.access .wrap {
	position: relative
}

.access iframe {
	display: block;
	position: absolute;
	top: 80px;
	left: 0;
	width: 40%;
}

.guide {
	position: absolute;
	left: 45%;
	top: 180px;
}

.guide p {
	font-size: 14px;
}
.guide p br {
	display: none;
}

@media screen and (max-width: 1200px) {
	.access {
	height: 600px;
}
	.access iframe {
		top: 50px;
		left: 50%;
		transform: translate(-50%);
		width: 40%;
	}
	
	.guide {
		top: 500px;
		left: 50%;
		transform: translate(-50%);
	}
	
	.guide p {
		white-space: nowrap;
}
}

@media screen and (max-width: 1029px) {
	.access iframe {
		width: 65%;
	}
	
}

@media screen and (max-width: 599px) {
	.access iframe {
		width: 90%;
		height: 300px;
	}
	
		.guide {
			width: 90%;
			top: 400px;
	}
	
	.guide p {
		white-space: normal;
		font-size: 13px;
}
	.guide p br {
	display: block;
}
}

/*フッター*/
footer {
background-color:  rgba(85, 89, 104);
width: 100%;
height: 300px;
color: #fff;
position: relative;
}

.footer-shop {
width: 50%;
position: relative;	
	top: 40px;
	left: 10%;

}

.shop-txt {
white-space: nowrap;
}

.shop-txt h4 {
font-size: 18px;
font-weight: bolder;
margin: 0;
}

.shop-txt p,.time-txt p {
font-size: 13px;
margin: 0;
}

.time {
position: relative;
}

.time-txt {
position: absolute;
top: 0;
left: 210px;
}


/*インスタ,note*/

.footer-link {
	margin-top: 50px;
	width: 50%;
	margin-left: 0;
}


.sakai-img {
	display: block;
	width: 160px;
	}


.icon-wrap {
	position: relative;
	width: 280px;
	margin-left: 240px;
	margin-top: -30px;
}

.insta-icon {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
	font-size: 40px;
	color: #fff;
}

.rc-img {
	display: block;
	width: 50px;
	position: absolute;
	top: 50%;
	left:  32%;
	transform: translate(0,-50%);
}

.rc-img img {
	width: 100%;
}

.note-img {
	display: block;
	width: 100px;
	position: absolute;
	top: 50%;
	right:  0;
	transform: translate(0,-50%);
}

.note-img img {
	width: 100%;
}

.insta-icon:hover, .note-img:hover, .rc-img:hover {
	opacity: 0.7;
}

	.br_sp {
		display: none;
	}


/*メニューリスト*/
.footer-navi {
position: absolute;
width: 25%;
left: 63%;
top: 40px;
}

.footer-navi ul {
padding: 0;
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}

.footer-navi-list {
width: 50%;
margin-bottom: 10px;
list-style: none;
}

.footer-navi-list a {
text-decoration: none;
  color: #fff;
	white-space: nowrap;
	font-family: 'EB Garamond', serif;
}

.footer-navi-list a:hover {
color: rgba(255,255,255,0.6);
}

.footer-navi ul::after {
display: block;
	content: "";
	width: 50%;
}


/*コピーライト*/
.copyright p {
position: absolute;
left: 50%;
transform: translate(-50%);
bottom: 0;
font-size: 8px; 
white-space: nowrap;
color: #fff;
}


@media(max-width: 1200px) {
	.shop-txt {
		width: 50%;
	}
	.time-txt {
		left: 180px;
	}
.icon-wrap {
	position: relative;
	}

}

@media(max-width: 1024px) {	
	footer {
		height: 360px;
	}
	.footer-shop {
		left: 8%;
	}
	
.shop-txt {
		width: 60%;
	}
	
.shop-txt h4 {
font-size: 16px;
}
	
	.time-txt {
		left: 0;
		top: 25px;
	}
	
	.footer-link {
		margin-top: 80px;
	}

	.footer-navi {
		width: 30%;

}
}

@media(max-width: 780px) {
	footer {
		height: 600px;
	}
	
	footer p {
		font-size: 14px!important;
	}
	
	.footer-shop {
		width: 90%;
		left: 50%;
		transform: translate(-50%);
		margin-bottom: 40px;
	}

.shop-txt {
		width: 80%;
	margin-left: auto;
	margin-right: auto;
	}
	
	.time-txt {
		left: 50px;
		top: 20px;
	}

	.footer-link {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.sakai-img {
		width: 28%;
		margin-left: 0;
		margin-right: auto;
	}
	
	.icon-wrap {
		width: 60%;
		margin-left: auto;
		margin-right: 0;
	}
	
	.insta-icon {
		font-size: 38px;
	}
	
	.rc-img {
		width: 50px;
	}
	
	.note-img {
		width: 110px;
	}
	
	.shop-txt h4 {
		font-size: 18px;
	}
	
	.footer-navi {
		width: 90%;
		top: 340px;
		left: 50%;
		transform: translate(-50%);
		border-top: 1px #fff dashed;
		border-bottom: 1px #fff dashed;
	}
	
	
	.footer-navi-list {
		text-align: center;
		margin-bottom: 0;
		margin: 10px 0;
	}
	
	.footer-navi-list a {
		font-size: 16px;
	}
	
	.copyright p {
		font-size: 10px!important;
	}

}

@media(max-width: 600px) {
	.shop-txt {
		width: 90%;
	}
	


}


@media(max-width: 500px) {
		footer {
		height: 760px;
	}
	

	.shop-txt {
		width: 95%;
	}
	
.footer-link {
		position: absolute;
	top: 180px;
	left: 50%;
	transform: translate(-50%);
	margin: 0;
	}
	
		.sakai-img {
		width: 50%;
			margin-left: auto;
			margin-right: auto;
			margin-top: 40px;
	}
	
	.icon-wrap {
		width:90%;
		margin-top: 80px;
		margin-left: auto;
		margin-right: auto;
			
	}
	
	.note-img {
		right: -10px;
	}
	

	.br_sp {
		display: block;
	}
	
		.footer-navi {
		top: 500px;
	}
}




/* page-top */
#page-top {
    position: fixed;
    right: 5px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #ccc;
    padding: 0 0 0 35px;
    border-top: solid 1px;
	z-index: 999;
}

#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}

@media screen and (max-width: 599px){
	#page-top {
		padding-bottom: 30px;
		padding-right: 10px;
	}
	
}

