@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .mainVisual h2 {
	text-align: center;
}
#main .mainVisual h2 .sml {
	margin: 0 0 0.4rem 2rem;
	display: block;
	font-size: 2.1rem;
	letter-spacing: 0.08em;
}
#main .mainVisual h2 .sml .num {
	font-size: 2.8rem;
	line-height: 1;
}
#main .mainVisual h2 .sml img {
	margin-left: -0.2rem;
	width: 2.2rem;
}
#main .mainVisual h2 .large {
	margin-bottom: 2rem;
	display: block;
}
#main .mainVisual h2 .large img {
	height: 3.6rem;
}
#main .mainVisual h2 .bgTxt {
	padding: 0 2px;
	font-size: 1.8rem;
	line-height: 1.56;
	letter-spacing: 0.04em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background: linear-gradient(transparent 10%, #fff 10.1%, #fff 98%, transparent 98.1%, transparent 100%);
}
#main .midImg {
	margin: 0 -1rem -16vw -0.8rem;
	transform: translateY(-22vw);
	text-align: center;
}
#main .midImg img {
	width: 35.6rem;
}
#main .typeBox {
	display: none;
}
#main .type01 {
	display: block;
}
#main .typeBox .qBox {
	opacity: 0.3;
	padding: 2.2rem 0 2.7rem;
	border-bottom: 1px solid #E6E6E6;
	transition: opaicty 0.5s;
	pointer-events: none;
}
#main .typeBox .qBox.done {
	opacity: 0.3;
	pointer-events: auto;
}
#main .typeBox .qBox.active {
	opacity: 1;
	pointer-events: auto;
}
#main .typeBox h3 + .qBox {
	padding-top: 0;
}
#main .typeBox .ttl {
	margin: 0 -1rem 0.9rem;
	min-height: 7.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.44;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
#main .typeBox .selectList {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#main .typeBox .selectList li {
	position: relative;
	border-radius: 50%;
	transition: all .2s ease-in-out;
}
#main .typeBox .selectList li label {
	height: 100%;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .typeBox .selectList li input {
	position: absolute;
	opacity: 0;
}
#main .typeBox .selectList li img {
	opacity: 0;
}
#main .typeBox .selectList li.on img {
	opacity: 1;
}
#main .typeBox .selectList li:nth-child(1) {
	width: 5.6rem;
	height: 5.6rem;
	border: 2px solid #91D9D4;
}
#main .typeBox .selectList li:nth-child(1).on {
	background: #91D9D4;
}
#main .typeBox .selectList li:nth-child(1) img,
#main .typeBox .selectList li:nth-child(5) img {
	width: 2rem;
}
#main .typeBox .selectList li:nth-child(2) {
	width: 4.2rem;
	height: 4.2rem;
	border: 2px solid #91D9D4;
}
#main .typeBox .selectList li:nth-child(2).on {
	background: #91D9D4;
}
#main .typeBox .selectList li:nth-child(2) img,
#main .typeBox .selectList li:nth-child(4) img {
	width: 1.5rem;
}
#main .typeBox .selectList li:nth-child(3) {
	width: 2.6rem;
	height: 2.6rem;
	border: 2px solid #B3B3B3;
}
#main .typeBox .selectList li:nth-child(3).on {
	background: #B3B3B3;
}
#main .typeBox .selectList li:nth-child(3) img {
	width: 0.9rem;
}
#main .typeBox .selectList li:nth-child(4) {
	width: 4.2rem;
	height: 4.2rem;
	border: 2px solid #A0C1EB;
}
#main .typeBox .selectList li:nth-child(4).on {
	background: #A0C1EB;
}
#main .typeBox .selectList li:nth-child(5) {
	width: 5.6rem;
	height: 5.6rem;
	border: 2px solid #A0C1EB;
}
#main .typeBox .selectList li:nth-child(5).on {
	background: #A0C1EB;
}
#main .typeBox .txtBox {
	margin-top: 1.5rem;
	display: flex;
	justify-content: space-between;
	font-size: 1.2rem;
	font-weight: 500;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
