@charset "utf-8";
/* Copyright 2017 FSFIELD All Rights Reserved. */

/* ------------------------------------------------------------

basic

------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,700');

body{
	font-size: 14px;
	line-height: 1.4;
	font-family:"ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ", Meiryo,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

button::-moz-focus-inner {border: 0;}/*firefox 点線消す*/

/* ------------------------------------------------------------

shortcodes

------------------------------------------------------------ */


/* overflow
---------------------------------------------- */
.overflow_clear{overflow:hidden !important;}
.clear { clear:both; }
.clearfix { zoom:1; }
.clearfix:after {
  display:block;
  content:"";
  clear:both;
  height:0;
}

/* display
---------------------------------------------- */
.hide { display:none; }
.ib{ display: inline-block;}

/* text-align
---------------------------------------------- */
.align_center{text-align:center !important;}
.align_left{text-align:left !important;}
.align_right{text-align:right !important;}

/* font-weight
---------------------------------------------- */
.bold{font-weight:bold !important;}

.opa70{
	transition:.3s ease-in-out !important;
	-webkit-transition:.3s ease-in-out !important;
}

.opa70:hover{opacity:.7 !important;}

/* margin
---------------------------------------------- */
.mr_none{margin-right:0px !important;}
.mr_03{margin-right:3px !important;}
.mr_05{margin-right:5px !important;}
.mr_10{margin-right:10px !important;}
.mr_15{margin-right:15px !important;}
.mr_20{margin-right:20px !important;}
.mr_25{margin-right:25px !important;}
.mr_30{margin-right:30px !important;}
.mr_35{margin-right:35px !important;}
.mr_40{margin-right:40px !important;}
.mr_45{margin-right:45px !important;}
.mr_50{margin-right:50px !important;}

.ml_none{margin-left:0px !important;}
.ml_05{margin-left:5px !important;}
.ml_10{margin-left:10px !important;}
.ml_15{margin-left:15px !important;}
.ml_20{margin-left:20px !important;}
.ml_25{margin-left:25px !important;}
.ml_30{margin-left:30px !important;}
.ml_35{margin-left:35px !important;}
.ml_40{margin-left:40px !important;}
.ml_45{margin-left:45px !important;}
.ml_50{margin-left:50px !important;}

.mt_none{margin-top:0px !important;}
.mt_05{margin-top:5px !important;}
.mt_10{margin-top:10px !important;}
.mt_15{margin-top:15px !important;}
.mt_20{margin-top:20px !important;}
.mt_25{margin-top:25px !important;}
.mt_30{margin-top:30px !important;}
.mt_35{margin-top:35px !important;}
.mt_40{margin-top:40px !important;}
.mt_45{margin-top:45px !important;}
.mt_50{margin-top:50px !important;}
.mt_60{margin-top:60px !important;}

.mb_none{margin-bottom:0px !important;}
.mb_05{margin-bottom:5px !important;}
.mb_10{margin-bottom:10px !important;}
.mb_15{margin-bottom:15px !important;}
.mb_20{margin-bottom:20px !important;}
.mb_25{margin-bottom:25px !important;}
.mb_30{margin-bottom:30px !important;}
.mb_35{margin-bottom:35px !important;}
.mb_40{margin-bottom:40px !important;}
.mb_45{margin-bottom:45px !important;}
.mb_50{margin-bottom:50px !important;}
.mb_55{margin-bottom:55px !important;}
.mb_60{margin-bottom:60px !important;}
.mb_65{margin-bottom:65px !important;}
.mb_70{margin-bottom:70px !important;}
.mb_75{margin-bottom:75px !important;}
.mb_80{margin-bottom:80px !important;}
.mb_85{margin-bottom:85px !important;}
.mb_90{margin-bottom:90px !important;}
.mb_95{margin-bottom:95px !important;}
.mb_100{margin-bottom:100px !important;}

.m_center{margin:0 auto !important;}

/* padding
---------------------------------------------- */
.pb_none{padding-bottom:0 !important;}

/* width
---------------------------------------------- */
.w100per{width:100% !important;}

/* ------------------------------------------------------------

common 共通

------------------------------------------------------------ */

@keyframes moveY {
  0% {
    transform: translate(0, -100%); }
  100% {
    transform: translate(0, 0); } }

@-webkit-keyframes moveY {
  0% {
    -webkit-transform: translate(0, -100%); }
  100% {
    -webkit-transform: translate(0, 0); } }

.main-poster {
	padding-top: 43.75%;
	position: relative;
	overflow: hidden;
}

