@charset "utf-8";

/*====================================================================================================

application

====================================================================================================*/
/*h2 + p, h3 + p, h4 + p{
	margin-bottom: 40px;
}*/

#insurance_facilities > p{
	margin-bottom:30px;
}

#price_insurance_facilities{
	margin-bottom: 90px;
}

#price_insurance_facilities> p{
	margin-bottom:30px;
}


#recuperation_care > p{
	margin-bottom:30px;
}

#price_recuperation_care{
	margin-bottom: 90px;
}

#price_recuperation_care> p{
	margin-bottom:30px;
}


.ex-table {
	width: 100%;
	overflow-x: scroll;
	min-width: 600px;
}

.ex-table.td-center{
	text-align: center;
}

.ex-table th{
	font-weight: 500;

	vertical-align: middle;
	text-align: center;
}

.ex-table[b-color="green"] th{
		background-color: var(--color-green04);
}

.ex-table[b-color="orange"] th{
		background-color: var(--color-orange03);
}
.ex-table tbody th{
	padding:5px 0;
}

.ex-table tbody th span.tate{
	width: 1em;
	height: 90px;
}

.ex-table tbody td{
	padding:5px ;
}
.ex-table tbody tr:first-child td:nth-child(odd){
	text-align: center;
}

.ex-table tbody tr:not(:first-child) td:nth-child(even){
	text-align: center;
}

.ex-table td{
	background-color: var(--color-gray02);
	vertical-align: middle;
}

/*----------------*/
.formula-list{
	list-style: none;
		display: grid;
	margin-bottom: 40px;
}

.formula-list li{
	position: relative;
	font-weight: 500;
	text-align: center;
	height: 100px;
}

.formula-list[b-color="green"] li{
	background-color: var(--color-green04);
}

.formula-list[b-color="green"] li:last-child {
	background-color: var(--color-green02);
	color: var(--color-white);
}

.formula-list[b-color="orange"] li{
	background-color: var(--color-orange03);
}

.formula-list[b-color="orange"] li:last-child {
	background-color: var(--color-orange);
	color: var(--color-white);
}



.formula-list li::after{
	position: absolute;
	font-size: 2.4rem;
	font-weight: 700;
}

.formula-list[b-color="green"] li::after{
	color: var(--color-green01);
}

.formula-list[b-color="orange"] li::after{
	color: var(--color-orange02);
}

.formula-list li:nth-last-child(n + 3)::after{
	content: "+";
}

.formula-list li span{
	display: block;
}

.formula-list li > span{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	white-space: nowrap;
}

@media print, screen and (min-width:1001px) {
.formula-list{
	grid-template-columns: repeat(5,1fr);
	grid-column-gap: 30px;
}
	.formula-list li::after{
	top: 50%;
	transform: translateY(-50%);
	right: -24px;
}
	.formula-list li:nth-last-child(2)::after{
	content: "=";
}
}


@media print, screen and (max-width:1000px) {
.formula-list{
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	grid-template-columns: repeat(1,1fr);
	grid-row-gap: 30px;
}
	
		.formula-list li::after{
	left: 50%;
	transform: translateX(-50%);
	bottom: -34px;
}
	
/*	.formula-list li:nth-last-child(2)::after{
	transform: translateX(-50%) rotate(-90deg);
}*/
	
	.formula-list li:nth-last-child(2)::after{
	content: "";
		display: block;
		width: 0;
height: 0;
border-style: solid;
border-width: 12px 12px 0 12px;

	bottom: -24px;	
		
}
	.formula-list[b-color="green"] li:nth-last-child(2)::after{
		border-color:  var(--color-green01) transparent transparent transparent;
	}
	
	.formula-list[b-color="orange"] li:nth-last-child(2)::after{
		border-color:  var(--color-orange02) transparent transparent transparent;
	}
	.formula-list li{
	height: 60px;
}

}

/*----------------*/
#recuperation_care{
	margin-bottom: 90px;
}

#recuperation_care > p{
	margin-bottom: 30px;
}

/*----------------*/

#flow ol{
	list-style: none;
	 counter-reset: number 0;
}

#flow ol h3{
	position: relative;
	background-color: var(--color-green04);
	font-weight: 500;
}

#flow ol h3{

	padding: 10px 10px 10px 80px;
	margin-bottom: 30px;
}

#flow ol span{
	position: absolute;
	display: block;
color: var(--color-green04);
		font-weight: 700;
