/*********************
.box-note
*********************/
.box-note {
	border: 1px dashed #ccc;
	background-color: #faf6e5;
	padding: 20px;
	margin: 20px 0;
	border-radius: 4px;
  }

.box-note .bold{
	font-weight: bold;
}

.box-note a{
	text-decoration:underline;
}

/*********************
.red
*********************/
.red{
	color: red;
  }

/*********************
.maru
*********************/
  
/* 枠内にドットを入れ、テキスト頭を一直線にそろえる */
ul.maru {
	list-style: none;         /* 既存 reset.css と無矛盾 */
	margin: 0;
	padding-left: 0;          /* UL側の余白はゼロに */
  }
  
  ul.maru > li {
	position: relative;
	padding-left: 1.2em;      /* 本文のスタート位置（←ここ基準で完全にそろう） */
	line-height: 1.7;         /* お好みで */
  }
  
  /* 枠内ドット（小さめ） */
  ul.maru > li::before {
	content: "";
	position: absolute;
	left: 0;                  /* 枠の内側ぴったりに配置（必要なら 0.1em など微調整） */
	top: 0.62em;              /* フォントに応じて 0.58〜0.70em で微調整 */
	width: 0.38em;            /* ドットの大きさ（小さめ） */
	height: 0.38em;
	background: #000;
	border-radius: 50%;
  }
  
  /* （任意）<br> の後の行間が詰まり過ぎるのを防ぐ */
  ul.maru br {
	line-height: 1.7;
  }
  

	/*********************
		.block .table_taishhinmark
		*********************/

	.block .table_taishhinmark{
		width: 100%;
		margin: 0 auto 30px;
		border: 1px solid #018838;
		border-collapse: collapse;   /* 境界を1本化 */
		table-layout: fixed;         /* 幅計算を安定化（colgroup と相性良） */
		font-size: 100%;
	}
	
	.block .table_taishhinmark th,
	.block .table_taishhinmark td{
		border: 1px solid #018838;
		padding: 6px 8px;
		vertical-align: top;         /* rowspan/colspan 混在でも上詰め */
		line-height: 1.6;
		word-break: break-word;      /* 長い語のはみ出しを防止 */
	}
	
	.block .table_taishhinmark thead th{
		background: #018838;
		color: #fff;
		font-weight: bold;
		text-align: left;
	}
	
	/* 「マーク表記」小箱 */
	.block .table_taishhinmark .mark{
		display: inline-block;
		border: 1px solid #333;
		padding: 0 .4em;
		background: #fff;
		color: #333;
	}
	
	/* 右寄せセル（マーク表示欄の行） */
	.block .table_taishhinmark .right{ text-align: right; }
	
	/* 上下の罫線を綺麗に繋ぐ補助クラス（必要なセルに付与） */
	.block .table_taishhinmark .no-top{ border-top: none; }
	.block .table_taishhinmark .no-bottom{ border-bottom: none; }
	
	/* 既存ユーティリティを引き継ぐなら（任意） */
	.block .table_taishhinmark td.td_center{ text-align: center; }
	.block .table_taishhinmark td.td_blank{
		background-image: linear-gradient(
		to right top,
		transparent calc(50% - 0.5px),
		#018838 50%,
		#018838 calc(50% + 0.5px),
		transparent calc(50% + 1px)
		);
	}

  	.maru a{
		text-decoration:underline;
	}
	.maru a:hover{
		text-decoration:none;
	}
	
/*********************
	.mark
*********************/

/* セルの横だけ 16px 開ける（縦方向は 0）*/
table.mark{
	text-align:center; 
	margin:auto;
	border-collapse: separate;
	border-spacing: 16px 0;
}
	


/*********************
.center_image
*********************/
.center80_image{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 80%;
	height: auto;
}

.center50_image{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 50%;
	height: auto;
}

.center35_image{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 35%;
	height: auto;
}


/*********************
.center_table
*********************/
.center_table td{
	text-align: center;
}




/*********************
低コスト工方用
*********************/
:root{
	--brand: #d86f28; /* アイコンやアクセントのブランド色（サンプルのオレンジ） */
	--text: #222;
	--muted: #666;
	--gap: 24px;      /* カード間の余白 */
	--icon-size: 56px;
  }

  * { box-sizing: border-box; }

  body{
	margin: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto,
	  "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
	color: var(--text);
	line-height: 1.7;
  }

  .feature{
	max-width: 980px;
	margin: 40px auto;
	padding: 0 20px;
  }

  .feature__title{
	font-size: 22px;
	margin: 0 0 16px;
	font-weight: 700;
	border-left: 4px solid var(--brand);
	padding-left: 10px;
  }

  /* レスポンシブ対応 */
  .feature-list{
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap);
  }
  @media (min-width: 768px){
	.feature-list{
	  grid-template-columns: 1fr 1fr;
	}
  }

  /* 横並びにする */
  .feature-item{
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	column-gap: 14px;
  }

  .feature-item__icon{
	width: var(--icon-size);
	height: var(--icon-size);
	object-fit: contain;
	flex: 0 0 auto;
	/* SVGの塗りをCSSで統一したい場合、SVG側を currentColor 化しておく */
	color: var(--brand);
  }

  .feature-item__body{
	min-width: 0;
  }

  .feature-item__heading{
	margin: 2px 0 4px;
	font-size: 16px;
	font-weight: 700;
	color: var(--text);
  }

  .feature-item__text{
	margin: 0;
	color: var(--muted);
	font-size: 14px;
  }

/*********************
.senmon_txt
*********************/
.senmon_txt{
	width:100%;
	margin:0 auto 20px;
	line-height:1.8;
}
.senmon_txt a{
	text-decoration:underline;
}
.senmon_txt a:hover{
	text-decoration:none;
}


/*********************
.m_bottom
*********************/
.m_bottom40{
	margin-bottom: 40px;
}

/*********************
.table_1
*********************/
.table_1 a{
	text-decoration:underline;
}

.table_1 a:hover{
	text-decoration:none;
}


/*********************
.ol class="normal"
*********************/
/* 数字付きの標準 ol を復活（対象限定） */
ol.normal {
	list-style: decimal;            /* 番号を表示 */
	list-style-position: outside;   /* 一般的な外側配置 */
	margin: revert;                 /* UA 既定の上下マージンへ */
	padding: revert;                /* 左のインデント（約 40px）へ */
	counter-reset: revert;          /* 念のためカウンタも UA 既定に */
  }
  
  ol.normal > li {
	display: list-item;             /* Reset で block にされていたら戻す */
	list-style: decimal;            /* li 側での打消しに備えて明示 */
	counter-increment: revert;      /* カウンタ上書きがある場合の保険 */
  }
  
  /* Reset で marker を消している場合の保険 */
  ol.normal > li::marker {
	content: initial;               /* UA 既定（数字）を復活 */
  }

  ol.normal > li > a {
	text-decoration:underline;
  }

  ol.normal > li > a:hover {
	text-decoration:none;
  }

  ol.normal > ul {
	margin-bottom:10px;
  }