@charset "UTF-8";

/* -------------------------------------
　SALON TOP
------------------------------------- */
/* メイン画像 */
.salon-image {
  margin-bottom: 40px;
}
.salon-image p img {
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .salon-image {
    margin-bottom: 30px;
  }
}

/* サロンボタン */
.salon-btn {
  margin-bottom: 40px;
}
.salon-btn ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}
.salon-btn ul li {
  width: 50%;
  text-align: center;
}
.salon-btn ul li .btn {
  display: inline-block;
  min-width: 240px;
  text-align: center;
}
.salon-btn ul li .btn a {
  display: block;
  width: 100%;
  padding: 15px 30px 15px 30px;
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  background-color: var(--btn-color);
  background-image: url(/images/btn-arrow.svg);
  background-repeat: no-repeat;
  background-size: 7px auto;
  background-position: right 15px top 50%;
}
.salon-btn ul li .btn a:hover {
  background-color: var(--link-btn-hover);
}
@media screen and (max-width: 767px) {
  .salon-btn {
    margin-bottom: 30px;
  }
  .salon-btn ul {
    flex-direction: column;
  }
  .salon-btn ul li {
    margin-bottom: 20px;
    width: auto;
  }
  .salon-btn ul li:last-child {
    margin-bottom: 0;
  }
  .salon-btn ul li .btn a {
    padding: 18px 20px 18px 20px;
    font-size: 1.4rem;
    line-height: 1.4;
    background-size: 6px auto;
    background-position: right 10px top 50%;
  }
}

/* TEL */
.salon-btn ul li .tel {
  padding-top: 10px;
  font-size: 2.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .salon-btn ul li .tel {
    font-size: 1.8rem;
  }
}

/* テキスト枠 */
.salon-text-wrap .box {
  margin-bottom: 40px;
}
.salon-text-wrap .box:last-child {
  margin-bottom: 0;
}
.salon-text-wrap .box .title {
  margin-bottom: 20px;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 500;
}
.salon-text-wrap .box .text p {
  margin-bottom: 0.8em;
}
.salon-text-wrap .box .text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .salon-text-wrap .box {
    margin-bottom: 30px;
  }
  .salon-text-wrap .box .title {
    margin-bottom: 15px;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}

/* こだわり */
.commitment dl dt {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  padding: 15px 20px 15px 20px;
  background-color: #111111;
  border: 1px solid var(--border);
}
.commitment dl dd {
  padding: 20px;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
@media screen and (max-width: 767px) {
  .commitment dl dt {
    font-size: 1.7rem;
    padding: 10px 15px;
  }
  .commitment dl dd {
    padding: 15px;
  }
}

/* -------------------------------------
　SALON 詳細
------------------------------------- */
/* サロン情報 */
.salon-table-layout {
  margin-bottom: 40px;
}
.salon-table-layout:last-child {
  margin-bottom: 0;
}
.salon-table-layout table {
  margin-bottom: 20px;
  width: 100%;
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}
.salon-table-layout table:last-child {
  margin-bottom: 0;
}
.salon-table-layout table tr th,
.salon-table-layout table tr td {
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.salon-table-layout table tr th {
  padding: 15px 20px;
  width: 10em;
  font-weight: 400;
  text-align: center;
  background-color: var(--table-bg);
}
.salon-table-layout table tr td {
  padding: 15px 20px;
  background-color: #ffffff;
}
.salon-table-layout table tr td p {
  margin-bottom: 0.8em;
}
.salon-table-layout table tr td p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .salon-table-layout {
    margin-bottom: 30px;
  }
  .salon-table-layout table {
    margin-bottom: 15px;
  }
  .salon-table-layout table tr th {
    display: block;
    padding: 7px 15px;
    width: 100%;
    font-weight: 500;
    text-align: left;
  }
  .salon-table-layout table tr td {
    display: block;
    padding: 7px 15px;
  }
}

/* タイトル */
.salon-table-layout .salon-info-title .title {
  margin-bottom: 12px;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .salon-table-layout .salon-info-title .title {
    margin-bottom: 10px;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}

/* 地図 */
.map iframe {
  aspect-ratio: 16 / 10;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .map iframe {
    aspect-ratio: 1 / 1;
  }
}
