@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
dotlottie-player {
	top: -60%;
    left: -50%;
    width: 195% !important;
    height: 224% !important;
}
#gHeader {
	background: none;
}
#gHeader .menu {
	display: none;
}
.infoBox.endBox {
	padding: 4.6rem 0 1.3rem;
	opacity: 0;
	display: flex;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.95);
	z-index: 1001;
	pointer-events: none;
	transition: opacity 0.5s;
	box-sizing: border-box;
}
.infoBox.endBox .logo {
	margin: 0 auto 4.2rem;
	width: 11rem;
}
.infoBox.endBox .icon {
	margin: 1rem auto 0;
	width: 19.3rem;
}
.infoBox.on {
	opacity: 1;
	pointer-events: auto;
}
.infoBox p {
	font-size: 1.7rem;
	font-weight: 500;
	text-align: center;
}
.infoBox .big {
	margin: -1rem -1.5rem -0.9rem;
	display: block;
	font-size: 4rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}
.infoBox .big span {
	color: #00A99D;
}
.infoBox02 .big span {
	color: #FBB03B;
}
.infoBox.popBox {
	padding: 2rem 1.5rem;
	width: 100%;
	max-width: 83.4rem;
	left: 50%;
	right: auto;
	top: 50%;
	height: auto;
	max-height: 100dvh;
	background: transparent;
    box-shadow: none;
    border-radius: 0;
	overflow: auto;
	transform: inherit;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	transform: translate(-50%,-50%);
}
.infoBox.popBox::before,
.infoBox.popBox::after {
	display: none;
}
.infoBox.popBox .outBox {
	padding: 1rem 2rem 6.2rem;
	width: 100%;
	height: auto;
	background: rgba(255, 255, 255, 0.95);
    box-shadow: 0px 0px 0.8rem rgba(0, 0, 0, 0.35);
    border-radius: 0.7rem;
	overflow: inherit;
}
.infoBox.infoBox02.popBox .outBox {
	padding-bottom: 9.9rem;
}
.infoBox.popBox .close {
	margin-bottom: 3.4rem;
}
.infoBox.infoBox02.popBox .close {
	margin-bottom: 7.1rem;
}
.infoBox.popBox .outBox .noteText {
	margin-bottom: 2.3rem;
	color: #ED1E79;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.25;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}
.endBox {
	background: #FFF;
}
.endBox p {
	color: #605B7A;
	font-size: 3.7rem;
}
.endBox p span {
	display: block;
	font-size: 1.7rem;
}
.cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	z-index: 1000;
	display: none;
}
.cover.on {
	display: block;
}
.popBox {
	position: fixed;
	width: calc(100% - 3rem);
	height: calc(100% - 3rem);
	left: 1.5rem;
	top: 1.5rem;
	z-index: 1001;
	background: rgba(255,255,255,0.95);
	box-shadow : 0px 0px 0.8rem rgba(0, 0, 0, 0.35);
	border-radius: 0.7rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
	overflow: hidden;
}
.popBox .outBox {
	padding: 1rem 2rem 2.6rem;
	height: 100%;
	overflow: auto;
}
.popBox.on {
	opacity: 1;
	pointer-events: auto;
}
.popBox:before,
.popBox:after {
	position: fixed;
	left: 3rem;
	top: 1.5rem;
	width: calc(100% - 6rem);
	height: 5rem;
	background: linear-gradient(#FFF,rgba(255,255,255,0));
	content:'';
}
.popBox:after {
	top: auto;
	bottom: 1.5rem;
	background: linear-gradient(rgba(255,255,255,0),#FFF);
}
.popBox .close {
	margin: 0 -0.3rem 2rem 0;
	position: sticky;
	top: 0.6rem;
	text-align: right;
}
.popBox .close img {
	width: 1.2rem;
}
.popBox .content {
	margin: 0 2.6rem;
}
.popBox p {
	margin-bottom: 3.5rem;
	line-height: 1.857;
	letter-spacing: -0.06em;
}
.popBox p:last-of-type {
	margin-bottom: 0 !important;
}
.popBox p.mb01 {
	margin-bottom: 2.5rem;
}
.popBox .title01 {
	margin-bottom: 3rem;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3795;
	font-family: "Noto Sans JP", sans-serif;
}
.popBox .title02 {
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3528;
	letter-spacing: -0.1em;
	font-family: "Noto Sans JP", sans-serif;
}
#main {
	padding-bottom: 10.3rem;
}
#main .mainVisual {
	padding: 6.8rem 1rem 0.5rem;
	min-height: 45.4rem;
	overflow: hidden;
	background: url(../img/index/main_bg.jpg) no-repeat center center / cover;
	box-sizing: border-box;
	position: relative;
}
#main .mainVisual.change {
	background-image: url(../img/index/main_bg02.jpg);
}
#main .mainVisual h2 {
	margin-bottom: 4.2rem;
	font-size: 2.9rem;
	line-height: 1.25;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: -0.08em;
	position: relative;
	z-index: 5;
}
#main .mainVisual h2 small {
	margin-top: 1.1rem;
	display: block;
	font-size: 1rem;
	letter-spacing: 0;
}
#main .mainVisual .subTipBox .tipBox {
	margin-bottom: 0.7rem;
	padding: 1rem 1.5rem 0.3rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	border-radius: 1rem;
	background-color: rgba(255, 255, 255, 0.75);
	position: relative;
	z-index: 5;
}
#main .mainVisual .subTipBox .tipBox:last-child {
	margin-bottom: 0;
}
#main .mainVisual .subTipBox .tipBox .pho {
	width: 4.3rem;
}
#main .mainVisual .subTipBox .tipBox .txt {
	padding-top: 0.3rem;
	width: calc(100% - 5.2rem);
	min-height: 4.1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: -0.06em;
	box-sizing: border-box;
}
#main .mainVisual .subTipBox .tipBox:nth-child(2) {
	padding-bottom: 0.5rem;
}
#main .mainVisual .subTipBox .tipBox:nth-child(2) .pho {
	margin-top: 0.5rem;
}
#main .mainVisual .subTipBox .tipBox:nth-child(2) .txt {
	padding-top: 0.5rem;
}
#main .mainVisual .subTipBox .tipBox:nth-child(3) {
	padding-bottom: 0.3rem;
}
#main .mainVisual .subTipBox .tipBox:nth-child(3) .pho {
	margin-top: 0.3rem;
}
#main .mainVisual .subTipBox .tipBox:nth-child(3) .txt {
	padding-top: 0.3rem;
}
#main .typeBox {
	margin: 0 1rem;
	display: none;
}
#main .type01 {
	display: block;
}
#main .typeBox h3 {
	margin-bottom: 1.2rem;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-align: center;
}
#main .typeBox .qBox {
	opacity: 0.3;
	padding: 3.7rem 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 -0.5rem 2rem;
	min-height: 5.2rem;
	font-size: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.44;
	text-align: center;
	letter-spacing: -0.05em;
}
#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 #695FA2;
}
#main .typeBox .selectList li:nth-child(1).on {
	background: #695FA2;
}
#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 #695FA2;
}
#main .typeBox .selectList li:nth-child(2).on {
	background: #695FA2;
}
#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 #9A9EA9;
}
#main .typeBox .selectList li:nth-child(3).on {
	background: #9A9EA9;
}
#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 #F35865;
}
#main .typeBox .selectList li:nth-child(4).on {
	background: #F35865;
}
#main .typeBox .selectList li:nth-child(5) {
	width: 5.6rem;
	height: 5.6rem;
	border: 2px solid #F35865;
}
#main .typeBox .selectList li:nth-child(5).on {
	background: #F35865;
}
#main .typeBox .txtBox {
	margin-top: 1.5rem;
	display: flex;
	justify-content: space-between;
	font-size: 1.2rem;
	font-weight: 500
}
#main .typeBox .txtBox .agree {
	color: #695FA2;
}
#main .typeBox .txtBox .disagree {
	color: #F35865;
}
#main .typeBox .next {
	margin: 4.3rem auto 0;
	max-width: 31.5rem;
	pointer-events: none;
	opacity: 0.3;
}
#main .typeBox .next.on {
	pointer-events: auto;
	opacity: 1;
}
#main .typeBox .next a {
	padding: 1.6rem;
	display: block;
	color: #FFF;
	font-size: 1.7rem;
	font-weight: 800;
	text-align: center;
	background: #535069;
	border-radius: 3rem;
}
@media all and (min-width: 768px) {
	dotlottie-player {
		position: absolute;
		top: -52%;
		left: -22%;
		width: 145% !important;
		height: 198% !important;
	}
	.infoBox p {
		font-size: 2.7rem;
	}
	.infoBox .big {
		margin: -3.4rem 0 -2.4rem;
		font-size: 7.9rem;
		letter-spacing: 0.05em;
	}
	.endBox p {
		font-size: 5.5rem;
	}
	.endBox p span {
		margin-top: 0.3rem;
		display: block;
		font-size: 2.4rem;
	}
	.infoBox.endBox {
		padding: 4.4rem 0 0;
	}
	.infoBox.endBox .logo {
		margin: 0 auto 5.2rem;
		width: 14.8rem;
	}
	.infoBox.endBox .icon {
		margin: 1rem auto 0;
		width: 25rem;
	}
	.infoBox.popBox .outBox {
		padding: 1rem 2rem 9.1rem;
		border-radius: 3rem;
	}
	.infoBox.infoBox02.popBox .outBox {
		padding-bottom: 16.3rem;
	}
	.infoBox.popBox .close {
		margin-bottom: 5.4rem;
	}
	.infoBox.infoBox02.popBox .close {
		margin-bottom: 13.5rem;
	}
	.infoBox.popBox .outBox .noteText {
		margin-bottom: 4.3rem;
		font-size: 4.4rem;
	}
	.popBox {
		padding: 0;
		max-width: 83.4rem;
		left: 50%;
		transform: translateX(-50%);
		border-radius: 3rem;
		box-sizing: border-box;
	}
	.popBox .outBox {
		padding: 1rem 2rem 12.8rem;
		overflow: auto;
		height: 100%;
	}
	.popBox:before,
	.popBox:after {
		position: fixed;
		left: 50%;
		transform: translateX(-50%);
		width: 80rem;
		top: 0;
		height: 9.2rem;
		background: linear-gradient(#FFF,rgba(255,255,255,0));
		content:'';
		border-radius: 3rem;
	}
	.popBox:after {
		top: auto;
		bottom: 0;
		background: linear-gradient(rgba(255,255,255,0),#FFF);
	}
	.popBox .close {
		margin: 0 0.2rem 7.2rem 0;
		position: sticky;
		top: 1.1rem;
		text-align: right;
	}
	.popBox .close img {
		width: 1.8rem;
	}
	.popBox .content {
		margin: 0 auto;
		padding: 0;
		max-width: 51.6rem;
	}
	.popBox p {
		margin-bottom: 6.3rem;
		line-height: 2;
		letter-spacing: -0.08em;
	}
	.popBox p.mb01 {
		margin-bottom: 3rem;
		line-height: 1.875;
	}
	.popBox .title01 {
		margin-bottom: 1.8rem;
		font-size: 2.8rem;
		line-height: 1.46;
		letter-spacing: 0.02em;
		font-feature-settings: "palt";
		-moz-font-feature-settings: "palt";
	}
	.popBox .title02 {
		margin-bottom: 1.9rem;
		font-size: 2.3rem;
		line-height: 1.48;
		letter-spacing: 0.02em;
		font-feature-settings: "palt";
		-moz-font-feature-settings: "palt";
	}
	#main {
		padding-bottom: 18.5rem;
	}
	#main .mainVisual {
		padding: 15.4rem 1rem 0.5rem;
		min-height: 68.4rem;
		background-image: url(../img/index/main_bg_pc.jpg);
	}
	#main .mainVisual.change {
		background-image: url(../img/index/main_bg02_pc.jpg);
	}
	#main .mainVisual h2 {
		margin-bottom: 8rem;
		color: #605B7A;
		font-size: 5.4rem;
		letter-spacing: -0.08em;
	}
	#main .mainVisual h2 small {
		margin-top: 1.8rem;
		font-size: 1.2rem;
	}
	#main .mainVisual .subTipBox {
		margin: 0 auto;
		max-width: 114rem;
		display: flex;
		flex-wrap: wrap;
	}
	#main .mainVisual .subTipBox .tipBox {
		margin: 0 1.7rem 0 0;
		padding: 2.9rem 2rem 2.7rem 2.7rem !important;
		width: calc((100% - 3.4rem) / 3);
		display: block;
		box-sizing: border-box;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(3n) {
		margin-right: 0;
	}
	#main .mainVisual .subTipBox .tipBox .pho {
		margin: 0 auto 1.4rem;
		padding-left: 2.5rem;
		width: 8.1rem;
		box-sizing: content-box;
	}
	#main .mainVisual .subTipBox .tipBox .txt {
		padding-top: 0;
		width: auto;
		min-height: inherit;
		display: block;
		font-size: 1.6rem;
		line-height: 1.63;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(2) {
		padding-bottom: 0.5rem;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(2) .pho {
		margin-top: 0.5rem;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(2) .txt {
		padding-top: 0.5rem;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(3) {
		padding-bottom: 1.1rem;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(3) .pho {
		margin-top: 0.3rem;
	}
	#main .mainVisual .subTipBox .tipBox:nth-child(3) .txt {
		padding-top: 0.3rem;
	}
	#main .subTypeBox {
		margin: 0 auto;
		max-width: 113.8rem;
	}
	#main .typeBox h3 {
		margin-bottom: 1.8rem;
		font-size: 4.5rem;
	}
	#main .typeBox .qBox {
		padding: 6.7rem 0 6.9rem;
	}
	#main .typeBox .ttl {
		margin: 0 -0.5rem 3.2rem;
		min-height: 5.2rem;
		font-size: 3rem;
		display: block;
		letter-spacing: -0.05em;
	}
	#main .typeBox .ansBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		font-size: 1.8rem;
		font-weight: 500;
	}
	#main .typeBox .ansBox .agree {
		color: #695FA2;
	}
	#main .typeBox .ansBox .disagree {
		color: #F35865;
	}
	#main .typeBox .selectList li {
		margin: 0 2.7rem;
	}
	#main .typeBox .selectList li:nth-child(1) {
		width: 7.6rem;
		height: 7.6rem;
		border: 3px solid #695FA2;
	}
	#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: 3px solid #695FA2;
	}
	#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: 3px solid #9A9EA9;
	}
	#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: 3px solid #F35865;
	}
	#main .typeBox .selectList li:nth-child(5) {
		width: 7.6rem;
		height: 7.6rem;
		border: 3px solid #F35865;
	}
	#main .typeBox .next {
		margin: 9rem auto 0;
		max-width: 35rem;
	}
	#main .typeBox .next a {
		padding: 2.4rem;
		font-size: 2.1rem;
		border-radius: 3.9rem;
	}
	#gFooter {
		padding: 0 1.8rem 4.8rem;
	}
	#gFooter .fBox {
		max-width: 114rem;
	}
	#gFooter .fBox .fLogo {
		margin-top: -1.2rem;
		width: 22.8rem;
	}
}
@media all and (min-width: 768px) {
	#main .typeBox .next a:hover {
		opacity: 1 !important;
		background-color: #403f51;
	}
}
@media all and (min-width: 768px) and (max-width: 1000px) {
	#main .mainVisual h2 {
		font-size: 5rem;
	}
	#main .typeBox .ttl {
		font-size: 2.6rem;
	}
}