@charset "UTF-8";


html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0; padding: 0; border: 0;}
h1, h2, h3, h4, h5, h6, pre, code, address, caption, cite, code, em, strong, th, dfn, var {font-weight: normal; font-style: normal; font-size:100%;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {display: block;}

html,body{width:100%; position:relative; /*overflow-x:hidden;*/}
body{font-size:15px; color:#000; font-family: 'Noto Sans JP', sans-serif;position:relative; -webkit-text-size-adjust: 100%;}

html {scroll-behavior: smooth;}

ul,ol{list-style:none;}
li{list-style:none;}
a{color:#000; text-decoration:none;}
button{background:none; border:none; padding:0; margin:0;}
button:hover{ cursor:pointer; opacity:.7;}
table{border-collapse:collapse; border:none; border-spacing:0;}
th ,td{border:none; vertical-align:top; text-align:left;}
img{
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
    text-align: center;
}
strong, b, .bold {font-weight: bold;}
p{line-height:1.5;}
.clear{clear:both;}
.clearfix:after{clear:both; content:""; height:0; font-size:0; visibility:hidden; display:block;}
.wrap{max-width:1100px; margin:0 auto; box-sizing:border-box;}
.center{text-align:center;}
.left{float:left;}
.right{float:right;}
.content{min-width:1100px; width:100%; overflow:hidden;}

/*.noto-sans jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}*/

.dela-gothic one-regular {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.kaisei-decol-regular {
	width: 100%;
    font-family: "Kaisei Decol", serif;
    font-weight: 500;
    font-style: normal;
    color: #003399;
       
}


/*見出し*/
.ttl01{text-align:left; line-height:5; padding-top:15px; padding-left:75px; background:url(../images/common/tsuki.png) no-repeat left 5px top 4px;}
.ttl01 big{font-size:23px; line-height:1; display:block; margin-bottom:10px; border-bottom:solid #003399 1px;padding-bottom:10px;color:#313131; font-weight:500; letter-spacing:4px;}
.ttl01 small{font-size:14px; line-height:1; display:block; color:#313131; font-family:'Lato', sans-serif; letter-spacing:2px; font-weight:400;}


.pc{display:block;}
.pc-inline{display:inline;}
.pc-inlineb{display:inline-block;}
.sp{display:none !important;}
.sp-inline{display:none !important;}

/* アンカー位置調整 */
#facility { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#price { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#access { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#news { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#contact { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#tent { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#ban { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#day { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#fish { 
  padding-top: 65px; 
  margin-top: -65px; 
}

#experience { 
  padding-top: 90px; 
  margin-top: -90px; 
}

#stand { 
  padding-top: 65px; 
  margin-top: -65px; 
}
#cal { 
  padding-top: 75px; 
  margin-top: -75px; 
}

.imageX img {
  width: auto !important;
  height: 100% !important;
}
.imageY img {
  width: 100% !important;
  height: auto !important;
}


.u-color-blue {
  color: #005a96 !important;
}
.txt-small {
  font-size: .85rem !important;
}

/* CTAボタン */
.cta-btn {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  z-index: 100;
  background: linear-gradient(180deg, transparent 0%,rgba(255,255,255,1) 100%);
}

.cta-btn-reserve {
  display: flex;
  width: 350px;
  height: 60px;
  background: linear-gradient(180deg, #003399, #0066cc);
  color: #fff;
  border: 2px solid #0033ff;
  font-size: 20px;
  justify-content: center;
  align-items: center;
  transition: all 300ms;
  border-radius: 11px;
  box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
}

.cta-btn-youtube {
  display: flex;
  width: 260px;
  height: 65px;
  /*background: linear-gradient(180deg, #003399, #0066cc);
  color: #fff;
  border: 2px solid #0033ff;
  font-size: 20px;*/
  background-color: #F40D11;
  border: 2px solid #ffffff;
  font-size: 20px;
  justify-content: center;
  align-items: center;
  transition: all 300ms;
  border-radius: 11px;
  box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
}


.cta-btn-insta {
  display: flex;
  width: 160px;
  height: 65px;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%);
  color: #fff;
  border: 2px solid #ffccff;
  font-size: 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  transition: all 300ms;
  border-radius: 11px;
  box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
}

.cta-btn-reserve_img {
  width: 35px;
  height: auto;
}
.cta-btn-youtube_img {
  width: 260px;
  height: 65px;
}
.cta-btn-insta_img {
  width: 35px;
  height: auto;
}

.cta-btn-reserve:hover {
 color:#ffff00;
 transition: .5s;
  /* opacity: 0.9;*/
}
.cta-btn-insta:hover {
  color:#ffff00;
  transition: .5s;
}

 /* 注釈*/
.note_1 {
font-size: 0.7rem;
text-align: left; 
color:lightgrey;
  margin: 10px 5px 10px 10px;
  padding: 0px;
}

.note_2 {
font-size: 0.8rem;
text-align: left;
color:#373636;
  margin: 10px 5px 33px 10px;
  padding: 0px;
}

.note {
font-size: 0.8rem;
text-align: left;
color:#373636;
  margin: 5px 5px -5px 10px;
  padding: 0px;
}

.note_3 {
font-size: 0.9rem;
text-align: left;
color:#373636;
  margin: 10px 5px -20px 10px;
  padding: 0px;
}

.note_3red {
font-size: 0.9rem;
text-align: left;
color:#F40C10;
  margin: 10px 5px -20px 10px;
  padding: 0px;
}

.note_4 {
font-size: 0.9rem;
text-align: left;
color:#000000;
  margin: 0px 5px 5px 10px;
  padding: 0px;
}

.note_5 {
font-size: 0.9rem;
text-align: left;
color:#000000;
  margin: 0px 5px 40px 10px;
  padding: 0px;
}

.note_6 {
font-size: 0.9rem;
text-align: center;
color:#838080;
  margin: 25px 0px 10px 0px;
  padding: 0px;
}

.banner{text-align: center;
margin: 0px 0px 20px 0px;
}

.banner a:hover{
opacity:0.6;
transition:0.5s;
}

.banner h3{text-align:left;
font-size: 1.3rem;
color:#000000;
font-weight:500;
margin: 10px 0 10px 45px; 
}



/*767以下に適応される*/
@media screen and (max-width:767px){
 /* ページ下部固定予約ボタン */
  .cta-btn {
    width: 100%;
    max-width: 100%;
	justify-content: left;
    align-items: left;
    gap: 5px;
    flex-grow: 1;
    height: 60px;
    background: linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 100%);
  }

  .cta-btn-reserve {
    width: 42%;
    max-width: none;
    font-size: 15px;
    border-radius: 9px;
    box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
    margin-left: 5px;
    height: 42px;
    border-width: 1px;
  }

 .cta-btn-youtube {
    width: 60%;
    max-width: none;
    font-size: 20px;
    gap: 5px;
    border-radius: 5px;
    box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
    margin:0px 3px 0 3px;
    height: 40px;
    border-width: 1px;
  }	
	
  .cta-btn-insta {
    width: 40%;
    max-width: none;
    font-size: 14px;
    gap: 5px;
    border-radius: 9px;
    box-shadow: 0px 0px 16px -6px rgb(0 0 0 / 60%);
    margin: 3px;
    height: 40px;
    border-width: 1px;
	text-align: center -10;
	
  }

.cta-btn-youtube_img {
  width: 253px;
  height: 38px;
}	
	
 .cta-btn-reserve_img {
  width: 20px;
  
}
	
  .cta-btn-insta_img {
    width: 30px;
    padding: 5px;
    text-align: center;
  }
	
.banner{text-align: center;
margin: -20px 0px 0px 0px;
}
	
.banner h3{text-align:center;
font-size: 0.9rem;
color:#000000;
font-weight:500;
margin: 30px 0 5px 0px; 
}

	
.note_6 {
font-size: 0.8rem;
text-align: left;
}	
	
}


/*--------------------------------------------

ヘッダー PC

--------------------------------------------*/
#header{background:url(../images/common/bg_blue.jpg) no-repeat center top rgba(255,255,255,.9); background-size:100% 5px; padding-top:5px; box-sizing:border-box; position:fixed; left:0; top:0; width:100%; z-index:10000; min-width:1100px;}
#header .logo{position:absolute; left:5px; top:20px;}

#header .gnav.appear{display:block !important;}
#header .gnav > ul{text-align:center; margin-left: 5px;}
#header .gnav > ul > li{display:inline-block; vertical-align:middle; margin-right:-4px;}
#header .gnav > ul > li > a{
  display:block;
  text-align:center;
  padding:5px 15px;
  margin:28px 10px 0;
  padding-bottom: 28px;
  font-size:16px;
  line-height:1;
  position:relative;
}

