/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 31 2025 | 16:49:03 */
/* トップスライドショーの文字フォント */
.ltg-slide-text-title,
.ltg-slide-text-title *,
.ltg-slide-text-caption,
.ltg-slide-text-caption * {
  font-family: "Yu Mincho", "ヒラギノ明朝 ProN", "Noto Serif JP", "Source Han Serif", serif;
}

/* ページヘッダーの背景色 */
.page-header {
    background-color: #ffeef6;
}

/* ページヘッダーの文字色 */
.page-header-title {
    color: #000000;
}

/* 末尾のコピーライトの一部を削除 */
.site-footer-copyright p:nth-child(2) {
    display:none;
}

/* テーブルの1列目の背景色を変更する：未使用 */
.highlight-col1 td:nth-child(1) {
    background-color: #f8f1d9;
}

/* 問合せフォームの必須項目 */
.item-required {
	color: red;
}


/* ====== メインページ / 取扱業務用のスタイル ====== */

.practice-areas {
  margin: 2em auto;
  max-width: 1000px;
}

.practice-table {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 2px solid #f8a5c2; /* ピンクの外枠 */
  border-radius: 10px;
  overflow: hidden;
}

.practice-item {
  display: flex;
  flex-direction: row;          /* 横並び */
  align-items: center;          /* 縦中央 */
  justify-content: center;      /* 横中央 */
  padding: 1.5em 1em;
  text-align: center;
  border: 1px solid #f8a5c2;
  background: #fff;
  font-size: 1.1em;
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
  color: inherit;
}

.practice-item:hover {
  background: #ffe4ec;
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(255, 182, 193, 0.4);
}

.practice-item i {
  font-size: 2rem;
  color: #e84393;
  margin-right: 0.5em;           /* 文字との間隔 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
}

.practice-item span {
  font-weight: bold;
  color: #333;
  display: inline-block;
	font-size: 1.2em; /* 文字サイズを少し大きく */
}

/* ====== レスポンシブ ====== */
@media (max-width: 1024px) {
  .practice-table {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .practice-table {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .practice-table {
    grid-template-columns: 1fr;
  }

  /* 小型スマホは縦並びに変更 */
  .practice-item {
    flex-direction: column;
  }

  .practice-item i {
    margin-right: 0;
    margin-bottom: 0.5em;
  }
}



/* ====== 取扱業務ページ用のスタイル ====== */
.business-handled {
  max-width: 900px;
  margin: 2em auto;
  padding: 0 1em;
}

/* 未使用 */
.business-handled h2 {
  font-size: 1.5rem;
  color: #e84393;
  text-align: center;
  margin-bottom: 1.5em;
}

.area-box {
  background: #fff;
  border: 2px solid #f8a5c2;
  border-radius: 12px;
  padding: 1.5em;
  margin-bottom: 1.5em;
  box-shadow: 0 4px 10px rgba(248, 165, 194, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.area-box h3 {
  font-size: 1.2rem;
  color: #e84393;
  display: flex;
  align-items: center;
  margin-bottom: 0.6em;
}

.area-box h3 i {
  font-size: 1.3rem;
  margin-right: 0.5em;
}

.area-box p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #444;
  margin: 0;
}

.example-list {
  list-style: none;
  padding: 0;
  margin: 0.5em 0 1em;
}

.example-list li {
  position: relative;
  padding-left: 1.8em;
  margin-bottom: 0.6em;
  font-size: 0.95rem;
  color: #444;
  line-height: 1.5;
}

.example-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #e84393;
  font-weight: bold;
}


/* ====== レスポンシブ ====== */
@media (max-width: 768px) {
  .area-box h3 {
    font-size: 1.1rem;
  }
  .area-box p {
    font-size: 0.9rem;
  }
}



/* ====== 弁護士紹介ページ用のスタイル ====== */
/* 見出し */
.introducemyself-headline h2 {
  margin: 2em auto 1em;
  font-size: 1.5rem;
  color: #e84393;
  text-align: left;
}



/* ====== ご依頼の流れと費用用のスタイル ====== */
/* ご依頼の流れセクション */
.consult-section h2 {
  margin: 2em auto 1em;
  font-size: 1.5rem;
  color: #e84393;
  text-align: center;
}

.consult-flow {
  margin: 2em auto;
  padding: 0 1em;
}

.flow-step {
  background: #fff;
  border: 2px solid #f8a5c2;
  border-radius: 12px;
  padding: 1.5em;
  margin-bottom: 1.5em;
  box-shadow: 0 4px 10px rgba(248, 165, 194, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.step-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.8em;
}

.step-header i {
  font-size: 2rem;
  color: #e84393;
  margin-right: 0.7em;
}

.step-header h3 {
  font-size: 1.2rem;
  margin: 0;
  color: #e84393;
}

.step-header h3 span {
  font-size: 1rem;
  color: #333;
  font-weight: normal;
}

.flow-step p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #444;
  margin: 0.5em 0 0;
}

.tel-box {
  font-weight: bold;
  background: #ffe4ec;
  border: 1px solid #f8a5c2;
  padding: 0.7em;
  margin-top: 1em;
  text-align: center;
  border-radius: 8px;
}

.tel-box a {
  color: #e84393;
  text-decoration: none;
  font-size: 1.1rem;
}

.tel-box a:hover {
  text-decoration: underline;
}

/* 費用セクション */
.consult-fee-simple h2 {
  margin: 2em auto 1em;
  font-size: 1.5rem;
  color: #e84393;
  text-align: center;
}

.consult-fee-simple h3 {
  font-size: 1.1rem;
  color: #e84393;
  margin-top: 1em;
  margin-bottom: 0.3em;
}

.consult-fee-simple p {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 0.5em;
}


/* ====== レスポンシブ ====== */
@media (max-width: 768px) {
  .step-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .step-header i {
    margin-bottom: 0.3em;
  }
}



/* ====== メインページ / 理念・スタンス用のスタイル ====== */
.philosophy-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 20px;
  text-align: center;
  background: #fff0f5;
  border-radius: 20px;
}

.philosophy-title {
  font-size: 2.2rem;
  margin-bottom: 60px;
  color: #d63384;
  letter-spacing: 0.05em;
  border-bottom: 3px solid #ff69b4;
  display: inline-block;
  padding-bottom: 10px;
}

.philosophy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
}

.philosophy-item {
  background: #fff;
  border-radius: 16px;
  padding: 40px 25px;
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-top: 6px solid #ff69b4;
}

.philosophy-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.15);
}

.philosophy-item .icon {
  font-size: 2.5rem;
  color: #ff69b4;
  margin-bottom: 20px;
}

.philosophy-item h3 {
  font-size: 1.4rem;
  color: #c2185b;
  margin-bottom: 15px;
}

.philosophy-item p {
  font-size: 1rem;
  color: #444;
  line-height: 1.7;
}
