@charset "UTF-8";
@import url("../../webfonts/AGaramondPro_Regular/stylesheet.css");
@import url("../../webfonts/Baskerville_01/stylesheet.css");
/* CSS Document */

html {
width: 100%;
height: 100%;
font-size: 62.5%;
scroll-behavior: smooth !important;
box-sizing: border-box;
}
body {
width: 100%;
height: 100%;
margin: 0 auto;
font-family: "游明朝体", "Yu Mincho","YuMincho","Noto Serif JP","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝", "MS PMincho",  serif;
color: #000000;
font-size: 1.4rem;
line-height: 1.8em;
text-align: center;
letter-spacing: 1px;
box-sizing: border-box;
-webkit-text-size-adjust: 100%;
}
body.is-prepare {
opacity: 0;
}
@media screen and (max-width:480px){
body {
font-size: 1.2rem;
line-height: 1.6em;
}
}

.inner980 {
 width: 96%;
 max-width: 980px;
 margin-right: auto;
 margin-left: auto;
 position: relative;
}
@media screen and (max-width:1100px){
.inner980 {
width: 90%;
}
}
@media screen and (max-width:480px){
.inner980 {
width: 91%;
}
}

section {
padding-top: 50px;
padding-bottom: 50px;
}
@media screen and (max-width:480px){
section {
padding-top: 30px;
padding-bottom: 30px;
}
}


