@charset "utf-8";
/*-------- 全ページのレイアウトcss --------*/

img, object, embed, video {
  margin:0;
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: middle;
}

/*ふわっと表示*/
body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/* モバイルレイアウト : 480 px およびそれ以下. */

/* --------------------------------------------------------
header
-------------------------------------------------------- */
header{
	width:100%;
}
.header{
	width:100%;
	position:relative;
}

.header a{
	text-decoration: none;
}

.header h1{
  margin: 0;
	padding:3% 0 3% 3%;
}

.headerInfo{
	display:none;
}

/* --------------------------------------------------------
nav
-------------------------------------------------------- */

/* ハンバーガーボタン */
nav{
	width:100%;
	position:relative;
}

.openBtn{
  position:fixed;
  z-index: 9999;
  top: 1.5%;
  right: 1.5%;
  cursor: pointer;
  width: 60px;
  height:60px;
  background:#CC9D81;
}

.openBtn::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: 'MENU';
  display: block;
  width: 100%;
  color: #fff;
  font-size: 0.8rem;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  transition: all .4s;
}
.openBtn.active::after {  content: 'CLOSE';}

.openBtn span{	/*×に変化*/
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 16px;
    height: 3px;
    border-radius: 10px;
	background-color: #FFF;
	width: 45%;
}
	.openBtn span:nth-of-type(1) {
		top:15px;
	}
	.openBtn span:nth-of-type(2) {
		top:23px;
	}
	.openBtn span:nth-of-type(3) {
		top:31px;
	}
	.openBtn.active span:nth-of-type(1) {
		transform: translateY(20px) rotate(-45deg); top:0;
	}
	.openBtn.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openBtn.active span:nth-of-type(3) {
		transform: translateY(-20px) rotate(45deg); top:40px;
	}

#g-nav{
  position:fixed;
  z-index: 999;
  top:-120%;
  left:0;
  width:100%;
  height: 100dvh;
  background:#FDF4EF;
  transition: all 0.6s;
}
	#g-nav.panelactive{
		top: 0;
	}
	#g-nav.panelactive #g-nav-list{	/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999;
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	#g-nav ul {
		position: absolute;
		z-index: 999;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
	}
	#g-nav li{
		list-style: none;
		text-align: center;
		font-size:1rem;
	}
	#g-nav li a{
    margin:20px 10px;
		padding:0;
		display: block;
		color: #333;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 600;
		text-decoration: none;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}
	#g-nav li.current{
		border-left:#FBC500 solid 3px;
	}/* 表示ページ */

/* --------------------------------------------------------
content
-------------------------------------------------------- */

/* コンテンツタイトル */
section h2{
	margin:0 auto 10%;
	font-size:1.5rem;
	text-align: center;
	letter-spacing: 0.1em;
}
section h2 span{
	padding-bottom: 0.2em;
	border-bottom: #CC9D81 2px solid;
}

section{
  width: 90%;
	margin:0 auto;
  padding: 10% 0;
}

/* --------------------------------------------------------
footer
-------------------------------------------------------- */

footer{
  margin-top: 20%;
	background: #FDF4EF;
}

.footerContent{
	width: 90%;
	margin: 0 auto;
	padding: 5% 0;
}

.footerContent h2{
	text-align: center;
	font-size: 1.5rem;
  span.small{
    font-size: 1.25rem;
  }
}

footer dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding: 3% 0;
}

footer dt{
	width: 30%;
	padding: 1% 0 1% 2%;/*上下 左右の余白*/
	border-left: solid 5px #B7805F;/*左線*/
  font-weight: 700;
}

footer dd{
	width: 70%;
	margin-left: 0;
  margin-bottom: 5%;
	padding: 0;
}

/* Googleマップ */
.gMap{
	width:100%;
	margin:0;
}

/* コピーライト */
small{
	display: block;
	text-align: center;
	padding-bottom: 5%;
}

/* タブレットレイアウト : 980px～。モバイルレイアウトからスタイルを継承。 */

@media print, screen and (min-width: 981px) {

/* --------------------------------------------------------
header
-------------------------------------------------------- */

header{
	text-align: center;
}

.header{
	width:100%;
  /* min-width: 1000px; */
	height: 100px;
	margin:0 auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position:fixed;
	z-index: 999;
	background-color:rgba(255,255,255,0.9);
}

.headerContent{
	width: 95%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
  align-items: center;
}
.header h1{
	margin:0;
	padding: 0;
}

/* 住所・電話番号 */
.headerInfo{
	display: block;
	text-align:right;
}
.headerInfo p{
	padding-bottom: 0;
	margin: 0 0 5px;
  text-align: right;
  span{
    display: inline-block;
  }
}


/* --------------------------------------------------------
nav
-------------------------------------------------------- */

/* ハンバーガーボタン */
nav{
	width:auto;
}

.openBtn{ display: none;}
#g-nav{
	position: static;
	z-index: 0;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	background: none;
}
	#g-nav ul {
		position: static;
		margin: 0;
		padding: 0;
		width: auto;
		transform: none;
		display: flex;
    flex-wrap: wrap;
		justify-content: space-between;
	}
	#g-nav li {
    margin:0;
    padding:0 2em 0 0;
  }
  #g-nav li:nth-of-type(6){
    padding: 0;
  }
	#g-nav li a{
		margin:0;
    padding: 0;
		display:inline-block;
		position:relative;
		cursor:pointer;
		text-decoration:none;
		font-size: 1.25rem;
    font-weight: 500;
	}

	#g-nav li a::after{
		content:'';
		position:absolute;
		left:50%;
		bottom:-3px;
		width:60%;
		height:3px;
		opacity:0;
		background-color:#B7805F;
		transform:translate(-50%,0);
		transition:all .3s ease-in-out;
	}
	#g-nav li a:hover::after{
		width:100%;
		opacity:1
	}
/* ヘッダー タブレット表示 */
@media screen and (max-width: 1279px) {
  .header h1{
    width: 20%;
  }
  /* 住所・電話番号 */
  .headerInfo{
    width: 20%;
  }
  .headerInfo p{
    font-size: 0.875rem;
  }
  .headerInfo img{
    width: 95%;
  }

  #g-nav li{
    padding: 0 1em 0 0;
  }
  #g-nav li a{
    font-size: 1.1rem;
  }

}
/* --------------------------------------------------------
content
-------------------------------------------------------- */

section{
  width: 90%;
	max-width:1000px;
	margin:0 auto;
  padding: 100px 0 0;
}

h3{
	font-size:24px;
}

/* --------------------------------------------------------
footer
-------------------------------------------------------- */

footer{
  margin: 150px 0 0;
}

/* Googleマップ */
.gMap{
	margin:0;
}

.footerContent{
	max-width: 1000px;
	padding: 60px 0;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footerContent h2{
  margin-top: 0;
	text-align: left;
}

.footerL{
	width: 45%;
}

.footerR{
	width: 55%;
}

/* コピーライト */
small{
	padding-bottom: 20px;
}

}

/* 印刷用 css */
@media print {
  .header{
    position: absolute;
  }
  nav {
    display:none;
  }
}