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

#pageWrap {
    padding: 0;
}
#sec01 {
	position: relative;
}
#sec01::after {
	content: "image";
	position: absolute;
	font-size: 10px;
	right: 1em;
	bottom: 0.5em;
}
#sec01 h3 {
	position: absolute;
	left: 50%;
	top:50%;
	width: 70%;
	max-width: 600px;
	transform: translate(-50%,-50%);
}

.boxWidth {
	container-type: inline-size;
}
.sec {
	padding: 5% 0;
}
.sec .flexTit {
	align-items: center;
}
.sec .flexTit .point {
	width: 130px;
	transform: rotateY(90deg);
	
}
.sec .flexTit.active .point {
	transform: rotateY(0deg);
	transition: 0.5s ease-out 0.6s;
}
.sec .flexTit .h3Box {
	flex: 1;
	margin-left: 30px;
}
.sec .flexTit .h3Box h3 {
	font-size: 3.3cqw;
	text-align: left;
	line-height: 1.3;
	color: #a30028;
	padding-bottom: 0.2em;
}
.sec .flexTit .h3Box p {
	font-size: 1.4cqw;
	font-size: clamp(13px, 1.4cqw, 18px);
	text-align: left;
	line-height: 1.3;
}

#sec02 {}
#sec02 .figBox {
	padding-top: 30px;
}
#sec02 .figBox h4 {
	text-align: center;
	background-color: #f4e2de;
	color: #a30028;
	font-size: 2.3cqw;
	padding: 0.2em 0;
	margin-top: 20px;
}
#sec02 .figBox p.cap {
	text-align: justify;
	font-size: 10px;
	padding-top: 0.6em;
}

#secBnn {
	background-color: #dbdcdc;
	padding: 50px 0;
}
#secBnn a {
	display: block;
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	transition: 0.3s;
}
#secBnn a:hover {
	opacity: 1;
	box-shadow: 0px 1px 5px rgba(0,0,0,0.6);
	transform: translateY(-3px) scale(1.01);
	 filter: brightness(140%) contrast(110%) saturate(110%);
}
#sec03 {
	border-bottom: #000 dotted 1px;
}
#sec03 .flexTit .h3Box h3 {
	color: #004c8a;
}
#sec03 .flex01 {}
#sec03 .flex01 .h4Box {
	position: relative;
	width: 100%;
	
}
#sec03 .flex01 .h4Box::after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px;
	background-color: #000;
	
}
#sec03 .flex01 .h4Box h4 {
	position: relative;
	background-color: #fff;
	display: inline-block;
	padding:0.5em 1em;
	z-index: 1;
	font-size: 2.5cqw;
}

#sec03 .box01 {
	width: 43%;
}
#sec03 .box02 {
	width: 48%;
}
#sec03 .demo {
	width: 5%;
	align-self: center;
}
#sec03 .box {}
#sec03 .box h5 {
	width: 100%;
	color: #004c8a;
	font-weight: 400;
	text-align: left;
	font-size: 2.2cqw;
	line-height: 1.3;
	padding-bottom: 1em;
}
#sec03 .box01 p {
	width: 32%;
	text-align: justify;
}
#sec03 .box01 .imgBase {
	width: 65%;
}
#sec03 .box02 p {
	width: 44%;
	text-align: justify;
	font-size: 14px;
}
#sec03 .box02 .imgBase {
	width: 53%;
}
#sec03 .imgBase {
	position: relative;
	
}
#sec03 .imgBase img {
	position: absolute;
	left: 0;
	bottom: -10%;
	width: 100%;
	
}
#sec03 .flex02 {
	background-color: #fdf3d9;
	margin-top: 50px;
}
#sec03 .flex02 dl {
	width: 58%;
	padding: 20px;
}
#sec03 .flex02 dt {
	color: #004c8a;
	font-size: 2.2cqw;
	text-align: left;
}
#sec03 .flex02 dd {
	text-align: justify;
	padding-top: 0.5em;
	font-size: 1.3cqw;
	font-size: clamp(13px, 1.3cqw, 18px);
}
#sec03 .flex02 .figBox {
	width: 42%;
	position: relative;
}
#sec03 .flex02 .figBox img {
	position: absolute;
	width: 100%;
	bottom: 0;
	right: 0;
}

#sec04 .flexTit .h3Box h3 {
  color: #006855;
}
#sec04 .flex01 {
	margin-top: 30px;
}
#sec04 .flex01 dl {
	width: 24%;
}
#sec04 .flex01 dt {
	color: #730027;
	text-align: left;
	font-size: 2.2cqw;
	line-height: 1.3;
}
#sec04 .flex01 dd {
	text-align: justify;
	padding-top: 1em;
	font-size: 14px;
}

#sec04 .flex01 .fig01 {
	width: 23%;
}
#sec04 .flex01 .fig02 {
	width: 46%;
}

