/**************************/
/* edgeendo css template */
/*glidepath & fire flowchart*/
/*500183980 & 500180210*/
/*@media screen and (max-width:600px){
ここには画面サイズ600px以下のスタイルを書く}*/

/*************************/

.flow_wrapper {
	width: 100%;
	margin-bottom: 20px;
}

/*チャート大枠cssグリッドの指定ここから*************************************/
.flow_wrapper .grid {
	display: grid;
	display: -ms-grid;/*IE*/
	grid-template-columns: 36px auto;/*全ファイル共通*/
	-ms-grid-columns: 36px 5px auto;/*IE*/
	grid-template-rows: 80px 200px auto 36px;
	-ms-grid-rows: 80px 20px 200px 20px auto 20px 36px;/*IE*/
	grid-gap: 20px 5px;
	grid-auto-flow: column; /*列方向からアイテムを埋める*/
}
.flow_wrapper .group1_head {
	grid-column: 1 / 2;/*grid-column: 始点番号 / 終点番号;*/
	grid-row: 1 / 2;/*grid-row: 始点番号 / 終点番号;*/
	-ms-grid-column: 1;/*IE*/
	-ms-grid-row: 1;/*IE*/
	order: 1;
}
.flow_wrapper .group2_head {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	-ms-grid-column: 1;/*IE*/
	-ms-grid-row: 3;/*IE*/
	order: 2;
}
.flow_wrapper .group3_head {
	grid-column: 1 / 2;
	grid-row: 3 / 4;
	-ms-grid-column: 1;/*IE*/
	-ms-grid-row: 5;/*IE*/
	order: 3;
}
.flow_wrapper .group4_head {
	grid-column: 1 / 3;
	grid-row: 4 / 5;
	-ms-grid-column: 1;/*IE*/
	-ms-grid-column-span: 3;
	-ms-grid-row: 7;/*IE*/
	order: 4;
}
.flow_wrapper .group1_body {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	-ms-grid-column: 3;
	-ms-grid-row: 1;
	order: 5;
}
.flow_wrapper .group2_body {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	-ms-grid-column: 3;
	-ms-grid-row: 3;
	order: 6;

}
.flow_wrapper .group3_body {
	grid-column: 2 / 3;
	grid-row: 3 / 4;
	-ms-grid-column: 3;
	-ms-grid-row: 5;
	order: 7;
}
/*チャート大枠cssグリッドの指定ここまで*************************************/

.group1_head, .group2_head, .group3_head, .group4_head {
	font-size: 1.3em;
	color: #ffffff;
	font-weight: bold;
	display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.group1_head, .group2_head {
	background: #666666;
}
.group3_head, .group4_head {
	background: #9c577b;
	letter-spacing: 0.3em;
}
.group1_head p, .group2_head p, .group3_head p {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
}
.group4_head p {
	padding-left: 1em;
}
.group1_body div ul, .group2_body div ul, .group3_body div ul{
	list-style: none;
}

/**穿通group1_body flow0**************************************/

.group1_body .flow0 {
	position: relative;
}
.group1_body .flow0::before {
	content: '';
	width: 6px;
	height: 10px;
	background-color: #666666;
	position: absolute;
	top: 100%;
	left: calc(50% - 3px);
}
.group1_body .flow0::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #666666 transparent transparent transparent;
	position: absolute;
	top: calc(100% + 10px);
	left: calc(50% - 10px);
}
.group1_body .flow0 ul.box li {
	width: 100%;
	height: 80px;
	background: #ffffff;
	border: solid 1px #666666;
	box-sizing: border-box;
	padding: 20px 5px 5px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
    align-items: center;
}
.group1_body .flow0 ul.box li img {
	width: 60%;
    max-width: 195px !important;
    height: auto;
}
.group1_body .flow0 ul.box li p {
	color: #666666;
	font-size: 1em;
	font-weight: bold;
}

/**グライドパス形成group2_body flow1**************************************/

.group2_body .flow1 {
	width: 100%;
	position: relative;
}
.group2_body .flow1 ul.box{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-bottom: 15px;
}

