@charset "utf-8";
/* ------------------------------
 メイン画像
------------------------------ */
.mainImageBlock {
	background-color: #fadce4;
}
.mainImageBlock .contentsBox {
	position: relative;
}
.mainImageBlock .contentsBox .linkBox a {
	overflow: hidden;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	text-indent: -100%;
}

/* ------------------------------
 メインブロック（PC）
------------------------------ */
.mainBlock {
	position: relative;
	padding: 80px 0;
	background-color: #fadce4;
}
.miraikkoBox {
	position: relative;
	margin-bottom: 80px;
	padding: 80px 180px;
	border-radius: 25px;
	background-color: #fff;
}
.miraikkoBox::before {
	content: "";
	display: block;
	position: absolute;
	top: 16px;
	right: -204px;
	width: 339px;
	height: 185px;
	background: url(../images/img_cloud01.png) no-repeat 0 0 / cover;
}
.miraikkoBox::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -129px;
	left: -230px;
	width: 375px;
	height: 247px;
	background: url(../images/img_cloud02.png) no-repeat 0 0 / cover;
}
.contentsHome .miraikkoBox h2 {
	color: #179ddf
}
.contentsHome .miraikkoBox h2 span {
	color: #dc155a;
}
.mainBlock li {
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	.experienceBox {
		width: 780px;
		margin: 0 auto;
	}
}
/* ------------------------------
 メインブロック（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.mainBlock {
		padding: 30px 0 50px;
	}
	.miraikkoBox {
		margin-bottom: 40px;
		padding: 32px;
		border-radius: 15px;
	}
	.miraikkoBox::before {
		top: 2px;
		right: -42px;
		width: 79px;
		height: 43px;
	}
	.miraikkoBox::after {
		bottom: -29px;
		left: -47px;
		width: 87px;
		height: 57px;
	}
}

/* ------------------------------
 下層ブロック（PC）
------------------------------ */
.lowerBlock {
	padding: 80px 0;
	background-color: #fff;
	background-image: radial-gradient(#ffedfb 20%, transparent 20%);
	background-size: 12px 12px;
}
.lowerBlock .inBlock.flexBox {
	position: relative;
}
.lowerBlock .inBlock.flexBox::before {
	content: "";
	display: block;
	position: absolute;
	top: -189px;
	left: -197px;
	width: 247px;
	height: 167px;
	background: url(../images/img_cloud03.png) no-repeat 0 0 / cover;
}
.lowerBlock .inBlock.flexBox::after {
	content: "";
	display: block;
	position: absolute;
	top: -212px;
	right: -209px;
	width: 224px;
	height: 197px;
	background: url(../images/img_cloud04.png) no-repeat 0 0 / cover;
}
.lowerBlock .w1-3 img {
	margin-bottom: 25px;
	border-radius: 25px;
}
.lowerBlock .w1-3 p {
	margin-bottom: 25px;
}
@media print, screen and (min-width: 768px) {
	.lowerBlock .inBlock.flexBox {
		column-gap: 45px;
	}
}
/* ------------------------------
 下層ブロック（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.lowerBlock {
		padding: 75px 0 50px;
	}
	.lowerBlock .inBlock.flexBox::before {
		top: -115px;
		left: -59px;
		width: 115px;
		height: 78px;
	}
	.lowerBlock .inBlock.flexBox::after {
		top: -124px;
		right: -63px;
		width: 99px;
		height: 87px;
	}
	.lowerBlock .inBlock.flexBox .w1-3 + .w1-3 {
		margin-top: 50px;
	}
	.lowerBlock .w1-3 img {
		width: 100%;
		border-radius: 15px;
	}
	.lowerBlock p {
		margin-bottom: 15px;
	}
}

/* ------------------------------
 お知らせ（PC）
------------------------------ */
.informationBlock {
	padding: 80px 0;
	background-color: #fffce2;
}
.informationBlock p + p {
	margin-top: 20px;
}
.informationBlock .btn.btnList.tac {
	margin-top: 75px;
}
@media print, screen and (min-width: 768px) {
	.informationBlock .inBlock {
		width: 780px;
	}
}
/* ------------------------------
 お知らせ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.informationBlock {
		padding: 30px 0;
	}
	.informationBlock .btn.btnList.tac {
		margin-top: 25px;
	}
}

/* ------------------------------
 よくあるご質問（PC）
------------------------------ */
.faqBlock {
	padding-top: 80px;
}
.faqBlock .q,
.faqBlock .a {
	position: relative;
	padding-left: 2em;
}
.faqBlock .q::before,
.faqBlock .a::before {
	content: "Q.";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.faqBlock .a::before {
	content: "A.";
}
.faqBlock .a + .q {
	margin-top: 20px;
}
@media print, screen and (min-width: 768px) {
	.faqBlock .inBlock {
		width: 780px;
	}
}
/* ------------------------------
 よくあるご質問（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.faqBlock {
		padding-top: 30px;
	}
}