#main .typeBox .txtBox .agree {
	color: #00A99D;
}
#main .typeBox .txtBox .disagree {
	color: #4D6A9E;
}
#main .typeBox .comBtnBox {
	margin: 3rem 0 0;
}
#main .typeBox .comBtnBox p {
	margin-bottom: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.9rem;
	letter-spacing: 0.06em;
}
#main .typeBox .comBtnBox p img {
	margin: 0.5rem 0.6rem 0 0;
	width: 16.8rem;
}
#main .typeBox .next .btn {
	pointer-events: none;
	opacity: 0.3;
}
#main .typeBox .next.on .btn {
	pointer-events: auto;
	opacity: 1;
}
#main .typeBox .next .btn a {
	width: 31.6rem;
	font-weight: 800;
	font-size: 1.7rem;
	background: #EA7AAA;
}
#main .type03 .comBtnBox p {
	line-height: 1.2;
}
.endBox {
	opacity: 0;
	padding: 1rem 0 3.3rem;
	display: flex;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	align-items: center;
	justify-content: center;
	background: #F7F4F2;
	z-index: 1001;
	pointer-events: none;
	transition: opacity 0.5s;
	box-sizing: border-box;
}
.endBox.on {
	opacity: 1;
	pointer-events: auto;
}
.endBox .logo {
	margin: 0 auto 2.3rem;
	width: 23.8rem;
	transform: translateX(1.5rem);
}
.endBox p {
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	line-height: 1.55;
}
.endBox p .large {
	display: block;
	font-size: 3.6rem;
	letter-spacing: 0.04em;
	line-height: 1.15;
}
.endBox .icon {
	margin: 3rem auto 0;
	width: 4.1rem;
}
@media all and (max-width: 640px) {
	#main .type03 .comBtnBox p {
		font-size: 1.5rem;
	}
	#main .typeBox .h3Ttl02 {
		margin-bottom: 0.8rem;
		font-size: 3.1rem;
		letter-spacing: 0;
	}
}
@media all and (min-width: 641px) {
	#main .mainVisual h2 .sml {
		margin: 0 0 0.7rem 4rem;
		font-size: 3.25rem;
	}
	#main .mainVisual h2 .sml .num {
		font-size: 4.2rem;
	}
	#main .mainVisual h2 .sml img {
		margin-left: -0.2rem;
		width: 3.2rem;
	}
	#main .mainVisual h2 .large {
		margin-bottom: 1.5rem;
	}
	#main .mainVisual h2 .large img {
		height: 6.3rem;
	}
	#main .mainVisual h2 .bgTxt {
		font-size: 2.5rem;
		letter-spacing: 0.02em;
	}
	#main .midImg {
		margin: 0 0 -17rem;
		transform: translateY(-21.1rem);
	}
	#main .midImg img {
		width: 59.7rem;
	}
	#main .typeBox {
		margin: 0 1.4rem;
	}
	#main .type01 {
		display: block;
	}
	#main .typeBox .qBox {
		padding: 6.6rem 0 7rem;
	}
	#main .typeBox .ttl {
		margin: 0 -3rem 4.1rem;
		min-height: inherit;
		font-size: 3rem;
	}
	#main .typeBox .ansBox {
		margin-left: 4rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		font-size: 1.8rem;
		font-weight: 500;
		font-family: "M PLUS Rounded 1c", sans-serif;
	}
	#main .typeBox .ansBox .agree {
		color: #00A99D;
	}
	#main .typeBox .ansBox .disagree {
		color: #4D6A9E;
	}
	#main .typeBox .selectList li {
		margin: 0 2.7rem;
	}
	#main .typeBox .selectList li:nth-child(1) {
		width: 7.6rem;
		height: 7.6rem;
		border-width: 3px;
	}
	#main .typeBox .selectList li:nth-child(1) img,
	#main .typeBox .selectList li:nth-child(5) img {
		width: 4rem;
	}
	#main .typeBox .selectList li:nth-child(2) {
		width: 5.6rem;
		height: 5.6rem;
		border-width: 3px;
	}
	#main .typeBox .selectList li:nth-child(2) img,
	#main .typeBox .selectList li:nth-child(4) img {
		width: 3rem;
	}
	#main .typeBox .selectList li:nth-child(3) {
		width: 3.5rem;
		height: 3.5rem;
		border-width: 3px;
	}
	#main .typeBox .selectList li:nth-child(3) img {
		width: 1.8rem;
	}
	#main .typeBox .selectList li:nth-child(4) {
		width: 5.6rem;
		height: 5.6rem;
		border-width: 3px;
	}
	#main .typeBox .selectList li:nth-child(5) {
		width: 7.6rem;
		height: 7.6rem;
		border-width: 3px;
	}
	#main .typeBox .comBtnBox {
		margin-top: 5.6rem;
	}
	#main .typeBox .comBtnBox p {
		margin-bottom: 6.2rem;
		font-size: 2.8rem;
	}
	#main .typeBox .comBtnBox p img {
		margin: 0.7rem 0.7rem 0 0;
		width: 25.1rem;
	}
	#main .typeBox .next .btn a {
		width: 46.6rem;
		height: 7.8rem;
		font-size: 2.1rem;
	}
}
@media all and (min-width: 1366px) {
	#main .midImg {
		margin: 0 0 -15.7vw;
		transform: translateY(-18.4vw);
	}
}
@media all and (min-width: 641px) and (max-width: 980px) {
	#main .midImg img {
		width: 57.8rem;
	}
}