@charset "UTF-8";

/* ========================================
   Override Styles
======================================== */

.fixed-event-btn{
   display: none;
}
.fixed-bottom-btn{
   display: none;

}
/*temp*/
.fixed-bottom-sns {
    display: flex;
    gap: 8px;
    list-style: none;
    margin: 0;
    right: 10px;
    padding: 0;
    position: absolute;
    bottom: 10px;
}

.news-pagination{
   /* display: none; */
}

/* news-card-list 奇数時のセンタリング（PCのみ） */
@media screen and (min-width: 768px) {
  .news-card-list .news-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: calc(50% - 10px);
  }
}


/* 料金まわり */

@media screen and (min-width: 768px) {
   #hours .guidance-columns{
      display: block;
   }
   #hourBox .guidance-box-content {
    padding: 0 50px 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: baseline;
   }
   #hourBox .guidance-hours-item {
    padding: 40px 20px;
    border-top: 1px dotted var(--arrwbtn-light-blue);
   }
   #hourBox .guidance-hours-item:last-child {
    grid-column: span 2;
   }
   .guidance-box{
      margin-bottom: 30px;
   }

   #price .guidance-box-content {
    padding: 0 50px 30px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: baseline;
   }
   #price .guidance-price-item{
      padding: 40px 20px;
   }
}
#price .guidance-price-item table {
    width: 100%;
    /* background: #fff; */
    border: 1px solid var(--arrwbtn-light-blue);
    border-top: none;
    border-left: none;
    border-spacing: 0;
}
#price .guidance-price-item table td,
#price .guidance-price-item table th{
    border-bottom: 1px dotted var(--arrwbtn-light-blue);
    /* border-bottom: 1px dotted var(--arrwbtn-light-blue); */
}
#price .guidance-price-item table tr:last-child th,
#price .guidance-price-item table tr:last-child td{
    border-bottom: none;
}
#price .guidance-price-item table th,
#price .guidance-price-item table td{
   font-size: 16px;
   text-align: center;
}
#price .guidance-price-item table .member{
   background-color: var(--main-blue);
   color: var(--white);
   font-size: 14px;
}
#price .guidance-price-item table .visitor{
   background-color: var(--arrwbtn-light-blue);
   /* color: var(--main-blue); */
   font-size: 14px;
}
#price .guidance-price-item table .week{
   background-color:var(--white-blue);
}
#price .guidance-price-item table .holiday{
   background-color:var(--notice-red);
}
#price .guidance-price-item table .kubun th{
   font-size: 14px;
}
#price .guidance-price-item table .adult th,
#price .guidance-price-item table .child th{
   font-size: 14px !important;
}
#price .guidance-price-item table .child th{
   background-color: #fff;
    border-left: 1px solid var(--arrwbtn-light-blue);
}
#price .guidance-price-item table .adult th{
   background-color: #fff;
    border-left: 1px solid var(--arrwbtn-light-blue);
}

#price .guidance-price-item table .adult td,
#price .guidance-price-item table .child td{
   font-size: 16px;
   padding: 8px 0;
   background-color: #fff;
}

#price .guidance-price-item table .blank{
   /* background-color: #fff; */
    border-right: 1px solid var(--arrwbtn-light-blue);
    border-bottom: 1px solid var(--arrwbtn-light-blue);
}
#price .guidance-price-item table .adult th,
#price .guidance-price-item table .child th,
#price .guidance-price-item table .adult td,
#price .guidance-price-item table .child td{
   /* border-bottom : 1px solid var(--arrwbtn-light-blue) */
}


@media screen and (max-width: 767px) {
   #price.guidance-box{
background:unset;
   }
   #price .guidance-box-header {
    padding: 45px 0px 15px;
   }
   #price .guidance-box-content{
     padding: 0 0 30px;
   }

}

/* No posts message */
.no-posts {
  text-align: center;
  width: 100%;
  padding: 40px 0;
  grid-column: 1 / -1;
  color: var(--white);
}

/* ニュースタイトルのbr制御 - PCトップのみ改行有効 */
.news-item-title br,
.news-card-title br {
  display: none;
}
@media screen and (min-width: 768px) {
  .page-top .news-item-title br {
    display: inline;
  }
}

/* Modal PDF fix */
.modal-content {
  max-width: 900px;
}
.modal-body {
  padding: 20px;
  max-height: calc(90vh - 60px);
  background: #fff;
}
.modal-body iframe,
.modal-body object,
.modal-body embed {
  height: calc(90vh - 100px);
  background: #fff;
  min-height: 500px;
}

/* SP: guidance-floor-wrap padding */
@media screen and (max-width: 767px) {
  .guidance-floor-wrap {
    padding-left: 0;
    padding-right: 0;
  }
}

/* ========================================
   Contact Form 7 Overrides
======================================== */

/* CF7のformタグに.contact-formと同じスタイルを適用 */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* contact-form-row */
.wpcf7-form .contact-form-row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 15px;
}

.wpcf7-form .contact-form-row.textArea {
  align-items: center;
}

/* contact-form-label */
.wpcf7-form .contact-form-label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px;
  min-width: 210px;
  flex-shrink: 0;
}

.wpcf7-form .contact-form-label-text {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: var(--main-blue);
}

.wpcf7-form .contact-form-badge {
  display: inline-block;
  padding: 3px 12px;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: var(--white);
  border-radius: 3px;
}

.wpcf7-form .contact-form-badge-required {
  background: var(--main-blue);
}