#header .gnav > ul > li.hassub:hover > a:after{content:""; display:block; border-style:solid; border-width:0px 60px 5px 0px; border-color:#042e97; position:absolute; left:50%; margin-left:-30px; bottom:0;}

#header .header-tel{position:absolute; right:30px; top:22px;}
#header .header-tel .big{font-size:19px; display:block; line-height:1; margin-bottom:8px;}
#header .header-tel .small{font-size:10px; display:block; line-height:1;}



.map-txt {
  display: block;
  text-align: left;
  font-size: 15px;
  line-height: 44px;
  width: 165px;
  margin-bottom: 3%;
}
.map-txt a:hover {
  text-decoration: underline;
}

/*予約ボタン*/
#header .header-reserve{position:absolute; right:55px; top:22px;}

#header .header-reserve .pc {
  width: 150px;
  max-width: 150px;
  
}

/*@media screen and (max-width: 1280px){
  #header .header-reserve.pc {
    width: 100px;
    max-width: 100px;
    top: 24px;
  }
}*/

/*調整　マージン*/
.m1 {
  margin: 40px 0 0px 0;
}



/*--------------------------------------------

フッターPC

--------------------------------------------*/
#footer{min-width:1110px;}
#footer .ft ul{float:left; width:33.3333%;}
#footer .ft ul li a{font-size:13px; line-height:17px; color:#fff;}
#footer .ft01{padding:60px 0 65px; background:url(../images/common/BG_ft_01.jpg) repeat-x left top #033e57;}
#footer .ft01 .ft-logo{float:left;
  display: flex;
  align-items: center;
}

