#ari_box{
    height: auto;
    margin-right: auto;
    padding: 0;
    margin-left: auto;
    margin-top: 5rem;
    max-width: 940px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.heading-29 {
    display: inline-block;
    position: relative;
    margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
    color: #333;
    line-height: 1;
    /* フォントサイズをレスポンシブ化 */
    font-size: clamp(1rem, 2vw, 1.8rem);
    font-weight: normal;

}

.heading-29::before {
    position: absolute;
    bottom: calc(-3.5em / 4);
    left: calc(-3.5em / 2);
    z-index: -1;
    width: 3.5em;
    height: 3.5em;
    border-radius: 50%;
    background-color: #F5E3BD;
    content: '';
}
.ari_txt{
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1rem;
    margin-bottom: 4rem;
    color: #666;
}
.ari_txt ol li{
    margin-bottom: 1rem;
    font-size: 0.9rem;
}
.ari_txt h4{
    padding: 0;
    margin: 0;
    font-weight: bold;
}
.heading-1 {
    padding: .5em .7em;
    border-left: 5px solid #F5E3BD;
    color: #333;
    font-size: 1.2rem;
    font-weight: normal;
}
.heading-1 span{
    font-size: 0.75rem;
    vertical-align: top;
}


.table_box {
  width: 100%;
  overflow-x: auto;  /* 横スクロール許可 */
  -webkit-overflow-scrolling: touch; /* スマホでスムーズに */
}

.table_box table {
  border-collapse: collapse;
  width: 100%;
  min-width: 600px; /* スマホでも見切れずスクロールできる基準幅 */
  margin-right: auto;
  margin-left: auto;
}

.table_box th, 
.table_box td {
  padding: 0.5rem;
  border: 1px solid #ccc;
  font-size: 0.9rem; /* スマホでも見やすいサイズ */
  font-weight: normal;
  /*white-space: nowrap;*/ /* 折り返さず横スクロール */
}

.table_box th{
    background-color: #F0F0F0;	
} 

.table_box tr:nth-child(even) {
    background-color: #F9F8F3; /* 薄い青 */
}

.table_box tr:nth-child(odd) {
  background-color: #ffffff; /* 白 */
}




.ari_img img{
    width: 100%;
    height: auto;
    display: block;
    margin-right: auto;
    margin-left: auto;
}





.vertical-text {
  writing-mode: vertical-rl;   /* 縦書き（右→左） */
  text-orientation: upright;   /* 文字を直立 */
  white-space: nowrap;         /* 改行を抑制 */
  text-align: center;          /* 中央寄せ */
  vertical-align: middle;      /* セル中央寄せ */
}

/* スマホでは横書きに戻す */
@media (max-width: 768px) {
  .vertical-text {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }
}
