@charset "UTF-8";




/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}





/* questionnaire */
.questionnaire {
	background: #F5F4EF;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}
	.questionnaire .inner {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 50px;
		position: relative;
	}





/* kv */
#kv {
	width: 100%;
	padding: 20px 0;
}
	#kv .inner {
		display: flex;
		justify-content: center;
		align-items: center;
	}
		#kv .inner .text {
			width: 40%;
			text-align: center;
			padding-top: 50px;
			background: url("../images/questionnaire/kv_fukidashi.svg") no-repeat left 30% top;
		}
			#kv .inner .text .en {
				font-size: 23px;
				font-weight: 700;
				color: #0055B8;
				line-height: 1;
				margin-bottom: 15px;
			}

			#kv .inner .text h1 {
				font-size: 70px;
				font-weight: 700;
				line-height: 1.1em;
				margin-bottom: 10px;
			}
				#kv .inner .text h1 span {
					color: #0055B8;
				}

			#kv .inner .text .txt {
				font-size: 22px;
				line-height: 1.6em;
				margin-bottom: 20px;
			}

			#kv .inner .text a:hover {
				opacity: 0.7;
			}


		#kv .inner .visual {
			width: 60%;
		}



/* section */
.section {
	padding-top: 70px;
	padding-bottom: 70px;
}
	.section .title {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 40px;
	}
		.section .title img {
			width: 126px;
		}

		.section .title h2 {
			font-size: 50px;
			font-weight: 700;
			padding-left: 15px;
		}
		.section .title.white h2 {
			color: #fff;
		}

	.section .icon {
		position: absolute;
		top: 0;
		right: 150px;
	}

	.section .cont {
		background: #fff;
		border-radius: 20px;
		padding: 30px;
		margin-bottom: 40px;
		position: relative;
 		box-shadow: 8px 8px 0px 0px rgba(255, 255, 255, 0.4);
	}
		.section .cont .number {
			width: 63px;
			height: 60px;
			font-size: 23px;
			font-weight: 700;
			color: #fff;
			text-align: center;
			position: absolute;
			top: -15px;
			left: -15px;
		}
		.sec01 .cont .number {
			background: url("../images/questionnaire/sec01_number.svg") no-repeat center top / 100%;
		}
		.sec02 .cont .number {
			background: url("../images/questionnaire/sec02_number.svg") no-repeat center top / 100%;
		}
		.sec03 .cont .number {
			background: url("../images/questionnaire/sec03_number.svg") no-repeat center top / 100%;
		}


		.section .cont h3 {
			font-size: 20px;
			font-weight: 700;
			line-height: 1.2em;
			letter-spacing: 0;
			text-align: center;
			margin-bottom: 20px;
		}
			.section .cont h3 span {
				font-size: 14px;
			}
			.section .cont h3 br.sp {
				display: none;
			}


		.section .cont .graph {
			text-align: center;
		}



/* sec01 */
.sec01 {
	background: #B3CCF0 url("../images/questionnaire/sec01_bg.svg") no-repeat center top 100px;
	border-radius: 80px;
}
	.sec01 .cont {
		width: 31%;
		margin-right: 3.5%;
	}
	.sec01 .cont:nth-child(3n) {
		margin-right: 0;
	}