.main-poster .slider {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

.main-poster .slider .item {position: relative; }

.main-poster .slider .item iframe {
	position: absolute;
	left: 0;
	width: 100%;
}
.main-poster .slider .slick-disabled, .main-poster .slider .slick-disabled:hover {opacity: 0.2; }

.movie {
	width: 100%;
	position: relative;
}
.movie .poster img {width: 100%;}
.movie .youtube, .movie .cover, .movie .btn-movie {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1;
	-webkit-transition: opacity .2s linear;
	-moz-transition: opacity .2s linear;
	-ms-transition: opacity .2s linear;
	-o-transition: opacity .2s linear;
	transition: opacity .2s linear;
}

.movie .youtube.btn-movie, .movie .cover.btn-movie, .movie .btn-movie.btn-movie {
	display: block;
	background-color: #fff;
	z-index: 2;
}

.movie .youtube.btn-movie:hover, .movie .cover.btn-movie:hover, .movie .btn-movie.btn-movie:hover {opacity: 0.2; }
html.touch .movie .youtube.cover, html.touch .movie .youtube.btn-movie, html.touch .movie .cover.cover, html.touch .movie .cover.btn-movie, html.touch .movie .btn-movie.cover, html.touch .movie .btn-movie.btn-movie {display: none;}



/* スライダー
---------------------------------------------- */
.slick-slider .slick-arrow {
	position: absolute;
	width: 52px;
	height: 52px;
	z-index: 2;
	cursor: pointer;
	text-indent: -9999px;
	overflow: hidden;
	-webkit-transition: opacity .2s linear;
	-moz-transition: opacity .2s linear;
	-ms-transition: opacity .2s linear;
	-o-transition: opacity .2s linear;
	transition: opacity .2s linear;
}

.slick-slider .slick-arrow:hover {opacity: 0.5;}
  
.slick-dots {
	position: absolute;
	bottom: 15px;
	right: 15px;
	line-height: 0;
	z-index: 2;
	display: block;
	padding: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li.slick-active button:before {background-color: #000; }
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover, .slick-dots li button :focus {outline: none;}

.slick-dots li button:hover:before, .slick-dots li button :focus:before {background-color: #000;}

.slick-dots li button:before {
	position: absolute;
	top: 5px;
	left: 5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #999;
	content: "";
}


/* フォーム
---------------------------------------------- */
/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder {
  color: #909090;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ", Meiryo,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif; }

:-moz-placeholder {
  color: #909090;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ", Meiryo,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif; }

::-moz-placeholder {
  color: #909090;
  opacity: 1;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ", Meiryo,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  /* Since FF19 lowers the opacity of the placeholder by default */ }

:-ms-input-placeholder {
  color: #909090;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ", Meiryo,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif; }

/**
 * 5.0 - Forms
 */
input {line-height: normal; }

button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus {
  border: 0;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ", Meiryo,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
	background: #f7f7f7;
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	color: #686868;
	padding: 0.625em 0.4375em;
	width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
	background-color: #fff;
	border-color: #007acc;
	color: #1a1a1a;
	outline: 0;
}

body {background-color: #f1f1f1;}


/* wordpress 引用
---------------------------------------------- */
blockquote{
  display:inline-block;
  padding:10px 27px 0 27px;
  position: relative;
  color:#999;
}
 
blockquote::before{
  content: "\201C"; /*Unicode for Left Double Quote*/
 
  /*フォント*/
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: bold;
 
  /*ポジショニング*/
  position: absolute;
  left: 10px;
  top:0;
}
 
blockquote::after{
  content: "\201D"; /*Unicode for Right Double Quote*/
 
  /*フォント*/
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: bold;
 
  /*ポジショニング*/
  position: absolute;
  right: 10px;
  top:0;
}
  


/*　さわる　たべる　つくる　あそぶ
---------------------------------------------- */
.catetop {color: #323232;}

.catetop .firstView {position: relative;}
.catetop .firstView .movie {
	position: relative;
	overflow: hidden;
}

.catetop .block-info .item .info .note {
	display: inline-block;
	padding-top: 8px;
	font-size: 12px;
	color: #505050;
}

/*　フッター　SNSアカウント
---------------------------------------------- */
.sns_account{
	display:table;
	width:205px;
	margin:0 auto;
}

.txt_sns{
	color:#aaa;
	margin-bottom:10px;
}

.sns_account p{display:table-cell;}

.sns_account p a{
	display:block;
	width:42px;
}

.sns_account a img{
	transition:.3s ease-in-out;
	-webkit-transition:.3s ease-in-out;
}

.sns_account a:hover img{opacity:.7;}



/* ------------------------------------------------------------

common 641px以上

------------------------------------------------------------ */

@media (min-width: 641px) {
	
/* コンテナ
---------------------------------------------- */
.wrap {
	min-width: 1120px;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
}

.container {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
	max-width: 1440px;
	min-width: 960px;
}

/* ヘッダー
---------------------------------------------- */
/*営業時間*/
.wrap_open01{
    padding:5px 10px;
    margin:0 10px;
	background:#54BD59;
	border-radius: 5px;
	transition: all 0.2s;
	line-height: 1.2;
}

.wrap_open01:hover{opacity:.7;}

.wrap_open01 a{
	display: block;
	font-weight:bold;
	color: #FFF;
}

.wrap_open01 br:nth-of-type(3){display: none;}
	
.wrap_open01 .small{font-size: 86%;}

.site-header {
	position: relative;
	top: 0 !important;
	height: 131px !important;
	width: 100%;
	background-color: #fff;
}

.site-header a {text-decoration: none; }

.site-header .inner {
	max-width: 1440px;
	height: 131px;
	margin: 0 auto;
	padding: 20px;
	position: relative;
}

.site-header .lead {
	font-size: 12px;
	font-weight: normal;
    width: calc(100% - 660px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-header .brand-logo {
	position: absolute;
	bottom: 20px;
	left: 20px;
	max-width: 322px;
	
}

.site-header .site-func {
	position: absolute;
	top: 20px;
	right: 20px;
	display:-webkit-flex;/*--safari用--*/
	display:flex;
	-webkit-flex-wrap:wrap;/*--safari用--*/
	flex-wrap:wrap;
	-webkit-flex-direction: row;/*--safari用--*/
	flex-direction: row;
}

.site-header .official-page span {
	line-height: 14px;
	float: left;
	padding-top: 6px;
}
	
.site-header .official-page ul{overflow: hidden;}

.site-header .official-page ul li{
	float: left;
	width: 36px;
	padding-left: 10px;
}

.site-header .site-navi {
	position: absolute;
	bottom: 20px;
	right: 20px;
}

.site-header .site-navi li {
	float: left;
	line-height: 16px;
	font-size: 16px;
	position: relative;
}

.site-header .site-navi li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	height: 16px;
	border-left: #d8d8d8 solid 1px;
}

.site-header .site-navi li a {
	display: inline-block;
	padding: 5px;
	margin: 0 8px;
	-webkit-transition: all 0.2s cubic-bezier(0.75, 0, 0.25, 1);
	transition: all 0.2s cubic-bezier(0.75, 0, 0.25, 1);
}

.site-header .site-navi li a:after {
	content: "";
	height: 4px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

.site-header .site-navi li.m-access {padding-right: 0; }

.site-header .site-navi li.m-access a {
	padding: 6px 25px 4px 25px;
	margin-left: 12px;
	color: #FFF;
	background:#54BD59;
	border-radius: 5px;
	position: relative;
	display: block;
}

.site-header .site-navi li.m-access a:hover {opacity:.7; }

.site-header .site-navi .m-touch a:after,
.site-header .site-navi .m-create a:after,
.site-header .site-navi .m-play a:after,
.site-header .site-navi .m-eat a:after,
.site-header .site-navi .m-sylvanian a:after,
.site-header .site-navi .m-guide a:after,
.site-header .site-navi .m-group a:after {
	opacity: 0;
	-webkit-transition: all 0.2s cubic-bezier(0.75, 0, 0.25, 1);
	transition: all 0.2s cubic-bezier(0.75, 0, 0.25, 1);
}

/* hover時の下線 */
.site-header .site-navi .m-touch a:after {background-color: #459bbc;}
.site-header .site-navi .m-create a:after {background-color: #eb6e9a;}
.site-header .site-navi .m-play a:after {background-color: #beac13;}
.site-header .site-navi .m-eat a:after {background-color: #54bd59;}
.site-header .site-navi .m-sylvanian a:after {background-color: #d5974e;}
.site-header .site-navi .m-guide a:after {background-color: #b762b7;}
.site-header .site-navi .m-group a:after {background-color: #1362A7;}


.site-header .site-navi .m-touch a:hover:after,
.site-header .site-navi .m-create a:hover:after,
.site-header .site-navi .m-play a:hover:after,
.site-header .site-navi .m-eat a:hover:after,
.site-header .site-navi .m-sylvanian a:hover:after,
.site-header .site-navi .m-guide a:hover:after,
.site-header .site-navi .m-group a:hover:after{opacity:1;}


.site-header .pc-header {
	position: fixed;
	-webkit-transition: all 0.4s cubic-bezier(0.75, 0, 0.25, 1);
	transition: all 0.4s cubic-bezier(0.75, 0, 0.25, 1);
	top: -50px;
	left: 0;
	width: 100%;
	/*height: 50px;*/
	z-index: 10;
	background-color: rgba(255, 255, 255, 0.8);
}

.site-header .pc-header .brand-logo {
	width: 180px;
	top: 7px;
}

.site-header .pc-header .site-navi {top: 11px; }
.site-header.slim .pc-header {top: 0px; }
		

/*　フッター
---------------------------------------------- */
/*フッターアクセス*/
.f_access01{
	width:60%;
	margin:0 auto 15px;
}

.f_access01 p:last-of-type{margin-bottom:25px;}

.f_access01 .bold{
	font-weight:bold;
	font-size:114%;
	margin-bottom:5px;
}

.f_access01 address{
	font-style:normal;
	margin-bottom:5px;
}

.f_access01 .btn {
    display: inline-block;
	width:30%;
    margin: 0 5px 0;
}

/*　SNSアカウント　*/
.wrap_sns_account{margin-bottom:30px;}

.site-footer {
	z-index: 1;
	background-color: #fff;
	text-align: center;
	padding: 45px 0 30px;
}

.site-footer a {text-decoration: none; }

.site-footer .pagetop {
	position: relative!important;
	display: block!important;
	width: 100%!important;
	background-color: #000;
	color: #FFF;
	padding: 16px;
	font-size: 18px;
	text-align: center;
	-webkit-transition: all .2s linear;
	-moz-transition: all .2s linear;
	-ms-transition: all .2s linear;
	-o-transition: all .2s linear;
	transition: all .2s linear;
	margin-bottom: 1px;
}

.site-footer .pagetop:after {
	position: absolute;
	top: -15px;
	left: 50%;
	margin-left: -11px;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 11px 15px 11px;
	border-color: transparent transparent #000000 transparent;
	-webkit-transition: all .2s linear;
	-moz-transition: all .2s linear;
	-ms-transition: all .2s linear;
	-o-transition: all .2s linear;
	transition: all .2s linear;
}

.site-footer .pagetop:hover {background-color: #7f7f7f; }

.site-footer .pagetop:hover:after {border-color: transparent transparent #7f7f7f transparent; }

.site-footer .block-guide li {
	width: 33.333333333333%;
	float: left;
	padding: 1px;
}

.site-footer .block-guide li a {
	background-color: #f0f0f0;
	position: relative;
	display: block;
	height: 180px;
}

.site-footer .block-guide li a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 6px;
	right: 6px;
	width: 0;
	height: 0;
	border-bottom: 8px solid #333;
	border-left: 8px solid transparent;
}

.site-footer .block-guide li a .txt {
	position: absolute;
	top: 65%;
	left: 0;
	width: 100%!important;
	text-align: center;
	font-size: 20px;
}

.site-footer .block-guide li.m-access a {background: #f0f0f0 url("/assets/img/common/footer_icon_access.png") center 40% no-repeat; }
.site-footer .block-guide li.m-map a {background: #f0f0f0 url("/assets/img/common/footer_icon_map.png") center 40% no-repeat; }
.site-footer .block-guide li.m-price a {background: #f0f0f0 url("/assets/img/common/footer_icon_price.png") center 40% no-repeat; }

.site-footer .block-cate li {
	width: 25%;
	padding: 1px;
	float: left;
}

.site-footer .block-cate li img {width: 100%; }
.site-footer .block-cate li a {
	display: block;
	position: relative;
}

.site-footer .block-cate li a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 6px;
	right: 6px;
	width: 0;
	height: 0;
	border-bottom: 8px solid #FFF;
	border-left: 8px solid transparent;
}

.site-footer .site-submenu {margin: 20px 0; }
.site-footer .site-submenu li {display: inline-block; }
.site-footer .site-submenu li a {
	display: block;
	padding: 10px;
}
/*---周辺施設案内--------*/
 .link-box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px; /* ここで横と縦の間隔を明示的に設定 */
}

.link-box li {
  width: 180px; /* 画像サイズに合わせて調整してね */
  list-style: none;
      margin-right: 10px;
	margin-left: 10px;
  margin-bottom: 20px;
}

.link-box li img {
  width: 100%; /* li にぴったり合わせる */
  display: block; /* 画像下の余白を消すために追加 */
}


	/*---/周辺施設案内--------*/
.site-footer .sns-btns {
	display: table;
	word-spacing: -1em;
	width: 100%;
	margin-bottom: 30px;
}

.site-footer .sns-btns a {
	display: inline-block;
	width: 50px;
}

.site-footer .sns-shares {
	display: table;
	word-spacing: -1em;
	text-align: center;
	width: 100%;
	margin-bottom: 20px;
}

.site-footer .sns-shares li {
	margin: 5px;
	vertical-align: top;
	max-width: 90px;
	display: inline-block;
}

.site-footer .copyright {font-size: 12px; }
.home .site-footer {padding-top: 0; }
.home .site-footer .block-guide {display: none; }
.home .site-footer .block-cate {display: none; }


/*　ボタン
---------------------------------------------- */ 
.btn_type01{text-align: center}

.btn_type01 a{
    display: inline-block;
    width: 240px;
    background: #54BD59;
    border-radius: 27px;
    color: #FFF;
    line-height: 1;
    font-size: 17px;
    font-weight: bold;
    padding: 20.5px 0;
    transition: .2s;
    text-decoration: none;
}

.btn_type01 a:hover{opacity: 0.7;}      
    
.btn-def {
	box-sizing: border-box;
	text-align: center;
	border-radius: 6px;
	margin: 0 auto;
	padding: 15px 10px;
	text-decoration: none;
	position: relative;
	display: block;
	border: solid 1px #000;
	-webkit-transition: opacity .2s linear;
	-moz-transition: opacity .2s linear;
	-ms-transition: opacity .2s linear;
	-o-transition: opacity .2s linear;
	transition: opacity .2s linear;
}

.btn-def:after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
    margin-top: -4px;
    right: 10px;
    width: 0;
    height: 0;
    border-left: 4px solid #000;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

.btn-def.white {
    color: #fff;
    border: solid 1px #fff;
}

.btn-def.white:after {
	border-left: 4px solid #fff;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
}

.btn-def.btn-small {
	padding: 8px 25px 8px 12px;
	display: inline-block;
}

.btn-def.btn-anchor {padding-right: 40px;}
.btn-def.btn-anchor:after {
	width: 19px;
	height: 19px;
	margin-top: -10px;
	border: none;
	background: url("../img/common/arrow.png") no-repeat;
}

.btn-def:hover {opacity: 0.5;}

.pdf-btn {
	text-align: center;
	display: inline-block;
	width: 28.98148%;
	border: solid 1px #000;
	border-radius: 4px;
	padding: 10px 0;
	margin: 0 0 25px 0;
	text-decoration: none;
}

.pdf-btn img {
	width: 28px;
	vertical-align: middle;
	margin-right: 15px;
}
	

/*　ナビ
---------------------------------------------- */
.others-nav {background: #b861b7; }

.others-nav .other-nav-list {
	text-align: right;
	padding: 10px 0;
	padding-right: 40px;
}

.others-nav .other-nav-list .others {
	color: #fff;
	display: inline-block;
	line-height: 16px;
	font-size: 16px;
	padding: 0 10px;
	border-right: solid #c3a9c3 1px;
}

.others-nav .other-nav-list .others:first-child {border-left: solid #c3a9c3 1px;}
.others-nav .other-nav-list .others a {
	color: #fff;
	text-decoration: none;
}
		

/*　メインエリア
---------------------------------------------- */
.google-map {
	position: relative;
	margin: 60px auto;
}

.google-map .cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.main-holder-scroll {
	position: relative;
	overflow: hidden;
}

.main-holder-scroll > img {visibility: hidden;}
.main-holder-scroll .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.main-holder-scroll .inner .pic {width: 100%;}
.main-holder-scroll .inner .title-main {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}


/*　さわる　たべる　つくる　あそぶ
---------------------------------------------- */

.catetop .firstView .page-title {
	width: 195px;
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
}

.catetop .firstView .t-catch {
	position: absolute;
	bottom: 15px;
	right: 20px;
	z-index: 2;
	font-size: 32px;
	line-height: 1;
}

.catetop .firstView .t-catch span {
	margin-bottom: 5px;
	padding: 4px;
	background-color: #fff;
	clear: both;
	float: right;
	display: block;
}

.catetop .block-info .item .pic {
	vertical-align: middle;
	display: table-cell;
	width: 50%;
}

.catetop .block-info .item .info {
	background-color: #fff;
	vertical-align: middle;
	display: table-cell;
	width: 50%;
	padding: 2% 5%;
}

.catetop .block-info .item .info .section-title {
	letter-spacing: 2px;
	font-size: 22px;
	margin-bottom: 15px;
}

.catetop .block-info .item .info .section-title .ttl-info {font-size: 18px;}
.catetop .block-info .item .info .btn {margin-top: 15px;}

.catetop .block-info .item .info .additional {
	display: inline-block;
	line-height: 1;
	margin: 12px 0 0;
	padding: 5px 10px;
	border-radius: 5px;
}

.catetop .block-info-split .col-3 {
	max-width: 990px;
	padding: 40px 0;
	margin: auto;
}

.catetop .block-info-split .col-3 li {
	width: 33.333333333333%;
	padding: 15px;
	float: left;
}

.catetop .block-info-split .col-3 li:nth-child(7) {clear: both;}
.catetop .block-info-split .col-3 li:nth-child(4) {clear: both;}
.catetop .block-info-split .col-3 li .pic {margin-bottom: 8px;}
.catetop .block-info-split .col-3 li .section-title {
	font-size: 18px;
	padding-bottom: 5px;
}

.catetop .block-info-split .col-3 li .title {
	padding-top: 5px;
	font-weight: bold;
}
.catetop .block-info-split .col-3 li .text {
	line-height: 1.6;
	padding: 5px 0;
}
.catetop .block-info-split .col-3 li .note {
	font-size: 12px;
	margin-top: 5px;
}

.catetop .block-txt {
	background-color: #449bbb;
	padding: 60px 20px 55px;
	color: #FFF;
	text-align: center;
}

.catetop .block-txt.lead {
	padding: 60px 20px;
	font-size: 22px;
	line-height: 1.8;
}

.catetop .block-txt .ttl {margin: 0 auto 20px;}
.catetop .block-txt .ttl.enjoy {width: 271px;}
.catetop .block-txt .ttl.animal {width: 140px;}
.catetop .block-txt .ttl.schedule {width: 196px;}
.catetop .block-txt .text {
	font-size: 18px;
	line-height: 2;
}
.catetop .article {text-align: center;}
.catetop .article .title-border {
	margin:0 auto 34px;
	font-size: 27px;
	font-weight: normal;
	padding: 10px;
	text-align: center;
	border-top: #000 solid 2px;
	border-bottom: #000 solid 2px;
}

.catetop .article .title-md {
	font-size: 18px;
	margin-bottom: 8px;
	margin-top: 30px;
}

.catetop .article .text {
	margin-bottom: 15px;
	line-height: 1.6;
	text-align: center;
}

.catetop .article .note {
	font-size: 12px;
	padding: 5px 0;
	text-align: center;
}

.catetop .article .note + .title-border {margin-top: 40px;}
.catetop .article .pic-main {margin-bottom: 30px;}
.catetop .article .pic {margin-bottom: 20px;}
.catetop .article .section-title {text-align: center;}

.catetop .article .section-title .title {
	font-weight: normal;
	font-size: 32px;
	padding-bottom: 5px;
}

.catetop .article .section-title .subtitle {
	font-size: 18px;
	margin-bottom: 10px;
}

.catetop .article .read {
	margin-bottom: 25px;
	line-height: 2;
}

.catetop .article .icons {
	display: table;
	width: 100%;
	margin-bottom: 50px;
	word-spacing: -1em;
}

.catetop .article .icons div {
	display: inline-block;
	margin: 0 10px;
	line-height: 1.6;
}

.catetop .article .icons div img {margin-bottom: 10px;}
.catetop .block-schedule {margin: 70px auto;}

.catetop .block-schedule .col-3 li {
	width: 33.33333333%;
	float: left;
	padding: 0 1px;
}

.catetop .block-schedule .col-3 li .pic {margin-bottom: 10px;}
.catetop .block-schedule .col-3 li .caption {text-align: left;}
.catetop .table-schedule {
	text-align: left;
	width: 100%;
	border-top: dotted 1px #000;
}

.catetop .table-schedule:nth-of-type(1){margin-bottom: 70px;}

.catetop .table-schedule dl {border-bottom: dotted 1px #000;}
.catetop .table-schedule dl:after {
	clear: both;
	content: "";
	display: block;
}

.catetop .table-schedule dl .t-atten {color: #666;}
.catetop .table-schedule dl dd, .catetop .table-schedule dl dt {
	text-align: left;
	padding: 10px 0;
	float: left;
}
.catetop .table-schedule dl dt {
	font-weight: bold;
	width: 37%;
}

.catetop .table-weekly {text-align: center;}

.catetop .table-weekly .title-month {
	margin-bottom: 15px;
	font-size: 18px;
}
.catetop .table-weekly .title-month .bold {font-size: 28px;}
.catetop .table-weekly .col {
	float: left;
	width: 14.28571428571429%;
	padding: 0 3px;
}

.catetop .table-weekly .col .th {
	font-size: 20px;
	color: #787878;
	border-bottom: 3px solid #b3b3b3;
}

.catetop .table-weekly .col .td {
	border-bottom: #e3e3e3 solid 1px;
	padding: 10px 0;
}

.catetop .table-weekly .col .td .bold {font-size: 18px;}
.catetop .table-weekly .table-lead {margin-top: 30px;}
.catetop .august {margin-top: 30px;}
.catetop .month2 {margin-top: 30px;}


/*　団体のご案内、プライバシー共通
---------------------------------------------- */

.main-holder {
	width: 75%;
	margin: 80px auto 20px;
}
.main-holder .first-read {margin-bottom: 60px;}

.main-holder .privacy-txt {
    font-size: 18px;
    border-bottom: dotted 1px #000;
    padding-bottom: 10px;
}

.main-holder .read {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 40px;
}

.main-holder .table-area {border-top: dotted 1px #000; }

.main-holder .table-area .row {
	padding: 20px 0;
	border-bottom: dotted 1px #000;
}

.main-holder .table-area .row .th {
	display: inline-block;
	width: 20%;
	vertical-align: top;
	line-height: 2;
}

.main-holder .table-area .row .td {
	display: inline-block;
	width: 70%;
	line-height: 2;
}

.bottom-holder-bg {background: #f4f3ed; }

.bottom-holder {
	width: 75%;
	padding: 80px 0;
	margin: 80px auto 0;
}

.bottom-holder .ttl {
    margin: 0 auto 30px;
    width: 9.58333%;
}

.bottom-holder .read {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 40px;
}


/* 404エラー
---------------------------------------------- */
.wrap_404{
	width:900px;
	margin:0 auto;
	padding:100px 0;
	text-align:center;
	line-height:1.8;
}

.txt_404{
	font-family: 'Open Sans', sans-serif;
	font-size:60px;
	margin-bottom:40px;
	font-weight:bold;
}

.btn-def{
	width:60%;
	margin:0 auto;
}
}


/* ------------------------------------------------------------

common 640px以下

------------------------------------------------------------ */
@media (max-width: 640px) {
	
.movie .cover, .movie .btn-movie { display: none; }
	

/*　コンテナ
---------------------------------------------- */
.goog-te-menu-frame {width: 100% !important;}

html.lock {overflow: hidden;}

.wrap {
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
}

.container {
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

/*　ヘッダー
---------------------------------------------- */
.site-header{
	position: relative;
	z-index: 5;
}
	
.site-header.slim{padding-bottom: 46px;}

.site-header.slim .sp-header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
	
.site-header .lead{
	background-color: #000;
	font-size: 10px;
	color: #fff;
	line-height: 1.4;
	padding: 3px 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
	
.toggle-content{
	background: #80BA38;
	-webkit-transition: all 0.8s cubic-bezier(0.75, 0, 0.25, 1);
	transition: all 0.8s cubic-bezier(0.75, 0, 0.25, 1);
	width: 100%;
	height: 0;
	position: absolute;
	left: 0;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
}

.sp-header .shoulder{
	background-color: #FFF;
	width: 100%;
	height: 46px;
	position: relative;
}
	
/*--ロゴ--*/
.sp-header .shoulder .brand-logo{
	width: 168px;
	position: absolute;
	left: 10px;
	top: 8px;
}

/*--メニューボタン--*/
.sp-header .shoulder .toggle-menu {
	position: absolute;
	top: 0;
	right: 0px;
	width: 52px;
	height: 46px;
}
.sp-header .shoulder .toggle-menu > * {
	-webkit-transition: all 0.4s cubic-bezier(0.75, 0, 0.25, 1);
	transition: all 0.4s cubic-bezier(0.75, 0, 0.25, 1);
}

.sp-header .shoulder .toggle-menu img {
	position: absolute;
	bottom: 7px;
	left: 5px;
	width: 36px;
}

.sp-header .shoulder .toggle-menu span {
	position: absolute;
	left: 6px;
	line-height: 0;
	background-color: #4b4b4b;
	height: 3px;
	width: 36px;
}

.sp-header .shoulder .toggle-menu span:nth-child(1) {top: 6px;}
.sp-header .shoulder .toggle-menu span:nth-child(2) {top: 14px;}
.sp-header .shoulder .toggle-menu span:nth-child(3) {top: 22px;}
.sp-header .shoulder .toggle-menu.on img {opacity: 0;}
.sp-header .shoulder .toggle-menu.on span:nth-child(1) {
	-webkit-transform: translateY(15px) rotate(-45deg);
	transform: translateY(15px) rotate(-45deg);
}

.sp-header .shoulder .toggle-menu.on span:nth-child(2) {opacity: 0;}
.sp-header .shoulder .toggle-menu.on span:nth-child(3) {
	-webkit-transform: translateY(-1px) rotate(45deg);
	transform: translateY(-1px) rotate(45deg);
}

/*--営業時間--*/
.wrap_open01 {
    padding: 10px 0;
    text-align: center;
	background:#54BD59;
	color:#fff;
}

.wrap_open01 p{font-weight:bold;}

/*--メニュー内--*/
.sp_menu{
	background: #C2EFEE;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 12px 8.5px 13px;
}

.sp_menu .btn_menu{
	width: 33.33%;
	padding: 0 2.0px;
	margin-bottom: 3px;
}

.sp_menu .btn_menu img{width: 100%;}
	
.site-navi{
	display: flex;
	flex-wrap: wrap;
}

.site-navi li{
	width: 50%;
	font-size: 17px;
	margin-bottom: 20px;
}

.site-navi li a{
	color: #FFF;
	padding-left: 20px;
	background: url("../img/common/ico_arrow01.png") no-repeat 0 4px;
	background-size: 13px;
	text-decoration: none;
}
	
/*--公式アカウント--*/
.sp-header .toggle-inner{padding: 25px 10px;}
	
.sp-header .official-page{
	background: #FFF;
	border-radius: 5px;
	padding: 12px 1em;
	position: relative;
}

.sp-header .official-page span{
	display: block;
	text-align: center;
	color: #66952D;
	font-size: 13px;
	margin-bottom: 10px;
}

.sp-header .official-page ul{
	display: flex;
	justify-content: center;
}
	
.sp-header .official-page ul li{margin-left: 20px;}

.sp-header .official-page ul li:first-of-type{margin-left: 0;}
	
.sp-header .official-page ul li a{
	width: 52px;
	display: inline-block;
}
	
/*--言語--*/
.site-header .toggle-content .translate{
	text-align: right;
	width: 100%;
	margin-top: 15px;
}	

/*　フッター
---------------------------------------------- */
/*フッターアクセス*/
.f_access01{
	padding:15px 15px 0 15px;
}

.f_access01 p:last-of-type{margin-bottom:15px;}

.f_access01 .bold{
	font-weight:bold;
	font-size:114%;
	margin-bottom:5px;
}

.f_access01 address{
	font-style:normal;
	margin-bottom:5px;
}

.f_access01 .btn{
	width:100%;
	display:inline-block;
}

.f_access01 .btn:first-of-type {margin-bottom:5px;}


/*SNSアカウント*/
.wrap_sns_account{padding-top:15px;}


.site-footer {
	background-color: #fff;
	text-align: center;
	padding: 30px 0 0;
}
.site-footer a {text-decoration: none;}

.site-footer .pagetop {
	position: relative;
	display: block;
	width: 100%;
	background-color: #000;
	color: #FFF;
	padding: 10px;
	font-size: 12px;
	text-align: center;
}

.site-footer .pagetop:after {
	position: absolute;
	top: -10px;
	left: 50%;
	margin-left: -7px;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 10px 7px;
	border-color: transparent transparent #000000 transparent;
}

.site-footer .block-guide li {
	width: 33.333333333333%;
	float: left;
	padding: 1px;
}

.site-footer .block-guide li a {
	background-color: #f0f0f0;
	position: relative;
	display: block;
	height: 88px;
}

.site-footer .block-guide li a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 3px;
	right: 3px;
	width: 0;
	height: 0;
	border-bottom: 6px solid #333;
	border-left: 6px solid transparent;
}

.site-footer .block-guide li a .txt {
	position: absolute;
	top: 65%;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 12px;
}

.site-footer .block-guide li.m-access a {
	background: #f0f0f0 url("/assets/img/common/footer_icon_access.png") center 40% no-repeat;
	background-size: 26px auto;
}
.site-footer .block-guide li.m-map a {
	background: #f0f0f0 url("/assets/img/common/footer_icon_map.png") center 40% no-repeat;
	background-size: 26px auto;
}
.site-footer .block-guide li.m-price a {
	background: #f0f0f0 url("/assets/img/common/footer_icon_price.png") center 40% no-repeat;
	background-size: 26px auto;
}

.site-footer .block-cate li {
	width: 50%;
	padding: 1px;
	float: left;
}

.site-footer .block-cate li a {
	display: block;
	position: relative;
}

.site-footer .block-cate li a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 3px;
	right: 3px;
	width: 0;
	height: 0;
	border-bottom: 6px solid #FFF;
	border-left: 6px solid transparent;
}

.site-footer .sns-btns {padding-bottom: 2px;}
.site-footer .sns-btns a {
	width: 33.3333333%;
	display: block;
	float: left;
	text-align: center;
}

.site-footer .sns-btns a img {width: 64px;}
.site-footer .sns-btns a.sns-fb {background-color: #3d5a9b;}
.site-footer .sns-btns a.sns-tw {background-color: #68abdd;}
.site-footer .sns-btns a.sns-li {background-color: #5ae628;}
.site-footer .site-submenu li a {
	/*background-color: #f0f0f0;*/
	text-align: left;
	border-bottom: #d8d8d8 solid 1px;
	display: block;
	padding: 0.6em 1em;
	position: relative;
	font-size: 18px;
	color: #4b4b4b;
}

.site-footer .site-submenu li a:after {
	position: absolute;
	content: "";
	right: 20px;
	top: 50%;
	margin-top: -4px;
	line-height: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #4b4b4b;
}
	/*周辺施設案内*/
.link-box{
 	 align-items: center;
		margin-top:20px;
		margin-bottom:20px;

	}
	
	.link-box li{
		margin-bottom:20px;
	}
	.link-box li img{
		width: 65%;
		height: auto;     /* アスペクト比を維持 */
    }
	/*--------/周辺施設案内--------*/
.site-footer .copyright {
	padding: 20px;
	font-size: 10px;
}
.home .site-footer {
	padding-top: 0;
	padding-bottom: 50px;
}
.home .site-footer .block-guide {display: none;}
.home .site-footer .block-cate {display: none;}

/*　ボタン
---------------------------------------------- */ 
.btn_type01{text-align: center}

.btn_type01 a{
    display: inline-block;
    width: 180px;
    background: #54BD59;
    border-radius: 26px;
    color: #FFF;
    text-align: center;
    line-height: 1;
    font-weight: bold;
    padding: 15px 0;
    text-decoration: none;
}        
    
.btn-def {
	box-sizing: border-box;
	text-align: center;
	border-radius: 6px;
	margin: 0 auto;
	padding: 15px 0;
	text-decoration: none;
	position: relative;
	display: block;
	border: solid 1px #000;
}

.btn-def:after {
	position: absolute;
	content: "";
	display: block;
	top: 20px;
	right: 10px;
	width: 0;
	height: 0;
	border-left: 6px solid #000;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.btn-def.white {
	color: #fff;
	border: solid 1px #fff;
}

.btn-def.white:after {
	border-left: 6px solid #fff;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.btn-def.btn-small {
	padding: 8px 25px 8px 12px;
	display: inline-block;
}

.btn-def.btn-anchor {padding-right: 40px;}
.btn-def.btn-anchor:after {
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border: none;
	background: url("../img/common/arrow.png") no-repeat;
	background-size: 100%;
}

.pdf-btn {
	text-align: center;
	width: 69.53125%;
	border: solid 1px #000;
	border-radius: 4px;
	padding: 10px 0;
	margin: 0 auto 10px;
	display: block;
	text-decoration: none;
}
.pdf-btn img {
	width: 6.25%;
	vertical-align: middle;
	margin-right: 5px;
}

/*　ナビ
---------------------------------------------- */
.others-nav .other-nav-list {
	display: table;
	width: 100%;
}

.others-nav .other-nav-list .others {
	display: table-cell;
	text-align: center;
	box-sizing: border-box;
	background: #b861b7;
	width: 20%;
	font-size: 13px;
	line-height: 16px;
	padding: 3% 1%;
	border-left: solid #fff 1px;
	vertical-align:middle;
}

.others-nav .other-nav-list .others:first-child {border-left: none;}
.others-nav .other-nav-list .others a {
	color: #fff;
	text-decoration: none;
}

.others-nav .other-nav-list .others-price {border-right: none;}

.others-nav .on {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
  
/*　メインエリア
---------------------------------------------- */
.google-map {
	width: 93.75%;
	height: auto;
	margin: 20px auto 40px;
	position: relative;
}

.google-map .cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.google-map iframe {height: 360px;}

.main-holder-scroll {
	position: relative;
	overflow: hidden;
}

.main-holder-scroll > img {visibility: hidden;}
.main-holder-scroll .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.main-holder-scroll .inner .pic {width: 100%;}
.main-holder-scroll .inner .title-main {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 20%;
	text-align: center;
}

  
  
/*　さわる　あそぶ　つくる　たべる
---------------------------------------------- */
.catetop .firstView .page-title {
	width: 27.1875%;
	position: absolute;
	top: 34%;
	right: 2%;
	z-index: 2;
}

.catetop .firstView .t-catch {
	padding: 6% 3%;
	font-size: 20px;
	line-height: 1.4;
	background-color: #fff;
}

.catetop .firstView .t-catch span {display: inline-block;}
.catetop .block-txt {
	padding: 8% 3% 7%;
	color: #FFF;
	text-align: center;
}
.catetop .block-txt .ttl {margin: 0 auto 3%;}
.catetop .block-txt .ttl.schedule {width: 37.1875%;}
.catetop .block-txt .ttl.enjoy {width: 58.125%;}
.catetop .block-txt .ttl.animal {width: 30%;}
.catetop .block-txt .text {line-height: 1.8;}
.catetop .block-info .item .pic:last-child {display: none;}
.catetop .block-info .item .info {
	padding: 6% 3% 7%;
	line-height: 1.6;
}

.catetop .block-info .item .info .section-title {
	font-size: 22px;
	margin-bottom: 4.5%;
}

.catetop .block-info .item .info .section-title .ttl-info {font-size: 16px;}
.catetop .block-info .item .info .btn {margin-top: 4%;}

.catetop .block-info .item .info .additional {
	display: inline-block;
	font-size: 13px;
	line-height: 1.8;
	margin: 12px 0 0;
	padding: 5px 10px;
	border-radius: 5px;
}

.catetop .block-info-split .col-3 {
	margin: auto;
	padding: 3% 1.5%;
	width: 100%;
	display: table;
	word-spacing: -1em;
}

.catetop .block-info-split .col-3 li {
	word-spacing: normal;
	width: 50%;
	padding: 3% 1.5%;
	float: left;
}

.catetop .block-info-split .col-3 li:nth-child(3), .catetop .block-info-split .col-3 li:nth-child(5), .catetop .block-info-split .col-3 li:nth-child(7) {clear: both;}
.catetop .block-info-split .col-3 li .pic {margin-bottom: 8px;}
.catetop .block-info-split .col-3 li .section-title {
	font-size: 16px;
	padding-bottom: 5px;
}

.catetop .block-info-split .col-3 li .title {
	font-size: 12px;
	line-height: 1.4;
	padding-top: 5px;
}
.catetop .block-info-split .col-3 li .text {
	font-size: 12px;
	line-height: 1.6;
	padding: 5px 0;
}

.catetop .block-info-split .col-3 li .note {
	font-size: 10px;
	margin-top: 5px;
}
.catetop .article {text-align: center;}
.catetop .article.block-schedule {margin: 8% 3%;}

.catetop .article .title-border {
	margin: 0 auto 6%;
	font-size: 16px;
	font-weight: bold;
	padding: 2% 0;
	text-align: center;
	border-top: #000 solid 1px;
	border-bottom: #000 solid 1px;
}

.catetop .article .title-md {
	font-size: 16px;
	margin-bottom: 8px;
	margin-top: 3%;
	font-weight: normal;
}

.catetop .article .text {margin-bottom: 15px;}

.catetop .article .pic-main {margin-bottom: 6%;}
.catetop .article .note {
	font-size: 12px;
	text-align: left;
	padding: 5px 0;
}
.catetop .article .note + .title-border {margin-top: 4%;}
.catetop .article .pic-main {margin-bottom: 30px;}
.catetop .article .pic {margin-bottom: 10px;}


.catetop .article .section-title .title {
	font-weight: normal;
	font-size: 20px;
}

.catetop .article .section-title .subtitle {font-size: 16px;}
.catetop .article .read {
	padding: 3%;
	line-height: 1.8;
	text-align: left;
}

.catetop .article .col-3 li {
	width: 50%;
	float: left;
	padding: 0 1px 0 0;
}
.catetop .article .col-3 li .pic {margin-bottom: 2%;}
.catetop .article .col-3 li .caption {
	margin-bottom: 5%;
	font-size: 12px;
}
.catetop .article .icons {
	display: table;
	width: 100%;
	word-spacing: -1em;
}

.catetop .article .icons div {
	vertical-align: top;
	display: inline-block;
	padding: 1.5%;
	width: 30%;
	font-weight: normal;
	font-size: 12px;
}

.catetop .article .icons div img {margin-bottom: 5px;}
.catetop .table-schedule {
	width: 100%;
	border-top: dotted 1px #000;
	line-height: 1.6;
}
	
.catetop .table-schedule:nth-of-type(1){margin-bottom: 45px;}

.catetop .table-schedule dl {
	border-bottom: dotted 1px #000;
	padding: 10px 0;
}

.catetop .table-schedule dl .t-atten {color: #666;}
.catetop .table-schedule dl dd, .catetop .table-schedule dl dt {text-align: left;}
.catetop .table-schedule dl dt {
	font-weight: bold;
	margin-bottom: 5px;
}

.catetop .table-schedule dl {
	border-bottom: #000 dotted 1px;
	padding: 10px 0;
	width: 100%;
	display: table;
	word-spacing: -1em;
	text-align: left;
}

.catetop .table-schedule dl dt, .catetop .table-schedule dl dd {
	display: inline-block;
	word-spacing: normal;
	vertical-align: top;
	width: 100%;
	line-height: 20px;
}

.catetop .table-schedule dl dtdt, .catetop .table-schedule dl dddt {
	width: 30%;
	font-size: 16px;
}

.catetop .table-weekly .title-month {
	text-align: center;
	font-size: 16px;
}

.catetop .table-weekly .title-month .bold {font-size: 24px;}
.catetop .table-weekly .col {padding: 6% 0 0;}
.catetop .table-weekly .col .th {
	text-align: center;
	font-size: 20px;
	color: #787878;
	border-bottom: 3px solid #b3b3b3;
}

.catetop .table-weekly .col .td {
	border-bottom: #e3e3e3 solid 1px;
	padding: 10px 0;
	width: 100%;
	display: table;
	word-spacing: -1em;
}
.catetop .table-weekly .col .td p {
	display: inline-block;
	word-spacing: normal;
	vertical-align: top;
	width: 70%;
	line-height: 20px;
}

.catetop .table-weekly .col .td p.bold {
	width: 30%;
	font-size: 16px;
}
.catetop .table-weekly .table-lead {margin-top: 5%;}
.catetop .august {margin-top: 25px;}


/* 404エラー
---------------------------------------------- */
.wrap_404{
	width:100%;
	padding:100px 15px;
	text-align:center;
	line-height:1.8;
}

.txt_404{
	font-family: 'Open Sans', sans-serif;
	font-size:36px;
	margin-bottom:40px;
	font-weight:bold;
}

.btn-def{
	width:60%;
	margin:0 auto;
}

}





/* 24.1112　ご予約はこちらボタン追加 */

.header_link {
	position: fixed;
	right: 0;
	bottom: 80px;
	z-index: 3;
}

.header_link.hide{
	display: none;
}

.header_link .link-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: fit-content;
	padding: 24px 20px;
	border-radius: 20px 0 0 20px;
	background: #54BD59;
	position: relative;
	text-decoration: none;
	transition: .3s;
}

.header_link .link-item::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url(/assets/img/common/ico_arrow01.png) no-repeat;
	background-size: 100%;
}

.header_link .link-item span {
	color: #fff;
	writing-mode: vertical-rl;
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
}

.header_link .link-item:hover {
	opacity: .7;
}


@media (max-width: 640px) {
	
	.header_link {
		top: auto;
		bottom: 0;
		width: 100%;
	}

	.header_link .link-item {
		flex-direction: row;
		padding: 16px 16px;
		border-radius: 16px 16px 0 0;
		width: 100%;
	}
	
	.header_link .link-item span {
		writing-mode: unset;
		margin: 0;
		font-size: 18px;
	}

}