@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500&family=Cinzel:wght@400&family=Roboto:wght@400;500&display=swap");
@import url("lib/ress.min.css");
:root {
  /* neutral */
  --white: #ffffff;
  --black: #000000;
  --black-rgb: 0, 0, 0;
  --gray: #5a5a5a; /* ナビオーバーレイ VOICE セクション背景 */
  --gray-dark: #363636; /* FEATURE / STEP UP FLOW セクション背景 */
  --gray-light: #e5e5e5; /* 地図エリア背景 */
  /* accent */
  --red: #eb1818; /* Google MAP ボタン */
  /* font */
  /* main sans-serif Japanese (Noto Sans JP) */
  --font-1: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  /* serif Japanese (Noto Serif JP) — 見出し・電話番号・本文 */
  --font-2: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "ヒラギノ明朝 ProN", serif;
  /* decorative Latin (Cinzel) — セクション英字見出し・コピーライト */
  --font-3: "Cinzel", serif;
  /* Latin sans-serif (Roboto) */
  --font-4: "Roboto", sans-serif;
  /* transition */
  --hover-transition: .2s ease;
}

.p-message {
  padding-top: 15.2rem;
  padding-bottom: 15.7rem;
}
@media screen and (max-width: 767px) {
  .p-message {
    padding-top: 8.6rem;
    padding-bottom: 8.4rem;
  }
}
.p-message-body {
  padding: 9rem 10.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-message-body {
    padding: 4.4rem 0 0;
  }
}
.p-message-body p {
  letter-spacing: 0.192rem;
  line-height: 231.25%;
}
@media screen and (max-width: 767px) {
  .p-message-body p {
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 200%;
  }
}
.p-message-body p + p {
  padding-top: 2.3em;
}
@media screen and (max-width: 767px) {
  .p-message-body p + p {
    padding-top: 2em;
  }
}

.p-info {
  margin-bottom: 8.3rem;
  padding: 6.4rem 9rem 9.3rem;
}
@media screen and (max-width: 767px) {
  .p-info {
    margin-bottom: 4.8rem;
    padding: 3.9rem 2.1rem 4.3rem;
  }
}
.p-info-table {
  display: grid;
  letter-spacing: 0;
  row-gap: 2.8rem;
  grid-template-columns: 13rem 1fr;
  line-height: 175%;
  margin: 7.9rem 0 9.2rem;
}
@media screen and (max-width: 767px) {
  .p-info-table {
    display: flex;
    font-size: 1.6rem;
    flex-direction: column;
    line-height: 150%;
    margin: 2.95rem 0 2.6rem;
    row-gap: unset;
  }
}
@media screen and (max-width: 767px) {
  .p-info-table dd + dt {
    padding-top: 2.4rem;
  }
}
.p-info-table .list {
  display: flex;
  flex-wrap: wrap;
}
.p-info-table .list li {
  padding-right: 2rem;
}
@media screen and (max-width: 767px) {
  .p-info-table .list li {
    padding-right: 1.4rem !important;
  }
}
.p-info-table .list li:before {
  content: "■";
}
.p-info-works {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 2.4rem;
  list-style: none;
}
.p-info-works li::before {
  content: "■";
  margin-right: 0.4rem;
}
.p-info-map {
  height: 43.5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-info-map {
    height: 18.1rem;
  }
}
.p-info-map iframe {
  height: 100%;
  width: 100%;
}

.p-history {
  margin-bottom: 8.3rem;
  padding: 5.1rem 7.5rem 8.7rem 9rem;
}
@media screen and (max-width: 767px) {
  .p-history {
    margin-bottom: 6.3rem;
    padding: 3rem 2.1rem 3.2rem;
  }
}
.p-history .u-flex {
  align-items: center;
  justify-content: space-between;
  padding: 3.7rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-history .u-flex {
    align-items: start;
    flex-direction: column;
    padding: 2.5rem 0 0;
  }
}
.p-history-items {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  letter-spacing: 0;
  width: 56rem;
}
@media screen and (max-width: 767px) {
  .p-history-items {
    font-size: 1.6rem;
    gap: 1.3em;
    width: auto;
  }
}
.p-history-img {
  width: 34.6rem;
}
@media screen and (max-width: 767px) {
  .p-history-img {
    display: none;
  }
}