/* sec02 */
.sec02 {
	background: url("../images/questionnaire/sec02_bg.svg") no-repeat left 10% top 100px;
}
	.sec02 .cont:nth-child(1),
	.sec02 .cont:nth-child(4) {
		width: 48%;
		margin-right: 4%;
	}
	.sec02 .cont:nth-child(2),
	.sec02 .cont:nth-child(5) {
		width: 48%;
		margin-right: 0;
	}

	.sec02 .cont:nth-child(3) {
		width: 100%;
	}
		.sec02 .cont .message {
			margin-bottom: 30px;
		}
		.sec02 .cont .message:nth-last-child(1) {
			margin-bottom: 0;
		}
			.sec02 .cont .message h4 {
				font-size: 20px;
				font-weight: 700;
				line-height: 1.3em;
			}

			.sec02 .cont .message dl.box {
				margin-top: 20px;
				margin-left: 35px;
				border-radius: 10px;
				padding: 20px;
				position: relative;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			.sec02 .cont .message dl.box.yellow {
				background: #FDFAED;
			}
			.sec02 .cont .message dl.box.orange {
				background: #FDF6ED;
			}
			.sec02 .cont .message dl.box:before {
				content: "";
				width: 46px;
				height: 100%;
				background: url("../images/questionnaire/sec02_message.svg") no-repeat center / 100%;
				position: absolute;
				top: 0;
				left: -35px;
			}
				.sec02 .cont .message dl.box dt {
					font-size: 18px;
					font-weight: 500;
					line-height: 1.3em;
					padding-bottom: 5px;
					background: url("../images/questionnaire/sec02_open.svg") no-repeat right 2px;
					cursor: pointer;
				}
				.sec02 .cont .message dl.box.active dt {
					background: url("../images/questionnaire/sec02_close.svg") no-repeat right 2px;
				}
				.sec02 .cont .message dl.box dd {
					height: 26px;
					font-size: 14px;
					font-weight: 400;
					line-height: 1.8em;
					position: relative;
					overflow: hidden;
					transition: .3s;
				}
					.sec02 .cont .message dl.box dd p {
						position: absolute;
						top: 0;
						left: 0;
					}

			.sec02 .cont ul.impression li {
				padding-bottom: 20px;
				margin-bottom: 20px;
				border-bottom: dashed 1px #ddd;
				font-size: 16px;
				font-weight: 400;
			}
			.sec02 .cont ul.impression li:nth-last-child(1) {
				padding-bottom: 0;
				margin-bottom: 0;
				border-bottom: none;
			}
				.sec02 .cont ul.impression li span {
					font-size: 26px;
					font-weight: 700;
				}
				.sec02 .cont ul.impression li span.yellow {
					color: #E2AB1E;
				}
				.sec02 .cont ul.impression li span.green {
					color: #4BB66E;
				}



/* sec03 */
.sec03 {
	background: #F68397 url("../images/questionnaire/sec03_bg.svg") no-repeat left 10% top 100px;
	border-radius: 80px 80px 0 0;
}
	.sec03 .cont {
		width: 100%;
	}
		.sec03 .cont .advice .box {
			width: 31%;
			margin-right: 3.5%;
			margin-bottom: 30px;
		}
		.sec03 .cont .advice .box:nth-child(3n) {
			margin-right: 0;
		}
			.sec03 .cont .advice .box h3 {
				font-size: 18px;
				font-weight: 500;
				line-height: 1.3em;
				text-align: center;
				background: #F5F5FC;
				border-radius: 20px;
				padding: 15px 10px;
				position: relative;
			}
			.sec03 .cont .advice .box h3:before {
				content: "";
				width: 0;
				height: 0;
				border-style: solid;
				border-color: #f5f5fc transparent transparent transparent;
				border-width: 9px 13px 0px 13px;
				position: absolute;
				bottom: -9px;
				left: 50%;
				margin-left: -13px;
			}
				.sec03 .cont .advice .box h3 span {
					font-size: 18px;
					color: #9191DF;
				}

			.sec03 .cont .advice .box dl dt {
				font-size: 14px;
				font-weight: 700;
				text-align: center;
				color: #F68397;
				margin-bottom: 10px;
			}
				.sec03 .cont .advice .box dl dt span {
					display: inline-block;
					position: relative;
				}
				.sec03 .cont .advice .box dl dt span:before {
					content: "";
					width: 26px;
					height: 26px;
					background: url("../images/questionnaire/sec03_advice.svg") no-repeat center / 100%;
					position: absolute;
					top: -5px;
					left: -35px;
				}

			.sec03 .cont .advice .box dl dd {
				font-size: 12px;
				font-weight: 400;
			}


		.sec03 .cont .message {
			margin-bottom: 30px;
		}
		.sec03 .cont .message:nth-last-child(1) {
			margin-bottom: 0;
		}
			.sec03 .cont .message h4 {
				font-size: 20px;
				font-weight: 700;
				line-height: 1.3em;
			}

			.sec03 .cont .message dl.box {
				margin-top: 20px;
				margin-left: 35px;
				border-radius: 10px;
				padding: 20px;
				position: relative;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			.sec03 .cont .message dl.box.pink {
				background: #FFF5F7;
			}
			.sec03 .cont .message dl.box.purple {
				background: #F6F6FD;
			}
			.sec03 .cont .message dl.box:before {
				content: "";
				width: 46px;
				height: 100%;
				background: url("../images/questionnaire/sec03_message.svg") no-repeat center / 100%;
				position: absolute;
				top: 0;
				left: -35px;
			}
				.sec03 .cont .message dl.box dt {
					font-size: 18px;
					font-weight: 500;
					line-height: 1.3em;
					padding-bottom: 5px;
				}
				.sec03 .cont .message dl.box dd {
					font-size: 14px;
					font-weight: 400;
					line-height: 1.8em;
					position: relative;
					overflow: hidden;
					transition: .3s;
				}





@media screen and (max-width:1200px) {
	
/* kv */
#kv .inner .text {
	padding-top: 40px;
}
	#kv .inner .text .en {
		font-size: 20px;
	}

	#kv .inner .text h1 {
		font-size: 50px;
	}

	#kv .inner .text .txt {
		font-size: 18px;
	}



/* section */
.section {
	padding-top: 50px;
	padding-bottom: 50px;
}
	.section .title {
		margin-bottom: 30px;
	}
		.section .title img {
			width: 90px;
		}

		.section .title h2 {
			font-size: 40px;
		}

	.section .icon {
		width: 100px;
		right: 100px;
	}

	.section .cont {
		border-radius: 15px;
		padding: 25px;
		margin-bottom: 30px;
	}
		.section .cont .number {
			width: 43px;
			height: 40px;
			font-size: 16px;
			top: -10px;
			left: -10px;
		}


		.section .cont h3 {
			font-size: 18px;
			margin-bottom: 15px;
		}
			.section .cont h3 span {
				font-size: 12px;
			}



