@charset "UTF-8";

/* CSS Document */
ul.ul01 {
  list-style: none;
  padding: 0;
  margin: 0 5px;
}
ul.ul01 > li {
  position: relative;
  padding: 0.5em 0 0.5em 1.8em;
  margin: 0;
	border-bottom: 1px dotted #FCD1A6;
}
ul.ul01 > li::before {
  position: absolute;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f138';
  color: #F89D71;
	font-size: 1.8rem;
}

ul.ul01a {
  list-style: none;
  padding: 0;
  margin: 0 5px;
}
ul.ul01a > li {
  position: relative;
  padding: 0.5em 0 0.5em 1.8em;
  margin: 0;
}
ul.ul01a > li::before {
  position: absolute;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f138';
  color: #E7C4DF;
	font-size: 1.8rem;
}

dl.dl_ed01 > dt,
dl.dl_ed02 > dt {
	background-color:#CB2B21;
	border: #E26147 2px solid;
	color:#FFF;
	font-size: 2rem;
	margin: 1em 0 10px;
	padding: 6px 10px 7px;
	letter-spacing: 1px;
}
dl.dl_ed01 > dt:first-of-type {
	margin-top: 0;
}

dl.dl_ed01 > dd,
dl.dl_ed02 > dd {
	padding: 0;
	margin: 0;
}

dl.dl_ed01 > dd ul,
dl.dl_ed02 > dd ul {
	padding: 0;
	margin: 0;
	padding-bottom: 10px;
}
dl.dl_ed01 > dd ol,
dl.dl_ed02 > dd ol {
	padding: 0;
	margin: 0;
	margin-left: 2em;
}

dl.dl_ed01 > dd dl.qa {
	margin: 0 0 1.5em;
}
dl.dl_ed01 > dd dl.qa dt,
dl.dl_ed01 > dd dl.qa dd {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0.3em 0 0.4em;
}
dl.dl_ed01 > dd dl.qa dt {
	margin: 0;
	padding-left: 3.4em;
	font-weight: 700;
	background: #EDEDED;
}
dl.dl_ed01 > dd dl.qa dd {
	margin-bottom: 1em;
	padding-top: 0;
	padding-left: 3.4em;
	border-bottom: dotted 1px #C8C8C8;
}
dl.dl_ed01 > dd dl.qa .head {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	margin-left: -2.4em;
	padding-right: 0.2em;
	width: 2.4em;
	text-align: right;
	font-size: 2.2rem;
}
dl.dl_ed01 > dd dl.qa dd .head {
	color: #F68C65;
	font-weight: 700;
}

dl.dl_ed01 > dd > ul li,
dl.dl_ed02 > dd > ul li {
	/*padding: 0;
	margin: 0;*/
	margin-left: 15px;
	padding: 0.2em 0;
	border-bottom: 1px dashed #FCD1A6;
	list-style-type: none;
    position: relative;
}

dl.dl_ed01 > dd > ul li:before {
	position: absolute;
	left: -13px;
	top: 5px;
	font-family:'FontAwesome';
	content: "\f0da";
  color: #F89D71;
}

dl.dl_ed01 > dd ol > li,
dl.dl_ed02 > dd ol > li {
	padding: 0;
	margin: 0;
	background: none;
	border-bottom: none;
}

dl.dl_ol01 dd ol,
dl.dl_ol02 dd ol {
	list-style: none;
	counter-reset: r_paren;
}
dl.dl_ol01 dd ol {
	padding-left: 0.2em;
}
dl.dl_ol02 dd ol {
	padding-left: 1em;
}
dl.dl_ol01 dd ol > li,
dl.dl_ol02 dd ol > li {
	position:relative;
	margin:.6em 0;
}
dl.dl_ol01 dd ol > li:before {
	position: absolute;
	left: -2em;
	counter-increment: r_paren;
	content: counter(r_paren)"）";
}
dl.dl_ol02 dd ol > li:before {
	position: absolute;
	left: -2.5em;
	counter-increment: r_paren;
	content: "（"counter(r_paren)"）";
}

