@charset "UTF-8";
/* ------------------------------
　　ベース
------------------------------ */
body {
  background: #fff;
  color: #333;
  font-family: "Mplus 1p", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3",
    Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  font-size: 16px;
  text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.1);
  line-height: 1.6;
}
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
}

/* リンクの設定 */
a {
  border: none;
  color: #006dd9;
  outline: none;
  text-decoration: none;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
table {
  border-collapse: collapse;
  border-spacing: 0px !important;
}

a:visited {
  color: #125e97;
  text-decoration: none;
}

a:active {
  color: #006dd9;
  text-decoration: none;
  outline: none;
}

a:hover {
  color: #006dd9;
}
a:focus {
  outline: none;
}
a.ex_link::after {
  font-family: FontAwesome, sans-serif;
  content: "\f08e";
  font-size: 0.8rem;
  display: inline-block;
  position: relative;
  top: 1px;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  speak: none;
  text-decoration: inherit;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  padding-left: 3px;
}

/* コンテナー */
.acms-container {
  max-width: 1040px;
}
.acms-container .acms-container {
  padding: 0;
}

/* カスタム */
#adminBox {
  margin-bottom: 0;
}
.narrow-container {
  margin: 0 auto;
  max-width: 960px;
  padding-left: 20px;
  padding-right: 20px;
}
.acms-admin-modal.display {
  font-size: 14px;
}
.entryFormColumnBody {
  font-size: 14px;
}
.entryFormColumnTable input[type="file"] {
  width: 130px;
  font-size: 12px;
}
#js-edit_inplace-control {
  font-size: 12px !important;
}

/* ボックス */
div.box-gray,
div.box-red {
  padding: 25px 25px 0;
  margin: 0 10px 20px;
  border: 1px solid;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
div.box-gray {
  border-color: #bbb;
}
div.box-red {
  border-color: #ea2d5c;
}
div.box-gray h1:first-child,
div.box-gray h2:first-child,
div.box-gray h3:first-child,
div.box-gray h4:first-child,
div.box-red h1:first-child,
div.box-red h2:first-child,
div.box-red h3:first-child,
div.box-red h4:first-child,
div.box-gray .clearHidden + h1,
div.box-gray .clearHidden + h2,
div.box-gray .clearHidden + h3,
div.box-gray .clearHidden + h4,
div.box-red .clearHidden + h1,
div.box-red .clearHidden + h2,
div.box-red .clearHidden + h3,
div.box-red .clearHidden + h4 {
  margin-top: 0;
}
div.box-gray h4:last-child,
div.box-red h4:last-child {
  margin-bottom: 25px;
}

@media (max-width: 1170px) {
  .acms-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .sp-container {
    padding-right: 20px;
    padding-left: 20px;
  }
  .acms-grid .sp-container {
    padding-right: 20px;
    padding-left: 20px;
  }
  .sp-container .sp-container {
    padding: 0;
  }
  .sp-container .acms-container .sp-container {
    padding: 0;
  }
  div.box-gray,
  div.box-red {
    padding: 25px 10px 0;
  }
}
/* さらに詳しくリンク */
.moreinfo {
  overflow: hidden;
}
.moreinfo a {
  text-align: right;
  border: 1px solid #ddd;
  display: inline-block;
  padding: 5px 25px 5px 15px;
  margin-bottom: 5px;
  font-size: 14px;
  float: right;
  position: relative;
  background-color: #eee;
  color: #333 !important;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.moreinfo a:hover {
  background-color: #999;
  color: #fff !important;
  text-decoration: none !important;
}
.moreinfo a:after {
  position: absolute;
  top: 5px;
  bottom: 0;
  right: 10px;
  margin-top: auto;
  margin-bottom: auto;
  font-family: FontAwesome, sans-serif;
  content: "\f105";
}
/* アニメーション */
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  20% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  20% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

/* ------------------------------
　　ボタン
------------------------------ */
.btn {
  border: 0;
  background: #999;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 8px 15px;
  border-radius: 3px;
}
.btn:hover,
.btn:visited {
  color: #fff;
  text-decoration: none;
}
.btn:focus,
.btn:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.btn:hover {
  background-color: #999;
  background-image: linear-gradient(to bottom, #c1c1c1, #999);
  color: #fff;
}
.btn:active,
.btn:focus {
  background: #878787;
}

/* ボタン　色付き */
.btn-attention {
  border: 0;
  background: #ff9a00;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 8px 15px;
  border-radius: 3px;
}
.btn-attention:hover,
.btn-attention:visited {
  color: #fff;
  text-decoration: none;
}
.btn-attention:focus,
.btn-attention:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.btn-attention:hover {
  background-color: #ff9a00;
  background-image: linear-gradient(to bottom, #fdd87d, #ff9a00);
  color: #fff;
}
.btn-attention:active,
.btn-attention:focus {
  background: #eda800;
}

/* ボタンサイズ大 */
.btn-large {
  background: #999;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 15px 20px;
  text-align: center;
  border-radius: 5px;
  font-size: 20px;
  box-sizing: border-box;
  transition: background-color 0.25s linear;
}
.btn-large:hover,
.btn-large:visited {
  color: #fff;
  text-decoration: none;
}
.btn-large:focus,
.btn-large:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.btn-large:hover {
  background: #777;
}
.btn-large:active,
.btn-large:focus {
  background: #878787;
}

/* ボタンサイズ大 色付き */
.btn-attention-large {
  background: #ff9a00;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 15px 20px;
  text-align: center;
  border-radius: 5px;
  font-size: 20px;
  box-sizing: border-box;
  transition: background-color 0.25s linear;
}
.btn-attention-large:hover,
.btn-attention-large:visited {
  color: #fff;
  text-decoration: none;
}
.btn-attention-large:focus,
.btn-attention-large:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.btn-attention-large:hover {
  background: #ff7e00;
}
.btn-attention-large:active,
.btn-attention-large:focus {
  background: #eda800;
}

/* デスクトップ：最大360pxボタン */
.btn-block-large {
  width: 100%;
  background: #999;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 15px 20px;
  text-align: center;
  border-radius: 5px;
  font-size: 20px;
  box-sizing: border-box;
  transition: background-color 0.25s linear;
}
.btn-block-large:hover,
.btn-block-large:visited {
  color: #fff;
  text-decoration: none;
}
.btn-block-large:focus,
.btn-block-large:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.btn-block-large:hover {
  background: #777;
}
.btn-block-large:active,
.btn-block-large:focus {
  background: #878787;
}

/* デスクトップ：最大360pxボタン 色付き */
.btn-attention-block-large {
  width: 100%;
  background: #ff9a00;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 15px 20px;
  text-align: center;
  border-radius: 5px;
  font-size: 20px;
  box-sizing: border-box;
  transition: background-color 0.25s linear;
}
.btn-attention-block-large:hover,
.btn-attention-block-large:visited {
  color: #fff;
  text-decoration: none;
}
.btn-attention-block-large:focus,
.btn-attention-block-large:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.btn-attention-block-large:hover {
  background: #ff7e00;
}
.btn-attention-block-large:active,
.btn-attention-block-large:focus {
  background: #eda800;
}

@media (min-width: 768px) {
  .btn-block-large {
    max-width: 360px;
  }
  .btn-attention-block-large {
    max-width: 360px;
  }
}

@media (max-width: 767px) {
  .btn-search-block {
    display: block;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    padding: 15px 20px;
    font-size: 20px;
  }
}

/* ボーダーボタン */
.home-btn {
  margin: 20px 0 10px;
}

.btn-border {
  display: inline-block;
  padding: 7px 10px;
  color: #333;
  font-size: 16px;
  border-radius: 4px;
  border: 1px solid #ccc;
}
.btn-border [class*="acms-icon-"] {
  color: #ccc;
  font-size: 14px;
}
.btn-border:hover {
  text-decoration: none;
}
/* ------------------------------
　　スマホ用位置情報コンテンツ
------------------------------ */
.spgeoinfo {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9999;
}
.geoinfo {
  margin-left: 5px;
  max-width: 150px;
}
.geoinfo img {
  width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}
.geoinfoconent {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: none;
  width: 100%;
  bottom: 0;
  padding: 15px;
  color: #666;
  font-size: 13px;
  background-color: #fff;
  text-align: center;
}
.geoinfoconent p {
  margin-top: 0;
  margin-bottom: 0;
}
.landtrain_moved {
  border: 5px solid #40af64;
}
.landtrain_stoped {
  border: 5px solid #306eb3;
}
.landtrain_moved a.timetablelink {
  display: block;
  padding: 5px;
  margin-top: 5px;
  background-color: #fafafa;
  border: 1px solid #ddd;
  text-align: center;
  color: #666;
}
.landtrain_stoped .landtraintelno {
  font-size: 18px;
  font-weight: bold;
}

/* ------------------------------
　　中ページエントリー
------------------------------ */
p.facilitytext {
  font-size: 16px !important;
  margin-bottom: 10px !important;
}
.custom_facility {
  overflow: hidden;
  margin-bottom: 0;
}
.facility_youtube {
  margin-left: 10px;
  padding-bottom: 73%;
  height: 0px;
  position: relative;
}
.facility_youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.custom_facility .slick-slide span {
  font-size: 12px;
  line-height: 1.5;
  color: #666;
  display: inline-block;
  margin-top: 7px;
}
.custom_facility .facilityttl {
  margin-top: 45px;
}
.acms-grid .custom_facility:first-child .facilityttl {
  margin-top: 0;
}
.custom_facility dl dt {
  width: 5em;
  min-width: 5em;
}
.custom_facility dl dd {
  padding-left: 6em;
}

/* slick custom */
.slick-slider {
  padding-right: 15px;
  padding-left: 15px;
}

.acms-grid .slick-track {
  position: relative;
  width: 100%;
  height: 0;
  display: block;
  padding-bottom: 65%;
  overflow: hidden;
}

.slick-slide {
  position: relative;
}

.slider img {
  left: 0;
  width: 100%;
  height: auto;
}

.slick-dots li button {
  background: #aaaaaa;
}
.js-slider_entry2 {
  margin: 0 10px;
}
@media (max-width: 767px) {
  .custom_facility dl dd {
    padding-left: 1em;
  }
}

/* カスタムインナーリンク */
.inner_link_wrap {
  box-sizing: border-box;
  margin: 0 10px 20px;
  border: 1px solid #ddd;
  height: 100%;
  padding-bottom: 10px;
}
.inner_link_wrap .inner_link_image {
  margin-bottom: 0px;
  overflow: hidden;
  margin-bottom: 5px;
}
.inner_link_wrap .inner_link_image img {
  max-width: 100%;
  transition: all 0.2s;
  vertical-align: bottom;
}
.inner_link_wrap .inner_link_text {
  padding: 10px 15px 5px;
}
.inner_link_wrap .inner_link_text a {
  font-size: 16px;
  font-weight: bold;
  color: #333 !important;
}
.inner_link_wrap .inner_link_text a::after {
  content: "＞";
  background: #fba8a9;
  color: #fff;
  display: inline-block;
  font-size: 6px;
  padding: 7px;
  line-height: 1;
  border-radius: 50px;
  margin-left: 5px;
  top: -3px;
  position: relative;
  transition: all 0.2s;
  left: 0;
}
.inner_link_wrap:hover .inner_link_text a::after {
  left: 3px;
}
.inner_link_wrap:hover .inner_link_image img {
  transform: scale(1.1);
}

.inner_link_wrap .inner_link_subtext {
  font-size: 12px;
  color: #999;
  margin: 0;
  padding: 0 15px;
}

.margin-auto {
  margin: auto !important;
  float: none !important;
}

/* カスタムテキストリンク */
.text_link_text {
  border: 1px solid #fba8a9;
  margin: 0 10px 20px;
  padding: 20px 20px;
}
.text_link_text a {
  display: block;
  /* padding: 20px; */
  font-weight: bold;
  color: #333 !important;
  /* text-align: center; */
}
.text_link_text p.text_link_subtext {
  font-size: 12px;
  color: #999;
  margin: 0;
  padding: 0 0;
}

/* ------------------------------
　　天気予報
------------------------------ */

.weatherinfo {
  width: calc(100% - 6px);
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  margin-bottom: 20px;
  border: 2px solid #ddd;
  padding: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.weatherinfo ul {
  overflow: hidden;
  padding-left: 0;
  margin: 0 -3px 10px;
}
.weatherinfo ul li {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: calc(33.3333% - 6px);
  margin: 0 3px;
  float: left;
  list-style-type: none;
  text-align: center;
}
.weatherinfo ul li a {
  padding: 5px;
  display: block;
  font-size: 10px;
  color: #999;
  background-color: #ddd;
  font-weight: bold;
}
.weatherinfo ul li a.js-acms_tab-active {
  background-color: #f16262;
  color: #fff;
}
.weathercontent {
  text-align: center;
}
.datetext {
  font-size: 12px;
  font-weight: bold;
  display: block;
}
.weatherimg {
  font-weight: bold;
  font-size: 20px;
  position: relative;
  margin-bottom: 5px;
}
.weatherimg img {
  display: inline-block;
  top: 5px;
  position: relative;
}
.tempwrap {
  font-size: 14px;
}
.tempwrap .weather_temp {
  font-size: 10px;
  display: inline-block;
  padding: 2px 5px;
  color: #fff;
  position: relative;
  margin-right: 3px;
  top: -3px;
}
.tempwrap .weather_temp.max {
  background-color: #ff2e67;
}
.tempwrap .weather_temp.min {
  background-color: #477ce9;
  margin-left: 10px;
}
@media (max-width: 1023px) {
  .weatherinfo {
    width: calc(100% - 12px);
  }
}

/* ------------------------------
　　天気予報(スマホヘッダー)
------------------------------ */
.sp_header_weatherinfo {
  position: absolute;
  font-size: 10px;
  max-width: 70px;
  margin: 0 10px;
  right: 3px;
  top: 12px;
  text-align: center;
}
.sp_header_weatherinfo p {
  margin: 0;
}
.sp_header_weatherinfo .weathercontent {
  padding: 0 10px;
  /* display: flex; */
}
.sp_header_weatherinfo img {
  max-height: 25px;
  vertical-align: middle;
}
.sp_header_weatherinfo .todays_weather_text {
  font-size: 8px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 3px;
  /* font-weight: bold; */
}
.sp_header_weatherinfo .weather_text {
  font-size: 8px;
  line-height: 1.1;
  font-weight: bold;
}

/* ------------------------------
　　smartPhoto スタイル上書き
------------------------------ */
.smartphoto {
  z-index: 999999 !important;
}
/* ------------------------------
　　mordalVideo スタイル上書き
------------------------------ */
.js-modal-btn {
  cursor: pointer;
}
/* モーダル動画ユニットのスタイル */
.modalvideomovie {
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 10px;
  position: relative;
}
.modalvideomovie .playbtn {
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  opacity: 0.8;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.modalvideomovie img {
  width: 100%;
}
/* ------------------------------
　　ランドトレイン時刻表
------------------------------ */
.timetabletitle {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 5px;
}
div.landtraintimetable_wapper {
  margin: 0 10px 30px;
}
div.landtraintimetable_wapper th.timetableth_yuhi {
  background-color: #ffe2df;
}
div.landtraintimetable_wapper th.timetableth_asahi {
  background-color: #e6f4ff;
}
div.landtraintimetable_wapper .landtraincustomtable {
  font-size: 12px;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  margin-bottom: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
div.landtraintimetable_wapper .landtraincustomtable th,
div.landtraintimetable_wapper .landtraincustomtable td {
  font-size: 12px;
  padding: 5px 10px;
}
div.landtraintimetable_wapper .landtraincustomtable th {
  text-align: center;
  border-left: 1px solid #ddd;
}
div.landtraintimetable_wapper .landtraincustomtable td {
  border-left: 1px solid #ddd;
}
div.landtraintimetable_wapper .landtraincustomtable td span {
  display: inline-block;
  padding: 0 10px;
}
@media (max-width: 767px) {
  div.landtraintimetable_wapper .landtraincustomtable th,
  div.landtraintimetable_wapper .landtraincustomtable td {
    display: table-cell;
    white-space: nowrap;
  }
  div.landtraintimetable_wapper {
    overflow: scroll;
  }
}
/* ------------------------------
　　リンク集
------------------------------ */
.linklistwrapper h2 {
  margin-bottom: 10px;
}
.linklist {
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 80px;
}
.linklist li {
  list-style-type: none;
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  padding: 10px;
}
.linklist li::before {
  font-family: FontAwesome, sans-serif;
  content: "\f105";
  color: #f1c0c3;
  margin-right: 5px;
}
.main .linklistwrapper:first-child h2:first-child {
  margin-top: 0;
}

/* ------------------------------
　　アクセスマップ
------------------------------ */
.accessmaprap {
  margin: 0 10px 20px;
  height: 500px;
  background-image: url("../images/loader.gif");
  background-repeat: no-repeat;
  background-position: center center;
  border: 1px solid #ddd;
  background-color: #fafafa;
}
.gmapcustom {
  width: 100% !important;
}
.maplinks {
  margin: 5px;
}
.maplinks div a {
  display: block;
  border: 1px solid #ccc;
  padding: 10px;
  font-weight: bold;
  text-align: center;
  color: #666 !important;
  margin: 0 5px 10px;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.maplinks div a span {
  font-size: 12px;
  font-weight: normal;
}
.maplinks div a:hover {
  background-color: #999;
  color: #fff !important;
}
/* ------------------------------
　　イベントカテゴリ
------------------------------ */
/* フォームのアコーディオン */
#eventform > dt {
  display: block;
  padding: 20px 35px 20px 20px;
  line-height: 1.6;
  text-align: center;
  border: #666 1px solid;
  position: relative;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -ms-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
}
#eventform dt.default {
  cursor: pointer;
}
#eventform dt.default:hover {
  background-color: #f19594;
  color: #fff;
}
#eventform dt.default:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin-top: auto;
  margin-bottom: auto;
  font-family: FontAwesome, sans-serif;
  content: "\f105";
  font-size: 14px;
  height: 14px;
  width: 14px;
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -moz-transition: all, 0.4s, linear;
  -o-transition: all, 0.4s, linear;
  -webkit-transition: all, 0.4s, linear;
  transition: all, 0.4s, linear;
}
#eventform dt.default.active:after {
  -moz-transform: translate(0, 50%);
  -ms-transform: translate(0, 50%);
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  right: 20px;
}
#eventform dd.default {
  padding-top: 20px;
  margin-left: 0;
  display: none;
}
.formonlytrue#eventform dt.default {
  display: none;
}
.formonlytrue#eventform dd.default {
  display: block;
}
/*他の参加者*/
.sankasya tr {
  display: block;
}
/* 動的フォームで他のカテゴリのものは消す */
option.contactForm,
option.filesendForm,
option.sendphotoForm {
  display: none;
}

