/* CSS Document */
.mainTitle{
	background-image:url(../img/mainBg.jpg);
	background-color:#D0C3B4;
}

div.honbun{
	margin-bottom: 60px;
}

div.honbun h4{
	color:#E21E04;
	font-weight: bold;
	margin-bottom: 5px;
	font-size:120%;
}


div.honbun p{
	font-size:16px;
	line-height:180%;
	margin-bottom:20px;
	text-indent:1em;
}

div.honbun p span{
	text-decoration: underline;
}

div.honbun .imgArea img{
	width:100%;
}

div.honbun ul{
	margin:0 0 20px 40px;
}

div.honbun li{
	list-style-type:disc;
	margin-bottom: 5px;
}

/*div.honbun ol{
	margin:0 0 20px 40px;
}*/

/*div.honbun ol li{
	list-style-type:decimal;
}*/




/* --- ベーススタイル --- */
  .link-card-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    margin: 20px 0;
    /*max-width: 800px;*/ /* カードの最大幅 */
      width:100%;
  }

  /* --- カード全体のデザイン --- */
  .link-card {
    display: flex; /* 横並びにする */
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    text-decoration: none; /* リンクの下線を消す */
    color: #333;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    overflow: hidden; /* 角丸からはみ出た画像を隠す */
  }

  /* ホバー時の動き */
  .link-card:hover {
    box-shadow: 0 5px 15px rgba(206, 12, 35, 0.15); /* 赤色の薄い影 */
    transform: translateY(-2px); /* 少し浮き上がる */
    border-color: #CE0C23; /* 枠線を赤に */
  }

  /* --- 左側の画像エリア --- */
  .card-image {
    width: 35%; /* PCでの画像の幅 */
    min-width: 200px;
    background-color: #ccc; /* 画像がない場合の背景色 */
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* 画像そのものの設定 */
  .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 枠に合わせて画像をトリミング */
    display: block;
    transition: transform 0.5s ease;
  }

  /* ホバー時に画像を少し拡大 */
  .link-card:hover .card-image img {
    transform: scale(1.05);
  }

  /* --- 右側のテキストエリア --- */
  .card-content {
    width: 65%; /* テキストエリアの幅 */
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
  }

  /* タイトル */
  .card-title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 10px;
    color: #333;
  }

  /* リンクテキスト（青文字部分に相当） */
  .card-link-text {
    font-size: 14px;
    color: #CE0C23; /* ★ここをメインカラーの赤に設定 */
    margin-bottom: 10px;
    text-decoration: underline;
  }

  /* 説明文（もしあれば） */
  .card-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    margin: 0;
  }

  /* --- 矢印アイコン（CSSで描画） --- */
  .card-arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    transform: rotate(45deg);
    transition: border-color 0.3s;
  }
  
  /* スマホでは矢印の位置調整が必要なため、flexレイアウトで制御する場合の補助 */
  
  .link-card:hover .card-arrow {
    border-color: #CE0C23; /* ホバー時に矢印も赤く */
  }

  /* --- レスポンシブ対応（スマホ表示） --- */
  @media screen and (max-width: 768px) {
    .link-card {
      flex-direction: column; /* 縦並びにする */
    }

    .card-image {
      width: 100%; /* 横幅いっぱいに */
      height: 180px; /* 高さを指定 */
    }

    .card-content {
      width: 100%;
      padding: 15px;
    }

    .card-title {
      font-size: 16px;
    }
    
    .card-arrow {
      top: auto;
      bottom: 20px; /* スマホでは右下に配置 */
      right: 15px;
    }
  }







/* --- 基本設定 --- */
  .law-table-container {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
    margin: 20px 0;
  }

  /* --- レスポンシブ対応：横スクロール枠 --- */
  .table-scroll-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    border-top: 5px solid #CE0C23; /* ★メインカラーの赤線 */
  }

  /* --- テーブル本体 --- */
  .law-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 700px; /* リストが項目列に入るため少し幅広に確保 */
    font-size: 14px;
    background-color: #fff;
  }

  /* --- ヘッダー（項目名） --- */
  .law-table th {
    background-color: #CE0C23; /* ★ヘッダー背景を赤に */
    color: #ffffff;
    padding: 15px;
    border: 1px solid #CE0C23;
    white-space: nowrap;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    font-size: 16px;
  }
  
  /* ヘッダーの区切り線（白線） */
  .law-table th:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,0.4);
  }

  /* --- データセル --- */
  .law-table td {
    padding: 15px;
    border: 1px solid #e0e0e0;
    vertical-align: top; /* 上揃えで見やすく */
    color: #333;
  }

  /* --- 偶数行の背景色（薄い赤みのあるグレー） --- */
  .law-table tr:nth-child(even) td {
    background-color: #fdf5f5; /* 赤系統の極薄い色 */
  }

  /* --- ホバー時の演出 --- */
  .law-table tr:hover td {
    background-color: #ffe8e8; /* ホバー時は少し濃い赤背景 */
  }

  /* --- 1列目（項目列）の特別デザイン --- */
  .law-table td:first-child {
    background-color: #fff; /* 項目列は白背景で見やすく */
    font-weight: bold;
    width: 40%; /* リストが入るので幅を広く取る */
    color: #CE0C23; /* 項目名を赤文字で強調 */
    border-right: 2px solid #CE0C23; /* 右側に赤の実線 */
  }
  
  /* 偶数行の1列目も白背景を維持 */
  .law-table tr:nth-child(even) td:first-child {
    background-color: #fff;
  }

  /* --- リスト（箇条書き）のデザイン --- */
  .law-table ul {
    margin: 8px 0 0 10px; /* 上余白と左インデント */
    padding: 0;
    list-style-type: none; /* デフォルトの点を消す */
  }
  
  .law-table li {
    margin-bottom: 4px;
    padding-left: 15px;
    position: relative;
    font-weight: normal; /* リストの中身は太字にしない */
    color: #555; /* 文字色を少しグレーに */
    font-size: 0.9em;
      list-style-type:none !important;
  }

  /* リストの点（ビュレット）を赤色の四角にする */
  .law-table li::before {
    content: "■";
    color: #CE0C23;
    font-size: 8px;
    position: absolute;
    left: 0;
    top: 7px;
  }
  
  /* 項目名（小見出し）の補足テキスト */
  .sub-text {
    display: block;
    font-size: 0.85em;
    color: #888;
    margin-top: 4px;
    font-weight: normal;
  }

  /* --- 2列目・3列目（内容部分）の中央揃えなど --- */
  .law-table td:nth-child(2),
  .law-table td:nth-child(3) {
    text-align: left;
  }
  
  /* 特定の短い文言は中央揃えの方が見やすい場合 */
  .center-text {
    text-align: center !important;
  }

  /* --- スマホ向けの注釈 --- */
  .scroll-note {
    font-size: 12px;
    color: #CE0C23;
    text-align: right;
    margin-top: 8px;
    font-weight: bold;
    display: none;
  }

  @media screen and (max-width: 768px) {
    .law-table th, .law-table td {
      padding: 10px;
      font-size: 13px;
    }
    .scroll-note {
      display: block;
    }
    /* スマホでは項目列の幅指定を解除（なりゆき） */
    .law-table td:first-child {
      width: auto;
      min-width: 180px;
    }
  }