/* QandA */
dl.dl_ed01 dl.dlq_a dd,
dl.dl_ed01 dl.dlq_a dt {
	 color: #333;
     font-size: 100%;
	 font-weight: normal;
     padding: 5px 0 4px 3em;
     text-indent: -2.5em;   
}

dl.dl_ed01 dl.dlq_a dt {
	border: none;
	background: none;
	font-weight: bold;
	margin: 0;
	padding-top:1em;
}

dl.dl_ed01 dl.dlq_a dt span.qa {
	font-size: 120%;
	font-weight: bold;
	font-style: italic;
	color: #6EB82D;
}

dl.dl_ed01 dl.dlq_a dd {
	margin: 0;
	padding-bottom:1em;
	border-bottom: 1px dashed #CCC;
}
dl.dl_ed01 dl.dlq_a dd span.qa {
	font-size: 120%;
	font-weight: bold;
	font-style: italic;
	color: #F178A5;
}

/* 段落 */
dl.dl_ed01 dl.ed01_dl01 {
	margin-bottom: 1em;
}

dl.dl_ed01 dl.ed01_dl01 dd,
dl.dl_ed01 dl.ed01_dl01 dt {
	 color: #333;
	 font-size: 100%;
	 font-weight: normal;
}

dl.dl_ed01 dl.ed01_dl01 dt {
	border: none;
	background: none;
	font-weight: bold;
	margin: 0;
	padding-bottom: 0;
}

dl.dl_ed01 dl.ed01_dl01 dd {
	margin: 0;
	padding-top: 0;
	padding-bottom:0.5em;
	padding-left: 1em;
	border-bottom: 1px dashed #CCC;
}

.dre ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}
.dre ul li {
	padding: 0px;
	margin: 0px;
	padding-left: 20px;
	padding-bottom: 0.4em;
}

/* CSS Document */
dl.dl_pg01 dt {
	background-color:#006A46;
	border:1px solid #00915F;
	color:#ffffff;
	font-weight: bold;
	margin: 1.5em 0 0;
	padding: 6px 12px 4px;
}
dl.dl_pg01 dd {
	padding: 0;
	margin: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #C5E9A5;
	margin-bottom: 15px;
}

dl.dl_pg01 dd div.ttls {
	background: #C5E9A5;
	font-weight: bold;
	padding: 8px 10px 6px;
	font-size: 115%;
	margin-top: 1.5em;
	margin-bottom: 0.8em;
	border-top: 2px solid #6FBA2C;
	border-bottom: 1px solid #6FBA2C;
	line-height: 1.3em;
    color:#006A46;
}

dl.dl_pg01 dd div.zach {
	padding-bottom: 10px;
	text-align: right;
	font-size: 90%;
}

ol.ol01 {
	/*padding: 0;
	margin: 0;*/
    margin-left: 2em;
}
ol.ol01 li {
	/*border-bottom: 1px dashed #CCC;
	padding: 0;
	margin: 0;
	padding-bottom: 0.5em;*/
	margin-bottom: 0.5em;
}

/* （）数字 */
ol.list_parentheses {
  padding:0;
  margin:0;
  margin-left : -2.5em;
}
 
ol.list_parentheses li {
  padding:0;
  margin:0;
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
 text-indent : -1.8em; margin-left : 1.8em
}
ol.list_parentheses li:before {
  display: marker;
  content: "(" counter(cnt) ") ";
}

ol.list_parentheses li ul.ul01 {
	padding: 0px;
	list-style: none;
	margin-left : -3em;
}
ol.list_parentheses li ul.ul01 li {
	margin-left: 0;
	padding: 0px 0px 0 20px;
	background: url(../images/ico_mark01.gif) no-repeat 3px 0.2em;
	text-indent : 0em;
}
ol.list_parentheses li ul.ul01 li:before {
	display: none;
	content: normal;
}
/* アイコンリンク */
.ico_pdf,
* html a.pdf {
	background: url(../images/ico_pdf01.gif) no-repeat right center;
	padding: 2px 20px 2px 0;
}

