@charset "UTF-8";

/* =========================================
   洋館紹介ページ (Detail) 特有のスタイル
   ========================================= */

.page-header {
  text-align: center;
  margin-bottom: 50px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.content-section {
  margin-bottom: 80px;
}

.content-section h3 {
  font-size: 1.6rem;
  color: var(--gold);
  margin-bottom: 30px;
  border-left: 3px solid var(--gold);
  padding-left: 15px;
  font-family: "Yuji Syuku", serif;
}

.content-section h4 {
  font-size: 1.3rem;
  margin-bottom: 15px;
  color: var(--ink);
  font-family: "Shippori Mincho", serif;
}

.content-section p {
  font-size: 1rem;
  margin-bottom: 1.5em;
  color: var(--muted);
  line-height: 2;
}

.content-section img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid rgba(255, 255, 255, 0.05);
  aspect-ratio: 1/0.8;
  object-fit: cover;
  object-position: center 75%;
}

/* --- ディテールアイテム（画像とテキストの交互配置） --- */
.detail-item {
  display: flex;
  gap: 40px;
  align-items: center;
  margin-bottom: 80px;
}

.detail-item:nth-child(even) {
  flex-direction: row-reverse;
}

.text-content {
  flex: 1;
}

.image-content {
  flex: 1;
}

.image-pair {
  display: flex;
  gap: 15px;
}

.image-pair img {
  width: calc(50% - 7.5px);
  object-fit: cover;
}

/* --- サロン紹介リストエリア --- */
.salon-intro {
  background-color: rgba(0, 0, 0, 0.15);
  border: 1px solid var(--line);
  padding: 40px;
  border-radius: var(--radius);
  margin-top: 40px;
  box-shadow: var(--shadow);
}

.salon-intro h3 {
  color: var(--gold);
  border-left-color: var(--gold);
  margin-top: 0;
}

.salon-intro ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.salon-intro li {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px dashed var(--line);
}

.salon-intro li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.salon-intro li img {
  width: 180px;
  height: 130px;
  object-fit: cover;
  border-radius: var(--radius);
  flex-shrink: 0;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.salon-description {
  flex: 1;
  color: var(--muted);
  line-height: 1.8;
}

.salon-description strong {
  display: block;
  font-size: 1.2rem;
  margin-bottom: 8px;
  color: var(--ink);
  font-family: "Shippori Mincho", serif;
  font-weight: normal;
}

.back-action {
  text-align: center;
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid var(--line);
  margin-bottom: 20px;
}

/* --- レスポンシブ対応 --- */
@media (max-width: 768px) {
  .detail-item,
  .detail-item:nth-child(even) {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 50px;
  }

  .salon-intro li {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .salon-intro li img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .salon-intro {
    padding: 25px 20px;
  }
}


/* --- 強調箇所のスタイル (末尾に追加) --- */
.content-section strong,
.text-content strong {
  font-weight: 600;
  color: var(--ink); /* 文字色を少し明るくして強調 */
  border-bottom: 1px solid rgba(255, 255, 255, 0.3); /* 下線を引く */
}



/* --- 建築思想セクション (画像の存在感を調整した2カラム) --- */
.philosophy-container {
  display: flex;
  flex-direction: column;
  gap: 60px; /* 上下のブロック間隔 */
}

.philosophy-block {
  display: flex;
  gap: 50px;       /* 画像とテキストの間隔 */
  align-items: flex-start;
  margin-top: 10px;
}

/* 2つ目のブロックは左右反転（画像が左、テキストが右） */
.philosophy-block:nth-child(even) {
  flex-direction: row-reverse;
}

.philosophy-text {
  flex: 1.4;       /* テキストエリアを広めに確保 */
}

.philosophy-image {
  flex: 0.8;       /* 画像エリアを少し控えめに */
}

.philosophy-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1; /* 横長比率で高さを抑える */
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* スマホ表示 */
@media (max-width: 768px) {
  .philosophy-block,
  .philosophy-block:nth-child(even) {
    flex-direction: column; /* 縦並びに戻す */
    gap: 20px;
  }
}