.elementor-102 .elementor-element.elementor-element-8fcdcbd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-c8615c4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-8a7267a{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-b0b4754{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-b0b4754.e-con{--align-self:center;}.elementor-102 .elementor-element.elementor-element-7e71488{width:var( --container-widget-width, 30px );max-width:30px;--container-widget-width:30px;--container-widget-flex-grow:0;}.elementor-102 .elementor-element.elementor-element-7e71488 img{width:100%;}.elementor-102 .elementor-element.elementor-element-49212d1 .elementor-heading-title{font-size:20px;font-weight:600;color:#5A5344;}.elementor-102 .elementor-element.elementor-element-49ba68f{width:var( --container-widget-width, 30px );max-width:30px;--container-widget-width:30px;--container-widget-flex-grow:0;}.elementor-102 .elementor-element.elementor-element-49ba68f img{width:100%;}.elementor-102 .elementor-element.elementor-element-c1b9d77{width:100%;max-width:100%;text-align:center;}.elementor-102 .elementor-element.elementor-element-c1b9d77 .elementor-heading-title{font-size:30px;line-height:36px;color:#5A5344;}.elementor-102 .elementor-element.elementor-element-fde33c5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-102 .elementor-element.elementor-element-23050fa{width:100%;max-width:100%;}.elementor-102 .elementor-element.elementor-element-23050fa > .elementor-widget-container{padding:0px 0px 0px 0px;}@media(max-width:767px){.elementor-102 .elementor-element.elementor-element-c8615c4{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-102 .elementor-element.elementor-element-7e71488{--container-widget-width:20px;--container-widget-flex-grow:0;width:var( --container-widget-width, 20px );max-width:20px;}.elementor-102 .elementor-element.elementor-element-49212d1 .elementor-heading-title{font-size:16px;}.elementor-102 .elementor-element.elementor-element-49ba68f{--container-widget-width:20px;--container-widget-flex-grow:0;width:var( --container-widget-width, 20px );max-width:20px;}.elementor-102 .elementor-element.elementor-element-c1b9d77 .elementor-heading-title{font-size:20px;line-height:1.2em;}}/* Start custom CSS for html, class: .elementor-element-5c7492e *//* =========================
  セクション全体
========================= */
.company-overview-section {
  max-width: 900px;
  margin: 0 auto 0px;
  padding: 40px 24px;
  background: #f9fbf1;
  border-radius: 12px;
  border: 1px solid #e2e8c9;
}

/* タイトル共通 */
.section-title {
  font-size: 22px;
  font-weight: 700;
  color: #4f5f2a;
  margin-bottom: 28px;
  padding-bottom: 8px;
  border-bottom: 2px solid #cddc8c;
}

/* =========================
  テーブル共通
========================= */
.table-wrapper {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    Meiryo, sans-serif;
  font-size: 14px;
  color: #333;
}

table tr {
  border-bottom: 1px solid #e5e5e5;
}

table th {
  width: 180px;
  padding: 18px 16px;
  text-align: left;
  font-weight: 600;
  color: #4f5f2a;
  background: #f1f5d9;
  border-left: 4px solid #9cad45;
}

table td {
  padding: 18px 16px;
  background: #ffffff;
  line-height: 1.8;
}



/* 施設公開行だけ強調 */
.facility-row td {
  background: #f6f9e8;
}
.facility-row th {
  border-left: 4px solid #6f8c2f;
}

/* 組織図 */
.organization-section {
  margin-top: 50px;
}
.organization-image {
  background: #ffffff;
  padding: 20px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  text-align: center;
}
.organization-image img {
  max-width: 100%;
  height: auto;
}

/* =========================
  スマホ対応
========================= */
@media (max-width: 768px) {
  table,
  table tbody,
  table tr {
    display: block;
    width: 100%;
    border: none;
  }

  table tr {
    margin-bottom: 20px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
  }

  table th {
    display: none;
    border-left: none;
  }

  table td {
    display: block;
    padding: 14px 16px;
  }

  table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    color: #4f5f2a;
    background: #f1f5d9;
    padding: 10px 12px;
    margin: -14px -16px 12px -16px;
    border-bottom: 3px solid #9cad45;
  }

  .facility-row td::before {
    background: #e9f2c7;
    border-bottom: 3px solid #6f8c2f;
  }
}

/* =========================
  電話リンク
========================= */
.tel-link {
  color: #4f5f2a;
  text-decoration: none;
  font-weight: 500;
}

.tel-link:hover {
  text-decoration: underline;
}

.strong-tel {
  font-weight: 700;
  font-size: 15px;
}

/* =========================
  会社沿革
========================= */
.history-section {
  margin-top: 50px;
}

/* =========================
  アクセス
========================= */
.access-section {
  margin-top: 50px;
}

.access-box {
  background: #ffffff;
  padding: 20px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
}

.map-wrapper {
  margin-top: 20px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
}/* End custom CSS */