#footer .ft01 .ft-contact{float:right; padding-top:24px;}
#footer .ft01 .ft-contact .ft-tel{display:inline-block; vertical-align:middle; margin-right:23px;}
#footer .ft01 .ft-contact .ft-tel .big{font-size:23px; line-height:1; color:#fff; display:block; margin-bottom:8px;}
#footer .ft01 .ft-contact .ft-tel .small{font-size:12px; line-height:1; color:#fff; display:block;}
#footer .ft01 .ft-contact .ft-bt{display:inline-block; width:204px; text-align:center; font-size:16px; color:#fff; line-height:48px; border:#fff solid 1px;}
#footer .ft-bt img{width:30px;padding:10px 0 10px;}

#footer .ft02{padding:50px 0 40px;  background:url(../images/common/BG_ft_01.jpg) repeat-x left top #033d57;}
#footer .ft02 h2{font-size:16px; color:#fff; margin-bottom:20px; letter-spacing:2px;}
#footer .ft03{padding:50px 0 40px;  background:url(../images/common/BG_ft_01.jpg) repeat-x left top #033f57;}

#footer .ft-bottom{padding:40px 0 50px; text-align:center;}
#footer .ft-bottom ul{margin:30px 0 25px;}
#footer .ft-bottom ul li{display:inline-block; margin:0 11px 0 15px;}
#footer .ft-bottom ul li a{font-size:14px; color:#000;}
#footer .ft-bottom .copy{font-size:12px; line-height:1;}

/*topへ戻る*/
#pagetop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    margin: 0;
	z-index: 1000;
    
}
#pagetop a{
    position: relative;
    display: flex;
    width: 50px;
    height: 50px;
    justify-content: center;
	background:#F3CE12;
    /*background:#66CCFF;*/
    transition: opacity .6s ease;
    color: #fff;
    align-items: center;
    text-decoration: none;
    font-size: 140px;
    border-radius:100%;
}
#pagetop a:hover {
    opacity: .8;
}

