@charset "UTF-8";
@import url("../../webfonts/AGaramondPro_Regular/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: 88%;
}
}
section {
margin-bottom: 80px;
}
@media screen and (max-width:480px){
section {
margin-bottom: 40px;
}
}


/* =================================
 --- ★ ローディング
===================================*/
#loading {
width: 100vw;
height: 100vh;
transition: all 1s;
background-color: #9dbdd1;
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;
}

/* =================================
 --- ★ アニメーション flipInY 調整
===================================*/
#voiceSct,
#priceSct .ctgDiv_1,
#snsSct
{
-webkit-perspective: 3000px;
perspective: 3000px;
}

/* 文字回り ↓↓↓ */
/* =================================
 --- ★ 文字ベース
===================================*/
h1 {
font-size: 1.0rem;
line-height: 1.3rem;
}
.h2Div {
margin-bottom: 20px;
padding-top: 30px;
padding-bottom: 30px;
background-image: url(../img/h2_bg.png);
background-repeat: no-repeat;
background-position: center center;
}
@media screen and (max-width:480px){
.h2Div {
background-size: 30%;
}
}
.h2Div h2:before{
content: url("../img/h2_icon.png");
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
}
.h2Div h2 {
display: inline-block;
padding-left: 6%;
padding-right: 6%;
padding-bottom: 10px;
color: #9dbdd1;
font-family: "AGaramondPro Regular";
font-size: 3.0rem;
letter-spacing: 3px;
border-bottom: 1px dotted #000000;
}
@media screen and (max-width:480px){
.h2Div h2 {
letter-spacing: 2px;
}
}
.h2Div p:before{
content: url("../img/h2_arrow.png");
display: block;
margin-left: auto;
margin-right: auto;
}
.h2Div p {
margin-top: -5px;
font-size: 1.2rem;
line-height: 1.4;
letter-spacing: 2px;
}

/* MENU部分 色反転 */
.h2Div.white {
color: #FFFFFF;
background-image: url(../img/h2_bg_w.png);
}
.h2Div.white h2 {
border-bottom: 1px dotted #FFFFFF;
}
.h2Div.white p:before{
content: url("../img/h2_arrow_w.png");
}
.h2Div.white p {
color: #FFFFFF;
}

/* --------------------------------------------------------------------------------------
     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: #DCB078;
color: #fff;
}
::-moz-selection {
background: #DCB078;
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: #9dbdd1;
}

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


/* ****************************************
 --- ★ .arrow_b
 *******************************************/
.arrow_b {
	position: relative;
	padding-bottom: 15px;
}
.arrow_b::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -5px;
	border-style: solid;
	border-color: #000000 transparent transparent transparent;
	border-width: 6px 4px 0 4px;
}

/* ****************************************
 --- ★ .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;
}

/* ****************************************
 --- ★ ボタンデザイン
 *******************************************/
