@charset "utf-8";

#contents #main section ul.bls_flow li {
 position: relative;
 background: none;
 margin-bottom: 25px;
 padding: 0;
}

#contents #main section ul.bls_flow li:has(div + div) dl {
	max-width: unset;
	margin: 0;
}
#contents #main section ul.bls_flow li:has(> p.bls_check + div.bls_img) {
	max-width: 83.612%;
	margin: 0 auto 25px;
}
#contents #main section ul.bls_flow li:has(> p.bls_check + div.bls_img) div.bls_img {
	max-width: 100%;
	width: auto;
	margin: 0;
}

ul.bls_flow li dl {
 display: flex;
 justify-content: center;
 gap: 10px;
 font-size: 1.125rem;
 font-weight: bold;
 border: 3px solid #2E89CF;
 padding: 10px;
	
	max-width: 55%;
	margin: 0 auto 25px;
}
ul.bls_flow li dl:has(dt:empty) {
 align-items: center;
 gap: 0;
}
ul.bls_flow li:not(:last-of-type) dl::after {
 content: "";
 position: absolute;
 bottom: -28px;
 left: 50%;
 width: 2px;
 height: 28px;
 background-color: #2E89CF;
 transform: translateX(-50%);
}
ul.bls_flow li:has(div) {
 display: flex;
 flex-direction: row;
 justify-content: center;
 gap: 10px;
}
ul.bls_flow li:has(div) div {
 display: flex;
 flex-direction: column;
 width: 50%;
}
#contents #main section ul.bls_flow li p.bls_check {
 color: #fff;
 font-weight: bold;
 text-align: center;
 background-color: #2E89CF;
 margin: 0;
 padding: 5px;
}
ul.bls_flow li:has(div) div dl {
 flex: 1;
}
#contents #main section ul.bls_flow li:has(+ li > div + div) dl::before {
 content: "";
 position: absolute;
 bottom: -28px;
 left: calc(50% - 25%);
 width: 2px;
 height: 28px;
 background-color: #2E89CF;
}
#contents #main section ul.bls_flow li:has(+ li > div + div) dl::after {
 left: calc(50% + 25%);
}
#contents #main section ul.bls_flow li:has(div + div):has(div.bls_img) {
 flex-direction: row;
 gap: 10px;
}
#contents #main section ul.bls_flow li:has(div + div) div.bls_img {
 flex-direction: column-reverse;
	max-width: 100%;
	width: auto;
	margin: unset;
}
#contents #main section ul.bls_flow li:has(div + div) div.bls_img span {
 width: 100%;
}
#contents #main section ul.bls_flow li:has(div + div) dl::after {
 left: calc(50% - 25%);
}
#contents #main section ul.bls_flow li div.none_arrow dl {
 background-color: rgba(46, 137, 207, .3);
}
#contents #main section ul.bls_flow li div.none_arrow dl::after {
 display: none;
}
#contents #main section ul.bls_flow li div.repeat_arrow dl::before, #contents #main section ul.bls_flow li div.repeat_arrow dl::after {
 content: "";
 position: absolute;
 left: calc(50% + 25%);
 transform: translateX(-50%);
 border: 6px solid transparent;
}
#contents #main section ul.bls_flow li div.repeat_arrow dl::before {
 top: -31px;
 border-bottom-color: #2E89CF;
}
#contents #main section ul.bls_flow li div.repeat_arrow dl::after {
 top: -6px;
 border-top-color: #2E89CF;
}
#contents #main section ul.bls_flow li div.repeat_arrow:has(+ div.repeat_arrow) dl::before, #contents #main section ul.bls_flow li div.repeat_arrow:has(+ div.repeat_arrow) dl::after {
 left: calc(calc(50% - 25%) + 1px);
}
ul.bls_flow li:has(img) {
 flex-direction: column;
 gap: 0;
}
ul.bls_flow li:has(img) div.bls_img {
	max-width: 80%;
 width: 100%;
 flex-direction: row;
 align-items: center;
 border: 3px solid #2E89CF;
 padding: 10px;
	margin: 0 auto;
}
ul.bls_flow li:has(img) div.bls_img dl {
	max-width: 100%;
 border: none;
 padding: 0;
	margin: 0;
}
ul.bls_flow li:has(img) div.bls_img span:has(img) {
 display: inline-block;
 width: 40%;
 max-width: 250px;
}
#contents #main section ul.bls_flow li:has(img) div.bls_img img {
 display: block;
 width: 75%;
 box-shadow: none;
 margin: 0 auto;
}


