@charset "utf-8";

.g-wrap .facility_detail_head,
.g-wrap .article_title,
.g-wrap .facility_table th {
  font-weight: 700;
}

/*======================================================================
 * link_pdf
======================================================================*/
.g-wrap .article_link {
  border-top: 1px solid #B2C6D4;
  margin-top: 40px;
  padding-top: 40px;
}

.g-wrap .article_link a {
  text-decoration: underline;
}

.g-wrap a.link_pdf {
  padding-right: 1.8em;
  position: relative;
}

.g-wrap a.link_pdf::after {
  content: "";
  display: inline-block;
  background: url(../images/common/icon_pdf.svg) no-repeat center/ contain;
  aspect-ratio: 5/6;
  width: 1.25em;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media (max-width: 768px) {
  .g-wrap .article_link {
    margin-top: 20px;
    padding-top: 20px;
    font-size: 15px;
  }
}

/*======================================================================
 * facility_detail
======================================================================*/

.g-wrap .facility_detail_head {
  margin-bottom: 50px;
}

@media (max-width: 768px) {
  .g-wrap .facility_detail_head {
    margin-bottom: 20px;
  }
}

.g-wrap .facility_detail_category {
  font-size: 20px;
  margin-bottom: 20px;
}

.g-wrap .facility_detail_title {
  font-size: 24px;
  border-top: 1px solid #004471;
  border-bottom: 1px solid #004471;
  padding: 20px 0;
  word-wrap: break-word;
}

@media (max-width: 768px) {
  .g-wrap .facility_detail_head {
    letter-spacing: 0.08em;
  }

  .g-wrap .facility_detail_category {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .g-wrap .facility_detail_title {
    font-size: 17px;
    padding: 15px 0;
  }
}

/*======================================================================
 * faq
======================================================================*/
.g-wrap .faq_question,
.g-wrap .faq_answer {
  display: block;
  font-size: 1.125em;
}

.g-wrap .faq_answer {
  margin-top: 1em;
}

.g-wrap .faq_question::before {
  content: "Q. ";
}

.g-wrap .faq_answer::before {
  content: "A. ";
}

@media (max-width: 768px) {

  .g-wrap .faq_question,
  .g-wrap .faq_answer {
    font-size: 1em;
  }
}

/*======================================================================
 * 営業時間
======================================================================*/
.g-wrap .facility_time {
  font-size: 1.125em;
  margin-bottom: 80px;
}

.g-wrap .article_border {
  display: block;
  width: 100%;
  height: 1px;
  background: #B2C6D4;
  margin: 18px 0;
}

@media (max-width: 768px) {
  .g-wrap .facility_time {
    font-size: 1em;
    margin-bottom: 40px;
  }
}

/* table */
.g-wrap .facility_table {
  background: #FBFBFB;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 80px;
}

.g-wrap .facility_table caption {
  caption-side: bottom;
  text-align: right;
  font-size: 13px;
  margin-top: 15px;
}

.g-wrap .facility_table tr {
  text-align: center;
}

.g-wrap .facility_table tr:nth-child(odd) {
  background: #F2F5F8;
}

.g-wrap .facility_table tr::before {
  /* min-height */
  content: "";
  display: block;
  float: left;
  min-height: 70px;
  width: 0;
}

.g-wrap .facility_table th {
  background: #7FA1B7;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  width: calc(100%/3);
  padding: 9px 0;
  letter-spacing: 0.12em;
  font-size: 18px;
  line-height: 1;
}

.g-wrap .facility_table th:not(:first-child) {
  border-left: 1px solid #fff;
}

.g-wrap .facility_table td {
  text-align: center;
  vertical-align: middle;
  width: calc(100%/3);
  padding: 9px 0;
  letter-spacing: 0.04em;
  font-size: 18px;
  line-height: 1.4;
}

.g-wrap .facility_table td:not(:first-child) {
  border-left: 1px solid #7FA1B7;
}

@media (max-width: 768px) {
  .g-wrap .facility_table {
    margin-top: 12px;
    margin-bottom: 40px;
  }

  .g-wrap .facility_table caption {
    font-size: 10px;
    letter-spacing: 0.04em;
    margin-top: 8px;
  }

  .g-wrap .facility_table tr:first-child::before {
    min-height: 32px;
  }

  .g-wrap .facility_table tr::before {
    min-height: 55px;
  }

  .g-wrap .facility_table th {
    padding: 6px 0;
    letter-spacing: 0.12em;
    font-size: 12px;
  }

  .g-wrap .facility_table td {
    padding: 6px 0;
    letter-spacing: 0;
    font-size: 12px;
    line-height: 1.3;
  }
}

/*======================================================================
 * article（shopnews_detail参考）
======================================================================*/
/* お問い合わせのみ表示 */
.g-wrap .article_beforecontact {
  margin-bottom: 1em;
}
.g-wrap .article_beforecontact-heading {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.2rem;
  color: #004471;
  border-left: 1px solid #004471;
}
.g-wrap .article_beforecontact-heading span {
  padding-left: 10px;
}
.g-wrap .article_beforecontact-text {
  margin: 10px 0 15px;
}
.g-wrap .article_beforecontact .link_button_area {
  margin-top: 20px;
}


/* content */
.g-wrap .article_content {
  font-size: 16px;
}

.g-wrap .article_content p {
  margin-top: 50px;
}

.g-wrap .article_content a {
  text-decoration: underline;
}

.g-wrap .article_content ._text-l {
  font-size: 1.25em;
  display: block;
}

.g-wrap .article_content ._text-xl {
  font-size: 1.5em;
  display: block;
}

.g-wrap .article_content ._text-s {
  font-size: 0.8125em;
  display: block;
}

.g-wrap .article_content ._border-bottom {
  border-bottom: 1px solid;
  padding-bottom: 20px;
}

/* line-height上下調整 */
.g-wrap .article_content ._text-xl::before,
.g-wrap .article_content ._text-xl::after,
.g-wrap .article_content ._text-l::before,
.g-wrap .article_content ._text-l::after,
.g-wrap .article_content ._text-s::before,
.g-wrap .article_content ._text-s::after {
  content: "";
  display: block;
}

.g-wrap .article_content ._text-xl::before,
.g-wrap .article_content ._text-l::before,
.g-wrap .article_content ._text-s::before {
  margin-top: calc(-0.875em / 2);
}

.g-wrap .article_content ._text-xl::after,
.g-wrap .article_content ._text-l::after,
.g-wrap .article_content ._text-s::after {
  margin-bottom: calc(-0.875em / 2);
}

.g-wrap .article_content .article_image {
  display: block;
  width: 100%;
}

.g-wrap .article_content .article_image img.ofi-c {
  aspect-ratio: 40/27;
  object-position: left;
}

/* facilitty_detail */
.g-wrap ._text-l+.article_image {
  margin-top: 20px;
}

.g-wrap p.article_block {
  margin-top: 80px;
}

.g-wrap p.article_block ._text-l {
  margin-bottom: 20px;
}

.g-wrap p.article_block ._text-s {
  margin-top: 20px;
}

@media (max-width: 768px) {
  .g-wrap .article_beforecontact .search_form {
    max-width: 100%;
  }
  .g-wrap .article_beforecontact .link_button {
    width: 100%;
  }
  .g-wrap .article_content {
    font-size: 15px;
  }

  .g-wrap .article_content p {
    margin-top: 20px;
  }

  .g-wrap .article_content ._text-xl {
    font-size: calc(1em + 2px);
  }

  .g-wrap .article_content ._text-l {
    font-size: calc(1em + 2px);
  }

  .g-wrap .article_content ._text-s {
    font-size: calc(1em - 2px);
  }

  .g-wrap .article_content ._border-bottom {
    padding-bottom: 10px;
  }

  .g-wrap .article_content .article_image img.ofi-c {
    object-position: center;
  }

  /* facilitty_detail */
  .g-wrap ._text-l+.article_image {
    margin-top: 12px;
  }

  .g-wrap p.article_block {
    margin-top: 40px;
  }

  .g-wrap p.article_block ._text-l {
    margin-bottom: 15px;
  }

  .g-wrap p.article_block ._text-s {
    margin-top: 15px;
  }
}