@charset "UTF-8";
/* CSS Document */

#contentWrap {

}

#sec01,#sec02,#sec03 {
padding-bottom: 50px;
	background-color: #fff;
	box-shadow: 2px 6px 6px rgba(0,0,0,0.2);
	margin-bottom: 3%;
	position: relative;
	z-index: 1;
}
#sec03 {
	margin-bottom: 0;
}
#sec01 .lead {
	text-align: center;
	padding: 2em 0;
}
h3.h3-02 {
	box-shadow: none;
	width: 100%;
}
#sec01 .flex01 {
	max-width: 1000px;
	margin: 0 auto;
	.itemBox {
		width: 22%;
	}
	dd {
		text-align: center;
	}
}
#sec01 h4 {
	border-top: #999 dotted 1px;
	margin-top: 2em;
	padding: 1.5em 0;
	text-align: center;
	font-size: 20px;
}
#sec01 .flex02 {
	max-width: 880px;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	padding-top: 0;
	.box01 {
		width: 30%;
		gap:0 50px;
	}

	.box03 {
		width: 45%;
		.figBox {
			max-width: 280px;
			margin: 0 auto;
			padding-bottom: 15px;
			container-type: inline-size;
		}
		a {
			display: block;
			background-color: #0068b6;
			color: #fff;
			border-radius: 8px;
			text-align: center;
			line-height: 1.4;
			padding: 0.8em;
			font-size: 1.2cqw;
			box-shadow: 0px 2px 5px rgba(0,0,0,0.5);
			span {
				transform: rotateZ(-90deg);
				display: inline-block;
				font-size: 75%;
				margin-left: 0.5em;
			}

		}
	}
}

#sec02 {}
#sec02 .flex, #sec03 .flex {
	max-width: 1000px;
	margin: 0 auto;
	padding: 30px 0;
	gap:30px 0;
	.itemBox {
		width: 22%;
		.ico {
			position: absolute;
			width: 50%;
			left: 0%;
			top: 1%;
		}
	}
}



@media screen and (max-width: 959px){
	h3.h3-02 {
    width: 100%;
	}
	#sec01 .lead {
		font-size: clamp(13px, 1.8cqw, 16px);
		padding: 2em;
	}
	#sec01 .flex01 {
		gap:30px 0;
		width: 90%;
    max-width: 500px;
		.itemBox {
			width: 48%;
		}
	}
	#sec01 h4 {
    font-size: clamp(13px, 2.4cqw, 20px);
		padding: 1em;
	}
	#sec01 .flex02 {
    max-width: 500px;
		width: 90%;
		.box01 {
			width: 46%;
		}
		.box02 {
			width: 41.0%;
		}
		.box03 {
			width: 100%;
			margin: 0;
			a {
				font-size: 2.8cqw;
      }
		}
	}
	#sec02 .flex, #sec03 .flex {
		width: 90%;
    max-width: 500px;
		.itemBox {
			width: 48%;
		}
	}


	
}

@media screen and (max-width: 599px){
	#sec01, #sec02, #sec03 {
		width: 100%;
		padding-bottom: 10px;
	}
	h3.h3-02 .jp {
	  position: static;
	  display: block;
	  padding-top: 0.3em;
		line-height: 1.4;
	}
	#sec01 .flex01, #sec02 .flex, #sec03 .flex  {
    max-width: 300px;
		.itemBox {
			width: 100%;
		}
	}
	#sec01 h4 {
		font-size: clamp(13px, 4.2cqw, 20px);
  }
	#sec01 .flex02 {
		.box01 {
			width: 80%;
			margin: 0 auto;
		}
		.box02 {
			width: 61%;
			margin: 0 auto;
		}
		.box03 a {
			font-size: 3.8cqw;
		}
	}


}