/* カスタムユニット 管理画面 */
table.eventcustomunitadmin {
  width: 100%;
}
table.eventcustomunitadmin td,
table.eventcustomunitadmin th {
  padding: 3px !important;
}
table.cutomunitadmintable td,
table.cutomunitadmintable th {
  padding: 3px !important;
  vertical-align: bottom;
}
main.main.event_entry {
  width: 80%;
  float: left;
  margin-left: 10%;
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.eventinfowrap {
  margin-top: 100px;
}
.acms-grid .eventinfowrap:first-child {
  margin-top: 0;
}
.eventinfowrap dl dt {
  float: left;
  width: 5em;
}
.eventinfowrap dl dd {
  padding-left: 6em;
}
.js-slider_event {
  margin-right: 10px;
  margin-left: 10px;
}
.mainphoto {
  margin: 0 10px 1px;
  text-align: center;
}
.mainphoto img {
  max-width: 100%;
}
.eventinfowrap div.subimg {
  padding: 10px;
}
.subimg img {
  max-width: 100%;
}
.eventinfowrap dl {
  margin-top: 20px !important;
}
.event_entry .entry-title {
  font-size: 26px;
}
.eventperiod {
  margin-bottom: -10px;
  font-weight: bold;
}
.weathercomment {
  border: 1px solid #ccc;
  margin: 0 10px 10px;
  padding: 20px 20px;
}
.weathercomment + .eventinfowrap {
  margin-top: 40px;
}
.weathercomment p {
  margin-bottom: 0 !important;
}
.evententrytitleicon {
  float: left;
  padding: 6px 15px;
  font-size: 12px;
  background-color: #eee;
  position: relative;
  top: 15px;
  color: #fff;
  font-weight: bold;
  margin-right: 8px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.evententrytitleicon.wakuwaku {
  background-color: #446dc9;
}
.evententrytitleicon.kagakuhiroba {
  background-color: #c944b8;
}
div.eventmapimg {
  text-align: center;
}
.entruformurllink a {
  margin: 0 10px;
  display: block;
  padding: 15px;
  border: 1px solid #ddd;
  text-align: center;
  color: #666 !important;
}
.entruformurllink a:hover {
  background-color: #666;
  color: #fff !important;
  text-decoration: none !important;
}
.eventinfowrap h3.eventtitle {
  background-color: #ffe6ea;
  padding: 10px 20px;
}
.eventinfowrap h3.eventtitle:before {
  font-family: FontAwesome, sans-serif;
  content: "\f054 ";
  color: #f19594;
  font-size: 14px;
  display: inline-block;
  margin-right: 5px;
}
.eventinfowrap .event_notice {
  color: #ff3637;
  border: solid 2px #ff3637;
  padding: 25px;
  font-weight: bold;
}
@media (max-width: 767px) {
  main.main.event_entry {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-left: 0;
  }
  .event_entry .entry-title {
    font-size: 20px;
  }
  .eventinfowrap dl dt {
    float: none;
    width: 100%;
  }
  .eventinfowrap dl dd {
    padding-left: 0;
  }
  .evententrytitleicon {
    padding: 5px 10px;
    font-size: 10px;
    top: 15px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
  }
  div.eventmapimg img {
    width: 100%;
  }
}

/* ------------------------------
　　ファイルアイコン
------------------------------ */
[class*="column-file-"] {
  margin-top: 5px;
  width: calc(100% - 20px);
  margin-right: 10px;
  text-align: center;
  letter-spacing: 1;
}
[class*="column-file-"] a {
  padding: 7px 15px;
  display: block;
  background-color: #fafafa;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #333 !important;
  border: 1px solid #ddd;
  margin-bottom: 10px;
  font-size: 10px;
  font-weight: bold;
}
[class*="column-file-"] a:hover {
  background-color: rgb(252, 235, 137);
}
[class*="column-file-"] a img {
  width: 30px;
  height: auto;
  margin-bottom: 0;
  display: inline-block;
}
[class*="column-file-"] a p.caption {
  margin-bottom: 0;
  font-size: 12px;
}
.fileicon {
  padding: 15px 15px;
  display: inline-block;
  background-color: #fafafa;
  width: 100%;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: 10px;
  color: #333 !important;
  border: 1px solid #ddd;
  margin-bottom: 10px;
}

.fileicon:before {
  font-family: FontAwesome;
  display: inline-block;
  padding-right: 3px;
}

.fileicon--docx:before {
  content: "\f1c2";
  color: #2179ff;
}

.fileicon--xlsx:before {
  content: "\f1c3";
  color: #25790c;
}

.fileicon--xls:before {
  content: "\f1c3";
  color: #25790c;
}

.fileicon--pptx:before {
  content: "\f1c4";
  color: #ff573d;
}

.fileicon--pdf:before {
  content: "\f1c1";
  color: #e0132e;
}

.fileicon--zip:before {
  content: "\f1c6";
  color: #7c7c7c;
}

/* ------------------------------
　　イベント申込みフォーム
------------------------------ */
div.comment_eventmoushikomi {
  border: 2px solid #e92653;
  padding: 15px;
  margin-bottom: 20px;
}
.comment_eventmoushikomi h3 {
  text-align: center;
  color: #e92653;
  font-size: 16px;
}
div.comment_eventmoushikomi ul {
  padding-left: 20px;
}
div.comment_eventmoushikomi ul li {
  font-size: 12px;
  padding-bottom: 10px;
}
div.comment_eventmoushikomi ul.eventmoushikomi_thanks {
  margin-top: 20px;
}
div.filesendform.comment_eventmoushikomi {
  margin: 0 10px 20px;
}
div.filesendform.comment_eventmoushikomi ul {
  margin-bottom: 0;
}
div.filesendform.comment_eventmoushikomi h3 {
  background-color: #fff;
}
div.filesendform.comment_eventmoushikomi h3:first-child {
  margin-top: 10px;
}

div.filesendform ul.thankscomment {
  margin-top: 20px;
}
.formtable {
  margin-bottom: 25px;
}
.formtable th,
.formtable td {
  padding: 10px 15px;
  border-bottom: 1px solid #ddd;
}
.formtable th {
  text-align: left;
  width: 20%;
  min-width: 200px;
}
.formtable span.required {
  font-size: 10px;
  float: right;
  border: 1px solid #e92653;
  color: #e92653;
  display: inline-block;
  position: relative;
  top: 1px;
  padding: 3px 8px;
}

.formtable.sankasya th.sankasyattl {
  min-width: 100px;
  background-color: #eee;
}
.formtable.sankasya td {
  width: calc(100% - 4em);
}
.formtable.sankasya {
  width: 100%;
}
.formtable.sankasya label {
  width: 100px;
  font-weight: bold;
}
.formtable.sankasya th {
  width: 10%;
  vertical-align: top;
  padding: 15px;
}
.formtable th {
  vertical-align: top;
}
.formtable.sankasya div {
  padding: 5px;
}
.message {
  font-weight: bold;
}
h3.formtablettl {
  background-color: #eee;
  padding: 10px 20px;
  margin-top: 50px;
}
.entrantselect {
  font-size: 18px;
  margin-bottom: 10px;
}
.formBtnBox {
  text-align: center;
  margin-top: 50px;
}
.sendbtn {
  background-color: #ff5426;
  color: #fff;
  width: 50%;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.sendbtn:hover {
  background-color: #c3401d;
  color: #fff;
}
.backtoinput {
  background-color: #ccc;
  width: 30%;
}
.backtoinput:hover {
  background-color: #666;
}
.eventmoushikomiwrap dl dd {
  margin-left: 0;
}
p.acms-text-error {
  margin: 2px 0 0;
  font-size: 12px;
}
/* 他の参加者のラジオボタンによる出し分け */
.sankasya tr.entrantarea {
  display: none;
}
/* .sankasya tr.others1{
	display: table-row;
} */
.others2.reapply-others1 {
  display: table-row !important;
}
.others2.reapply-others2 {
  display: table-row !important;
}
.others3.reapply-others3 {
  display: table-row !important;
}
.others4.reapply-others4 {
  display: table-row !important;
}
.othersentryselect {
  margin-bottom: 0;
}
/* 確認画面の他の参加者 */

tr.sankayaconfirmtable dl {
  padding-left: 0;
}
tr.sankayaconfirmtable dl dt {
  width: 5em;
  font-weight: bold;
  float: left;
  padding-left: 0;
  margin-left: 0;
}
tr.sankayaconfirmtable dl dd {
  padding-left: 5.2em;
}
.entry_closed {
  background-color: #ddd;
  color: #666;
  text-align: center;
  padding: 20px;
  margin: 10px 0;
}
/* 動的フォームの説明書 */
p.formcaption {
  font-size: 12px;
  color: #999;
  margin: 0;
}

@media (max-width: 767px) {
  .formtable th,
  .formtable td {
    display: block;
    width: 100%;
    padding: 10px 15px !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .formtable th {
    border-bottom: none;
    padding-bottom: 0 !important;
  }
  .formtable span.required {
    float: none;
    margin-left: 5px;
    top: 0;
  }
  .formtable.sankasya th {
    width: 100%;
  }
  .formtable.sankasya td {
    width: 100%;
  }
  .yearsinput {
    max-width: 150px;
  }
  .formtable.sankasya label {
    width: 70px;
    font-weight: bold;
  }
  .sendbtn {
    width: 50%;
    font-size: 14px;
  }
  .backtoinput {
    width: auto;
  }
  .formtable {
    width: 100%;
  }
}
/* ------------------------------
　　申込書・ファイル送信専用フォーム
------------------------------ */
.uploadcomment {
  display: block;
  font-size: 10px;
  color: #999;
  width: 100%;
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ddd;
}
.filesendforminput {
  font-size: 14px;
  width: 100%;
}
.error-text {
  color: #ff244a;
}
.entryform_filename {
  display: block;
  color: #999;
  font-size: 12px;
}
/* ------------------------------
　　フォトコンテスト 写真投稿フォーム
------------------------------ */
.phototitleinput {
  margin-top: 5px;
}
div.photocaution {
  margin-top: -20px;
  margin-bottom: 30px;
}
div.photocaution p {
  font-size: 12px;
}
/* ------------------------------
　　園内ガイド
------------------------------ */
.mymaplinks {
  margin: 0 10px;
}
.mymaplinks a {
  padding: 15px 15px;
  display: block;
  background-color: #fafafa;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #333 !important;
  border: 1px solid #ddd;
  margin-bottom: 10px;
}
.mymaplinks a span {
  color: #3cb973;
}
/* カレンダー */
table.guidecaltable {
  border-right: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
}
.landtraintimetable_wapper .unit > p {
  display: none;
}
.month p.calmonth {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 5px;
}
table.guidecaltable th {
  border-left: 1px solid #dfdfdf;
  font-size: 12px;
  text-align: center;
}
table.guidecaltable td {
  border-left: 1px solid #dfdfdf;
}
.entry-column table.guidecaltable tr:nth-child(2n + 1) {
  background: #fff;
}
.entry-column table.guidecaltable th,
.entry-column table.guidecaltable td {
  padding: 10px 15px;
}
table.guidecaltable th.sunday {
  background-color: #f0c3c5;
}
table.guidecaltable th.saturday {
  background-color: #b8c4d2;
}
table.guidecaltable th {
  background-color: #eee;
}
span.week {
  white-space: nowrap;
  font-size: 14px;
  display: block;
  margin-bottom: 3px;
}
table.guidecaltable td.shukujitu {
  color: #d2405e;
}
table.guidecaltable .calitem.shukujitu {
  color: #d2405e;
  font-weight: bold;
}
td.day.w0 {
  color: #d2405e;
}
td.day.w6 {
  color: #467ed2;
}
span.calitem {
  font-size: 12px;
  color: #999;
  display: block;
}
td.sche_closed {
  background-color: #eee;
}
span.closed {
  font-size: 12px;
  display: inline-block;
  line-height: 1.5;
  color: #aaa;
}
td.caltoday {
  background-color: #ffeeda;
}
/* 凡例 */
.hanrei {
  overflow: hidden;
  font-size: 14px;
  border: 1px solid #ddd;
  padding: 20px;
  margin-bottom: 20px;
}
.hanrei span {
  margin-right: 5px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  table.guidecaltable td {
    width: 14.28%;
  }
}
@media (max-width: 767px) {
  table.guidecaltable td.day {
    display: none;
  }
  table.guidecaltable td.day.w0,
  table.guidecaltable td.day.w1,
  table.guidecaltable td.day.w2,
  table.guidecaltable td.day.w3,
  table.guidecaltable td.day.w4,
  table.guidecaltable td.day.w5,
  table.guidecaltable td.day.w6 {
    display: block !important;
    overflow: hidden;
  }
  span.week {
    white-space: nowrap;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 3px;
    float: left;
    margin-right: 10px;
  }
  table.guidecaltable tr td.day.pastday {
    display: none !important;
  }
}

[class^="sche_"] {
  img {
    width: 30px;
  }
}
/* ------------------------------
　　ページタイトル
------------------------------ */
.page-title-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100px;
  color: #fff;
  background: url("../images/categorytitle.jpg") #fafafa no-repeat center;
  background-size: cover;
  text-align: center;
}
.page-title-filter {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.2);
}

.page-title-inner {
  display: table-cell;
  position: relative;
  padding: 15px 10px;
  vertical-align: middle;
}

.page-title {
  margin: 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
}
.page-title a {
  color: #fff;
}

.page-description {
  margin: 10px 0;
  font-size: 16px;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .page-title-wrapper {
    height: 220px;
  }
}
@media (max-width: 767px) {
  .page-title {
    font-size: 18px;
  }
}
/* ------------------------------
　　中ページサイドバナー
------------------------------ */
div.sub {
  padding-left: 0;
  max-width: 255px;
  width: 27%;
  padding-bottom: 50px;
}
.side_banner1,
.side_banner2,
.side_imgbanner {
  margin-left: 0;
  padding-left: 0;
  list-style-type: none;
  overflow: hidden;
  margin-top: 0;
  margin-bottom: 10px;
}

.side_banner1 li.banner-list-item,
.side_banner2 li.banner-list-item {
  padding-left: 3px;
  padding-right: 3px;
  margin-bottom: 6px;
}
.side_banner1 li.banner-list-item img {
  width: 100%;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.side_banner1 li.banner-list-item img:hover {
  opacity: 0.5;
}
.side_banner2 li.banner-list-item img {
  border: 1px solid #ddd;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.side_banner2 li.banner-list-item img:hover {
  background-color: #ddd;
}
.side_imgbanner {
  margin: 0 3px 8px;
}
.side_imgbanner li {
  margin-bottom: 8px;
  display: block;
  border: 1px solid #ddd;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.side_imgbanner li a:hover {
  opacity: 0.5;
}
.side_imgbanner li a div {
  display: block;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  width: 100%;
  min-height: 60px;
  position: relative;
}
.side_imgbanner li a span {
  display: block;
  font-size: 11px;
  text-align: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 3px;
  position: absolute;
  bottom: 0;
  width: 100%;
}
.main {
  float: right;
  padding-left: 30px;
}
@media (max-width: 767px) {
  .main {
    float: none;
    padding-left: 10px;
  }
  .sidefixarea {
    position: relative !important;
    padding-right: 0;
  }
  div.sub {
    max-width: 100%;
    width: 100%;
    padding-bottom: 20px;
  }
}
/* ------------------------------
　　ページャー
------------------------------ */
.pager {
  list-style: none;
  margin: 0 -5px 50px -5px;
  padding: 0;
  text-align: center;
}
.pager li {
  display: inline-block;
  margin: 0 5px;
}
.pager li.cur {
  /* 現在いる位置 */
  padding: 5px 20px;
  color: #fff;
  background: #999;
  border-radius: 3px;
}

.pager-link {
  display: block;
  padding: 5px 20px;
  color: #333;
  border-radius: 3px;
  background: #e5e5e5;
}
.pager-link:visited,
.pager-link:focus,
.pager-link:active {
  color: #333;
}
.pager-link:hover {
  color: #fff;
  text-decoration: none;
  background: #333;
}

.pager-link-forward {
  float: right;
}

.pager-link-prev {
  float: left;
}
.pagerarrow {
  color: #f16262;
}
.pager.eventindex {
  margin-top: -40px;
  clear: both;
}
.pager.eventindex .pagerarrow {
  color: #666;
}
.pager.eventindex li:hover .pagerarrow {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .pager-link {
    padding: 5px 10px;
  }
  .pager li.cur {
    /* 現在いる位置 */
    padding: 5px 10px;
  }
}

/* 前後リンク */
.serial-nav {
  list-style: none;
  margin: -25px 0 60px 0;
  padding: 0;
}
.serial-nav .serial-nav-item {
  display: block;
  float: none;
}
.serial-nav .serial-nav-item-prev {
  text-align: left;
}
.serial-nav .serial-nav-item-next {
  text-align: right;
}
.serial-nav a {
  display: block;
  padding: 15px 10px;
  border-bottom: 1px solid #e5e5e5;
  color: #333;
}
.serial-nav a:hover,
.serial-nav a:visited,
.serial-nav a:focus,
.serial-nav a:active {
  color: inherit;
  text-decoration: none;
}
.serial-nav a:hover {
  background: #e5e5e5;
}

@media screen and (min-width: 768px) {
  .serial-nav {
    margin: 0 0 60px 0;
    border: 0;
  }
  .serial-nav .serial-nav-item-prev {
    float: left;
  }
  .serial-nav .serial-nav-item-next {
    float: right;
  }
  .serial-nav a {
    display: inline;
    border: 0;
  }
  .serial-nav a:hover {
    text-decoration: underline;
    background: 0;
  }
}

/* ------------------------------
　　トピックパス
------------------------------ */
.topicpath {
  margin-bottom: 30px;
  padding: 10px 0;
  background: #f5f5f5;
}

.topicpath-list {
  list-style: none;
  margin: 0 auto;
}

.topicpath-item {
  float: left;
  font-size: 14px;
  padding: 0 8px 0 15px;
  background: url("../images/marker/icon_arrow.png") no-repeat left center;
}
.topicpath-item:first-child {
  padding: 0 8px 0 0;
  background: 0;
}

.topicpath-link {
  color: #666;
  font-size: 14px;
}
.topicpath-link:visited,
.topicpath-link:focus,
.topicpath-link:active {
  color: #666;
}
@media (max-width: 767px) {
  .topicpath {
    -ms-overflow-y: hidden;
    overflow-y: hidden;
    -ms-overflow-x: auto;
    overflow-x: auto;
  }
  .topicpath-link {
    font-size: 12px;
  }
  .topicpath-item:first-child {
    padding: 0 4px 0 0;
  }
  .topicpath-item {
    font-size: 12px;
    padding: 0 4px 0 10px;
  }
  .topicpath-list {
    white-space: nowrap;
  }
  .topicpath-list li {
    display: inline-block;
    float: none;
  }
}
/* ------------------------------
　　トップページ
------------------------------ */
/* 重要なお知らせ */
.importanttopics {
  padding: 50px 0;
  background-image: url("../images/importanttopics_bg.jpg");
  background-repeat: no-repeat;
  text-align: center;
}
.importanttopics ul {
  padding-left: 0;
}
.importanttopics li {
  margin-bottom: 5px;
}
.importanttopics li a {
  color: #333;
  font-size: 16px;
  font-weight: bold;
  margin-left: 0;
}
.importanttopics li {
  list-style-type: none;
}
.importanttopics li a:before {
  font-family: FontAwesome, sans-serif;
  content: "\f054 ";
  color: #f19594;
  font-size: 14px;
  display: inline-block;
  margin-right: 5px;
}
@media (max-width: 767px) {
  .importanttopics {
    background-image: none;
    padding: 30px 0;
    text-align: left;
  }
}
/* 各エリアへの大ボタン */
.topareabtn {
  max-width: 100%;
  position: relative;
  background-color: #91d0c4;
  background-image: url("../images/topareabtnbg.jpg");
  border-top: 3px solid #6faba0;
  border-bottom: 3px solid #6faba0;
}
.topareabtn .topareamap {
  background-position: top;
  background-size: 100%;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  padding-top: 45%;
}
/* トップページのテキストタイトル */
h2.module-heading {
  text-align: center;
}
h2.module-heading img {
  border-bottom: 2px solid #f19594;
  padding-bottom: 10px;
  max-width: 100%;
}

/* 背景地図画像切り替え */
.topareamap {
  background-image: url("../images/topareamap.png");
}
/* .areabtnwrap{
	position: absolute;
	right: 0;
	left: 0;
	top: 75%;
} */
.areabtnwrap {
  margin-top: -10%;
}

.topareabtn ul {
  padding-left: 0;
  overflow: hidden;
}
.topareabtn ul li {
  margin: 0 0 10px;
  padding: 5px;
  list-style: none;
  position: relative;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}
.topareabtn ul li:before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  z-index: 3;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 20px;
  border-radius: 20px;
  border: 5px solid #fff;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.topareabtn ul li.asahi:before {
  background-color: rgba(72, 200, 110, 0.7);
}
.topareabtn ul li.asahi:hover:before {
  background-color: rgba(72, 200, 110, 0.9);
}
.topareabtn ul li.yuhi:before {
  background-color: rgba(255, 165, 8, 0.7);
}
.topareabtn ul li.yuhi:hover:before {
  background-color: rgba(255, 165, 8, 0.9);
}
.topareabtn ul li.chuo:before {
  background-color: rgba(80, 203, 243, 0.7);
}
.topareabtn ul li.chuo:hover:before {
  background-color: rgba(80, 203, 243, 0.9);
}
.topareabtn ul li.camp:before {
  background-color: rgba(206, 119, 55, 0.7);
}
.topareabtn ul li.camp:hover:before {
  background-color: rgba(206, 119, 55, 0.9);
}
.topareabtn ul li.ride:before {
  background-color: rgba(230, 20, 40, 0.7);
}
.topareabtn ul li.ride:hover:before {
  background-color: rgba(230, 20, 40, 0.9);
}
.topareabtn ul li.thing:before {
  background-color: rgba(148, 105, 233, 0.7);
}
.topareabtn ul li.thing:hover:before {
  background-color: rgba(148, 105, 233, 0.9);
}
.topareabtn ul li .areabtntext {
  position: absolute;
  display: block;
  width: calc(100% - 10px);
  text-align: center;
  top: 33%;
  z-index: 5;
}
.topareabtn ul li a span {
  color: #fff;
  position: relative;
  text-align: center;
  display: block;
}
.areabtntext {
  font-size: 16px;
  font-weight: bold;
}
li .areaname:after {
  content: "";
  display: block;
  width: 20px;
  left: 0;
  right: 0;
  margin: auto;
  height: 2px;
  background-color: #fff;
  margin-top: 4px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
li:hover .areaname:after {
  width: 80%;
}
.areaname_en {
  font-size: 11px;
  font-weight: normal;
  letter-spacing: 0.1em;
  padding-top: 4px;
}
.topareabtn ul li img {
  position: relative;
  z-index: 2;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}

@media (max-width: 1099px) {
  .topareabtn .topareamap {
    padding-top: 50%;
  }
}
@media (max-width: 1023px) {
  .areabtntext {
    font-size: 14px;
  }
}
@media (min-width: 1100px) {
  .topareabtn .topareamap {
    padding-top: 650px;
  }
}
@media (max-width: 767px) {
  .areabtntext {
    font-size: 13px;
  }
  .areaname_en {
    font-size: 9px;
  }
  .topareabtn ul li:before {
    -webkit-border-radius: 10px;
    border-radius: 10px;
    border: 3px solid #fff;
  }
  .topareabtn ul li .areabtntext {
    top: 36%;
  }
  .areabtnwrap {
    top: 43%;
  }
  .topareabtn .topareamap {
    padding-bottom: 10px;
  }
  .topareabtn .acms-container {
    padding: 0 10px;
  }
  .topareabtn ul li {
    margin: 0;
    padding: 5px;
  }
}

/* トップページ運行アイコン */
.top_cal {
  background-color: #fff;
  border: 5px solid rgb(255, 177, 146);
  padding: 15px;
  box-sizing: border-box;
  height: 100%;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}
.topcal_wrap {
  padding-bottom: 10px;
}
.unit .topcal_wrap:first-of-type .top_cal {
  border: 5px solid red;
}
.top_cal .top_allclosed {
  position: absolute;
  color: 666;
  font-size: 30px;
  width: 100%;
  font-weight: bold;
  left: 0;
  top: 45%;
  color: #000;
  opacity: 0.6;
  pointer-events: none;
}
.top_cal .top_closed {
  /* position: absolute; */
  color: 666;
  font-size: 12px;
  width: 100%;
  font-weight: bold;
  left: 0;
  top: 45%;
  color: #000;
  opacity: 0.6;
}
.top_cal .top_closed .comment {
  font-size: 12px;
}
.top_cal_iconwrapper {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.top_cal_iconwrapper .topicon {
  width: 25%;
  padding: 0 5px;
}
@media (max-width: 767px) {
}
.top_guideicon {
  width: 100%;
  opacity: 0.2;
  display: inline-block;
  padding: 0 0;
  box-sizing: border-box;
  text-align: center;
}
.current .top_guideicon {
  opacity: 1;
}
.top_guideicon img {
  width: 100%;
  vertical-align: middle;
}
.todays_service {
  text-align: center;
  overflow: hidden;
  background-color: rgb(253, 240, 221);
  padding: 40px 20px 30px;
}
.todays_service .week {
  font-size: 16px;
  font-weight: bold;
  display: block;
  border-bottom: 2px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 10px;
  width: 100%;
}
.todays_service .week .w6 {
  color: rgb(33, 102, 230);
}
.todays_service .week .w0,
.todays_service .week .shukujitu {
  color: rgb(236, 67, 61);
}
.topicon {
  margin-bottom: 10px;
}
.topicon p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: bold;
  color: #ccc;
  line-height: 1.2;
}
.current.topicon p {
  color: #222;
}
.topcalLink {
  margin-top: 10px;
  text-align: center;
}
.topcalLink a {
  color: #fff;
  display: inline-block;
  padding: 10px 30px;
  border-radius: 50px;
  margin-top: 10px;
  font-weight: bold;
  background-color: rgb(252, 110, 54);
}
.un_iconattentiontext {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  margin: 5px 0;
  font-weight: bold;
}

/* トップページの運行アイコン内天気 */
.top_service_weather_wrap {
  clear: both;
}
.top_service_weather_inner {
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.top_service_weather_image {
  height: 45px;
}
.top_service_weather_image img {
  height: 100%;
}
.top_service_weather_text {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  margin: 0 15px 0 5px;
}
.top_service_weather_temp {
  font-size: 10px;
  /* border: 1px solid #000; */
  color: #fff;
  display: inline-block;
  padding: 2px 4px;
  line-height: 1;
  margin-right: 3px;
}
.top_service_weather_temp.max {
  background-color: #d93f7f;
}
.top_service_weather_temp.min {
  background-color: #3f94d9;
}

/* イベント情報 */
.top_eventSummary {
  padding: 50px 0;
}
.top_eventSummary .module-section {
  margin: 0 0 0 0;
}
.view_allentrylink {
  text-align: center;
}
.view_allentrylink a {
  display: inline-block;
  width: 600px;
  padding: 15px;
  background-color: #58bdaf;
  color: #fff;
  text-align: center;
  -webkit-border-radius: 50px;
  border-radius: 50px;
}
.view_allentrylink a:hover {
  background-color: #46998e;
}
@media (max-width: 767px) {
  .view_allentrylink a {
    width: 80%;
    padding: 10px;
    font-size: 12px;
  }
}
/* 新着情報 */
.topNews {
  background-image: url("../images/topnewsbgimg.jpg");
  padding: 50px 0;
  position: relative;
}
.topnewsribbon {
  height: 8px;
  background-image: url("../images/headerpattern.png");
}
.topNews .girlimgwrap {
  position: relative;
}
.topnewsgirl {
  position: absolute;
  top: -120px;
  left: -15px;
}
.topNews .acms-container {
  width: 800px;
}
.topicsitem {
  padding: 10px;
}
span.newscategory {
  display: inline-block;
  position: relative;
  top: -2px;
  padding: 1px 8px;
  color: #fff;
  font-size: 11px;
  margin-right: 2px;
  width: 4em;
  text-align: center;
}
span.newlabel {
  width: 3em;
  border: 1px solid #f02346;
  color: #f02346;
  font-weight: bold;
}
span.topics {
  background-color: #6f98d4;
}
span.eventreport {
  background-color: #36b8a4;
}
span.eventinfomation {
  background-color: #f06e38;
}
span.wanted {
  background-color: #a17cd7;
}
span.others {
  background-color: #999;
}
span.important {
  width: 7em;
  background-color: #d42f23;
}
.headline-dat {
  margin-right: 5px;
}
@media (max-width: 767px) {
  .topNews .acms-container {
    width: 100%;
  }
  .topnewsgirl {
    width: 80px;
    top: -100px;
    left: 20%;
  }
  .topnewsgirl img {
    width: 100%;
  }
}
/* ------------------------------
　　お知らせ
------------------------------ */
p.entryInfo {
  margin-top: 0;
  margin-bottom: 0;
}
.entry.newsarticle {
  margin-bottom: 100px;
}
/* ------------------------------
　　よくある質問
------------------------------ */
.faqwrapper {
  margin-bottom: 5px;
}
dl.faqcontent {
  margin-top: 0;
  margin-bottom: 20px;
}
dl.faqcontent > dd {
  display: none;
  margin-left: 0;
  margin-top: 10px;
  padding: 0 20px 20px 45px;
  background: url(../images/faq_a.png);
  background-repeat: no-repeat;
  -webkit-background-size: 30px;
  -o-background-size: 30px;
  background-size: 30px;
}
dl.faqcontent > dt {
  position: relative;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  background-color: #fff;
  padding-right: 25px;
  padding-left: 45px;
  padding-top: 2px;
  padding-bottom: 5px;
  cursor: pointer;
  background: url(../images/faq_q.png);
  background-repeat: no-repeat;
  -webkit-background-size: 30px;
  -o-background-size: 30px;
  background-size: 30px;
}
dl.faqcontent > dt:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin-top: auto;
  margin-bottom: auto;
  font-family: FontAwesome, sans-serif;
  content: "\f105";
  font-size: 14px;
  height: 14px;
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -moz-transition: all, 0.4s, linear;
  -o-transition: all, 0.4s, linear;
  -webkit-transition: all, 0.4s, linear;
  transition: all, 0.4s, linear;
}
dl.faqcontent > dt.active:after {
  -moz-transform: translate(0, 50%);
  -ms-transform: translate(0, 50%);
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  right: 10px;
}
@media (max-width: 767px) {
  dl.faqcontent > dt {
    font-size: 16px;
  }
}
/* ------------------------------
　　イベント一覧
------------------------------ */
.eventindex {
  padding-top: 20px;
  padding-bottom: 20px;
}
.eventindexsummary.acms-container {
  padding-left: 10px;
  padding-right: 10px;
}
.eventindexsummary.acms-container .main {
  padding-left: 0;
  padding-right: 0;
}
h2.eventindextitle {
  font-size: 30px;
  border-bottom: solid 2px #f1c0c3;
  padding-bottom: 10px;
}
h2.eventindextitle.eventtitlesmall {
  font-size: 22px;
}
ul.eventSummary {
  margin-top: 40px;
  padding-left: 0;
}
ul.eventSummary li {
  list-style: none;
  position: relative;
  margin-bottom: 40px;
}
ul.eventSummary li .eventsummary_wrap {
  height: 100%;
  position: relative;
  overflow: hidden;
}
ul.eventSummary li .eventsummary_icon {
  position: relative;
  z-index: 5;
  display: inline-block;
  padding: 2px 8px;
  font-size: 10px;
  color: #fff;
  background-color: #333;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}
.event_icon {
  position: absolute;
  width: 30%;
  right: 2px;
  top: -5px;
  z-index: 15;
}
.event_icon img {
  width: 100%;
}
.event_thum {
  position: relative;
  margin-bottom: 5px;
  overflow: hidden;
}
.event_thum img {
  vertical-align: bottom;
  width: 100%;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}
.eventsummary_wrap:hover .event_thum img {
  transform: scale(1.2);
}
.eventfull {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: 0;
  z-index: 999;
  height: auto;
  height: 0;
  opacity: 0.8;
}
.eventfull img {
  display: block;
  width: 100%;
}
.eventiconwrap {
  position: absolute;
  margin-bottom: 5px;
  padding-left: 5px;
}
.event_text {
  position: relative;
}
ul.eventSummary li .eventsummary_icon.event {
  background-color: #faa141;
}
ul.eventSummary li .eventsummary_icon.generalevent {
  background-color: #00af6b;
}
ul.eventSummary li .eventsummary_icon.wakuwaku {
  background-color: #446dc9;
}
ul.eventSummary li .eventsummary_icon.kagakuhiroba {
  background-color: #c944b8;
}
ul.eventSummary li .eventsummary_icon.entry {
  background-color: #ff400d;
}
ul.eventSummary li .eventsummary_icon.full-entry {
  background-color: #ccc;
}
ul.eventSummary li .eventsummary_icon.no-entry {
  background-color: #777;
}
.eventsummary_text {
  position: relative;
  z-index: 20;
  top: 50px;
  bottom: 0;
  right: 0;
  left: 0;
  color: #fff;
  text-align: center;
  -webkit-border-radius: 0 0 10px 10px;
  border-radius: 0 0 10px 10px;
}
p.eventperiod {
  margin: 0 0 5px;
  padding: 0 0 5px;
  font-size: 12px;
  border-bottom: 1px solid #ccc;
  color: #a91e35;
}
p.event-title {
  margin: 0;
  padding: 0 0 3px;
  line-height: 1.4;
}
p.event-title a {
  color: #333;
  font-weight: bold;
}
.event-subtitle {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 10px;
  color: #666;
}
.eventflyer ul li {
  padding: 15px 15px;
  display: inline-block;
  background-color: #fafafa;
  width: 100%;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: 10px;
  color: #333 !important;
  border: 1px solid #ddd;
  margin-bottom: 10px;
}
.eventflyer {
  margin-top: 20px;
}
.eventflyer ul {
  margin-top: 0;
  padding: 0 10px;
}
.eventflyer ul li {
  margin-bottom: 10px;
  list-style: none;
}
.eventflyer ul li a:before {
  font-family: FontAwesome;
  display: inline-block;
  padding-right: 3px;
  content: "\f1c1";
  color: #e0132e;
}
@media (max-width: 1023px) {
  .eventSummary hr.clearHidden {
    display: none;
  }
}
@media (max-width: 767px) {
  p.eventperiod {
    margin: 0 0 3px;
    padding: 0 0 3px;
    font-size: 10px;
  }
  p.event-title a {
    font-size: 13px;
    line-height: 1.5;
    display: inline-block;
  }
  .eventsummary_text {
    padding: 8px;
  }
  .top_eventSummary {
    padding: 30px 0 50px;
  }
  .eventindexsummary .top_eventSummary {
    padding: 20px 0 10px;
  }
  .eventindexsummary .top_eventSummary.eventindex {
    padding: 0 0 10px;
  }
  ul.eventSummary {
    margin-top: 25px;
  }
  .top_eventSummary .acms-container {
    padding-left: 5px;
    padding-right: 5px;
  }
  h2.eventindextitle {
    font-size: 18px;
  }
  ul.eventSummary li {
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 10px;
  }
  ul.eventSummary li .eventsummary_icon {
    font-size: 9px;
  }
  h2.eventindextitle.eventtitlesmall {
    font-size: 18px;
  }
}
/* ------------------------------
　　トップページのフッターのバナー
------------------------------ */
.footerbanner {
  padding: 40px 0 0;
}
.footerbanner ul {
  margin-bottom: 0;
}
.footerbanner .top_footernavbanner {
  display: flex;
  margin: 0 10px;
}
.subnav li {
  margin-bottom: 20px;
  padding: 5px;
}
.subnav li img {
  border: 1px solid #ddd;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.subnav li img:hover {
  background-color: #ddd;
}
.topSnslink {
  margin-bottom: 50px;
}
.topSnslink ul {
  margin-top: 0;
  margin-bottom: 0;
}
.topSnslink ul li {
  margin-bottom: 10px;
}
.topSnslink ul li:nth-child(3n + 1) {
  clear: both;
}

.topSnslink ul li img {
  width: 100%;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .topSnslink ul li {
    margin-bottom: 20px;
  }
  .footerbanner {
    padding: 10px 0;
  }
  .footerbanner .top_footernavbanner {
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px;
  }
  .subnav li {
    width: 33.333%;
    box-sizing: border-box;
    margin-bottom: 0;
  }
  .footerbanner .acms-container ul li {
    padding-right: 5px;
    padding-left: 5px;
    /* margin-bottom: 10px; */
  }
  .topSnslink ul li img {
    -webkit-border-radius: 3px;
    border-radius: 3px;
  }
  .topSnslink .acms-container ul li {
    padding-right: 5px;
    padding-left: 5px;
    margin-bottom: 10px;
  }
}
/* 予約が必要なイベントの一覧 */
.reserve_event ul {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 50px;
}
.reserve_event li {
  list-style: none;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}
.reserve_event li span {
  padding: 0 0 3px;
  font-size: 12px;
  color: #a91e35;
  display: block;
}

/* ------------------------------
　　スライダー
------------------------------ */
.slick-slider {
  padding: 0 0 9px 0;
}
.slick-slider.js-slider_entry2 {
  padding-bottom: 40px;
}
.slick-slider img {
  margin: 0 auto;
  width: 100%;
  /* 	max-width: 1500px; */
}

.fix-height {
  height: 300px;
  /* はじめのちらつき防止 */
  overflow: hidden;
  /* はじめのちらつき防止 */
}

.slick-slide:hover {
  cursor: pointer;
}

.slick-list:focus {
  position: relative;
}
.slick-list:focus:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 2px dotted #00c2ff;
  z-index: 1;
}

.main-slider-image {
  height: 300px;
  background: no-repeat center #333;
  background-size: cover;
}
.main-slider-image a:hover {
  text-decoration: none;
}

.main-slider-text-outer {
  height: 100%;
}

.main-slider-text-wrap {
  display: table;
  width: 100%;
  height: 100%;
}

.main-slider-text-inner {
  display: table-cell;
  padding: 0 20px;
  text-align: center;
  vertical-align: middle;
}

.main-slider-main-copy {
  margin: 0;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
}

.main-slider-side-copy {
  margin: 0;
  color: #fff;
  font-size: 16px;
}
.slick-slider .slick-slide {
  position: relative;
}
.slick-slider .slick-slide .caption {
  position: relative;
}
.slick-slider .slick-slide .imgcopy {
  position: absolute;
  display: inline-block;
  padding: 5px 15px;
  margin: 10px;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  z-index: 100;
  font-size: 12px;
}

/* ちらつき防止 */
.slick-track,
.slick-list {
  -webkit-transform: translateZ(0);
  -webkit-perspective: 1000;
}

/* 矢印ナビゲーション */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 19px;
  height: 60px;
  margin-top: -29px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 20;
}
.slick-prev:focus,
.slick-next:focus {
  border: 1px dotted #fff;
}

.slick-prev {
  left: 10px;
  background: url("../images/marker/icon_white_arrow_left.png") no-repeat;
}

.slick-next {
  right: 10px;
  background: url("../images/marker/icon_white_arrow_right.png") no-repeat;
}

/* ドットのナビゲーション */
.slick-dots {
  position: relative;
  margin: -35px 0 0 0 !important;
  padding: 0 !important;
  list-style: none;
  text-align: center;
}
.custom_facility .slick-dots {
  position: absolute;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
  list-style: none;
  text-align: center;
  top: 0;
  right: 16px;
}

.slick-dots li {
  display: inline-block;
}

.slick-dots li button {
  content: "";
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 6px;
  font-size: 0;
  background: #eee;
  border-radius: 7px;
  border: 1px solid #eee;
}
.custom_facility .slick-dots li button {
  margin: 0 4px;
}

.slick-dots li button:focus {
  outline: 0;
  border: 1px solid #e96f68;
}

.slick-dots li:hover button {
  cursor: pointer;
}

.slick-dots li.slick-active button {
  background: #e96f68;
}

.slick-dots button {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
/* 中ページのスライダー */
.js-slider_entry {
  margin-left: 10px;
}
.js-slider_entry .slick-dots li button {
  width: 8px;
  height: 8px;
}
.js-slider_entry .slick-prev,
.js-slider_entry .slick-next {
  position: absolute;
  top: -20px;
  bottom: 0;
  margin-top: auto !important;
  margin-bottom: auto;
}
.facility_youtube a {
  position: relative;
  display: block;
}
.facility_youtube .playbtn {
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  opacity: 0.8;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.facility_youtube img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .slick-prev {
    left: 50px;
  }
  .slick-next {
    right: 50px;
  }
  .fix-height {
    height: 400px;
    /* はじめのちらつき防止 */
  }
  .main-slider-image {
    height: 400px;
  }
  .main-slider-main-copy {
    font-size: 40px;
  }
  .main-slider-side-copy {
    font-size: 24px;
  }
  .js-slider_entry .slick-prev {
    left: 10px;
  }
  .js-slider_entry .slick-next {
    right: 10px;
  }
  .js-slider_entry .slick-prev,
  .js-slider_entry .slick-next {
    margin-top: -50px;
  }
}
@media (max-width: 767px) {
  .js-slider_entry {
    margin-left: 10px;
    margin-right: 10px;
  }
  .slick-dots li button {
    width: 8px;
    height: 8px;
  }
  .facility_youtube {
    margin-left: 10px;
    margin-right: 10px;
  }
}

/* ------------------------------
　　トップメインイメージのバナー
------------------------------ */
.topmainimage {
  position: relative;
}
.topmainimage_banner {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 13%;
  z-index: 5;
}
.topmainimage_banner img {
  margin-bottom: 5px;
  width: 100%;
  display: block;
}
/* ------------------------------
　　各モジュール
------------------------------ */
.module-section {
  margin: 0 0 30px 0;
}

/* タイトル */
.module-header {
  position: relative;
  margin: 0;
  padding: 5px 0;
  color: #333;
  border-bottom: 2px solid #333;
}
.module-header + .summary-custom,
.module-header + .summary-default,
.module-header + .entry-column,
.module-header + .pickup-list,
.module-header + .search-form,
.module-header + .banner {
  margin-top: 10px;
}

.module-heading {
  margin: 0;
  font-size: 18px;
}
.module-heading [class*="acms-icon-"] {
  margin: 0 10px 0 0;
  vertical-align: baseline;
}

a.module-index-link {
  position: absolute;
  bottom: 5px;
  right: 0;
  color: #333;
  font-size: 16px;
}
a.module-index-link [class*="acms-icon-"] {
  color: #ccc;
  font-size: 14px;
}
@media (max-width: 767px) {
  .top_eventSummary .module-heading img {
    width: 140px;
  }
}
/* カスタムフィールドグループ */
.group-list {
  list-style: none;
  padding: 0;
}

/* 行揃えの設定 */
/* 見出し */
.heading-align-left .group-heading {
  text-align: left;
}

.heading-align-center .group-heading {
  text-align: center;
}

.heading-align-right .group-heading {
  text-align: right;
}

/* 概要文 */
.detail-align-left .group-detail {
  text-align: left;
}

.detail-align-center .group-detail {
  text-align: center;
}

.detail-align-right .group-detail {
  text-align: right;
}

/* ボタン */
.btn-align-left .group-btn-wrap {
  text-align: left;
}

.btn-align-center .group-btn-wrap {
  text-align: center;
}

.btn-align-right .group-btn-wrap {
  text-align: right;
}

/* ------------------------------
　　リスト
------------------------------ */
@media screen and (min-width: 768px) {
  /* リスト */
  a.acms-list-group-item {
    padding: 10px 20px 10px 10px;
    transition: padding 0.15s ease-out;
  }
  a.acms-list-group-item:hover {
    padding: 10px 10px 10px 20px;
    transition: padding 0.25s ease-out;
  }
}

/* ------------------------------
　　サマリー
------------------------------ */
.summary-default {
  margin: 0 0 20px 0;
  padding: 0;
  list-style: none;
  border-left: 1px solid #e5e5e5;
  border-top: 1px solid #e5e5e5;
}

.summary-default-entry {
  float: left;
  padding: 10px;
  color: #333;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  box-sizing: border-box;
  transition: background-color 0.25s ease-out;
}
.summary-default-entry.bl-hover {
  background: #f1f1f1;
}
.acms-entry .summary-default-entry {
  padding: 10px;
}

.summary-title {
  margin: 0 0 10px 0;
  font-size: 16px;
}

.summary-detail {
  margin: 0;
  line-height: 1.5;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .summary-default-entry-image-wrap img {
    width: 60px;
    height: auto;
  }
}

@media screen and (min-width: 480px) {
  .summary-default {
    margin: 0 0 20px 0;
  }
}

/* ------------------------------
　　ピックアップリスト
------------------------------ */
.pickup-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pickup-list img {
  display: block;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.pickup-list img:hover {
  opacity: 0.75;
}

/* ------------------------------
　　バナー
------------------------------ */
.banner {
  margin: 0;
  padding: 0;
  list-style: none;
}
.banner a {
  display: block;
  transition: opacity 0.25s ease-out;
}
.banner a:hover {
  opacity: 0.75;
}

.banner-list-item {
  margin: 0 0 20px 0;
}

/* ------------------------------
　　ヘッドライン
------------------------------ */
.headline-item {
  line-height: 1.5;
  transition: background-color 0.25s ease-out;
}
.headline-item.bl-hover {
  background: #f1f1f1;
}

@media screen and (max-width: 479px) {
  /* 画面幅が小さいとき */
  /* ヘッドライン */
  .headline-item {
    padding: 10px 0;
  }
  .headline-title {
    display: inline;
    margin: 0;
  }
  .importanttopics .headline-title {
    display: inline;
    margin: 0;
    padding-right: 5px;
  }
  .importanttopics .newlabel {
    display: inline;
  }
  .importanttopics li {
    display: block;
    margin-bottom: 10px;
  }
}

/* ------------------------------
　　検索フォーム
------------------------------ */
.search-form .btn-search {
  padding: 10px 20px;
  font-size: 16px;
  -webkit-filter: none;
  filter: none;
  /* IEでのグラデーションを上書き */
  background: #333;
  color: #fff;
  border-radius: 0 4px 4px 0;
  border: 1px solid #333;
}
.search-form .btn-search:hover,
.search-form .btn-search:active,
.search-form .btn-search:focus {
  background: #666;
}

.search-form input[type="search"] {
  padding: 9px 10px;
  height: 40px;
  font-size: 16px;
  box-sizing: border-box;
}

input[type="search"].search-form-input {
  padding-top: 5px;
  padding-bottom: 4px;
  font-size: 20px;
  box-sizing: border-box;
}

/* ------------------------------
　　レイアウトモジュール
------------------------------ */
/* 背景色 */
.layout-bg {
  padding: 20px 0;
  background: #f6f6f6;
}

.layout-space {
  padding: 20px 0;
}

/* カラムの中央寄せ */
.center-col {
  float: none;
  margin: 0 auto;
}

/* 見出し */
.section-heading {
  margin: 20px 0 40px 0;
  font-size: 28px;
}
.section-heading a {
  color: #333;
}

/* ------------------------------
　　各モジュール
------------------------------ */
/* フィールドグループ */
.group-heading {
  margin: 0 0 20px 0;
  font-size: 18px;
  line-height: 1.2;
}

.group-detail {
  margin: 0 0 30px 0;
  font-size: 16px;
  line-height: 1.7;
}

/* ヘッドライン */
.lp-headline {
  font-size: 16px;
}

/* ------------------------------
　　エントリー
------------------------------ */
.entry {
  margin: 0 0 25px 0;
}

.page-header {
  margin: 0 0 20px 0;
  border-bottom: 2px solid #f1c0c3;
}

.entry-info {
  margin-top: 0;
  font-size: 14px;
}

/* カテゴリーと新着ラベル */
.entry-category,
.entry-new {
  font-size: 14px;
}

/* タイトル */
.entry-title {
  margin: 10px 0;
  font-size: 24px;
}
.entry-title a {
  color: #333;
}
.acms-entry h2 .entry-title {
  padding: 0;
}
@media (max-width: 767px) {
  .entry-title {
    font-size: 20px;
  }
}
/* エントリーのスタイル */
.entry-column {
  color: #333;
}
/* .entry-column h2 {
	margin: 60px 10px 25px 10px;
	padding: 5px 15px;
	font-size: 18px;
	color: #333;
	border-left: 4px solid #F1C0C3;
} */
.entry-column h2 {
  margin: 60px 0 25px 0;
  padding: 10px 25px;
  font-size: 18px;
  color: #333;
  border-left: 10px solid #ffc2c3;
  border-right: 10px solid #ffc2c3;
  background-color: #ffe6e7;
  border-radius: 100px;
}
.acms-grid .entry-column h2:first-child {
  margin-top: 0;
}
.entry-column h2.module-heading {
  margin: 0;
  padding: 0;
  border: 0;
}
.entry-column p.large_title {
  font-size: 30px;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 1px solid #ffc2c3;
}
.entry-column p.small_text {
  font-size: 14px;
  color: #666;
  line-height: 1.5;
  margin-top: -10px;
}
.entry-column h3 {
  margin: 40px 10px 15px 10px;
  padding: 5px 10px;
  font-size: 16px;
  color: #333;
  background: #f2f2f2;
}
.entry-column h2 + h3 {
  margin-top: 20px;
}
.entry-column h4 {
  margin-top: 30px;
  margin-bottom: 10px;
}
.entry-column a:link {
  color: #006dd9;
  text-decoration: none;
}
.entry-column a:hover,
.entry-column a:focus,
.entry-column a:active {
  text-decoration: underline;
}
.entry-column a:visited {
  color: #0036a7;
  text-decoration: none;
}
/* アコーディオン */
.acordion_title {
  cursor: pointer;
}
.acordion_warpper {
  display: none;
}
/* 本文 */
.entry-column p {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.7;
}
.entry-column p em,
em {
  font-style: normal;
  font-weight: bold;
}
.entry-column p strong {
  color: #e70d14;
}
@media (max-width: 767px) {
  .entry-column p {
    font-size: 14px;
  }
  .entry-column p.large_title {
    font-size: 22px;
  }
  .entry-column p.small_text {
    font-size: 12px;
  }
}
/* エントリー内ボタン */
.entry-column p.entry-btn {
  margin-bottom: 10px;
}
.entry-column p.entry-btn a {
  background: #999;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 8px 15px;
  border-radius: 3px;
}
.entry-column p.entry-btn a:hover,
.entry-column p.entry-btn a:visited {
  color: #fff;
  text-decoration: none;
}
.entry-column p.entry-btn a:focus,
.entry-column p.entry-btn a:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.entry-column p.entry-btn a:hover {
  background-color: #999;
  background-image: linear-gradient(to bottom, #c1c1c1, #999);
  color: #fff;
}
.entry-column p.entry-btn a:active,
.entry-column p.entry-btn a:focus {
  background: #878787;
}

/* 色付きボタン */
.entry-column p.entry-btn-attention a {
  background: #ff9a00;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  border: 0;
  display: inline-block;
  padding: 8px 15px;
  border-radius: 3px;
}
.entry-column p.entry-btn-attention a:hover,
.entry-column p.entry-btn-attention a:visited {
  color: #fff;
  text-decoration: none;
}
.entry-column p.entry-btn-attention a:focus,
.entry-column p.entry-btn-attention a:active {
  color: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
}
.entry-column p.entry-btn-attention a:hover {
  background-color: #ff9a00;
  background-image: linear-gradient(to bottom, #fdd87d, #ff9a00);
  color: #fff;
}
.entry-column p.entry-btn-attention a:active,
.entry-column p.entry-btn-attention a:focus {
  background: #eda800;
}

.entry-column p.summary-title {
  margin: 0 0 10px 0;
}

.entry-column p.summary-detail {
  margin: 0 0 10px 0;
  font-size: 14px;
}
.entrytable {
  margin: 0 5px;
}
/* エントリー内コンテナー */
.entry-container {
  margin: 0 5px;
}

/* テーブル */
.entry-column table {
  width: 100%;
  margin: 0 0 30px 0;
}
.entry-column table.table-history {
  table-layout: fixed;
}

.entry-column th,
.entry-column td {
  /* display: block; */
  padding: 5px 10px;
  text-align: left;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  border-top: 1px solid #dfdfdf;
  vertical-align: top;
}

.entry-column .acms-table-responsive {
  margin-bottom: 30px;
}
.entry-column .acms-table-responsive th,
.entry-column .acms-table-responsive td {
  display: table-cell;
  white-space: nowrap;
}
.entry-column .acms-table-responsive table {
  margin: 0;
}

.entry-column th {
  background: #f5f5f5;
}
@media (max-width: 767px) {
  .entry-column h2 {
    font-size: 16px;
  }
  .entry-column th,
  .entry-column td {
    font-size: 12px;
  }
}
/* スクロールするテーブル */
div.scrolltable {
  overflow: auto;
}
.entry-column .scrolltable th,
.entry-column .scrolltable td {
  white-space: nowrap;
  display: table-cell;
  padding: 5px 10px;
  text-align: left;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  border-top: 1px solid #dfdfdf;
  vertical-align: top;
}

/* リスト */
.entry-column ul {
  margin: 0 0 25px 0;
  padding: 0 0 0 2em;
}
.entry-column ul li {
  margin: 0 0 5px 0;
  font-size: 16px;
  line-height: 1.5;
}
.entry-column ul.summary-default {
  padding: 0;
}
.entry-column ul.summary-default li {
  margin: 0;
}

/* 番号付きリスト */
.entry-column ol {
  margin: 0 0 25px 0;
  padding: 0 0 0 2em;
}
.entry-column ol li {
  margin: 0 0 5px 0;
  font-size: 16px;
  line-height: 1.5;
}

/* 定義リスト */
.entry-column dl {
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.5;
}

.entry-column dt {
  margin: 0 10px 5px 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  min-width: 150px;
  float: left;
  padding-left: 5px;
}
.entry-column dt:before {
  font-family: FontAwesome, sans-serif;
  content: "\f105";
  color: #f1c0c3;
  margin-right: 5px;
}
.entry-column dd {
  margin-left: 0;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.5;
  padding-left: 170px;
}

.entry-column dl.released dt {
  margin: 0 10px 5px 0;
  min-width: auto;
  float: none;
  padding-left: 5px;
}
.entry-column dl.released dd {
  padding-left: 20px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .entry-column ul li,
  .entry-column ol li {
    font-size: 14px;
  }
  .entry-column dl,
  .entry-column dt,
  .entry-column dd {
    font-size: 14px;
  }
}

/* 引用 */
.entry-column blockquote {
  width: 100%;
  margin-bottom: 30px;
  padding: 15px 20px 15px 16px;
  font-size: 16px;
  line-height: 1.5;
  border-left: 4px solid #bfbfbf;
  background: #efefef;
  box-sizing: border-box;
}

/* ソースコード */
.entry-column pre {
  width: 100%;
  margin: 0 0 30px 0;
  box-sizing: border-box;
}
.entry-column pre ol {
  margin: 0;
  padding: 0 0 0 2.5em;
}
.entry-column pre ol li {
  line-height: 1.5;
}

/* 区切り線 */
.entry-column hr {
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

/* ユニット */
.entry-column .caption {
  margin: 0 0 20px 0;
  font-size: 13px;
}

.column-file-auto + .caption {
  margin-left: 10px;
}
.entry-column .caption a {
  display: inline;
}

@media screen and (min-width: 480px) {
  .entry-column .table-history-img {
    float: right;
  }
}

@media screen and (min-width: 768px) {
  .entry-column th,
  .entry-column td {
    display: table-cell;
    padding: 15px 20px;
    text-align: left;
    font-size: 16px;
    border-top: 1px solid #dfdfdf;
  }
  .entry-column th {
    background: inherit;
  }
  .entry-column tr:nth-child(odd) {
    background: #f5f5f5;
  }
  .entrytable table tr:nth-child(2n + 1) {
    background: #fafafa;
  }
  .entrytable table {
    border-bottom: 1px solid #dfdfdf;
    border-right: 1px solid #dfdfdf;
    border-left: 1px solid #dfdfdf;
  }
  .entry-column .smalltable_wrap th,
  .entry-column .smalltable_wrap td {
    padding: 7px 15px;
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .entry-column dt {
    min-width: 150px;
    width: 100%;
    margin-bottom: 0;
    float: none;
  }
  .entry-column dd {
    padding-left: 15px;
  }
  .entrytable table {
    border-bottom: 1px solid #dfdfdf;
    border-right: 1px solid #dfdfdf;
    border-left: 1px solid #dfdfdf;
  }
}

/* エントリーフッター */
.entry-footer {
  margin: 0 0 20px 0;
  padding: 10px;
  background: #f5f5f5;
}

/* タグ */
.entry-tag {
  margin: 0 0 5px 0;
}

.entry-tag-icon {
  float: left;
  color: #999;
}

.entry-tag-item {
  float: left;
  margin: 0 0 0 10px;
}

/* SNSシェア */
.share-wrapper {
  float: right;
}

.share-text {
  display: inline;
  float: left;
  margin: 0;
}

/* SNSシェアボタン */
.share-list {
  display: inline;
  list-style: none;
  float: right;
  margin: 0;
  padding: 0;
}

.share-item {
  display: inline-block;
  margin: 0 0 0 20px;
  vertical-align: top;
}
.share-item a {
  color: #999;
  text-decoration: none;
}
.share-item [class*="acms-icon"] {
  font-size: 16px;
  vertical-align: middle;
}
.share-item .share-item-facebook {
  /* Facebook */
  display: block;
  width: 22px;
  height: 22px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  font-size: 16px;
  background: #3b5999;
  border-radius: 4px;
}
.share-item .share-item-facebook:before {
  vertical-align: middle;
}
.share-item .share-item-twitter {
  /* Twitter */
  display: block;
  width: 22px;
  height: 22px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  font-size: 16px;
  background: #55acee;
  border-radius: 4px;
}
.share-item .share-item-twitter:before {
  vertical-align: middle;
}
.share-item .share-item-gplus {
  /* Google + */
  display: block;
  width: 22px;
  height: 22px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  font-size: 16px;
  background: #dd4b39;
  border-radius: 4px;
}
.share-item .share-item-gplus:before {
  vertical-align: middle;
}

/* 続きを読むボタン */
.continue-link {
  margin: 0;
  font-size: 16px;
}

.continue-link a {
  display: inline-block;
  padding: 10px;
  color: #fff;
  line-height: 1.5;
  font-weight: bold;
  border-radius: 3px;
  background: #999;
}
.continue-link a [class*="acms-icon"] {
  margin: 0 10px 0 0;
}
.continue-link a:link,
.continue-link a:visited {
  color: #fff;
}
.continue-link a:hover,
.continue-link a:focus,
.continue-link a:active {
  color: #fff;
  text-decoration: none;
  background: #aaa;
}

@media screen and (min-width: 768px) {
  /* タグ */
  .entry-tag {
    margin: 0;
  }
  /* 続きを読むボタン */
  .continue-link a {
    padding: 5px 10px;
    font-weight: normal;
  }
}

/* ------------------------------
　　キャンプ
------------------------------ */
.campbtnwrap img {
  width: 100%;
}
.campbtnwrap a:hover {
  opacity: 0.5;
}
.campbtnwrap > div > div {
  padding: 0 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.camparrowdown {
  display: block;
  text-align: center;
  font-size: 20px;
  color: #ff3f68;
}
#campflow01,
#campflow02,
#campflow03 {
  background-color: #ff3f68;
  color: #fff;
  text-align: center;
  padding: 5px;
}
.camp_gallery_btn {
  margin-top: 20px;
}
.camp_gallery_btn a {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  padding: 15px;
  display: block;
  color: #fff !important;
  background-color: #68b4ff;
}
@media (max-width: 767px) {
  .campbtnwrap > div > div {
    padding: 0 5px;
  }
  .camp_gallery_btn {
    margin-top: 5px;
  }
  .camp_gallery_btn a {
    font-size: 12px;
    padding: 10px;
  }
}
/* ------------------------------
　　編集ページ
------------------------------ */
.field-title {
  padding: 0 10px;
}

.field-title:first-child {
  margin: 0 0 10px 0;
}

/* ------------------------------
　　サブカラム
------------------------------ */
.side-title {
  margin-top: 0;
  font-size: 18px;
}

/* ------------------------------
　　お問い合わせ
------------------------------ */
.contact_telno {
  text-align: center;
  margin: 0 10px 50px;
}
.contact-box p.message {
  margin: 0 10px 35px;
  padding: 0;
  font-weight: bold;
  color: #666;
}

.contact-box p.contact-no {
  margin: 0 10px;
  font-size: 34px;
  line-height: 1.4;
  font-weight: bold;
  color: #333;
  text-align: center;
}
.contact-box p.contact-no a {
  color: inherit;
}

.contact-box p.error-text {
  /* エラー文 */
  margin: 8px 0 0 0;
  color: #d7214a;
  font-size: 14px;
}

.contact-box table.contact-form {
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
}
.contact-box table.contact-form tr {
  background: #fff;
}

@media screen and (min-width: 480px) {
  .contact-box th,
  .contact-box td {
    /* display: table-cell; */
  }
}

@media screen and (min-width: 768px) {
  .contact-box th {
    width: 260px;
  }
}
@media (max-width: 767px) {
  .contact-box p.contact-no {
    font-size: 24px;
  }
}

/* ステップ 
------------------------------ */
.contact-box .mail-step {
  margin: 0 10px 35px 10px;
  padding: 0 10px;
  background: #e5e5e5;
  /* カウンターの設定 */
  counter-reset: mailStep;
}

.contact-box .mail-step-item {
  float: left;
  list-style: none;
  margin: 0 10px;
  padding: 18px 0 14px;
  color: #999;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 4px solid transparent;
}
.contact-box .mail-step-item:before {
  /* カウンターの設定 */
  counter-increment: mailStep;
  content: counter(mailStep) ".";
}

.contact-box .mail-step-item-current {
  color: #333;
  border-bottom: 4px solid #333;
}

@media screen and (min-width: 768px) {
  .contact-box .mail-step {
    height: 60px;
  }
}

/* 送信ボタン
------------------------------ */
.form-btn-box {
  margin: 0 10px 50px 10px;
  text-align: center;
}

.form-btn {
  display: inline-block;
}

.form-btn-return {
  float: left;
}

.form-btn-send {
  float: right;
}

@media screen and (min-width: 768px) {
  .form-btn-return {
    float: none;
  }
  .form-btn-send {
    float: none;
    max-width: 360px;
    width: 100%;
  }
}

/* ラベル 
------------------------------ */
.label-required {
  margin: 0 5px;
  padding: 2px 8px;
  color: #fff;
  font-size: 12px;
  border-radius: 3px;
  background: #666;
}

@media screen and (min-width: 768px) {
  .label-required {
    float: right;
  }
}

/* フォーム要素
------------------------------ */
.contact-box select[required]:required {
  border: 1px solid #c49511;
}

.contact-box select.focused:invalid {
  border: 1px solid #666;
}

.contact-box select[required]:valid {
  border: 1px solid #a7a7aa;
}

.contact-box input[required]:required,
.contact-box textarea[required]:required {
  background: #fffdeb;
}

.contact-box input.focused:invalid,
.contact-box textarea.focused:invalid {
  background: #ffebee;
}

.contact-box input[required]:valid,
.contact-box textarea[required]:valid {
  background: #fff;
}

/* バリデーター
------------------------------ */
.valid-mark {
  display: none;
}

.valid-mark.valid {
  display: inline;
  color: #5cb85c;
  float: right;
}

.invalid {
  background: #ffebee !important;
}

/* ------------------------------
　　ヘッダー
------------------------------ */
.header {
  padding-top: 35px;
}
.head-wrapper {
  background-image: url("../images/headerpattern.png");
  background-repeat: repeat-x;
  background-position: top;
  overflow: hidden;
}
.headermenu {
  text-align: center;
  border-right: 2px solid #eee;
  min-width: 140px;
  /* float: left; */
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media (max-width: 1200px) {
  .headermenu {
    min-width: auto;
  }
}
.header .headermenu:nth-child(1),
.header .headermenu:nth-child(5) {
  border-left: 2px solid #eee;
}
@media (max-width: 1023px) {
  .header .headermenu:nth-child(1),
  .header .headermenu:nth-child(5) {
    border-left: 0px solid #ddd;
  }
  .header .headermenu:nth-child(1),
  .header .headermenu:nth-child(4) {
    /* border-left: 2px solid #EEE; */
  }
  .headermenu {
    border: 0;
  }
}
.headermenu a {
  display: block;
  width: 100%;
  color: #666;
  font-size: 13px;
  font-weight: bold;
  /* padding-bottom: 5px; */
  padding: 0 18px 5px;
  box-sizing: border-box;
}
.headermenu a:hover {
  text-decoration: none;
  background-color: #ffddbe;
}
.headermenu a span {
  display: inline-block;
}
.headermenu img {
  display: block;
  margin: 0 auto;
  width: 60px;
}
.headerlogo {
  float: left;
  /* width: calc(100% - 560px); */
  flex-basis: 2;
  padding: 0 30px;
}
.pc_iconheadermenu {
  box-sizing: border-box;
  padding: 0 10px 0 20px;
  display: flex;
  width: 100%;
  justify-content: center;
}
/* サイト名 */
.site-name {
  font-size: 14px;
  font-weight: bold;
  color: #666;
}
.header-stack .site-name {
  margin: 10px 0 0;
}
.site-name a {
  color: #666;
}
.site-name a:hover,
.site-name a:focus,
.site-name a:active,
.site-name a:visited {
  color: #666;
}

.site-logo {
  display: inline-block;
  /* width: 100%; */
  height: auto;
  vertical-align: middle;
}

.site-name-text {
  display: inline;
  vertical-align: middle;
}

.edit-link {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
}
@media (min-width: 768px) {
  .site-name {
    font-size: 24px;
  }
  .header-stack .site-name {
    text-align: center;
  }
  .site-logo {
    width: 300px;
  }
  .header {
    display: table;
    width: 100%;
  }
  .header-stack .header {
    display: block;
  }
  .header-logo {
    display: table-cell;
    width: 100%;
    vertical-align: middle;
  }
  .header-stack .header-logo {
    display: block;
  }
  .header-nav {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
  }
  .header-stack .header-nav {
    display: block;
    width: 100%;
    margin: 0 0 15px 0;
  }
}

@media (min-width: 1024px) {
  .header-logo {
    display: table-cell;
    width: 40%;
  }
  .header-stack .header-logo {
    display: block;
    width: 100%;
  }
  .header-nav {
    display: table-cell;
    width: 60%;
  }
  .header-stack .header-nav {
    display: block;
    width: 100%;
    margin: 0 0 15px 0;
  }
}
@media (max-width: 1023px) {
  .headermenu {
    width: 11%;
    min-width: 11%;
    display: flex;
    align-items: center;
  }
  .headermenu a {
    font-size: 9px;
    padding: 0 5px 5px;
  }
  .headerlogo {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 30%;
    padding: 0 25px;
  }
  .headermenu img {
    width: 40%;
  }
  .site-logo {
    width: 100%;
  }
  .header {
    padding: 20px 10px 0;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .headerlogo_sp {
    position: absolute;
    margin: auto;
    top: 10px;
    right: 0;
    left: 0;
    width: 200px;
  }
  .spheadnav .headermenu {
    width: 33.3%;
  }
  .spheadnav {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    /* overflow: hidden; */
    padding: 0 0 5px;
    /* border-top: 2px solid #EEE; */
  }
  .header .headermenu:nth-child(4) {
    /* border-left: none; */
  }
  .header {
    margin-bottom: 5px;
    padding: 80px 10px 0;
  }
  .head-wrapper {
    background-image: none;
  }
  .head-wrapper .acms-container {
    padding: 5px;
  }
}
/* ------------------------------
　　ナビゲーション
------------------------------ */
.header-logo {
  /* 固定したときの高さを保つ */
  padding: 48px 0 0 0;
}
.site-header_sp {
  background-image: url(../images/headerpattern.png);
  background-repeat: repeat-x;
  background-position: top;
  overflow: hidden;
  height: 4px;
}
.site-header {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  padding: 0 5px 5px;
  background: #fff;
  z-index: 100000;
  box-sizing: border-box;
  height: 80px;
}
.site-header.btmshadow {
  box-shadow: 0px 0px 3px 0px #d4d4d4;
  -moz-box-shadow: 0px 0px 3px 0px #d4d4d4;
  -webkit-box-shadow: 0px 0px 3px 0px #d4d4d4;
}
/* モバイル時ナビゲーションボタン */
.nav-menu-btn {
  display: inline-block;
  height: 44px;
  padding: 7px 5px;
  font-size: 20px;
  color: #333;
  box-sizing: border-box;
  position: absolute;
}
a .nav-menu-btn {
  color: #333;
}
.nav-menu-btn:hover {
  color: #333;
  text-decoration: none;
}
.nav-menu-btn .acms-icon-sort {
  display: inline-block;
}

.nav-menu-btn-text {
  margin: 0 0 0 5px;
  font-size: 11px;
  font-weight: bold;
  color: #333;
  vertical-align: middle;
  display: inline-block;
}

/* モバイル時ヘッダー アイコン */
.nav-menu-action {
  display: table;
  float: right;
  margin: 0;
  padding: 0;
}

.nav-menu-action-item {
  display: table-cell;
  width: 44px;
  height: 44px;
  vertical-align: middle;
  text-align: center;
  font-size: 20px;
  color: #333;
}

.nav-menu-action-link {
  color: #333;
}
.nav-menu-action-link:hover,
.nav-menu-action-link:active,
.nav-menu-action-link:visited,
.nav-menu-action-link:focus {
  color: #333;
  text-decoration: none;
}

.navbar {
  display: none;
  width: 100%;
}
.navbar.acms-admin-module-edit-wrapper {
  z-index: 1;
}
.navbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.navbar li a {
  display: block;
  padding: 10px;
  color: #333;
  font-weight: bold;
  font-size: 16px;
}
.navbar li a:hover,
.navbar li a:focus,
.navbar li a:active {
  text-decoration: none;
  color: #fff;
  background: #666;
}

@media (min-width: 1024px) {
  .header {
    height: 100px;
  }
  .navbar {
    display: inline-block;
    vertical-align: middle;
  }
  .navbar > ul {
    float: right;
    list-style: none;
    padding: 0;
  }
  .header-stack .navbar > ul {
    float: none;
    display: table;
    width: 100%;
    table-layout: fixed;
    border-right: 1px solid #eee;
  }
  .navbar li {
    float: left;
    position: relative;
    margin: 0 10px;
    vertical-align: middle;
    text-align: center;
  }
  .header-stack .navbar li.navbar-btn {
    padding: 0 10px;
  }
  .header-stack .navbar li {
    float: none;
    display: table-cell;
    border-left: 1px solid #eee;
  }
  .navbar li ul {
    /* 二階層目 */
    display: none;
    position: absolute;
    left: 0;
    min-width: 200px;
  }
  .navbar li li {
    margin: 0;
  }
  .header-stack .navbar li li {
    display: block;
    border: 0;
  }
  .navbar li a {
    /* 一階層目のリンクのみ */
    padding: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: border 0.25s ease-out;
  }
  .navbar li a:hover,
  .navbar li a:focus,
  .navbar li a:active {
    color: #333;
    background: transparent;
  }
  .header-stack .navbar li a {
    display: block;
    padding: 10px;
    font-size: 16px;
  }
  .navbar li.stay a {
    /* 一階層目のリンクのみ */
    border-bottom: 4px solid #666;
  }
  .navbar li.stay a.btn-attention {
    border: 0;
  }
  .navbar li:hover ul {
    /* 二階層目 */
    display: block;
    z-index: 10000;
    -webkit-animation: 0.8s fade-in;
    animation: 0.8s fade-in;
  }
  .navbar li:hover a {
    /* 一階層目のリンクのみ */
    border-bottom: 4px solid #666;
  }
  .navbar li:hover a.btn-attention {
    border: 0;
  }
  .navbar li:hover li a {
    border: 0;
  }
  .navbar li li {
    /* 二階層目以降 */
    display: block;
    float: none;
    text-align: left;
    background: #666;
    border: 0;
    border-top: 1px solid #910021;
  }
  .navbar li li:first-child {
    border: 0;
  }
  .navbar li li a {
    margin: 0;
    padding: 10px 15px;
    color: #fff;
    border: 0;
  }
  .navbar li li a:hover {
    color: #fff;
    border: 0;
    background: #910021;
  }
  .navbar a.btn-attention {
    /* ボタン（色付き） */
    background: #ff9a00;
    font-weight: bold;
    color: #fff;
    line-height: 1.2;
    border: 0;
    display: inline-block;
    padding: 8px 15px;
    border-radius: 3px;
    border: 0;
  }
  .navbar a.btn-attention:hover,
  .navbar a.btn-attention:visited {
    color: #fff;
    text-decoration: none;
  }
  .navbar a.btn-attention:focus,
  .navbar a.btn-attention:active {
    color: #fff;
    box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
  }
  .navbar a.btn-attention:hover {
    background-color: #ff9a00;
    background-image: linear-gradient(to bottom, #fdd87d, #ff9a00);
    color: #fff;
    border: 0;
  }
  .navbar a.btn-attention:active,
  .navbar a.btn-attention:focus {
    background: #eda800;
  }
}

@media (min-width: 1024px) {
  .header-logo {
    padding: 0;
  }
  .navbar ul li a {
    font-size: 14px;
  }
}

@media (min-width: 1440px) {
  .navbar ul li a {
    font-size: 16px;
  }
}

/* オフキャンバス */
.close-btn {
  display: none;
  width: 100%;
  padding: 0;
  border: 0;
  outline: none;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  opacity: 1;
  -webkit-tap-highlight-color: transparent;
}

.js-acms-offcanvas-open #offcanvas .close-btn {
  display: block;
  opacity: 0.7;
}

.js-acms-offcanvas-open #offcanvas .close-btn:focus {
  color: #fff;
  overflow: initial;
  white-space: initial;
  text-indent: initial;
}

@media (max-width: 1023px) {
  #nav {
    padding: 10px 15px 100px 15px;
    box-sizing: border-box;
  }
  .offcanvas-nav {
    /* グローバルナビゲーション */
    margin: 0 0 20px 0;
  }
  .offcanvas-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .offcanvas-nav li {
    display: block;
    padding: 10px;
    font-size: 16px;
    border-top: 1px solid #ccc;
  }
  .offcanvas-nav li.navbarBtn {
    border: 0;
  }
  .offcanvas-nav li.stay {
    background: #555;
  }
  .no-js .offcanvas-nav li.stay {
    background: #e5e5e5;
  }
  .offcanvas-nav li:first-child {
    border: 0;
  }
  .offcanvas-nav li ul {
    display: none;
  }
  .offcanvas-nav a {
    display: block;
    margin: -10px;
    padding: 10px;
    color: #666;
  }
  .offcanvas-nav a:hover {
    text-decoration: none;
  }
  .offcanvas-nav a.btn-attention {
    border-top: 0;
    border-radius: 0;
    font-weight: normal;
  }
  .offcanvas-nav a.btn-attention:hover {
    background: #ff9a00;
  }
  .no-js .offcanvas-nav a {
    color: #333;
  }
  /* オフキャンバス内のパーツ */
  .offcanvas-bar {
    display: none;
    padding: 0 0 50px;
  }
  .js-acms-offcanvas-active .offcanvas-bar {
    background: #fff;
  }
  .offcanvas-bar .module-header {
    color: #fff;
    border-bottom: 2px solid #fff;
  }
  .no-js .offcanvas-bar .module-header {
    /* IE8対応 */
    color: #333;
    border-bottom: 2px solid #333;
  }
  .offcanvas-bar .side-list-link {
    color: #fff;
  }
  .no-js .offcanvas-bar .side-list-link {
    /* IE8対応 */
    color: #333;
  }
  .offcanvas-bar .side-list-link:hover,
  .offcanvas-bar .side-list-link:visited,
  .offcanvas-bar .side-list-link:focus,
  .offcanvas-bar .side-list-link:active {
    color: #fff;
    background: 0;
  }
  .no-js .offcanvas-bar .side-list-link:hover,
  .no-js .offcanvas-bar .side-list-link:visited,
  .no-js .offcanvas-bar .side-list-link:focus,
  .no-js .offcanvas-bar .side-list-link:active {
    /* IE8対応 */
    color: #333;
  }
  .offcanvas-bar .pickup-title {
    margin: 0;
    color: #fff;
    font-size: 16px;
  }
  .offcanvas-bar .pickup-title a {
    color: inherit;
  }
  .offcanvas-bar .btn-search {
    background: #999;
    border: 1px solid #666;
  }
  .offcanvas-bar .sns-list {
    margin: 0 -5px;
  }
}
/* ------------------------------
　　スマホ用メニューボタン
------------------------------ */
.menu-trigger {
  margin: 10px 0 5px 10px;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: absolute;
  top: 12px;
  width: 26px;
  height: 23px;
}
.smaller .menu-trigger {
  top: 8px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #888;
  border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 11px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.js-acms-offcanvas-body-left .menu-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(11px) rotate(-315deg);
  transform: translateY(11px) rotate(-315deg);
}
.js-acms-offcanvas-body-left .menu-trigger span:nth-of-type(2) {
  opacity: 0;
}
.js-acms-offcanvas-body-left .menu-trigger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}
.js-ready #nav {
  width: 70%;
  background-color: #fffbf5;
}
/* ------------------------------
　　スマホナビカスタム
------------------------------ */
.spmenuwrap {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.spnavheadlogo {
  padding-top: 15px;
  padding-bottom: 10px;
  text-align: center;
  border-bottom: 1px solid #ddd;
}
.spnavheadlogo img {
  min-width: 180px;
  max-width: 300px;
  width: 40%;
}
.spnav_largeicon {
  /* overflow: hidden; */
  display: flex;
  flex-wrap: wrap;
}
.spnav_largeicon div {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 33.333%;
  /* height: 100%; */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 5px;
  text-align: center;
  font-size: 8px;
  /* float: left; */
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.spnav_largeicon div img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100px;
  width: 50%;
}
.spnav_largeicon div a {
  color: #666;
  font-size: 8px;
}
.spnav_largeicon div a span {
  display: inline-block;
}
.spnav_smallicon {
  overflow: hidden;
}
.spnav_smallicon ul {
  margin-top: 8px;
  margin-left: 0;
  margin-bottom: 0;
  padding-right: 3px;
  padding-left: 3px;
}
.spnav_smallicon ul li {
  list-style: none;
  padding-left: 3px;
  padding-right: 3px;
  margin-bottom: 6px;
}
.spnav_smallicon ul li img {
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
.spnav_textlink1 ul {
  padding-left: 0;
  border-top: 1px solid #ddd;
  margin-top: 5px;
}
.spnav_textlink1 ul li {
  font-size: 14px;
  border-bottom: 1px solid #ddd;
  list-style: none;
  position: relative;
}
.spnav_textlink1 ul li:before {
  position: absolute;
  top: 13px;
  bottom: 0;
  left: 13px;
  margin-top: auto;
  margin-bottom: auto;
  font-family: FontAwesome, sans-serif;
  content: "\f105";
  color: #f19594;
}
.spnav_textlink1 ul li a {
  color: #666;
  padding: 10px 10px 10px 30px;
  display: block;
}
.spnav_imgbanner {
  margin: 8px 3px 0;
}
.spnav_imgbanner li {
  margin-bottom: 3px;
}
/* ------------------------------
　　フッター
------------------------------ */
.footerillust {
  background-image: url("../images/footerimg.png");
  background-repeat: repeat-x;
  background-position: bottom center;
  width: 100%;
  height: 120px;
}
.footercontent {
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #77ae8b;
}
.btn-shadow {
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
}
.footerlogoimg img {
  width: 100%;
  margin-bottom: 10px;
  max-width: 300px;
}

address p {
  font-style: normal;
  color: #fff;
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 0;
}
.footerdescription p {
  font-size: 12px;
  margin-bottom: 20px;
}
.copyright {
  background-color: #537a62;
  padding: 15px;
  font-size: 12px;
  letter-spacing: 0.1em;
}
/* お問い合わせ誘導エリア */
.suggest-box {
  background: #ddd;
}

.suggest-inner {
  display: table;
  width: 100%;
  padding: 15px 0;
}

.suggest-item {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.suggest-text {
  margin: 0 0 10px 0;
  line-height: 1.5;
  font-size: 14px;
}

.suggest-tel {
  margin: 0 0 10px 0;
  font-size: 24px;
  font-weight: bold;
  color: #666;
}
.suggest-tel a {
  color: inherit;
}

.suggest-btn {
  margin: 0;
}
.footer_right {
  float: right;
  color: #fff;
}
.footer_right a {
  color: #fff;
  text-decoration: underline;
}
.enterfree {
  text-align: center;
  color: #fff;
  border: 1px solid;
  font-size: 18px;
  font-weight: bold;
  padding: 7px;
  margin-top: 10px;
}
.footer_right ul {
  padding-left: 0;
}
.footer_right ul li {
  font-size: 12px;
  padding-bottom: 5px;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .suggest-inner {
    padding: 0;
  }
  .suggest-item {
    padding: 30px 10px;
  }
  .suggest-tel {
    margin: 0;
  }
  .suggest-half {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
  }
}
@media (max-width: 767px) {
  .footer_right {
    margin-top: 30px;
    float: none;
    text-align: center;
  }
  .footerlogoimg {
    text-align: center;
  }
  .footerlogoimg img {
    width: 100%;
    max-width: 200px;
  }
}
/* フッター内会社情報 */
.foot-wrapper {
  padding: 30px 0 0;
  position: relative;
  overflow: hidden;
}

.company-about {
  margin: 0 0 30px 0;
  color: #fff;
}

.company-name {
  margin: 0 0 15px 0;
  color: #fff;
  font-size: 20px;
  font-style: normal;
}

.company-detail {
  margin: 0 0 5px 0;
  padding: 0;
  color: #fff;
  font-size: 14px;
  font-style: normal;
}
.company-detail a {
  color: #fff;
}
.company-detail a:hover {
  text-decoration: underline;
}

/* フッターナビゲーション */
.footer-nav {
  float: right;
  width: 650px;
  max-width: 100%;
  margin: 0 -10px;
}

.footer-nav-item {
  float: left;
  display: block;
  width: 25%;
  margin: 0 0 10px 0;
  padding: 0 10px;
  vertical-align: top;
  box-sizing: border-box;
}

.footer-nav-title {
  margin: 0 0 5px 0;
  color: #ccc;
  font-size: 16px;
}

.footer-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-nav-list li {
  line-height: 1.7;
}
.footer-nav-list a {
  color: #999;
}

@media screen and (max-width: 767px) {
  .footer-nav {
    display: none;
  }
}

/*フッター汽車アニメーション*/
#footertrain {
  position: absolute;
  top: 5px;
  z-index: 100;
  width: 700px;
  right: -700px;
  white-space: nowrap;
}
#footertrain span {
  display: inline-block;
  position: relative;
}

/* ページの上に戻るボタン */
.page-top-btn {
  display: block;
  position: fixed;
  right: 20px;
  bottom: 90px;
  width: 60px;
  height: 60px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url("../images/marker/btn_pageTop.png") no-repeat center;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
.no-js .page-top-btn {
  /* jsが無効の環境のとき */
  opacity: 0.6;
}

.page-top-btn-appear {
  opacity: 1;
}

@media screen and (max-width: 767px) {
}

@media screen and (min-width: 768px) {
  .page-top-btn:hover {
    opacity: 0.8;
    transition: opacity 0.25s linear;
  }
}

/* フッター内各SNSアカウントのリンク集 */
.sns-list {
  list-style: none;
  margin: 0 -5px 30px 15px;
  padding: 0;
}

.sns-list-item {
  float: left;
  margin: 0 5px;
}
.sns-list-item a:hover,
.sns-list-item a:visited,
.sns-list-item a:active,
.sns-list-item a:focus {
  text-decoration: none;
}

/* 各種SNSボタン */
.sns-list-item .sns-list-facebook {
  /* Facebook */
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 1.5;
  font-size: 19px;
  color: #fff;
  border-radius: 4px;
  background: #3b5999;
}
.sns-list-item .sns-list-facebook:before {
  vertical-align: middle;
}

.sns-list-item .sns-list-twitter {
  /* Twitter */
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 1.5;
  font-size: 19px;
  color: #fff;
  border-radius: 4px;
  background: #55acee;
}
.sns-list-item .sns-list-twitter:before {
  vertical-align: middle;
}

.sns-list-item .sns-list-gplus {
  /* Google + */
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 1.5;
  font-size: 19px;
  color: #fff;
  border-radius: 4px;
  background: #dd4b39;
}
.sns-list-item .sns-list-gplus:before {
  vertical-align: middle;
}

.sns-list-item .sns-list-youtube {
  /* YouTube */
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 1.5;
  font-size: 19px;
  color: #fff;
  border-radius: 4px;
  background: #cd201f;
}
.sns-list-item .sns-list-youtube:before {
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .sns-list {
    float: right;
    margin: 0 -10px;
  }
  .sns-list-item {
    margin: 10px;
  }
  .sns-list-item a:hover {
    opacity: 0.8;
    transition: opacity 0.25s linear;
  }
}

/* 著作権表示 */
.copyright {
  margin: 0;
  color: #fff;
}

.copyright-text {
  margin: 0 auto;
}

.copryright-logo {
  vertical-align: middle;
}

/* 404 */
.notfound {
  text-align: center;
}
.pagenotfound_title {
  font-size: 20px;
  color: #f16262;
}
a.gototop404 {
  display: inline-block;
  padding: 10px 15px;
  margin: 10px auto;
  border: 1px solid #ddd;
  color: #666;
}

/* ボランティアフォーム */
.volunteerformwrap {
  margin-top: 30px;
}
.volunteerformwrap h2 {
  text-align: center;
  background-color: #c0d6f3;
  font-size: 18px;
  padding: 20px;
}

/* イベント情報チェックボックス */
.filed_calendar {
  overflow: hidden;
  margin-bottom: 50px;
}
.eventday_table .acms-table td,
.eventday_table .acms-table th {
  font-size: 8px;
  padding: 3px;
}
.eventday_table .acms-table th {
  font-weight: bold;
  text-align: center;
}
.eventday_table .acms-admin-btn-checkbox + label {
  padding: 3px;
  background-color: #fafafa;
  border: 1px solid #cacece;
  border-radius: 20px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05),
    inset 0 -15px 10px -12px rgba(0, 0, 0, 0.05);
  font-size: 9px;
  min-width: 2em;
  height: 2em;
  line-height: 2em;
}

.eventday_table .acms-admin-btn-checkbox:checked + label {
  color: #ffffff;
  background-color: rgb(184, 15, 15);
}


/* 2025.08 施設ナビゲーション追加 */
.asobiba_navi_btn_wrap{
  position: fixed;
  z-index: 101;
  right: 10px;
  bottom: 10px;
  width: 195px;
  transform: translateX(calc(100% + 20px));
    animation: slideInFromRight 0.2s ease-out 1s forwards,
             doublePulse 5s ease-in-out 1.5s infinite;
}
.asobiba_navi_btn_wrap:hover {
  /* ホバー時はパルスアニメーションを完全停止 */
  animation: slideInFromRight 0.5s ease-out 1s forwards;
}
.asobiba_navi_btn_wrap img{
  width: 100%;
  transition: all .2s;
}
.asobiba_navi_btn_wrap img:hover{
  cursor: pointer;
  transform: scale(1.1);
    /* ホバー時はパルスを一時停止 */
  animation-play-state: paused;
}
/* 右からスライドインするアニメーション */
@keyframes slideInFromRight {
  from {
    transform: translateX(calc(100% + 20px));
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
/* 2回素早く拡大→停止を繰り返すアニメーション */
@keyframes doublePulse {
  0% {
    transform: scale(1);
  }
  5% {
    transform: scale(1.05);
  }
  10% {
    transform: scale(1);
  }
  15% {
    transform: scale(1.05);
  }
  20% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}

@media (max-width: 767px) {
  .asobiba_navi_btn_wrap{
    right: 5px;
    bottom: 5px;
    max-width: 150px;
    width: 30%;
    transform: translateX(calc(100% + 20px));
      animation: slideInFromRight 0.2s ease-out 1s forwards,
              doublePulse 5s ease-in-out 1.5s infinite;
  }
}