#toPlan {
	padding: 60px 0;
	background-image: url("../images/bg-plan.jpg");
	background-position: center center;
	background-size: cover;
}
#toPlan > div {
	background-color: rgba(255,255,255,0.7);
	padding: 40px 0;
}
#toPlan p {
	font-size: 2.2cqw;
	padding-bottom: 1em;
}

#toPlan a {
	background-color: #8a0035;
	color: #fff;
	font-size: 1.8cqw;
	width: 20em;
	height: 2.4em;
	margin: 0 auto;
	display: flex;
justify-content: center;
align-items: center;
}
#toPlan a:hover {
	background-color: #bc0048;
	opacity: 1;
}
#toPlan a::after {
	content: "▼";
	font-size: 70%;
	transform: rotateZ(-90deg);
	margin-left: 0.6em;
}


@media screen and (max-width: 959px){
	.sec .flexTit .point {
		width: 15%;

	}
	.sec .flexTit .h3Box {
    margin-left: 2%;
	}
	#sec03 .box h5 {
		height: 3em;
		display: flex;
justify-content: center;
align-items: center;
	}
	#sec03 .box h5 br {
		display: none;
	}
	#sec03 .box02 {
		width: 43%;
	}
	#sec03 .demo {
		width: 6%;
	}
	#sec03 .box01 p,#sec03 .box02 p,
	#sec03 .box01 .imgBase,#sec03 .box02 .imgBase{
		width: 100%;
	}
	#sec03 .imgBase img {
    position: static;
    width: 100%;
}
	#sec03 .flex02 dl {
		width: 50%;
	}

	#sec03 .flex02 .figBox {
		width: 50%;
	}
}

@media screen and (max-width: 599px){
	.boxWidth {
		width: 94%;
	}
	#sec01 h3 {
    width: 80%;
	}
	.sec .flexTit {
		display: block;
	}
	.sec .flexTit.active .point {
		width: 20%;
		margin: 0 auto;
	}
	.sec .flexTit .h3Box {
		width: 100%;
		margin: 10px auto;
	}
	.sec .flexTit .h3Box h3 {
		font-size: 5.0cqw;
		font-size: clamp(15px, 5.0cqw, 20px);
		text-align: center;
		padding: 0.5em 0;
	}
	.sec .flexTit .h3Box h3 br {
		display: none;
	}
	.sec .flexTit .h3Box h3 br.brSp {
		display: inline;
	}
	.sec .flexTit .h3Box p {
		font-size: 1.4cqw;
		font-size: clamp(14px, 4.0cqw, 16px);
		text-align: left;
		line-height: 1.5;
	}
	#sec02 .figBox h4 {
    font-size: 4.0cqw;
    padding: 1em 0;
	}
	#sec03 .flex01 {
		display: block;
	}
	#sec03 .flex01 .h4Box h4 {
    padding: 1em 0.8em;
    font-size: 4.6cqw;
	}
	#sec03 .box01,#sec03 .box02,#sec03 .demo {
    width: 90%;
		margin:0 auto;
	}
	#sec03 .demo {
		padding: 30px 30%;
	}
	#sec03 .box h5 {
		font-size: 5.2cqw;
		height: auto;
	}
	#sec03 .box01 p,#sec03 .box02 p  {
		font-size: clamp(13px, 1.4cqw, 18px);
	}
	    #sec03 .flex02 dl {
        width: 100%;
				padding-bottom: 0;
    }
	#sec03 .flex02 dt {
    font-size: 4.8cqw;
    text-align: center;
}
	#sec03 .flex02 .figBox {
        width: 100%;
    }
	#sec03 .flex02 .figBox img {
		position: static;
        width: 100%;
    }
	#sec04 .flex01 dl {
		width: 100%;
	}
	#sec04 .flex01 dt {
		text-align: center;
		font-size: 4.8cqw;
	}
	#sec04 .flex01 dt br {
		display: none;
	}
	#sec04 .flex01 dd {
		text-align: justify;
		padding-top: 1em;
		font-size: clamp(13px, 1.3cqw, 18px);
	}
	#sec04 .flex01 dd br {
		display: none;
	}

	#sec04 .flex01 .fig01 {
		width: 70%;
		margin: 20px auto;
	}
	#sec04 .flex01 .fig02 {
		width: 100%;
	}
	#toPlan {
    padding: 30px 15px;
	}
	#toPlan > div {
    padding: 20px;
}
	#toPlan p {
		font-size: 5.0cqw;
		padding-bottom: 1em;
	}

	#toPlan a {
		background-color: #8a0035;
		color: #fff;
		font-size: 5.6cqw;
		width: 16em;
		height: 2.4em;
		margin: 0 auto;
		display: flex;
	justify-content: center;
	align-items: center;
	}

}