/* sec01 */
.sec01 {
	background: #B3CCF0 url("../images/questionnaire/sec01_bg.svg") no-repeat center top 100px / 1100px;
	border-radius: 50px;
}



/* sec02 */
.sec02 {
	background: url("../images/questionnaire/sec02_bg.svg") no-repeat left 10% top 100px / 1100px;
}
	.sec02 .cont .message {
		margin-bottom: 25px;
	}
		.sec02 .cont .message h4 {
			font-size: 16px;
		}

		.sec02 .cont .message dl.box {
			margin-top: 12px;
			margin-left: 30px;
		}
		.sec02 .cont .message dl.box:before {
			width: 40px;
			left: -30px;
		}
			.sec02 .cont .message dl.box dt {
				font-size: 16px;
				background: url("../images/questionnaire/sec02_open.svg") no-repeat right 0 top;
			}
			.sec02 .cont .message dl.box.active dt {
				background: url("../images/questionnaire/sec02_close.svg") no-repeat right 0 top;
			}
			.sec02 .cont .message dl.box dd {
				height: 23px;
				font-size: 13px;
			}
				.sec02 .cont .message dl.box dd p {
					line-height: 1.7em;
				}

		.sec02 .cont ul.impression li {
			padding-bottom: 15px;
			margin-bottom: 15px;
			font-size: 14px;
		}
			.sec02 .cont ul.impression li span {
				font-size: 22px;
			}



/* sec03 */
.sec03 {
	background: #F68397 url("../images/questionnaire/sec03_bg.svg") no-repeat left 10% top 100px / 1100px;
	border-radius: 50px 50px 0 0;
}
	.sec03 .cont .advice .box {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 25px;
	}
		.sec03 .cont .advice .box h3 {
			font-size: 16px;
			line-height: 1.3em;
			border-radius: 15px;
			padding: 12px 5px;
		}
			.sec03 .cont .advice .box h3 span {
				font-size: 16px;
			}

		.sec03 .cont .advice .box dl dt {
			font-size: 13px;
		}
			.sec03 .cont .advice .box dl dt span:before {
				width: 22px;
				height: 22px;
			}

		.sec03 .cont .advice .box dl dd {
			font-size: 11px;
		}


	.sec03 .cont .message {
		margin-bottom: 25px;
	}
		.sec03 .cont .message h4 {
			font-size: 16px;
		}

		.sec03 .cont .message dl.box {
			margin-top: 12px;
			margin-left: 30px;
		}
		.sec03 .cont .message dl.box:before {
			width: 40px;
			left: -30px;
		}
			.sec03 .cont .message dl.box dt {
				font-size: 16px;
			}
			.sec03 .cont .message dl.box dd {
				font-size: 13px;
			}
				.sec03 .cont .message dl.box dd p {
					line-height: 1.7em;
				}

}





@media screen and (max-width:900px) {

/* questionnaire */
.questionnaire .inner {
	padding: 0 20px;
}
	
	

/* kv */
#kv .inner {
	display: block;
}
	#kv .inner .text {
		width: 100%;
		padding-top: 20px;
	}
		#kv .inner .text .en {
			font-size: 18px;
		}

		#kv .inner .text h1 {
			font-size: 40px;
		}

		#kv .inner .text .txt {
			font-size: 16px;
			margin-bottom: 15px;
		}

		#kv .inner .text a {
			display: block;
			position: relative;
			z-index: 2;
		}


	#kv .inner .visual {
		width: 90%;
		margin: -40px auto 0 auto;
	}



/* section */
.section {
	padding-top: 50px;
	padding-bottom: 30px;
}
	.section .title {
		display: block;
		margin-bottom: 25px;
		text-align: center;
	}
		.section .title img {
			width: 70px;
		}

		.section .title h2 {
			margin-top: 10px;
			font-size: 26px;
			padding-left: 0;
		}

	.section .icon {
		width: 80px;
		right: 20px;
	}

	.section .list {
		display: block;
	}
		.section .list .cont {
			width: 100%;
			margin-right: 0;
		}



/* sec01 */
.sec01 {
	background: #B3CCF0 url("../images/questionnaire/sec01_bg.svg") no-repeat center top 100px / 130%;
	border-radius: 30px;
}



/* sec02 */
.sec02 {
	background: url("../images/questionnaire/sec02_bg.svg") no-repeat left 10% top 100px / 130%;
}
	.sec02 .cont .message dl.box dt {
		padding-right: 24px;
	}



/* sec03 */
.sec03 {
	background: #F68397 url("../images/questionnaire/sec03_bg.svg") no-repeat left 10% top 100px / 130%;
	border-radius: 30px 30px 0 0;
}
	.sec03 .cont .advice {
		display: block;
	}
	.sec03 .cont .advice .box {
		width: 100%;
		margin-right: 0;
	}

	.sec03 .cont .message dl.box dt {
		padding-right: 24px;
	}



	
}