/* オンデマンド配信　テキストボックス cp_box
------------------------------------*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	width: auto;
	margin: 0.5em auto;
}
.cp_box label {
	font-size: 1.6rem;
	font-weight: normal;
	position: relative;
	display: block;
	width: 100%;
	margin: auto;
	padding: 0.2em 1em 0.3em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: left;
	color: #fff;
	background-color:#CB2B21;
	border: #E26147 2px solid;
}
.cp_box label:hover {
	transition: all 0.3s;
	color: #CB2B21;
	background: none;
}
.cp_box label::after,
.cp_box02 label::after {
	position: absolute;
	right: 10px;
	top: 5px;
	font-family:'FontAwesome';
	content: "\f078";
  color: rgba(255,255,255,0.80);
}
.cp_box label:hover::after {
	color: #CB2B21;
}
.cp_box input:checked ~ label::after,
.cp_box02 input:checked ~ label::after {
	position: absolute;
	right: 10px;
	top: 3px;
	font-family:'FontAwesome';
	content: "\f077";
	color: rgba(255,255,255,0.80);
}
.cp_box input:checked ~ label:hover::after {
	color: #CB2B21;
}
.cp_box input,
.cp_box02 input {
	display: none;
}
.cp_box .cp_container,
.cp_box02 .cp_container {
	position: relative;
	z-index: 1;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
	background: rgba(255, 255, 255, 0.5);
}

.cp_box .cp_container .inner {
	display: flex;
	justify-content: space-between;
	padding-bottom: 1px;
}

.cp_box .cp_container .inner  > div:first-of-type {
	width: calc(100% - 150px);
}
.cp_box .cp_container .inner2 > div:first-of-type {
	border: 1px solid #FCD1A6;
	border-right: none;
}
.cp_box .cp_container .inner > div:last-of-type {
	width: 150px;
	text-align: center;
	border: 1px solid #FCD1A6;
	border-left: none;
	display: flex;
  justify-content: center;
  align-items: center;
	padding: 5px;
}
.cp_box .cp_container .inner div.mm_top10 {
	margin-top: 5px;
}
.cp_box .cp_container .inner div.mm_btm10 {
	margin-bottom: 5px;
}

.cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box input:checked ~ div.cp_container,
.cp_box02 input:checked ~ div.cp_container {
	height: 100%;
}

/* 表示領域が767.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 767.98px) {
	.cp_box .cp_container .inner {
		flex-direction: column;
	}
	.cp_box .cp_container .inner > div:first-of-type,
	.cp_box .cp_container .inner > div:last-of-type {
		width: 100%;
		margin-bottom: 0;
	}
	.cp_box .cp_container .inner > div:last-of-type {
		border-left: 1px solid #FCD1A6;
		border-top: none;
	}
.cp_box .cp_container .inner2  > div:first-of-type {
	border: none;
	border-bottom:  1px solid #FCD1A6;
	}
}

/* オンデマンド配信　テキストボックス cp_box02
------------------------------------*/
.cp_box02 *, .cp_box02 *:before, .cp_box02 *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box02 {
	width: auto;
	margin: 10px auto;
}
.cp_box02 label {
	position: relative;
	display: block;
	cursor: pointer;
	transition: all 0.3s;
	background: #FDD3BC;
	font-size: 2.2rem;
	font-weight: 700;
	padding: 8px 12px 10px;
	margin: 10px 0;
	border: 2px solid #FDD3BC;
}
.cp_box02 label:hover {
	transition: all 0.3s;
	background: #FDE4D6;
}
.cp_box02 label::after {
	top: 10px;
	color: #F68C65;
}
.cp_box02 label:hover::after {
		color: rgba(246,140,101,0.60);
}
.cp_box02 input:checked ~ label::after {
	color: #F68C65;
	top: 8px;
}

.cp_box02 input:checked ~ label:hover::after {
		color: rgba(246,140,101,0.60);
}
.cp_box02 input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}