/*お問い合わせ*/
.mcontact{width:90%; margin:40px auto; box-sizing:border-box; padding:3px; background-size:100% auto; background: #003399;}
.mcontact .mcin{background-color:#fff; padding:5px 0 50px 0; text-align:center;}
.mcontact .mc-mail{display:inline-block; vertical-align:middle; margin:40px 5px 0px 0px; padding:10px 5px 2px 0; border-right:#acacac solid 1px;}
.mcontact .mc-tel{display:inline-block; vertical-align:middle;margin:40px 5px 0px 0px; padding:10px 5px 2px 0; border-right:#acacac solid 1px;}
.mcontact .mc-bt{width:180px; display:inline-block; vertical-align:middle;margin:40px 15px 0px 0px;padding:10px 5px 5px 0;}

/*施設案内*/
.guide4 li{margin-bottom:30px; width:520px;background-color: #003366;}
.guide4 li .img-box{position:relative;}
.guide4 li .img-box a{display:block;}
.guide4 li h3{margin: 0px; width:100%; padding:0 5px 5px; box-sizing:border-box;}
.guide4 li h3 .big{font-size:30px; color:#ffffff; letter-spacing:2px; line-height:1; display:block; margin:10px 15px 0px 15px; }
.guide4 li p{font-size:16px; color:#ffffff; line-height:2; padding:3px 20px 0px; box-sizing:border-box;}
.guide4 li .move{text-align: right;margin: -80px 0 0 0; width:100%; padding:12px; box-sizing:border-box;}

/*施設アイコン*/
.facility-wrap{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  background:#ffffff;
}
.facility-inner{
  flex-basis:calc((100% - 10px) / 5);
  max-width:calc((100% - 10px) / 5);
  margin-top:10px;
  margin-bottom: 10px;
  text-align:center;
  background:#ffffff;
}

.facility-inner img{
width: 80px;
}

/* 1段目だけ上下マージンを無くす 
.facility-inner:nth-of-type(7),
.facility-inner:nth-of-type(8),
.facility-inner:nth-of-type(9),
.facility-inner:nth-of-type(4){
  margin-light:0;
}*/

/* 最終行のアイテム数が2OR3つの時、左右に振り分けられるのを防ぐ 
.facility-inner:nth-of-type(4n-1):nth-last-of-type(1),
.facility-inner:nth-of-type(4n-2):nth-last-of-type(1){
  margin-right:auto;
  margin-left:20px;
}
.facility-inner:nth-of-type(4n-2):nth-last-of-type(2){
  margin-right:0;
  margin-left:20px;
}*/

/*よくある質問*/
.faq{width:90%; margin:5px auto;padding:0px;}


/* アコーディオン全体のスタイリング */
.accordion {
  border: 1px solid #ddd;
  border-radius: 5px;
  margin: 10px;
}

/* アコーディオンのヘッダー部分のスタイリング */
.accordion-header {
  padding: 15px 0px 10px 45px;

  background: #003366 url("../images/common/Q.png") no-repeat left 10px center;
  background-size: 25px;
  cursor: pointer;
  outline: none;
  font-weight: bold;
  color: #ffffff;
  border-bottom: 1px solid #ddd;
  position: relative; /* 矢印アイコンの位置調整のため */
  list-style: none; /* デフォルトの矢印を消す */
  transition: background-color 0.3s; /* 背景色の変化にアニメーションを適用 */
}

/* アコーディオンのコンテンツ部分のスタイリング */
.accordion-content {
  padding: 10px 0px 10px 45px;
  line-height: 1.5;
  
  background: #ffffff url("../images/common/A.png") no-repeat left 10px top 15px;
  background-size: 25px;
}

/* カスタム矢印のスタイル */
.accordion-header::after {
  content: '▼'; /* ここに好きなアイコンを設定できます */
  position: absolute;
  right: 10px; /* ヘッダーから右に10pxの位置 */
  transition: transform 0.3s ease; /* アニメーション効果 */
}

/* アコーディオンが開いている時の矢印のスタイル */
.accordion[open] .accordion-header::after {
  transform: rotate(180deg); /* 矢印を180度回転 */
}	
/* ホバー時のヘッダーのスタイル */
.accordion-header:hover {
  color: #003366;
  background-color:darkgrey; /* ホバー時の背景色 */
}

/* WebKitベースのブラウザでデフォルトの矢印を消す */
.accordion .accordion-header::-webkit-details-marker {
  display: none;
}	


@media screen and (max-width: 767px) {
 .facility-inner{
  flex-basis:calc((100% - 5px) / 2);
  max-width:calc((100% - 5px) / 2);
}

.facility-inner img{
width: 70px;

}

.facility-inner figcaption {
  background-color: #6a7070;
  background-position: center;
  color: #fff;
  font: italic smaller sans-serif;
  font-size: 11px;
  margin: 20px 15px 20px 10px;
  padding: 10px;
  text-align:center;
  width: 80%;
}
}



/* Modal Base */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: 100;
}
.modal-bg {
  position: absolute;
  height: 100vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 101;
}

/* Modal Content */
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  z-index: 102;
}
@media screen and (max-width: 767px) {
  .modal-content {
    width: 80vw;
  }
}
.modal-inner {
  position: relative;
  background:#ffffff;
  border-radius: 20px;
  border: 5px solid #003399;
  width: 87%;
  min-height: 100px;
  max-height: 350px;
  padding: 10px;
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-inner p{
  width: 100%;
  background-color: #003399;
  border-radius: 20px;
  text-align: center;
  font-size: 15px;
  color: #ffffff;
  margin: 5px 0 0 0;
  padding: 5;
 
}

.modal-inner img{
width:350px;
margin: 13px 0 10 0;
 border-radius: 20px
}



/* Close Button */
.btn_close {
  display: block;
  position: absolute;
  top: -18px;
  right: 0;
  background-color: #003399;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: #ffffff;
  text-align: center;
  font-size: 30px;
  text-decoration: none;
  line-height: 40px;
  z-index: 105;
}


.map-box{position:relative; margin:60px 0 70px;}
.map-iframe { height: 0; padding-top: 38.36363636363636%; }
.map-iframe iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

#gmap{width:1100px; height:422px;}


@media screen and (max-width:1500px){
  #header .gnav > ul > li > a {
     padding: 10px 5px 20px;
     margin-left: 20px;
    margin-right: 10px;
  }
}

/*SNS*/
#sns .sns-slide-right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%,0,0);
    -webkit-transition: .5s ease;
    transition: .5s ease;
}

#sns .sns-slide-right .run{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)
}

#sns.sns-side {
    width: 70px;
    position: fixed;
    top:100px;
	right: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: start;
    align-items: start;
    z-index: 1;

}

 .sns_head{margin-bottom:20px;margin-left:15px;font-family:'Lato',sans-serif;font-weight:bold;font-size:14px;letter-spacing:2px;-webkit-writing-mode:vertical-lr;-ms-writing-mode:tb-lr;writing-mode:vertical-lr;}
 .sns_list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
 .sns_listitem{display:block;margin:5 0 0px 50;}
 .sns_listitem a{transition:300ms;}
 .sns_listitem a:hover{opacity:.6}
 .sns_listitem img{width:60px}

@media screen and (max-width:1500px){
  #sns.sns-side {
    top:80px;
  }


/*767以下に適応される*/
@media screen and (max-width:767px){
.wrap{padding:0 15px;}
.content{min-width:100%; box-sizing:border-box;}

.ttl01{padding-top:5px; padding-left:55px; background-image:url(../images/common/sp/tsuki.png); background-size:45px auto;}
.ttl01 big{font-size:16px; margin-bottom:5px;}
.ttl01 small{font-size:12px; color:#000;}

/*お問い合わせ*/
.mcontact .mcin{padding:10px 10px 30px 10px; text-align:left;}
.mcontact .mc-mail{margin:20px 10px 0px 10px; padding:10px 10px 2px 0; border: none;}
.mcontact .mc-tel{margin:20px 10px 0px 10px; padding:10px 10px 2px 0;border: none;}
.mcontact .mc-bt{width:180px; margin:30px 10px 0px 10px; padding:10px 10px 10px 45px;}	

.pc{display:none !important;}
.pc-inline{display:none !important;}
.pc-inlineb{display:none !important;}
.sp{display:block !important;}
.sp-inline{display:inline !important;}
.column-two{padding:0;}
.main{float:none; width:100%;}

	
/*施設案内*/
.guide4 li{margin-top: 10px; margin-bottom:30px; width:100%;}
.guide4 li .img-box img{width:100%;}
.guide4 li h3{padding:0 12px 12px 3px;}
.guide4 li h3 .big{font-size:23px; letter-spacing:0;  margin-top:8px;}
.guide4 li p{font-size:14px; line-height:1.5; padding:12px 0 10px 3;}
.guide4 li .move{text-align: right;margin: -90px 0 0 0; width:100%; padding:15px; box-sizing:border-box;}		

/* アコーディオン全体のスタイリング */
.accordion {
  margin: 5px;
  font-size: 0.9rem;
}

/* アコーディオンのヘッダー部分のスタイリング */
.accordion-header {
    font-size: 0.9rem;
  }


	
/*--------------------------------------------

ヘッダーSP

--------------------------------------------*/
#header{background-size:100% 6px; padding-top:6px; min-width:100%;}
#header .wrap{padding:0;}
#header .logo{left:10px; top:18px;}	
#header .bt-menu{float:right; width:60px; height:60px; position:relative;}
#header .bt-menu:before{content:""; display:block; width:26px; height:20px; box-sizing:border-box; border-top:#033c55 solid 2px; border-bottom:#033c55 solid 2px; position:absolute; left:50%; margin-left:-13px; top:50%; margin-top:-10px; transition:.4s; -webkit-transition:.4s;}
#header .bt-menu:after{content:""; display:block; width:26px; height:2px; box-sizing:border-box; background-color:#033c55; position:absolute; left:50%; margin-left:-13px; top:50%; margin-top:-1px; transition:.4s; -webkit-transition:.4s;}
	
#header .gnav{position:absolute; left:0; top:100%; width:100%; display:none; background:rgba(255,255,255,.9); border-top:rgba(176,195,203,.8) solid 1px;}
#header .gnav.spnav{overflow:scroll;}
#header .gnav > ul{text-align:left;}
#header .gnav > ul > li{display:block; margin-right:0;}
#header .gnav > ul > li > a,
#header .gnav > ul > li > span{
  display:block;
  text-align:left;
  padding:23px 15px;
  font-size:14px;
  line-height:1;
  color:#000;
  position:relative;
  border-bottom:rgba(176,195,203,.8) solid 1px;
  margin: 0;
}	
	
#header .gnav > ul > li > span:hover{cursor:pointer;}
#header .gnav > ul > li a:after{
  width:9px;
  height:14px;
  content:"";
  display:block;
  background-size:9px auto;
  position:absolute;
  right:15px;
  top:50%;
  /*margin-top:-7px;
  transition:.4s;
  -webkit-transition:.4s;*/
}	

#header .gnav > ul > li.hassub:hover > a:after{content:""; display:none;}
	
#header .gnav > ul > li > span:before{content:""; display:block; width:22px; height:22px; border:#033c55 solid 1px; box-sizing:border-box; position:absolute; right:15px; top:50%; margin-top:-11px; background-color:#033c55;}
#header .gnav > ul > li > span:after{content:"＋"; display:block; width:22px; line-height:22px; text-align:center; position:absolute; right:15px; top:50%; margin-top:-11px; color:#fff;}		
	
#header .header-reserve{right:60px; top:11px;}
	
	


/*--------------------------------------------
SNSフッターSP
--------------------------------------------*/


@media screen and (max-width:767px){
.footer_sns{
display:flex; margin:0 0 10px;padding:15px 0 15px 7px;background-color:#efefef;}

.footer_sns_head{margin-right:5px;padding:0px 0 15px 0px;font-family:'Lato',sans-serif;font-size:14px;letter-spacing:2px;text-align: center;}
	
.footer_sns_list{display:flex;justify-content:center;}	
.footer_sns_list{flex-wrap:wrap}
.footer_sns_listitem{margin:0 7px;}
.footer_sns_listitem img{width:60px;}
.footer_sns_listitem a{transition:300ms;}
.footer_sns_listitem a:hover{opacity:.6}

}
	
	
/*--------------------------------------------
フッターSP
--------------------------------------------*/
#footer{min-width:100%;}
#footer .ft ul{float:left; width:33.3333%;}
#footer .ft ul li a{font-size:13px; line-height:16px; color:#fff;}

#footer .ft01{padding:0; background:none;}
#footer .ft01 .wrap{padding:0;}
#footer .ft01 .ft-logo{float:none; text-align:center; padding:30px 0; background:url(../images/common/BG_ft_01.jpg) repeat-x left top #033e57;
  flex-direction: column;
}	
	
#footer .ft-bottom{padding:30px 0; }
#footer .ft-bottom ul{margin:30px 0 20px;}
#footer .ft-bottom ul li{display:inline-block; margin:0  6px 12px 0; padding-right:15px; position:relative;}
#footer .ft-bottom ul li:after{content:"|"; display:block; position:absolute; right:0; top:0;}
#footer .ft-bottom ul li:last-child:after{display:none; margin:0; padding:0;}
#footer .ft-bottom ul li a{font-size:11px;}
#footer .ft-bottom .copy{font-size:9px; line-height:1.3;}

#footer .nav-map a{padding-right:18px; background-size:13px auto;}	
	
.map-box{position:static; margin:40px 0 30px;}
.map-iframe { position: relative; padding-top: 72.46376811594203%; }

/*topへ戻る*/
#pagetop a{
    width: 35px;
    height: 35px;
}

}

/*--------------------------------------------

印刷用

--------------------------------------------

@media print {
  .no_print {
    display: none !important;
  }
}*/
	
}