/* =================================
 --- ★ ローディング
===================================*/
#loading {
width: 100vw;
height: 100vh;
transition: all 1s;
background-color: #b9cfc0;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
}
.spinner {
  margin: 80% auto;
  width: 40px;
  height: 40px;
  position: relative;
  text-align: center;
  -webkit-animation: sk-rotate 2.0s infinite linear;
  animation: sk-rotate 2.0s infinite linear;
}
.dot1, .dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #ffffff;
  border-radius: 100%;
  
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}
.dot2 {
  top: auto;
  bottom: 0;
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}
@-webkit-keyframes sk-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes sk-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}
@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bounce {
  0%, 100% { 
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% { 
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}
.loaded {
opacity: 0;
visibility: hidden;
}

/* 文字回り ↓↓↓ */
/* =================================
 --- ★ 文字ベース
===================================*/
h1 {
font-size: 1.0rem;
line-height: 1.3rem;
}
.h2Div {
margin-bottom: 20px;
}
.h2Div p.tenten {
font-size: 1.0rem;
line-height: 0.8;
margin-bottom: 15px;
}
.h2Div p.fuki {
font-size: 1.2rem;
line-height: 1.4;
letter-spacing: 2px;
margin-bottom: 13px;
}
.h2Div h2 {
display: inline-block;
padding-left: 6%;
padding-right: 6%;
padding-bottom: 10px;
color: #c8a675;
font-family: "Baskerville 01";
font-size: 3.0rem;
letter-spacing: 3px;
font-weight: bold;
}
@media screen and (max-width:768px){
.h2Div h2 {
letter-spacing: 2px;
}
}
@media screen and (max-width:480px){
.h2Div h2 {
font-size: 2.6rem;
letter-spacing: 1px;
}
}

/* --------------------------------------------------------------------------------------
     none
--------------------------------------------------------------------------------------- */
.none {
	display: none;
}
.pc_none {
	display: none;
}
.sp_none {
	display: block;
}
@media screen and (max-width:768px){
.pc_none {
	display: block;
}
.sp_none {
	display: none;
}
}

/* --------------------------------------------------------------------------------------
 テキスト選択時の文字色・背景色変更
--------------------------------------------------------------------------------------- */
::selection {
background-color: rgba(0,105,53,0.30);
color: #fff;
}
::-moz-selection {
background: rgba(0,105,53,0.30);
color: #fff;
}


/* --------------------------------------------------------------------------------------
 擬似クラス
--------------------------------------------------------------------------------------- */
a {
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
/*未訪問のリンク*/
a:link {
text-decoration: none;
color: #555555;
transition: color 0.3s, border-color 0.3s;
}
/*訪問済みのリンク*/
a:visited {
 color: #555555;
 text-decoration: none;
}
/*マウスオン*/
a:hover {
color: #000000;
}

.anchor{
	margin-bottom: 200px;
	display: block;
}

/* ****************************************
 --- ★ .underLine
	（文字下のアンダーライン）
 *******************************************/
.underLine-beige {
	position: relative;
	display: inline;
	margin: 0 -5px;
	padding: 0px 5px 2px;
	background: linear-gradient(transparent 30%, #ecd9be 0%);
	z-index: -1;
}

/* flexBox関連 ↓↓↓ */
/* ****************************************
 --- ★ flexBox
（ベース指示）
 *******************************************/
.flexBox  {
display: flex;
	display: -webkit-box; /*Android4.3*/
	display: -moz-box; /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
flex-wrap: wrap;
	-webkit-flex-wrap: wrap; /* Safari */
	-moz-flex-wrap: wrap; /*Firefox21*/
	-ms-flex-direction: wrap; /*IE10*/
justify-content: space-between;
	-webkit-justify-content: space-between; /* Safari */
align-content: stretch;
	-webkit-align-items: stretch;/* Safari */
}
.flexBox.re  {
flex-direction: row-reverse;
 -webkit-flex-direction:row-reverse;
 -moz-flex-direction:row-reverse;
 -ms-flex-direction:row-reverse;
	}
	@media screen and (max-width: 768px) {
.flexBox.re  {
flex-direction: row;
 -webkit-flex-direction:row;
 -moz-flex-direction:row;
 -ms-flex-direction:row;
}
}

/* =================================
 --- ☆ .cvDiv
===================================*/
.cvDiv {
margin-top: 30px;
margin-bottom: 50px;
}
@media screen and (max-width: 480px) {
.cvDiv {
margin-bottom: 50px;
}
}
.cvDiv ul {
justify-content: center;
	-webkit-justify-content: center;
}
.cvDiv ul li {
width: 32%;
}
@media screen and (max-width: 768px) {
.cvDiv ul li {
width: 100%;
}
}
.cvDiv ul li p {
font-size: 1.2rem;
margin-bottom: 5px;
}
.cvDiv ul li p span {
color: #DCB078;
}
footer .cvDiv ul li p,
footer .cvDiv ul li p span{
color: #ffffff;
}

/* ****************************************
 --- ★ .connectDiv
	（接続部分）
*******************************************/
/* 縦ライン（ドット） */
.connectLine {
margin-left: auto;
margin-right: auto;
width: 2px;
height: 20px;
border-right: 1px dotted #FFFFFF;
}
/* 縦ライン（実線・黒） */
.connectLine_solid_sns {
margin-left: auto;
margin-right: auto;
width: 0px;
height: 65px;
border-right: 1px solid #555555;
margin-top: 10px;
margin-bottom: 10px;
}

/* --------------------------------------------------------------------------------------
 マージン指定
--------------------------------------------------------------------------------------- */
/*上*/
.mt5 {
	margin-top: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}

/*下*/
.mb0 {
	margin-bottom: 0px !important;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb100 {
	margin-bottom: 100px;
}

/*右*/
.mr5 {
	margin-right: 5px;
}
.mr10 {
	margin-right: 10px;
}
.mr15 {
	margin-right: 15px;
}
.mr20 {
	margin-right: 20px;
}
.mr30 {
	margin-right: 30px;
}
.mr40 {
	margin-right: 40px;
}
.mr50 {
	margin-right: 50px;
}

/*左*/
.ml5 {
	margin-left: 5px;
}
.ml10 {
	margin-left: 10px;
}
.ml15 {
	margin-left: 15px;
}
.ml20 {
	margin-left: 20px;
}
.ml30 {
	margin-left: 30px;
}
.ml40 {
	margin-left: 40px;
}
.ml50 {
	margin-left: 50px;
}

/* --------------------------------------------------------------------------------------
 パディング指定
--------------------------------------------------------------------------------------- */
/*上*/
.pt5 {
	padding-top: 5px;
}
.pt10 {
	padding-top: 10px;
}
.pt15 {
	padding-top: 15px;
}
.pt20 {
	padding-top: 20px;
}
.pt30 {
	padding-top: 30px;
}
.pt40 {
	padding-top: 40px;
}
.pt50 {
	padding-top: 50px;
}
.pt100 {
	padding-top: 100px;
}
@media screen and (max-width: 480px) {
.pt100 {
	padding-top: 50px;
}
}

/*下*/
.pb5 {
	padding-bottom: 5px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb15 {
	padding-bottom: 15px;
}
.pb20 {
	padding-bottom: 20px;
}
.pb30 {
	padding-bottom: 30px;
}
.pb40 {
	padding-bottom: 40px;
}
.pb50 {
	padding-bottom: 50px;
}

/*右*/
.pr5 {
	padding-right: 5px;
}
.pr10 {
	padding-right: 10px;
}
.pr15 {
	padding-right: 15px;
}
.pr20 {
	padding-right: 20px;
}
.pr25 {
	padding-right: 25px;
}
.pr30 {
	padding-right: 30px;
}
.pr40 {
	padding-right: 40px;
}
.pr50 {
	padding-right: 50px;
}

/*左*/
.pl5 {
	padding-left: 5px;
}
.pl10 {
	padding-left: 10px;
}
.pl15 {
	padding-left: 15px;
}
.pl20 {
	padding-left: 20px;
}
.pl25 {
	padding-left: 25px;
}
.pl30 {
	padding-left: 30px;
}
.pl40 {
	padding-left: 40px;
}
.pl50 {
	padding-left: 50px;
}



/*      ↓↓↓ここからコーディング     */
/*
/* --------------------------------------------------------------------------------------
     header
--------------------------------------------------------------------------------------- */
header {
position: absolute;
top: 0px;
left: 0;
right: 0;
}
header h1 {
width: 65%;
margin-top: 5px;
line-height: 1.5;
text-align: left;
z-index: 1;
}
@media screen and (max-width:768px){
header h1 {
width: 100%;
padding-right: 5%;
}
header h1 span {
display: none;
}
header h1 br {
display: none;
}
}

header ul#contactBox {
align-items: flex-start;
 -webkit-align-items: flex-start;
right: 3%;
z-index: 5;
}
@media screen and (max-width:800px){
header ul#contactBox {
display: none;
}
}
header ul#contactBox li {
padding-top: 2px;
padding-bottom: 3px;
padding-left: 20px;
padding-right: 20px;
margin-right: 10px;
cursor: pointer;
letter-spacing: 2px;
background-color: #ffffff;
}
header ul#contactBox li i {
margin-right: 5px;
color: #DCB078;
}
header ul#contactBox li i.green {
color: #c2e653;
}

/*ドロワーメニュー*/
#fixBox .imgBox {
width: 25%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
@media screen and (max-width:480px){
#fixBox .imgBox {
width: 60%;
padding-left: 15px;
}
}
nav#nav_d {
padding-top: 30px;
padding-right: 30px;
padding-bottom: 30px;
padding-left: 30px;
box-sizing: border-box;
text-align: center;
background-color: #b9cfc0;
}
nav#nav_d a:hover {
color: #FFFFFF;
}
nav#nav_d #logo_d {
font-weight: bold;
letter-spacing: 1px;
white-space: nowrap;
margin-bottom: 30px;
width: 15%;
max-width: 150px;
height: auto;
margin-left: auto;
margin-right: auto;
}
nav#nav_d ul.navBox {
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 1px dotted #000000;
}
nav#nav_d ul.navBox li {
margin-bottom: 15px;
font-size: 1.2rem;
line-height: 1.4rem;
letter-spacing: 1px;
}
nav#nav_d .snsBox {
 margin-bottom: 15px;
}
nav#nav_d .snsBox ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 position: relative;
 top: -7px;
}
nav#nav_d .snsBox li {
 margin-left: 15px;
 margin-right: 15px;
}
nav#nav_d ul.reserveBox {
 margin-top: 20px;;
}
nav#nav_d ul.reserveBox li {
margin-bottom: 10px;
padding-left: 30px;
padding-right: 30px;
font-size: 1.2rem;
letter-spacing: 1px;
}
nav#nav_d ul.reserveBox li i {
margin-right: 5px;
}
nav#nav_d ul.reserveBox a {
display: block;
max-width: 200px;
margin-left: auto;
margin-right: auto;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
padding-right: 20px;
background-color: #b9cfc0;
border: 1px solid #000000;
}
nav#nav_d ul.reserveBox a:hover {
 background-color: #DCB078;
	border: 1px solid #DCB078;
 color: #000000;
}
nav#nav_d ul.reserveBox li.line a:hover {
 background-color: #c2e653;
	border: 1px solid #c2e653;
}

