@charset "UTF-8";
/*================================================================
 *FILE          :page.css
 *DESCRIPTION   :resetはressを使用。環境変数とmixinは_mixin.scss内に記述。
                 それぞれfoundationよりインポート。
 *AUTHOR        :
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: "Hiragino Sans W3";
  src: local(HiraginoSans-W3); }

@font-face {
  font-family: "Hiragino Sans W4";
  src: local(HiraginoSans-W4); }

@font-face {
  font-family: "Hiragino Sans W5";
  src: local(HiraginoSans-W5); }

@font-face {
  font-family: "Hiragino Sans W6";
  src: local(HiraginoSans-W6); }

@font-face {
  font-family: "Hiragino Sans W7";
  src: local(HiraginoSans-W7); }

@font-face {
  font-family: "Hiragino Sans W8";
  src: local(HiraginoSans-W8); }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-pageMainLead, .c-pageLead, .c-qaList_wrapper, .info, .facilityCat_nodeName, .facilityCat_nodeLead, .facilityName, .facilityBlock {
    margin: auto;
    width: calc(100% - 32px); } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-pageLead, .c-qaList_wrapper, .sectionFacility {
    margin: auto;
    width: calc(100% - 40px);
    max-width: 1040px; } }

/*================================================================
 *FILE					:_components.scss
 *DESCRIPTION   :全ページ共通コンポーネント カスタムCSS
 *AUTHOR				:
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/* 共通パーツ
-----------------------------------------------------------------*/
/* ボタン
-----------------------------------------------------------------*/
/* タイトル
-----------------------------------------------------------------*/
/*
  固定ページ
------------------------------------*/
/* アーカイブ（記事一覧ページ）
-----------------------------------------------------------------*/
/* 特集リスト
-----------------------------------------------------------------*/
/*
  ナビゲーション
------------------------------------*/
/*
  エリアタグ
------------------------------------*/
/*
  バナー
------------------------------------*/
/*=============================================

  よくある質問

==============================================*/
/*=============================================

  全景マップ

==============================================*/
/*=============================================

  毎日のコメント

==============================================*/
/*=============================================

  動的マップ

==============================================*/
/*=============================================

  タブ切り替え

==============================================*/
/*=============================================

  ページャー

==============================================*/
/*=============================================
  画像拡大
==============================================*/
/*
  テーブル
------------------------------------*/
/*
  スマホでスクロールできる
------------------------------------*/
/*=============================================

  ポイントリスト

==============================================*/
/*=============================================

  強調リンク

==============================================*/
/*=============================================

  購入ボタン（赤色）

==============================================*/
/*=============================================

  イベント一覧

==============================================*/
/*  メインビジュアル */
.c-pageHead {
  position: relative;
  overflow: hidden; }

.c-pageHead_title {
  text-align: center;
  position: absolute;
  top: 34.89362%;
  left: 0;
  right: 0;
  margin: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageHead_title {
      min-width: 287px;
      max-width: 290px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageHead_title {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      min-width: 346px;
      max-width: 720px; } }
  .c-pageHead_title::before, .c-pageHead_title::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    margin: auto; }
  .c-pageHead_title h1 {
    color: #fff;
    font-weight: 800;
    line-height: 1.3; }
    @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
      .c-pageHead_title h1 {
        font-size: 22px;
        padding: 10px 0; } }
    @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
      .c-pageHead_title h1 {
        font-size: 32px;
        padding: 16px 0; } }

