/* 全体ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper {
  max-width: 1100px;
  margin: 0 auto 15rem;
  padding: 0 1rem;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
}

/* pーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper p {
  margin: 1rem 0.5rem;
}

/* imgーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper img {
  margin: 1rem 1rem 0;
}

@media screen and (max-width: 500px) {
  /* スマホ表示で画像が中心にくるよう左右を0に */
.under-page-wrapper img {
  margin: 1rem 0 0;
}
}

/* h1ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.under-page-wrapper h1 {
  position: relative;
  font-size: 3.2rem;
  font-weight: 700;
  display: block;
  /* 文字幅に合わせるため */
  padding: 0 15px;
  z-index: 1;
  letter-spacing: 0.05em;
  margin: 5rem 0 2rem;
}

/* 背景線 */
.under-page-wrapper h1::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  transform: translateY(-50%);
  /* 文字の中央にくるように */
  height: 15px;
  background-color: #D2EFFD;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .under-page-wrapper h1 {
    font-size: 2.8rem;
    font-weight: 500;
    margin: 5rem 0 1.5rem;
  }
}

/* h2ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper h2 {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  padding-left: 25px;
  letter-spacing: 0.05em;
  margin: 4rem 0 2rem;
}

/* 左の青ライン */
.under-page-wrapper h2::before {
  content: "";
  position: absolute;
  left: 0;
  /* h2 文字から左15px の位置 */
  top: 0;
  width: 10px;
  /* 横幅10px のライン */
  height: 100%;
  /* h2文字の高さに合わせる */
  background-color: #0053BA;
}

@media screen and (max-width: 767px) {
  .under-page-wrapper h2 {
    padding-left: 15px;
    font-weight: 500;
    margin: 3rem 0 1.5rem;
  }

  .under-page-wrapper h2::before {
    width: 5px;
  }
}

/* h3ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper h3 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 4rem 0 2rem;
  padding-bottom: 10px;
  /* 文字と線の距離を確保 */
}

/* 青線（左100px） */
.under-page-wrapper h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  /* h3 の文字から10px下の位置 */
  width: 100px;
  /* 青い線の長さ */
  height: 1px;
  /* 線の太さ（調整可） */
  background-color: #0053BA;
}

/* グレー線（青線の続き） */
.under-page-wrapper h3::after {
  content: "";
  position: absolute;
  left: 100px;
  /* 青線の続きからスタート */
  right: 0;
  /* 横幅いっぱいまで伸ばす */
  bottom: 0;
  height: 1px;
  background-color: #ACACAC;
}

@media screen and (max-width: 767px) {
  .under-page-wrapper h3 {
    margin: 3rem 0 1.5rem;
  }
}

/* h4ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper h4 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 4rem 0 2rem;
  padding-bottom: 10px;
  /* 文字と点線の距離 */
}

/* 点線（線6px・間隔6px・太さ1px） */
.under-page-wrapper h4::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-image: linear-gradient(to right,
      #0053BA 0 6px,
      /* 線の長さ 6px */
      transparent 6px 12px
      /* 間隔 6px */
    );
  background-size: 12px 1px;
  /* 6 + 6 = 12px の繰り返しパターン */
  background-repeat: repeat-x;
}

@media screen and (max-width: 767px) {
  .under-page-wrapper h4 {
    font-size: 1.8rem;
    margin: 3rem 0 1.5rem;
  }
}