a.cvBtn {
display: flex;
justify-content: center;
align-items: center;
align-content: center;
height: 70px;
margin-bottom: 10px;
margin-left: 3%;
margin-right: 3%;
padding-left: 10%;
padding-right: 10%;
font-family: "YuMincho", "Hiragino Mincho ProN", "MS PMincho", "Times New Roman", serif;
font-size: 1.4rem;
line-height: 1.3;
color: #ffffff;
text-align: left;
letter-spacing: 1px;
border-radius: 5px;
}
@media screen and (max-width: 768px) {
	a.cvBtn {
height: 70px;
letter-spacing: 1px;
padding-left: 5%;
padding-right: 5%;
}
}
@media screen and (max-width: 480px) {
	a.cvBtn {
height: 60px;
}
}
a.cvBtn i {
margin-right: 10px;
}
a.cvBtn.pink {
background: #f6bbbb;
background: -moz-linear-gradient(top, #f6bbbb 0%, #ee7c7c 100%);
background: -webkit-linear-gradient(top, #f6bbbb 0%,#ee7c7c 100%);
background: linear-gradient(to bottom, #f6bbbb 0%,#ee7c7c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6bbbb', endColorstr='#ee7c7c',GradientType=0 );
}
a:hover.cvBtn.pink {
background: #f6bbbb;
background: -moz-linear-gradient(top, #ee7c7c 0%, #ee7c7c 100%);
background: -webkit-linear-gradient(top, #ee7c7c 0%,#ee7c7c 100%);
background: linear-gradient(to bottom, #ee7c7c 0%,#ee7c7c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ee7c7c', endColorstr='#ee7c7c',GradientType=0 );
}
a.cvBtn.green {
background: #c2e653;
background: -moz-linear-gradient(top, #c2e653 0%, #b0d53f 100%);
background: -webkit-linear-gradient(top, #c2e653 0%,#b0d53f 100%);
background: linear-gradient(to bottom, #c2e653 0%,#b0d53f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c2e653', endColorstr='#c2e653',GradientType=0 );
}
a:hover.cvBtn.green {
background: #c2e653;
background: -moz-linear-gradient(top, #b0d53f 0%, #b0d53f 100%);
background: -webkit-linear-gradient(top, #b0d53f 0%,#b0d53f 100%);
background: linear-gradient(to bottom, #b0d53f 0%,#b0d53f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c2e653', endColorstr='#c2e653',GradientType=0 );
}

/* ******************************************
 --- ★ .acdJs 
（アコーディオン）
 *******************************************/
dl.acdJs {
margin-bottom: 10px;
font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
text-align: left;
}
dl.acdJs:last-child{
margin-bottom: 0px;
}
dl.acdJs dt {
position: relative;
font-weight: bold;
padding-top: 15px;
padding-right: 10%;
padding-left: 5%;
padding-bottom: 15px;
cursor: pointer;
background-color: rgba(157,189,209,0.50);
}
dl.acdJs dt i.fa-angle-double-right {
color: #DCB078;
}
dl.acdJs dt::after {
	content: "\f067";
	display: inline-block;
	font-family: "FontAwesome";
	color: #000000;
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
}
dl.acdJs a {
display: inline;
padding-left: 2%;
padding-right: 2%;
padding-top: 4px;
padding-bottom: 4px;
font-size: 1.0rem;
font-weight: normal;
border: 1px solid #DCB078;
background-color: #ffffff;
}
dl.acdJs a:hover {
background-color: #DCB078;
color: #ffffff;
}
dl.acdJs i.fa-shopping-cart {
color: #DCB078;
}
dl.acdJs a:hover i.fa-shopping-cart {
color: #ffffff;
}
dl.acdJs dd {
padding: 20px 5%;
background-color: rgba(157,189,209,0.20);
display: none;
}
dl.acdJs dd p {
margin-bottom: 10px;
}
dl.acdJs dd ul {
}
dl.acdJs dd ul li {
margin-bottom: 5px;
font-weight: bold;
}
dl.acdJs dd ul li i {
color: #bf8129;
}
dl.acdJs dd ul li span {
font-size: 1.2rem;
font-weight: normal;
}

/* ****************************************
 --- ★ .connectDiv
	（接続部分）
*******************************************/
/* 縦ライン（ドット） */
.connectLine {
margin-left: auto;
margin-right: auto;
width: 2px;
height: 20px;
border-right: 1px dotted #FFFFFF;
}
/* 縦ラインの長さバリエーション */
.connectLine.height_15 {
	height: 15px;
}
.connectLine.height_30 {
	height: 30px;
}
.connectLine.height_50 {
	height: 50px;
}
.connectLine.height_80 {
	height: 80px;
}
.connectLine.height_100 {
	height: 100px;
}

/* 縦ライン（実線・黒） */
.connectLine_solid_sns {
margin-left: auto;
margin-right: auto;
width: 0px;
height: 50px;
border-right: 1px solid #000000;
margin-top: 30px;
margin-bottom: 30px;
}

/* --------------------------------------------------------------------------------------
 マージン指定
--------------------------------------------------------------------------------------- */
/*上*/
.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;
}

/*下*/
.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;
}
@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 {
background-color: #ffffff;
padding-top: 2px;
padding-bottom: 3px;
padding-left: 20px;
padding-right: 20px;
margin-right: 10px;
font-size: 1.2rem;
cursor: pointer;
}
header ul#contactBox li i {
margin-right: 5px;
color: #DCB078;
}
header ul#contactBox li i.green {
color: #c2e653;
}

/*ドロワーメニュー*/
#fixBox .imgBox {
width: 30%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
@media screen and (max-width:480px){
#fixBox .imgBox {
width: 80%;
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: #9dbdd1;
}
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 rgba(255,255,255,0.25);
}
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: #9dbdd1;
border: 1px solid #ffffff;
}
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;
}

/* メインナビ */
nav#nav_m {
padding-top: 15px;
padding-bottom: 15px;
position: sticky;
position: -webkit-sticky;
top: 0;
z-index: 1;
background-color: rgba(255,255,255,0.80);
}
@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: #DCB078;
}

/* --------------------------------------------------------------------------------------
     footer
--------------------------------------------------------------------------------------- */
footer {
padding-top: 20px;
background-color: #9dbdd1;
}
@media screen and (max-width:480px){
footer {
padding-top: 50px;
}
}
footer .imgBox {
width: 40%;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
@media screen and (max-width:480px){
footer .imgBox {
width: 70%;
}
}
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%;
}
}