#contents #main section ul.bls_flow li.center_bls div.none_arrow {
	max-width: 300px;
	width: 100%;
	height: 150px;
}
#contents #main section ul.bls_flow li.center_bls p.bls_check {
	color: #000;
	background-color: #C0DAF1;
}
#contents #main section ul.bls_flow li.center_bls div.none_arrow dl {
	max-width: 100%;
	background-color: #fff;
	border-color: #C0DAF1;
	margin: 0;
	padding-top: 2rem;
}
#contents #main section ul.bls_flow li:has(+ li.center_bls) dl::after {
	bottom: -200px;
	height: 200px;
}


#contents table.ambulance_tbl tr td p {
 color: red;
 font-size: 100%!important;
 font-weight: bold;
 margin: 0;
}
	
div.ambulance_inner {
 display: grid;
 grid-template-rows: auto auto auto;
 grid-template-columns: 1fr 1fr;
 gap: 10px;
 position: relative;
 max-width: 720px;
 margin: 0 auto 20px;
}
div.ambulance_inner > span {
 display: inline-block;
 max-width: 100%;
 width: 100%;
}

#contents #main section div.ambulance_inner > span p {
 position: relative;
 color: #fff;
	font-size: 1.25rem;
 text-align: center;
 background-color: #2E89CF;
 border-radius: 5px;
 margin: 0;
	padding: 5px;
 z-index: 1;
}

#contents #main section div.ambulance_inner img {
 width: 100%;
 box-shadow: none;
 margin: 0;
}
#contents #main section div.ambulance_inner div {
 position: relative;
 grid-row: 1 / 2;
 grid-column: 1 / 3;
 text-align: center;
}
#contents #main section div.ambulance_inner div img {
 object-fit: contain;
}
#contents #main section div.ambulance_inner div span {
 position: absolute;
 color: #fff;
 line-height: 1;
 background-color: rgba(46, 137, 207, .8);
 padding: 5px;
}


#contents #main section ul.state_flow {
	margin-top: 30px;
 margin-bottom: 70px;
}
#contents #main section ul.state_flow li {
 position: relative;
 background: none;
 padding: 0;
}
#contents #main section ul.state_flow li:first-of-type {
 padding-top: 0px;
}
#contents #main section ul.state_flow li:not(:last-of-type)::after {
	content: "";
	display: block;
 	width: 40px;
	height: 25px;
	background-color: red;
	clip-path: polygon(50% 25px, 0% 0%, 40px 0%);
	margin: 20px 60px;
}

#contents #main section ul.state_flow li:last-of-type {
 border-bottom: none;
}
#contents #main section ul.state_flow li h4 {
 display: flex;
 align-items: center;
 gap: 5px;
 margin-bottom: 0;
}
#contents #main section ul.state_flow li h4 span {
	width: 150px;
 display: inline-block;
 color: #fff;
	font-size: 1.25rem;
	letter-spacing: .05em;
	text-align: center;
 background-color: #2E89CF;
 padding: 10.5px 5px;
}
#contents #main section ul.state_flow li > div > p span {
	display: block;
	color: #173854;
	font-size: 1.125rem;
	font-weight: bold;
}

#contents #main section ul.state_flow li > div {
	display: flex;
	align-items: center;
	gap: 6.5625rem;
	margin-bottom: 15px;
}
#contents #main section ul.state_flow li > img {
 max-width: 250px;
 width: 40%;
	box-shadow: none;
 margin: 0;
}
#contents #main section ul.state_flow li > div p {
 margin: 0;
}
#contents #main section ul.state_flow li:last-of-type h4 {
 margin: 0;
}
#contents #main section ul.state_flow li:not(:has(img)) div {
 margin: 0;
}


.firstaid_text {
	display: inline-block;
	color: red;
	font-size: 1.25rem;
	font-weight: bold;
	margin: .5rem 0 2rem;
}
#contents .firstaid_head {
	font-weight: bold;
}

#contents h3.point_head {
	color: red;
	font-size: 1.125rem;
	font-weight: bold;
	background: none;
	border: none;
	padding: 0;
}
#contents h3.point_head + p {
	font-weight: bold;
	margin-bottom: 2rem;
}


@media(max-width: 767px) {
 .wp-block-group.df_img {
  	flex-wrap: wrap;
 }
 .wp-block-group.df_img img {
  	width: 100%!important;
 }
	
	#contents #main section ul.bls_flow li.center_bls div.none_arrow {
		max-width: 57%;
		height: auto;
		margin-left: 5rem;
	}
	#contents #main section ul.bls_flow li.center_bls div.none_arrow dl {
		padding-top: 10px;
	}
	#contents #main section ul.bls_flow li:has(+ li.center_bls) dl::after {
		bottom: -150px;
		height: 150px;
	}
	
	#contents #main section div.ambulance_inner > span p {
		font-size: 1.125rem;
	}
	#contents #main section ul.state_flow {
		margin-bottom: 50px;
	}
	#contents #main section ul.state_flow li > img {
		width: 70%;
	}
	#contents #main section ul.state_flow li > div {
		align-items: flex-start;
		gap: 3%;
	}
}