/* h5ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper h5 {
  font-size: 1.8rem;
  font-weight: 500;
  color: #0053BA;
  letter-spacing: 0.05em;
  margin: 3rem 0 1.5rem;
}

@media screen and (max-width: 767px) {

  .under-page-wrapper h5 {
    margin: 2rem 0 1.5rem;
  }
}

/* h6ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper h6 {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 1.5rem 0;
}


/* ulーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper ul {
  margin: 0 0 0 2rem;
}

.under-page-wrapper ul li {
  list-style-type: disc;
  padding-bottom: 0.2em;
}

/* olーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
.under-page-wrapper ol {
  margin: 0 0 1rem 2rem;
}

.under-page-wrapper ol li {
  list-style-type: decimal;
  padding-bottom: 0.2em;
}

/* hrーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper hr {
  border: none;
  height: 1px;
  background-color: #0053BA;
  margin: 2rem 0;
}

@media screen and (max-width: 767px) {
  .under-page-wrapper hr {
    margin: 1.5rem 0;
  }
}

/* aーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper a {
  color: #0053BA;
  text-decoration: underline;
  margin: 0.3rem 0;
  font-weight: 500;
  display:inline-block;
}

.under-page-wrapper a:hover {
  opacity:0.8;
}

/* blockquoteーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper blockquote {
    border-left: 2px solid #ccc;
    margin-left: 1.5rem;
    padding-left: 1rem;
}

/* tableーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.table-wrapper {
  overflow-x: auto;                  /* 横スクロール */
  -webkit-overflow-scrolling: touch; /* スマホでスムーズスクロール */
  width: 100%;
  /*margin-bottom:3rem*/
}

.table-wrapper table {
  width:auto;
  border-collapse: collapse;
  min-width: 700px;
}

.under-page-wrapper table p{
    margin: 1rem;
}

.under-page-wrapper table tr,
.under-page-wrapper table th,
.under-page-wrapper table td{
 padding:1rem
}

table, th, td {
  border-color: #333;
}

/* figcaptionーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

.under-page-wrapper figcaption{
    font-size: 1.5rem;
}

/* 2カラム落ちーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

@media screen and (max-width: 767px) {
.mt-be-columns{
  flex-wrap: wrap;
}
}

/* ファイルアップロードーーーーーーーーーーーーーーーーーーーーーーーーーー */

.asset {
  display: inline-flex;
  /* 横並びにする */
  align-items: center;
  /* アイコンと文字を縦方向中央揃え */
}

.file-icon {
  display: inline-block;
  width: 25px;
  height: 30px;
  margin-right: 5px;
  vertical-align: text-bottom;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* aタグの色 */
.asset a {
  color: #333;
}

/* アイコン画像のパス */
.file-icon.pdf {
  background-image: url('assets/images/icon_pdf.png');
}

.file-icon.word {
  background-image: url('assets/images/icon_word.png');
}

.file-icon.excel {
  background-image: url('assets/images/icon_excel.png');
}

/* フォルダーindexーーーーーーーーーーーーーーーーーーーーーーーーーーー */

/* カード全体のレイアウト */
.under-page-wrapper .page-index-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  /* 高さを揃えない */
  align-items: start; 
  margin-bottom: 5rem;
}

/* 組織図・地区社協の取り組み・篤志寄付金配分事業のみ限定レイアウト */
.under-page-wrapper .page-index-card.irregular{
grid-template-columns: none;
}

/* カード本体（aタグがカード） */
.under-page-wrapper .page-index-card .card {
  display: block;  
  background-color: #FCFBF8;
  border: 4px solid #0053BA;
  border-radius: 10px;
  padding: 20px 40px 20px 20px; /* 右にアイコン分余白 */
  box-sizing: border-box;
  text-decoration:underline;
  transition: 0.3s;
  height: auto; /* 上書きされないようにここにまとめる */
  margin: 0;
  /* 追加 */
  max-width: 346px;
}

.under-page-wrapper .page-index-card .card:hover{
    filter: brightness(0.95);
  /* 画像も背景も同時に少し濃くなる */
}

/* タイトルテキスト */
.under-page-wrapper .page-index-card .card p {
  font-size: 1.8rem;
  font-weight: bold;
  color: #0053BA;
  position: relative;
  margin: 0;
}

/* 疑似要素「＞」 */
.under-page-wrapper .page-index-card .card p::after {
  content: "";
  position: absolute;
  right:-20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #0053BA;
  border-bottom: 2px solid #0053BA;
  transform: translateY(-50%) rotate(-45deg);
}

.page-index-list li {
  list-style-type: disc;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 767px) {
/* カード本体（aタグがカード） */
.under-page-wrapper .page-index-card .card {
 
  /* 追加 */
  max-width:100%;
}
}