.wpcf7-form .contact-form-badge-optional {
  background: #999;
}

/* contact-form-field */
.wpcf7-form .contact-form-field {
  flex: 1;
  max-width: 400px;
}

.wpcf7-form .contact-form-field-wide {
  max-width: 100%;
}

/* CF7のwrapperをリセット */
.wpcf7-form .contact-form-field .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* input/textareaスタイル */
.wpcf7-form .contact-form-field input[type="text"],
.wpcf7-form .contact-form-field input[type="email"],
.wpcf7-form .contact-form-field input[type="tel"],
.wpcf7-form .contact-form-field textarea {
  width: 100%;
  padding: 10px;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 15px;
  border: 1px solid var(--arrwbtn-light-blue);
  border-radius: 3px;
  background: var(--white);
  outline: none;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}

.wpcf7-form .contact-form-field input:focus,
.wpcf7-form .contact-form-field textarea:focus {
  border-color: var(--main-blue);
}

.wpcf7-form .contact-form-field textarea {
  min-height: 200px;
  padding: 15px 20px;
  border-radius: 5px;
  resize: vertical;
}

/* チェックボックス */
.wpcf7-form .contact-form-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.wpcf7-form .contact-form-checkboxes .wpcf7-form-control-wrap {
  display: contents;
}

.wpcf7-form .contact-form-checkboxes .wpcf7-form-control.wpcf7-checkbox {
  display: contents;
}

.wpcf7-form .contact-form-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.wpcf7-form .contact-form-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
  margin: 0;
}

.wpcf7-form .contact-form-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.wpcf7-form .contact-form-checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 1px solid var(--light-blue);
  border-radius: 3px;
  cursor: pointer;
  accent-color: var(--main-blue);
}

.wpcf7-form .contact-form-checkbox .wpcf7-list-item-label {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 15px;
  color: var(--gray23);
}

/* プライバシーポリシー */
.wpcf7-form .contact-privacy {
  margin-top: 20px;
}

.wpcf7-form .contact-privacy-box {
  background: var(--zabuton-blue);
  border: 1px solid var(--light-blue);
  border-radius: 5px;
  padding: 25px;
  max-height: 300px;
  overflow-y: auto;
  margin-bottom: 30px;
}

.wpcf7-form .contact-privacy-box p {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 14px;
  color: var(--gray5f);
  line-height: 2;
  margin-bottom: 15px;
}

.wpcf7-form .contact-privacy-box .privacy-title {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--main-blue);
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--main-blue);
}

.wpcf7-form .contact-privacy-box h4 {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--main-blue);
  margin-top: 25px;
  margin-bottom: 10px;
}

.wpcf7-form .contact-privacy-box h5 {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray5f);
  margin-top: 15px;
  margin-bottom: 8px;
}

.wpcf7-form .contact-privacy-box ul,
.wpcf7-form .contact-privacy-box ol {
  margin: 10px 0 15px 20px;
  padding: 0;
}

.wpcf7-form .contact-privacy-box li {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 14px;
  color: var(--gray5f);
  line-height: 1.8;
  margin-bottom: 5px;
}

.wpcf7-form .contact-privacy-box ul li {
  list-style-type: disc;
}

.wpcf7-form .contact-privacy-box ul ul {
  margin-top: 5px;
  margin-bottom: 5px;
}

.wpcf7-form .contact-privacy-box ul ul li {
  list-style-type: circle;
}

.wpcf7-form .contact-privacy-box ol li {
  list-style-type: decimal;
}

.wpcf7-form .contact-privacy-box .privacy-contact {
  background: var(--white);
  padding: 15px;
  border-radius: 5px;
  margin-top: 10px;
}

/* 同意チェックボックス */
.wpcf7-form .contact-privacy-agree {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
}

.wpcf7-form .contact-privacy-agree .wpcf7-form-control-wrap {
  display: inline-flex;
  align-items: center;
}

.wpcf7-form .contact-privacy-agree .wpcf7-list-item {
  margin: 0;
}

.wpcf7-form .contact-privacy-agree input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 1px solid var(--main-blue);
  cursor: pointer;
  accent-color: var(--main-blue);
}

.wpcf7-form .contact-privacy-agree-text {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 16px;
  color: var(--main-blue);
  font-weight: 500;
}

/* 送信ボタン */
.wpcf7-form .wpcf7-submit.contact-submit-btn {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 40px auto 0;
  padding: 20px 40px;
  background: var(--main-blue);
  color: var(--white);
  border: none;
  border-radius: 50px;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.wpcf7-form .wpcf7-submit.contact-submit-btn:hover {
  opacity: 0.8;
}

/* バリデーションエラー */
.wpcf7-form .wpcf7-not-valid-tip {
  color: #e74c3c;
  font-size: 14px;
  margin-top: 5px;
}

/* 送信メッセージ */
.wpcf7-form .wpcf7-response-output {
  margin: 20px 0;
  padding: 15px;
  border-radius: 5px;
  text-align: center;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

/* チェックボックスのinputとlabelの間のスペース */
.wpcf7-list-item input[type="checkbox"] {
  margin-right: 8px;
}

/* SP対応 */
@media screen and (max-width: 767px) {
  .wpcf7-form .contact-form-row {
    flex-direction: column;
    gap: 10px;
  }

  .wpcf7-form .contact-form-label {
    min-width: auto;
    width: 100%;
  }

  .wpcf7-form .contact-form-field {
    max-width: 100%;
    width: 100%;
  }
}
.grecaptcha-badge { visibility: hidden; }
