@charset "utf-8";
/*リセット
==================================================================================================================*/
html, body, h1, h2, h3, h4, h5, h6, div, p, hr, dl, dt, dd, ol, ul, menu, li
, form, fieldset, legend, label, table, caption, thead, tbody, tfoot, tr, th, td
, section, header, main, article, aside, nav, footer, address, summary
, span, a, cite, strong, em, small, i, b, q, u, sub, sup, ruby, rt
, img, picture, source, figure, figcaption, canvas, iframe, audio, video {
  font-size: inherit; font-weight: inherit; font-style: inherit; text-align: inherit;
  margin: 0; padding: 0; background-repeat: no-repeat; border: 0 none; }
* { outline: none; box-sizing: border-box; }
*:focus { outline:none; }
html { -webkit-text-size-adjust: none; height:100%; }
body { font-style:normal; font-weight:normal; font-size:100%; text-align:left; }
ol, ul, li { list-style-image: none; list-style-position: outside; list-style-type: none; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
img { border:0 none; width: auto; height: auto; max-width: 100%; }
strong, em { font-weight:bold; }
small{ font-size:80%; }
sub,sup{ font-size:70%; line-height:0; position:relative; vertical-align:baseline; }
sup{ vertical-align:text-top; top:-.5em; }
sub{ vertical-align:text-bottom; bottom:-.25em; }

.fMin { font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.fGot{ font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
.fMaru{ font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
.fTime{ font-family: "Times New Roman","Times New Roman",sans-serif; }
@font-face { font-family:"FAsolid"; src:url("./fa-solid-900.woff") format("woff"); }
@font-face { font-family:"FAregular"; src:url("./fa-regular-400.woff") format("woff"); }

@font-face { font-family:"gabriola"; src:url("./gabriola Font.woff") format("woff"); }

.dbl{display: block;}
.dib{display: inline-block;}
.din{display: inline;}
.dtb{display: table;}
.right, .right p{ text-align:right; }
.center, .center p { text-align:center; }
.under{ text-decoration: underline;}
.bold{ font-weight: bold; }
.small{ font-size: 90%; }
.small2{ font-size: 80%; }
a[target="_blank"]::after { font-family: "FAsolid"; font-weight:900; content: "\f35d"; display: inline-block; margin:0 0 0 3px; }
.sns_icon a[target="_blank"]::after { display: none;}
.float_left {float: left;}
.float_right {float: right;}
.img_center{ display:block; margin:10px auto; }
.img_left{ display:block; float:left; margin:0 30px 30px 0; }
.img_right{ display:block; float:right; margin:0 0 30px 30px; }
.img_top{ margin-bottom:30px; }
.clear { clear: both; }
.clearfix::after { display: block; clear: both; content: ""; }
.flex{ display: flex; flex-flow: row wrap; }
.flex_between{ justify-content: space-between; }
.flex_center{ justify-content: center; }
.flex_around{ justify-content: space-around; }
.flex_a_center{ align-items: center; }
.flex_a_end{ align-items: flex-end; }

.indent { padding-left:1em; text-indent: -1em;}
.lineclamp2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow:hidden; }
.lineclamp3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow:hidden; }

/*基本スタイル
==================================================================================================================*/
/*基本文字サイズ&文字色*/
html { font-size:16px; }
body {
  font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1.8;
  color:#333;
  background: #fff;
  font-weight: 400;
  letter-spacing: 0.2em; 
}


/*
.wf-active body {
  font-family: "Noto Sans JP", 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','メイリオ', Meiryo, sans-serif;
}
*/
h1, h2, h3, h4, h5, h6 { padding:.6em 0; }
h1,h2,h3{
  font-weight: normal;
  text-align: center;
  margin-bottom: 20px;
}
p { margin:0px 0px .8em 0px; } /*下部に余白*/
.cap01{ font-size: 85%; display: block; line-height: 1.2; }

/*リンク文字色*/
a{text-decoration: none;color:#0099cc;}
a:hover   { color:#00a9f0; opacity: 0.8; }

/*マーカー＆強調文字色*/
.c_mrk { background-color:#e5d89b; padding:0 3px; } /*ラインマーカー*/
.c_posi  {color:#d64a5a;}/*positive*/
.c_point {color:#900000;}/*point up*/
.c_nega  {color:#5488a2;}/*negative*/
.c_off   {color:#cac5ba;}/*off*/

/*テーブル*/
table { border-collapse: collapse; border-spacing:0; width: 100%; }
caption { text-align:left; font-weight:bold; color:#993300; }
th,td{ border: #7f9255 1px solid; padding:10px 20px; font-size: 1rem; vertical-align:top; }
thead th,tfoot th { background-color:#728c42; color:#fff; }
thead td,tfoot td { background-color:#999; color:#fff; }
tbody th { background-color: #a0cc3c; color: #fff; }
tbody td { background-color:#fff; }

/*区切り線*/
hr{clear:both;border:0px solid #fff;padding:15px 0;width:0;}
hr.br{ border:none; }

.img_frame { border: solid 4px #fff; box-shadow: 0 2px 6px rgb(0 0 0 / 10%); }

/*レイアウト共通*/
#container  { width: 100%; position: relative; overflow: hidden;}
.inner{ width:100%; max-width: 1000px; margin:0 auto; }
.inner:after{ content: ""; display: block; clear: both; }
.inner-section{ width:100%; max-width: 1000px; margin:0 auto; padding: 50px 0; }

.contents_btm01{margin-bottom: 100px;}
.contents_btm02{margin-bottom: 80px;}
.contents_btm03{margin-bottom: 60px;}
.contents_btm04{margin-bottom: 40px;}
.contents_btm05{margin-bottom: 20px;}
.contents_btm0{margin-bottom: 0;}
.p0{padding: 0 !important;}
.mb0{margin-bottom: 0 !important;}

@media (max-width:1000px) {
  .inner-section{padding: 40px 4%;}
  .inner{padding: 0 4%;}
}
@media (max-width:799px) {
  .inner{padding: 0 4%;}
  .inner-section{padding: 30px 4%;}
}
@media all and (min-width: 600px){
  .noPC{ display:none !important; }
}
@media all and (max-width: 599.999px){
  .noSP{ display:none !important; }
}
@media (max-width: 599px){
  .noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td {
    display:block; width:100%; }
  .noTab tr { margin-top:10px; }
  .img_left{ float:none; margin:10px auto; text-align:center; }
  .img_right{ float:none; margin:10px auto; text-align:center; }
}
@media (max-width:499px) {
  body{line-height: 1.7;letter-spacing:0;}
  .order1{ order: 1; }
  .order2{ order: 2; }
  #wrapper{padding-top: 50px;}
  .contents_btm01{margin-bottom: 4rem;}
  .contents_btm02{margin-bottom: 2rem;}
  .contents_btm03,.contents_btm04{margin-bottom: 1rem;}
}

/*グローバルナビゲーション
==================================================================================================================*/
/*ヘッダー*/
header{ width: 100%; padding: 0; position: relative;}
#hdr_logo{ margin: 28px auto;; padding: 0; width: 313px; height: 61px;text-align: center;}
#hdr_logo a{ text-align: center; margin: auto; }
#gnav_wrap{background: #ffeeee;height: 60px;border-bottom: 1px solid #ffa594;}
.nav_menu {width: 100%;}
.nav_menu > li a { display: block; }
.site_title{background: #ffa594;}
.site_title h1{color: #fff;text-align: left;font-size: 0.75rem;padding: 0;}
/*グローバルメニュー*/
#gnav{
  justify-content: flex-end;
  letter-spacing: 0.4em;
  height: 100%;
}
#gnav li{ width: auto;margin: 0 15px;}
#gnav li a{ height: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; overflow: hidden; color: #111; padding: 5px;}
#gnav li.hdr_reserve{margin: 0;}
#gnav li.hdr_reserve a{ height: 60px;background: #406366;color: #fff;width: 20vw; max-width: 200px;}
#gnav li.hdr_sns a[target="_blank"]::after { display: none; }
.hamMenu{display: none;}
#header .overlay { position:fixed; display:none; z-index:20; top:80px; left:0;
  width:100vw; height:calc(100vh - 50px); background:rgba(200,200,200,.5); }

#gnav li#gnav09 { margin: 0;}
#gnav #sns_inst{position: absolute;top: 30px;right: 50px;width: 30px;height: 30px;}
#gnav #sns_line{position: absolute;top: 30px;right: 0;width: 30px;height: 30px;}
#gnav #sns_inst,#gnav #sns_line{padding: 0;}
#gnav #sns_inst a,#gnav #sns_line a{padding: 0;}

@media (max-width:1499px) {
	#gnav { justify-content: center;}
	#gnav li.hdr_reserve { position: absolute; top: -120px; right: 0;}
	#gnav li.hdr_reserve a { width: 200px; max-width: unset;}
	#gnav li.hdr_sns { height: 40px; position: absolute; top: -50px; padding: 0; margin: 0;}
	#gnav li.hdr_twitter { right: 136px;}
	#gnav li.hdr_insta { right: 85px;}
	#gnav li.hdr_fb { right: 35px;}
}

@media (max-width:1199px) {
	#gnav { letter-spacing: 0.3em;}
	#gnav li { margin: 0 1vw;}
}

@media (max-width:799px) {

  #gnav_wrap { height: auto; padding: 0.5em;position: relative;z-index: 99;    background: rgba(255,255,255,0.6); }
  #gnav li{padding: 0 1.5%;}
  #gnav li a {padding: 0 5px;}  
  #hdr_logo{ width: calc( 100% - 100px ); max-width: 150px; display: block;margin: auto; }
  #hdr_logo h1 { margin: 5px; padding: 0; width: auto; height: auto;}
  #hdr_logo h1 a { display: block; padding: 10px; height: 70px;}
  #hdr_logo h1 img { height: 100%;}
  #header{position: fixed;top: 0;width: 100%;background: #fff;height: 80px;z-index: 99999;}
  .header_inner.inner{padding: 10px 5px;}
  #gnav_wrap{display: block!important;transition: .5s ease-in-out;float: none;width: 100%;max-height: 100vh;padding-top: calc( 80px + 0.5em );margin: 0;position: absolute;top: 0;right: -900px;z-index: 1000;overflow: auto;}
  .menu-is-open #gnav_wrap {transform: translateX(-900px);}
  .hamMenu{display: block;width: 50px;height: 50px;position: absolute;top: 15px;right: 0;z-index: 2000;text-indent: -9999px;margin: 0;background: none;}
  .hamMenu span {display:block;position:absolute;top:14px;right:10px;width:30px;height:22px;background:#406365;border-top:9px solid #fff;border-bottom:9px solid #fff;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
  .hamMenu span:before {content:'';position:absolute;width:30px;height:4px;background:#406365;top:-9px;right:0;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
  .hamMenu span:after {content:'';position:absolute;width:30px;height:4px;background:#406365;bottom:-9px;right:0;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
  .menu-is-open .hamMenu span {background:#fffdf7;}
  .menu-is-open .hamMenu span:before {transform:rotate(-135deg);top:0;right:0;}
  .menu-is-open .hamMenu span:after {transform:rotate(135deg);bottom:0;right:0;}
  #gnav{background: #fff;}
  #gnav li{width: 100%;border: none;}
  #gnav li a{font-size: 14px;padding: 10px; border-bottom: 1px #ccc dotted;}
  .menu-is-open #header .overlay { display:block; }
#gnav #sns_inst,#gnav #sns_line{position: static;padding: 0;margin: 5px;}
#gnav #sns_inst a,#gnav #sns_line a{padding: 0;}
}
@media (max-width:499px) {
  header{ padding: 0; }
  header::before{ display: none; }
  #header { height: 80px;}
  #hdr_logo h1 a { padding: 5px; height: 50px;}
  .hamMenu span { top: 15px;}
  #gnav_wrap, .menu-is-open #gnav_wrap { padding-top: calc( 60px + 0.5em );}
  #header .overlay { top: 60px;}
}

/*フッター*/
#bread { background:#eee; font-size:80%; padding:0.3em; }
#bread li { display:inline-block; }
#bread li::before { font-family:FAsolid; content:"\f105"; font-weight:900; color:red; display:inline-block; margin:.1em .5em; }
#bread li:first-of-type::before { content:"\f015"; margin:.1em .5em .1em 0; }
#bread a { color:green; }

#footer{ width: 100%; padding: 50px 0 0; }
#footer .box{border-bottom: 1px solid #666;}
#footer #foot_logo a{display: block; text-align: center;margin: auto;background: #ffeeee;padding: 30px 0;}
#footer #foot_nav{border-bottom: 1px solid #ff520e;padding: 15px 0;}
#footer #foot_nav a{ color: inherit; }

#footer .left_area{
  width: 44%;
}
#footer .left_area li{
  letter-spacing: 0;
}
#footer .left_area li:nth-of-type(1) span{
  font-size: 1.125rem;
}
#footer .left_area li:nth-of-type(3) a{
  font-size: 1.125rem;
  color: #7faeb2;
  font-weight: bold;
}


#copy{ text-align: center; font-size: 0.75rem;padding: 15px 0;}
@media (max-width:799px) {
  #footer #foot_nav_wrap{ width: 100%; }
  #footer #foot_nav{ margin-bottom: 20px; }
  #footer .btn_more01{ font-size: 1.2rem; }
}
@media (max-width:599px){
  #footer #foot_nav{ margin-bottom: 20px; }
  #footer #foot_nav{ width: 100%; max-width: unset; }
  #footer .btn_more01{ width: 90%; margin: 0 auto 20px; }
}

.onoff { opacity: 0; transition:all 1s; }
.onoff.on { opacity: 1; }

.btn_more01 a,.btn_more02 a{margin: auto;
  text-align: center; position: relative;color: inherit; }
.btn_more01 a { display: flex; flex-wrap: wrap; align-items: flex-end;}

.btn_more02 a{ display: block;}
.btn_more02 a{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 15px 0;
}


.gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative; }
.gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%; }

#page_top{ position: fixed; z-index: 9999; display:none;
  right: 30px; bottom: 30px;}
#page_top.on { display:block; }
#page_top a{ font-family:"gabriola";position: relative; display: block;
  text-decoration: none; text-align: center; color: inherit;font-size: 1.25rem; }
#page_top a::before{ content: "";display: block;width: 0;height: 0;border-style: solid;
border-width: 0 8px 14px 8px;border-color: transparent transparent #ffa594 transparent;
margin: 0 auto; text-align: center; }
@media (max-width: 499px){
  #page_top{ width: 50px; height: 50px; right: 5px; bottom: 50px; }
  #page_top a{ width: 50px; height: 50px; line-height:1; }
  #page_top a::before{ margin-bottom:2px; }
}
@media (max-width: 369px){
  #page_top, #page_top a{width: 45px;height: 45px;}
  #page_top{bottom: 45px;}
  #page_top a::before{margin-bottom:0;height: 22px;}
}
a[target="_blank"]::after{
  display: none;
}
.bg01{background: #ffeeee;}

/*サブページ
-------------------------------------------------------------------------------------------------------------------*/
.sub_main{padding: 3em 0;width: 100%;position: relative;}
.sub_main h1{font-family:"gabriola";font-size: 2.75rem;text-align: center;font-weight: normal;border-bottom: 1px solid #ff520e;line-height: 1.4;padding: .4em 0;}
.sub_main h1 span{font-size: 1rem;margin-left: 10px;color: #ff9797;}
.sh1 { font-size: 1.5rem; text-align: left; position: relative; border-bottom: solid 1px #333; margin-bottom: 1.8em;}
.mt{margin-top: 50px;}
@media (max-width:1000px) {
  .sh1 { margin-top: 60px;}
}
@media (max-width:799px) {
 .sub_main{padding: 2em 0;}
.sub_main h1{font-size: 1.5rem;} 
  .mt{margin-top: 30px;}
}
@media (max-width:499px){
.sub_main h1{font-size: 1.25rem;}    
}
.bg_box01{ border-radius: 20px; padding: 30px; background: #fffcf5;
  margin-bottom: 30px; }
.txt_indent li{ text-indent: -14px; margin-left: 14px; }
.txt_area01{width: 60%;}
.img_area01{width: 34%;}