.c-pageHead_title-eng {
  font-family: "Anton", sans-serif;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  line-height: 1; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageHead_title-eng {
      font-size: 45px;
      bottom: -4px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageHead_title-eng {
      font-size: 96px;
      bottom: -8px; } }

.c-pageHead_image img {
  width: 100%; }

/*  リード文 */
.c-pageMainLead {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.5; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageMainLead {
      font-size: 20px;
      margin-top: 60px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageMainLead {
      font-size: 24px;
      margin-top: 58px; } }

.c-pageLead {
  letter-spacing: 0.04em;
  line-height: 1.8; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-pageLead {
      font-size: 14px;
      margin-top: 22px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageLead {
      text-align: center;
      font-size: 16px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-pageMainLead + .c-pageLead {
      margin-top: 30px; } }

.c-button {
  border: #000 solid 2px;
  background-color: #C0F55B;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-button {
      width: 230px;
      height: 56px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-button {
      width: 290px;
      height: 60px; } }
  @media (hover: hover) {
    .c-button:hover {
      background-color: #000; } }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-button.underBanner {
      margin-top: 40px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-button.underBanner {
      margin-top: 20px; } }

.c-buttonLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  padding:0 35px 0 5px;}

.c-buttonText {
  font-size: 14px;
  font-weight: 700; }
  @media (hover: hover) {
    .c-button:hover .c-buttonText {
      color: #fff; } }

.c-buttonSvg {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 18px;
  height: 12px;
  background-image: url("../svg/button_arrow_blk.svg");
  background-size: contain;
  background-repeat: no-repeat; }
  [target="_blank"] .c-buttonSvg {
    width: 13px;
    height: 13px;
    background-image: url("../svg/button_blank_blk.svg"); }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-buttonSvg {
      right: 16px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-buttonSvg {
      right: 15px; } }
  @media (hover: hover) {
    .c-button:hover .c-buttonSvg {
      background-image: url("../svg/button_arrow_wht.svg"); }
    .c-button:hover a[target="_blank"] .c-buttonSvg {
      background-image: url("../svg/button_blank_wht.svg"); } }

.c-buttonLine {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid #C0F55B;
  padding-bottom: 4px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content; }

.c-buttonLine_text {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0; }

.c-buttonLine_svg {
  width: 13px;
  height: 13px; }

.c-buttonSimple {
  background: #fff; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-qaList_wrapper {
    margin-top: 80px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-qaList_wrapper {
    margin-top: 160px; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-qaList_title {
    margin-top: 64px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-qaList_title {
    margin-top: 67px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-qaList {
    max-width: 920px;
    width: calc(100% - 120px);
    margin: auto; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-qaList_part {
    margin-top: 30px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-qaList_part {
    margin-top: 50px; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-qaList_node {
    padding-top: 20px;
    padding-bottom: 16px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-qaList_node {
    padding-bottom: 20px; } }

.c-qaList_question {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-qaList_question {
      font-size: 13px;
      padding-right: 40px;
      margin-bottom: 4px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-qaList_question {
      font-size: 16px;
      padding-top: 33px;
      padding-left: 24px;
      margin-bottom: 12px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  .c-qaList_question::before, .c-qaList_question::after {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    right: 0; }
    @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
      .c-qaList_question::before, .c-qaList_question::after {
        width: 16px;
        height: 2px;
        top: 0;
        bottom: 0;
        margin: auto; } }
    @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
      .c-qaList_question::before, .c-qaList_question::after {
        top: 52px;
        width: 20px;
        height: 3px; } }
  .c-qaList_question::before {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg); }
  .c-qaList_node.is-open .c-qaList_question::before {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }

.c-qaList_questionIcon {
  font-family: "Anton", sans-serif;
  margin-right: 24px; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-qaList_questionIcon {
      font-size: 24px;
      line-height: 1; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-qaList_questionIcon {
      font-size: 28px; } }

.c-qaList_content {
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  background-color: #F2F2F2;
  padding: 22px 32px;
  display: none; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-qaList_content {
      margin-top: 12px; } }

.c-qaList_node {
  border-bottom: 1px solid #C4C4C4; }
  .c-qaList_node:first-child {
    border-top: 1px solid #C4C4C4; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-nav {
    margin: 62px auto 0;
    max-width: 450px;
    width: calc(100% - 16px); } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-nav {
    max-width: 920px;
    margin: 70px auto 0; }
    .c-nav[data-column="1"] {
      width: calc(300px * 1); }
    .c-nav[data-column="2"] {
      width: calc(300px * 2); }
    .c-nav[data-column="3"] {
      width: calc(300px * 3); }
    .c-nav[data-column="4"] {
      width: calc(300px * 4); }
    .c-nav[data-column="5"] {
      width: calc(300px * 5); }
    .c-nav[data-column="6"] {
      width: calc(300px * 6); }
    .c-nav[data-column="7"] {
      width: calc(300px * 7); }
    .c-nav[data-column="8"] {
      width: calc(300px * 8); }
    .c-nav[data-column="9"] {
      width: calc(300px * 9); }
    .c-nav[data-column="10"] {
      width: calc(300px * 10); } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-navAnchor {
    margin: 0 auto;
    max-width: 450px;
    width: calc(100% - 16px); }
    .c-navAnchor + .c-navAnchor {
      margin-top: 24px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-navAnchor {
    max-width: 920px;
    margin: 0 auto; } }

.c-navInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%; }

.c-navTitle_wrapper {
  text-align: center; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-navTitle_wrapper {
      margin-bottom: 22px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-navTitle_wrapper {
      margin-bottom: 4px; } }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-navAnchor + .c-navTitle_wrapper {
      margin-top: 56px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-navAnchor + .c-navTitle_wrapper {
      margin-top: 80px; } }

.c-navTitle {
  display: inline-block;
  font-size: 18px;
  background-color: #000;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  padding: 8px 24px;
  border-radius: 17px; }

.c-navNode {
  -ms-flex-negative: 0;
  flex-shrink: 0; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-navNode {
      margin: 0 8px;
      width: calc(50% - 16px); }
      .c-navNode:nth-child(n + 3) {
        margin-top: 24px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-navNode {
      margin: 16px; }
      .c-navNode[data-column="1"] {
        width: calc(100% / 1 - 32px); }
      .c-navNode[data-column="2"] {
        width: calc(100% / 2 - 32px); }
      .c-navNode[data-column="3"] {
        width: calc(100% / 3 - 32px); }
      .c-navNode[data-column="4"] {
        width: calc(100% / 4 - 32px); }
      .c-navNode[data-column="5"] {
        width: calc(100% / 5 - 32px); }
      .c-navNode[data-column="6"] {
        width: calc(100% / 6 - 32px); }
      .c-navNode[data-column="7"] {
        width: calc(100% / 7 - 32px); }
      .c-navNode[data-column="8"] {
        width: calc(100% / 8 - 32px); }
      .c-navNode[data-column="9"] {
        width: calc(100% / 9 - 32px); }
      .c-navNode[data-column="10"] {
        width: calc(100% / 10 - 32px); } }

.c-navNode_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
  border-bottom: 2px solid #000; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-navNode_link {
      padding-bottom: 10px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-navNode_link {
      padding-bottom: 16px; } }

.c-navNode_text {
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.38; }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-navNode_text {
      font-size: 18px; } }

.c-navNode_icon {
  width: 20px;
  height: 20px;
  overflow: hidden;
  position: relative;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.c-navNode_iconInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s; }
  @media (hover: hover) {
    .c-navNode:hover .c-navNode_iconInner {
      -webkit-transform: translateX(20px);
      -ms-transform: translateX(20px);
      transform: translateX(20px); } }

.c-navNode_iconSvg {
  width: 18px;
  height: 14px;
  -ms-flex-negative: 0;
  flex-shrink: 0; }
  .c-navNode_iconSvg + .c-navNode_iconSvg {
    margin-left: 3px; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-banner {
    margin-left: 8px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .c-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; } }

.c-bannerNode {
  border: 1px solid #000; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .c-bannerNode {
      max-width: 326px;
      margin: auto; }
      .c-bannerNode + .c-bannerNode {
        margin-top: 30px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .c-bannerNode {
      width: 335px;
      margin: 16px; } }

.c-bannerLink {
  position: relative;
  display: block;
  border: 1px solid #000;
  -webkit-transform: translate(-8px, -8px);
  -ms-transform: translate(-8px, -8px);
  transform: translate(-8px, -8px); }

.c-bannerImage img {
  width: 100%; }

.c-button_red {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #E60000;
  position: relative;
  width: 236px;
  height: 60px;
  margin: auto; }
  @media (hover: hover) {
    .c-button_red:hover {
      background-color: #000; } }

.c-button_red_text {
  font-weight: 700;
  font-size: 14px;
  color: #fff; }

.c-button_red_svg {
  fill: #fff;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto; }

.c-banner {
  margin-top: 70px; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .c-title_bar::before {
    top: 12px; } }


    /*=======================

    強調リンク

    =======================*/
            .c-cv {
              position: relative;
              padding: 0 5px 5px 0; }
              @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
                .c-cv {
                  width: calc(100% - 32px);
                  margin: 0 auto; } }
              @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
                .c-cv {
                  max-width: 875px;
                  width: calc(100% - 20px);
                  margin: 0 auto; } }
              .c-cv::before {
                content: '';
                display: block;
                width: calc(100% - 5px);
                height: calc(100% - 5px);
                position: absolute;
                background: #000;
                border: 1px solid #000;
                top: 5px;
                left: 5px;
                z-index: 1; }

            .c-cvInner {
              background-color: #fff;
              border: 1px solid #000;
              position: relative;
              z-index: 2;
              height: 100%; }
              @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
                .c-cvInner {
                  padding: 32px; } }
              @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
                .c-cvInner {
                  padding: 40px 0; } }

            .c-cvText {
              font-weight: 700;
              text-align: center;
              margin-top: 14px; }
              @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
                .c-cvText {
                  line-height: 1.5;
                  font-size: 16px; } }
              @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
                .c-cvText {
                  font-size: 14px; } }

            .c-cvButton {
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-pack: center;
              -ms-flex-pack: center;
              justify-content: center;
              -webkit-box-align: center;
              -ms-flex-align: center;
              align-items: center;
              background-color: #E60000;
              position: relative;
              width: 236px;
              height: 60px;
              margin: auto; }
              @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
                .c-cvButton {
                  margin-top: 24px; } }
              @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
                .c-cvButton {
                  margin-top: 16px; } }
              @media (hover: hover) {
                .c-cvButton:hover {
                  background-color: #000; } }

            .c-cvButton_text {
              font-weight: 700;
              font-size: 14px;
              color: #fff; }

            .c-cvButton_svg {
              fill: #fff;
              width: 15px;
              height: 15px;
              position: absolute;
              top: 0;
              bottom: 0;
              right: 20px;
              margin: auto; }

            .c-banner {
              margin-top: 70px; }

            .c-pointList {
              margin-top: 64px; }

            @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
              .c-cv {
                margin-top: 65px; } }

            @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
              .c-cv {
                margin-top: 60px; } }

/*その他一般*/

.c-sectionTitle-2{
  width: 90%;
  margin: 30px auto;
}

/*========
施設営業情報
========*/

.facilityTable {
  background-color: #F2F2F2;
  padding: 16px;
  width: calc(100% - 32px);
  max-width: 400px;
  margin: 20px auto;
}

.facilityTable_node {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .facilityTable_node + .facilityTable_node {
    margin-top: 4px; }

.facilityTable_title {
  font-weight: 700;
  font-size: 13px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  line-height: 1.5; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .facilityTable_title {
      width: 90px;
      margin-right: 10px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .facilityTable_title {
      width: 85px;
      margin-right: 20px; } }

.facilityTable_data {
  font-size: 13px;
  line-height: 1.5; }

.facilityImages .slick-dots {
  margin: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .facilityImages .slick-dots {
      margin-top: 16px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .facilityImages .slick-dots {
      margin-top: 8px; } }
  .facilityImages .slick-dots li {
    border-radius: 50%;
    border: 1px solid #000; }
    .facilityImages .slick-dots li button {
      padding: 4px; }
  .facilityImages .slick-dots li.slick-active {
    background-color: #C0F55B; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .facilityBlock {
    margin-top: 28px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .facilityBlock {
    margin-left: 32px;
    width: 100%; } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .jobDetail_button {
    margin-top: 32px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .jobDetail_button {
    margin-top: 24px; } }

.facilityMap_button {
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  text-align: right;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid #000;
  margin-left: auto;
  margin-top: 10px; }
  .facilityMap_button::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 11px;
    margin-right: 3px;
    vertical-align: middle;
    background-image: url("../svg/icon_map_blk.svg");
    background-size: contain;
    background-repeat: no-repeat; }

.facilityMap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%; }
  .facilityMap.is-open {
    display: block; }

.facilityMap_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: .5;
  top: 0;
  left: 0; }

.facilityMap_container {
  max-width: 1040px;
  position: absolute;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .facilityMap_container {
      padding: 80px 8px;
      width: calc(100% - 16px);
      height: calc(100% - 16px);
      overflow: auto; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .facilityMap_container {
      width: calc(100% - 40px);
      height: calc(100% - 50px);
      max-height: 670px;
      padding: 50px 17px 50px 80px;
      overflow: hidden; } }

.facilityMap_close {
  width: 64px;
  height: 64px;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer; }
  .facilityMap_close::before, .facilityMap_close::after {
    content: "";
    display: block;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
      .facilityMap_close::before, .facilityMap_close::after {
        width: 34px; } }
    @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
      .facilityMap_close::before, .facilityMap_close::after {
        width: 40px; } }
  .facilityMap_close::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.facilityMap_title {
  text-align: center;
  font-weight: 700; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .facilityMap_title {
      font-size: 18px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .facilityMap_title {
      font-size: 22px; } }

.facilityMap_imageWrapper {
  overflow: auto; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
    .facilityMap_imageWrapper {
      margin-top: 24px; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
    .facilityMap_imageWrapper {
      height: calc(100% - 68px);
      margin-top: 30px; } }
  .facilityMap_imageWrapper .simplebar-scrollbar::before {
    background: #000000;
    opacity: 1 !important; }
  .facilityMap_imageWrapper .simplebar-track {
    border-radius: 10px;
    background: #F2F2F2; }
    .facilityMap_imageWrapper .simplebar-track.simplebar-vertical {
      width: 4px; }
  .facilityMap_imageWrapper .simplebar-scrollbar.simplebar-visible:before {
    width: 4px;
    -webkit-transform: translateX(-2px);
    -ms-transform: translateX(-2px);
    transform: translateX(-2px); }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  .facilityMap_image + .facilityMap_image {
    margin-top: 25px; } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1025px) {
  .facilityMap_image {
    margin-right: 80px; } }

.facilityMap_image img {
  width: 100%; }

  /* ====================================
     マルシェ 店舗カード (リスト表示)
     ==================================== */
  #today-shops-list, #all-shops-list {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      margin-top: 30px;
      padding: 0 3%;
  }

  .shop-card {
      background: #ffffff;
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      padding: 15px;
      width: calc(33.333% - 14px); /* 3列表示 */
      box-sizing: border-box;
      transition: box-shadow 0.2s;
      display: flex;
      flex-direction: column;
  }

  .shop-card:hover {
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  /* ★画像サイズ固定・はみ出し防止 */
  .shop-card-thumbnail {
      width: 100%;
      height: 0;
      padding-bottom: 60%; /* アスペクト比固定 (例 5:3) */
      position: relative;
      overflow: hidden;
      border-radius: 4px;
      margin-bottom: 10px;
      background-color: #f4f4f4;
  }

  .shop-card-thumbnail img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; /* 枠いっぱいにトリミング */
  }

  /* ★店舗名を見やすく */
  .shop-name {
      font-size: 18px;
      font-weight: bold;
      line-height: 1.4;
      margin-top: 5px;
      margin-bottom: 8px;
      color: #333;
  }

  /* ★カテゴリをタグっぽく */
  .shop-category {
      display: inline-block;
      font-size: 12px;
      color: #333;
      background-color: #C0F55B; /* キーカラー */
      padding: 4px 12px;
      border-radius: 20px; /* 丸みをつける */
      font-weight: bold;
      margin-bottom: 15px;
      align-self: flex-start;
  }

  .open-popup-btn {
      margin-top: auto; /* ボタンを最下部に寄せる */
      display: block;
      width: 100%;
      padding: 10px;
      background-color: #333;
      color: #fff;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      font-weight: bold;
      transition: opacity 0.2s;
  }
  .open-popup-btn:hover {
      opacity: 0.7;
  }


  /* ====================================
     フィルタリングエリア
     ==================================== */
  #filter-area, #date-selector-area {
      margin: 20px auto;
      padding: 20px;
      background-color: #f9f9f9;
      border-radius: 6px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
      width: 90%;
  }
  #filter-area .filter-btn {
      padding: 8px 16px;
      background: #fff;
      border: 1px solid #ccc;
      cursor: pointer;
      border-radius: 30px;
      font-weight: bold;
      font-size: 14px;
  }
  #filter-area .filter-btn.active {
      background-color: #C0F55B;
      color: #333;
      border-color: #C0F55B;
  }
  #keyword-search-input {
      padding: 8px 12px;
      border: 1px solid #ccc;
      border-radius: 4px;
      min-width: 250px;
  }


  /* ====================================
     ポップアップ (モーダル)
     ==================================== */
  .popup-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.7);
      display: none;
      z-index: 9999;
      overflow-y: auto;
      padding: 20px 10px;
  }

  .popup-content {
      background-color: #ffffff;
      width: 100%;
      max-width: 600px;
      margin: 40px auto;
      position: relative;
      border-radius: 10px;
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
      padding: 38px;
  }

  /* 閉じるボタン */
  .popup-close-btn {
      position: absolute;
      top: 10px;
      right: 10px;
      background: #eee;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: none;
      font-size: 24px;
      cursor: pointer;
      color: #333;
      line-height: 30px;
      text-align: center;
      padding: 0;
      z-index: 1;
  }
  .popup-close-btn:hover {
      background: #ddd;
  }

  /* ポップアップ中身 */
  .popup-image-container {
      width: 100%;
      height: 0;
      padding-bottom: 56.25%;
      position: relative;
      margin-bottom: 20px;
      border-radius: 6px;
      overflow: hidden;
  }
  .popup-image-container img {
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;
  }

  .popup-shop-name {
      font-size: 26px;
      font-weight: bold;
      margin-bottom: 5px;
      color: #333;
  }
  .shop-category-container {
      margin-bottom: 15px;
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
  }
  .popup-shop-category {
      font-size: 14px;
      color: #333;
        background: transparent;
      display: inline-block;
      padding: 0;
      border-radius: 20px;
      font-weight: bold;
      margin-bottom: 20px;
  }
  .popup-shop-category {
    background: transparent !important;
    padding: 0 !important;
}
  .cat-tag {
    display: inline-block;
    font-size: 11px;
    color: #333;
    background-color: #C0F55B;
    padding: 3px 10px;
    border-radius: 20px;
    font-weight: bold;
    white-space: nowrap;
}
#popup-shop-category {
    display: flex;       /* 子要素（span）を横並びにする */
    flex-wrap: wrap;    /* 折り返しを許可する */
    gap: 8px;           /* ★カテゴリ間の余白を作る（お好みで 5px〜10px） */
    margin-bottom: 20px;
    background: transparent !important; /* 背景色を消す */
    padding: 0 !important;             /* 余計な余白を消す */
}

#popup-shop-category .cat-tag {
    display: inline-block;
    font-size: 11px;
    color: #333;
    background-color: #C0F55B;
    padding: 3px 12px;
    border-radius: 20px;
    font-weight: bold;
    white-space: nowrap;
}

  .popup-section h4 {
        font-size: 18px;
        font-weight: bold;
        margin: 20px 0 10px;
        border-left: 4px solid #C0F55B;
        padding-left: 10px;
        display: inline-block;
  }

  /* ★月別スケジュール表示 */
  .schedule-row {
      display: flex;
      border-bottom: 1px solid #eee;
      padding: 8px 0;
  }
  .schedule-row dt {
      font-weight: bold;
      width: 80px; /* 年月幅 */
      color: #555;
  }
  .schedule-row dd {
      flex: 1;
      font-weight: bold;
      margin-left: 1em;
  }

  /* ★リンクボタンエリア */
  .links-container {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin-top: 30px;
  }
  .popup-link-btn {
      display: inline-block;
      background: #333;
      color: #fff;
      padding: 12px 30px;
      border-radius: 50px;
      text-decoration: none;
      font-weight: bold;
      transition: background 0.3s;
      font-size: 14px;
  }
  .popup-link-btn:hover {
      background: #C0F55B;
      color: #333;
  }

/*日付選択*/
#date-selector-area {
    margin: 30px auto;
    padding: 20px;
    background-color: #fff;
    border: 2px solid #000; /* サイト共通の黒枠 */
    border-radius: 50px; /* 丸み */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    width: 90%;
    max-width: 500px;
    box-shadow: 4px 4px 0px #C0F55B; /* サイトカラーの影 */
    cursor: pointer;
}

#date-selector-area label {
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 0.05em;
}

/* input[type="date"] のカスタマイズ */
#schedule-date {
    padding: 10px 15px;
    font-size: 16px;
    font-weight: bold;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: #f9f9f9;
    cursor: pointer;
    outline: none;
    font-family: inherit;
}


#schedule-date:focus {
    border-color: #000;
    background-color: #fff;
}
  /* スマホ対応 */
  @media (max-width: 768px) {
      .shop-card { width: calc(50% - 10px); }
      .popup-content { padding: 20px; margin: 20px auto; width: 95%; }
  }
  @media (max-width: 480px) {
      .shop-card { width: 100%; }
  }