font-size:4.0rem;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
		    background-color: #fff;
    background-image: radial-gradient(#e5e5e5 30%, rgba(255, 255, 255, 0) 30%);
    background-size: 10px 10px;
	padding: 10px;
	border-top: 4px solid var(--color-green02);
	border-bottom: 4px solid var(--color-green02);
}

#flow ol li h3 span::before{
position: absolute;
	/*content: "";*/
	display: block;
  counter-increment: number 1;      /* number カウンタの増加数をセット */
  content: counter(number, decimal-leading-zero) ; 
  color: var(--color-green02);
	font-weight: 700;
font-size:4.0rem;
left: 14px;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
z-index: 2;
}


#flow ol li{
	position: relative;
	display: grid;
	border: 4px solid var(--color-gray02);
}

#flow ol li:not(:first-child)::before{
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 60px;
	background-color: var(--color-orange03);
	top:-64px;
	left: 50%;
	transform: translateX(-50%);
}

#flow ol li:not(:last-child){
	margin-bottom: 60px;
}

#flow ol li .txt-box{
	padding: 30px;
}

#flow ol li .img-box{
	height: 360px;
}

#flow ol li:nth-child(1) .img-box{
	background-image: url("../../image/contents/application/flow01.jpg");
}

#flow ol li:nth-child(2) .img-box{
	background-image: url("../../image/contents/application/flow02.jpg");
}

#flow ol li:nth-child(3) .img-box{
	background-image: url("../../image/contents/application/flow03.jpg");
	
}

#flow ol li:nth-child(4) .img-box{
	background-image: url("../../image/contents/application/flow04.jpg");
	background-position: center top;
}

#flow ol li:nth-child(5) .img-box{
	background-image: url("../../image/contents/application/flow05.jpg");
	background-position: center top;
}

#flow ol li:nth-child(6) .img-box{
	background-image: url("../../image/contents/application/flow06.jpg");
	background-position: center bottom;
}

#flow ol li:nth-child(7) .img-box{
	background-image: url("../../image/contents/application/flow07.jpg");
}

#flow{
	margin-bottom: 90px;
}
@media print, screen and (min-width:1001px) {
	#flow ol li{
	grid-template-columns: repeat(2,1fr);
}
}
@media print, screen and (max-width:1000px) {
	#flow ol li{
	grid-template-columns: repeat(1,1fr);
}
}
/*----------------*/

#necessities{
	margin-bottom: 90px;
}

.necessities-list{
	grid-column-gap: 40px;
	grid-row-gap: 40px;
}

.necessities-list > div{
	position: relative;
	background-color: #fff;
    background-image: radial-gradient(var(--color-gray02) 30%, rgba(255, 255, 255, 0) 30%);
    background-size: 10px 10px
}

.necessities-list > div::after{
	position: absolute;
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
		right: 10px;
	bottom:10px;
	width: 150px;
	height: 150px;
}



/*.necessities-list ul li > span{
	display: block;
}*/

.necessities-list > div:nth-child(1)::after{
	background-image: url("../../image/contents/application/paper.png");
}

.necessities-list > div:nth-child(2)::after{
	background-image: url("../../image/contents/application/shirts.png");
}

/*.necessities-list > div:nth-child(3)::after{
	background-image: url("../../image/contents/application/medicine.png");
}

.necessities-list > div:nth-child(4)::after{
	background-image: url("../../image/contents/application/toothbrush.png");
}

.necessities-list > div:nth-child(5)::after{
	background-image: url("../../image/contents/application/tissue.png");
}*/



.necessities-list > div{
	padding: 20px 30px 30px ;
}

.necessities-list > div ul{
	list-style: none;
}

.necessities-list > div ul li:not(:last-child){
	margin-bottom: 10px;
}
.necessities-list > div ul.dot-list li::before{
	top: 0.85em;
}

@media print, screen and (min-width:1001px) {
.necessities-list > div.w100{
	grid-column-start: 1;
	grid-column-end: 3;
}
	.necessities-list > div::after{
	
}
}
@media print, screen and (min-width:751px) and (max-width:1000px){
	.necessities-list .dot-list{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		grid-column-gap: 10px;
		grid-row-gap: 10px;
	}
}

@media print, screen and (max-width:1000px) {
  .col2_gr.necessities-list{
    grid-template-columns: repeat(1, 1fr);
  }
	.necessities-list ul li > span{
	display: block;
}
	
		.necessities-list > div::after{
	
}

}

@media print, screen and (max-width:1000px) {
		.necessities-list > div::after{
	width: 90px;
	height: 90px;
}

}