.group2_body .flow1 ul.box li {
	width: 50%;
	height: 200px;
	background: #ffffff;
	border: solid 1px #0058a8;
	box-sizing: border-box;
	padding: 10px 5px 5px;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.group2_body .flow1 ul.box li:first-child {
	border-right: dotted 1px #9c577b;
	position: relative;
}
.group2_body .flow1 ul.box li:last-child {
	border-left: none;
    background: #fff999;
}
.group2_body .flow1 ul.box li:first-child img {
	width: 40px;
	max-width: 30px !important;
	height: auto;
}
.group2_body .flow1 ul.box li:last-child img {
	width: 91px;
	max-width: 60px !important;
	height: auto;
}
.group2_body .flow1 ul.box li p {
	color: #666666;
	font-size: 1em;
	font-weight: bold;
}
.group2_body .flow1 ul.box li span.or {
	background: #666666;
	color: #ffffff;
	border-radius: 3px;
	font-weight: bold;
	width: 2em;
	padding: 2px 0;
	text-align: center;
	position: absolute;
	left: calc(100% - 1em);
    bottom: 50%;
}
.group2_body .flow1 ul.box li a {
	font-size: 1em;
	color: #009633;
	text-decoration: underline;
}


/**根管形成 group3_body flow2~6**************************************/

.flow_wrapper .group3_body {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.flow_wrapper .group3_body .flow2,
.flow_wrapper .group3_body .flow3,
.flow_wrapper .group3_body .flow4,
.flow_wrapper .group3_body .flow5,
.flow_wrapper .group3_body .flow6{
	width: 100%;
	height: auto;
}

/*3-2*/
.flow_wrapper .group3_body .flow2 ul.box li {
	width: 100%;
	height: 100px;
	position: relative;
	background: #ffffff;
	border: solid 1px #0058a8;
	box-sizing: border-box;
	padding: 5px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	text-align: center;
	margin-bottom: 20px;
}
.flow_wrapper .group3_body .flow2 ul.box li::before {
	content: '';
    width: 6px;
    height: 730px;
    background-color: #0058a8;
    position: absolute;
    bottom: -730px;
    left: 5px;
}
.flow_wrapper .group3_body .flow2 ul.box li::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	bottom:  -740px;
    left: -2.5px;
}
.flow_wrapper .group3_body .flow2 ul.box li img.sp_only {
	width: 195px;
    height: 40px;
}
.flow_wrapper .group3_body .flow2 ul.box li p {
	font-size: 12px;
	color: #0058a8;
	font-weight: bold;
	line-height: 1.2;
}
.flow_wrapper .group3_body .flow2 ul.box li p span {
	font-size: 12px;
	color: #666666;
	display: block;
}
.flow_wrapper .group3_body .flow2 ul.box li a span {
	font-size: 11px;
	color: #009633;
	text-decoration: underline;
}

/*3-3*/
.flow_wrapper .group3_body .flow3 ul.box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
	margin-left: 10%;
    margin-right: 10%;
}

.flow_wrapper .group3_body .flow3 ul.box li {
	width: 110px;
	height: 100px;
	position: relative;
	background: #c5e5f9;
	border-radius: 6px;
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
	margin-bottom: 20px;
}
.flow_wrapper .group3_body .flow3 ul.box li::before {
	content: '';
    width: 6px;
    height: 10px;
    background-color: #0058a8;
    position: absolute;
    top: -20px;
    left: calc(50% - 3px);
}
.flow_wrapper .group3_body .flow3 ul.box li::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	top: -10px;
    left: calc(50% - 10px);
}
.flow_wrapper .group3_body .flow3 ul.box li div.arrow {
	content: '';
	width: 6px;
	height: 20px;
	background-color: #0058a8;
	position: absolute;
	bottom: -20px;
	left: calc(50% - 3px);
}
.flow_wrapper .group3_body .flow3 ul.box li p {
	font-size: 15px;
	color: #666666;
	font-weight: bold;
}


/*3-4*/
.flow_wrapper .group3_body .flow4 ul.box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
	margin-left: 10%;
}
.flow_wrapper .group3_body .flow4 ul.box li {
	width: 108px;
	height: 180px;
	position: relative;
	background: #ffffff;
	border: solid 1px #0058a8;
	box-sizing: border-box;
	padding: 5px 3px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	margin-bottom: 20px;
    margin-right: 10%;

}
.flow_wrapper .group3_body .flow4 ul.box li::before {
	content: '';
    width: 6px;
    height: 10px;
    background-color: #0058a8;
    position: absolute;
    bottom: -10px;
    left: calc(50% - 3px);
}
.flow_wrapper .group3_body .flow4 ul.box li::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
    left: calc(50% - 10px);
}

.flow_wrapper .group3_body .flow4 ul.box li div.arrow {
	content: '';
	width: 6px;
	height: 410px;
	background-color: #0058a8;
	position: absolute;
	bottom: -410px;
	left: 5px;
}
.flow_wrapper .group3_body .flow4 ul.box li div.arrow:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	bottom: -10px;
    left: calc(50% - 10px);
}