/* 右固定 */
header #fixBox {
position: fixed;
top: 50px;
right: 10px;
z-index: 5;
}
header #fixBox ul.snsBox li {
margin-bottom: 20px;
font-size: 1.6rem;
}

/* メインナビ */
nav#nav_m {
padding-top: 15px;
padding-bottom: 15px;
position: sticky;
position: -webkit-sticky;
top: 0;
z-index: 1;
background-color: rgba(200,166,117,0.50);
}
@media screen and (max-width:768px){
nav#nav_m {
display: none;
}
}
nav#nav_m ul {
justify-content: center;
 -webkit-justify-content: center;
}
nav#nav_m ul li {
font-size: 1.6rem;
font-weight: bold;
letter-spacing: 2px;
line-height: 1.2;
margin-left: 3%;
margin-right: 3%;
}
nav#nav_m ul li span {
font-size: 1.0rem;
color: #ffffff;
}

/* --------------------------------------------------------------------------------------
     footer
--------------------------------------------------------------------------------------- */
footer {
background-color: #c8a675;
}
footer .logoBox {
width: 30%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
@media screen and (max-width:480px){
footer .logoBox {
width: 50%;
}
}
footer #specDiv
 {
padding-top: 30px;
}
footer p {
margin-bottom: 30px;
}
footer p span {
font-size: 1.0rem;
}
footer p a:hover {
color: #ffffff;
}
footer ul {
margin-bottom: 30px;
}
footer ul li {
width: 48%;
}

footer iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

footer #copyBox {
background-color: #000000;
padding-top: 1px;
padding-bottom: 1px;
padding-right: 5px;
padding-left: 5px;
}
footer #copyBox small {
font-size: 1.0rem;
line-height: 1.5rem;
letter-spacing: 	1px;
color: #FFFFFF;
}

#gotop {
	max-width: 85px;
	position: fixed;
	right: 2%;
	bottom: 2%;
	z-index: 4;
}
@media screen and (max-width:480px){
#gotop {
	max-width: 65px;
	bottom: 3%;
	right: 3%;
}
}