.flow_wrapper .group3_body .flow4 ul.box li img {
	width: 91px;
    max-width: 50% !important;
    height: auto;
}
.flow_wrapper .group3_body .flow4 ul.box li p {
	font-size: 10px;
	color: #0058a8;
	font-weight: bold;
	line-height: 1.2;
}
.flow_wrapper .group3_body .flow4 ul.box li p span {
	font-size: 12px;
	color: #666666;
	display: inline-block;
}

.flow_wrapper .group3_body .flow4 ul.box li a span {
	font-size: 11px;
	color: #009633;
	text-decoration: underline;
}

.flow_wrapper .group3_body .flow4 ul.box li a span {
	font-size: 11px;
	color: #009633;
	text-decoration: underline;
}


/*3-5*/
.flow_wrapper .group3_body .flow5 ul.box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
	margin-left: 10%;
}
.flow_wrapper .group3_body .flow5 ul.box li {
	width: 108px;
	height: 180px;
	position: relative;
	padding: 5px 3px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	margin-bottom: 20px;
}


.flow_wrapper .group3_body .flow5 ul.box li:first-child {
	background: #ffffff;
	border: solid 1px #0058a8;
	box-sizing: border-box;
}
.flow_wrapper .group3_body .flow5 ul.box li:first-child p {
	font-size: 10px;
	color: #0058a8;
	font-weight: bold;
	line-height: 1.2;
}
.flow_wrapper .group3_body .flow5 ul.box li:first-child p span {
	font-size: 12px;
	color: #666666;
	display: inline-block;
}
.flow_wrapper .group3_body .flow5 ul.box li:first-child img {
	width: 91px;
    max-width: 50% !important;
    height: auto;
}
.flow_wrapper .group3_body .flow5 ul.box li:first-child a span {
	font-size: 11px;
	color: #009633;
	text-decoration: underline;
}
.flow_wrapper .group3_body .flow5 ul.box li:first-child::before {
	content: '';
    width: 6px;
    height: 210px;
    background-color: #0058a8;
    position: absolute;
    bottom: -210px;
    left: calc(50% - 3px);
}
.flow_wrapper .group3_body .flow5 ul.box li:first-child::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	bottom: -220px;
    left: calc(50% - 10px);
}
.flow_wrapper .group3_body .flow5 ul.box li:last-child {
	width: 108px;
	height: 180px;
	background: #c5e5f9;
	border-radius: 6px;
	display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.flow_wrapper .group3_body .flow5 ul.box li:last-child::before {
	content: '';
    width: 6px;
    height: 10px;
    background-color: #0058a8;
    position: absolute;
    bottom: -10px;
    left: calc(50% - 3px);
}
.flow_wrapper .group3_body .flow5 ul.box li:last-child::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
    left: calc(50% - 10px);
}


.flow_wrapper .group3_body .flow5 ul.box li:last-child p {
	font-size: 15px;
	color: #666666;
	font-weight: bold;
}

/*3-6*/
.flow_wrapper .group3_body .flow6 ul.box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
.flow_wrapper .group3_body .flow6 ul.box li {
	width: 108px;
	height: 180px;
	position: relative;
	background: #ffffff;
	border: solid 1px #0058a8;
	box-sizing: border-box;
	padding: 5px 3px;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	text-align: center;
}
.flow_wrapper .group3_body .flow6 ul.box li::before {
	content: '';
    width: 6px;
    height: 10px;
    background-color: #0058a8;
    position: absolute;
    bottom: -10px;
    left: calc(50% - 3px);
}
.flow_wrapper .group3_body .flow6 ul.box li::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;/*上右下左*/
	border-color: #0058a8 transparent transparent transparent;
	position: absolute;
	bottom: -20px;
    left: calc(50% - 10px);
}
.flow_wrapper .group3_body .flow6 ul.box li img {
	width: 91px;
    max-width: 50% !important;
	height: auto;
}
.flow_wrapper .group3_body .flow6 ul.box li p {
	font-size: 10px;
	color: #0058a8;
	font-weight: bold;
	line-height: 1.2;
}
.flow_wrapper .group3_body .flow6 ul.box li p span {
	font-size: 12px;
	color: #666666;
	display: inline-block;
}
.flow_wrapper .group3_body .flow6 ul.box li a span {
	font-size: 11px;
	color: #009633;
	text-decoration: underline;
}

