/* ==========================================================================
	 * mainvisual
========================================================================== */
.mainvisual {
	overflow: hidden;
}
.mainvisual__container {
	position: relative;
}
.mainvisual__title {
	position: absolute;
	top: 4.5%;
	left: 50%;
	transform: translate(-50%, 0);
	width: 88%;
	font-size: 4.2666666667vw;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.mainvisual__title span {
	margin-bottom: 8px;
	margin-left: -3px;
	display: block;
	width: 110%;
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.8);
}
.mainvisual__title strong {
	font-size: 7vw;
	margin-top: 8px;
	display: inline-block;
	font-weight: 500;
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.8);
}
.mainvisual__title img {
	filter: drop-shadow(0px 0px 5px rgba(255, 255, 255, 0.8));
}
.mainvisual__picture img {
	width: 100%;
}
.mainvisual__headcopy {
	display: none;
}
.mainvisual__bodycopy {
	display: none;
}
.mainvisual__logo {
	display: none;
}
.mainvisual__leadcopy {
	padding-top: 15px;
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 20px;
	display: block;
	background-color: #152f40;
	font-size: 3.4666666667vw;
	color: #fff;
	line-height: 2.3;
}
.mainvisual__leadlogo {
	padding-top: 20px;
	padding-right: 30px;
	padding-bottom: 25px;
	padding-left: 30px;
	background-color: #fff;
}
.mainvisual__leadlogo img {
	text-align: center;
}

@media screen and (min-width: 769px) {
	.mainvisual__title {
		display: none;
	}
	.mainvisual__text {
		position: absolute;
		top: 50%;
		left: 4.5%;
		transform: translateY(-50%);
		max-width: 400px;
	}
	.mainvisual__headcopy {
		margin-bottom: 20px;
		font-size: 1.8rem;
		letter-spacing: 0.15em;
	}
	.mainvisual__headcopy span {
		margin-bottom: 3px;
		margin-left: -4px;
		display: block;
	}
	.mainvisual__headcopy strong {
		font-size: 38px;
		margin-top: 8px;
		display: inline-block;
		font-weight: 500;
	}
	.mainvisual__headcopy {
		display: inline-block;
	}
	.mainvisual__headcopy img {
		width: 99%;
	}
	.mainvisual__bodycopy {
		margin-bottom: 20px;
		display: block;
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: 0.1em;
		text-shadow: 0px 0px 4px rgb(255, 255, 255);
	}
	.mainvisual__logo {
		display: block;
		width: 99%;
	}
	.mainvisual__leadcopy {
		display: none;
	}
	.mainvisual__leadlogo {
		display: none;
	}
}
@media screen and (min-width: 1280px) {
	.mainvisual__text {
		left: 8%;
		max-width: 450px;
	}
	.mainvisual__headcopy {
		margin-bottom: 40px;
		font-size: 2.05rem;
	}
	.mainvisual__bodycopy {
		font-size: 1.7rem;
	}
}
@media screen and (min-width: 1400px) {
	.mainvisual__text {
		left: 11%;
		max-width: 480px;
	}
	.mainvisual__headcopy {
		margin-bottom: 45px;
		font-size: 2.18rem;
	}
	.mainvisual__bodycopy {
		margin-bottom: 30px;
		font-size: 1.9rem;
	}
}
/* ==========================================================================
	 * overview
========================================================================== */
.overview {
	position: relative;
	background-color: #4a7cba;
	box-shadow: 0px 5px 5px 2px rgba(0, 0, 0, 0.1);
}
.overview::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-width: 20px 25px 0 25px;
	border-color: #4a7cba transparent transparent transparent;
}
.overview__container {
	padding-top: 55px;
	padding-right: 30px;
	padding-bottom: 50px;
	padding-left: 30px;
}
.overview__title {
	margin-bottom: 30px;
	margin-right: auto;
	margin-left: auto;
	display: table;
	border-bottom: 2px solid #f4c863;
	font-size: 5.0666666667vw;
	font-weight: 700;
	text-align: center;
	color: #f4c863;
	line-height: 1.7;
	letter-spacing: 0.13em;
}
.overview__title::before {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 8px;
	content: "";
	display: block;
	width: 9.8666666667vw;
	height: 5.0666666667vw;
	background-image: url(/assets/img/home/icon_overview.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.overview__bodycopy {
	margin-bottom: 40px;
	font-size: 3.7333333333vw;
	color: #fff;
	line-height: 2;
}
.overview__list {
	margin-bottom: -13px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.overview__item {
	margin-bottom: 13px;
	width: 48%;
	box-shadow: 5px 5px 3px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
	.overview__container {
		margin-right: auto;
		margin-left: auto;
		padding-top: 50px;
		padding-right: 50px;
		padding-bottom: 60px;
		padding-left: 50px;
		max-width: 1220px;
	}
	.overview__title {
		margin-bottom: 25px;
		font-size: 3rem;
		letter-spacing: 0.15em;
	}
	.overview__title::before {
		margin-bottom: 5px;
		width: 47px;
		height: 24px;
	}
	.overview__bodycopy {
		font-size: 1.8rem;
		text-align: center;
		line-height: 2.3;
	}
	.overview__list {
		margin-bottom: 0;
	}
	.overview__item {
		margin-bottom: 0;
		width: 23.6%;
	}
}
@media screen and (min-width: 1200px) {
	.overview__container {
		padding-right: 80px;
		padding-left: 80px;
		max-width: 1280px;
	}
	.overview__title {
		font-size: 3.4rem;
	}
	.overview__bodycopy {
		font-size: 2rem;
	}
}
/* ==========================================================================
	 * feature
========================================================================== */
.feature {
	background-color: #e9f0fa;
}
.feature__container {
	padding-top: 50px;
	padding-bottom: 50px;
}
.feature__title {
	margin-bottom: 60px;
	padding-right: 15px;
	padding-left: 15px;
	font-size: 4.8vw;
	font-weight: 700;
	text-align: center;
	color: #1d5ba9;
	line-height: 2;
	letter-spacing: 0.15em;
}
.feature__title::before {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 5px;
	content: "";
	display: block;
	width: 21.3333333333vw;
	height: 6.6666666667vw;
	background-image: url(/assets/img/home/icon_feature.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.feature__item {
	margin-bottom: 50px;
}
.feature__item:last-child {
	margin-bottom: 0;
}
.feature__item-text {
	margin-bottom: 30px;
	padding-right: 30px;
	padding-left: 30px;
}
.feature__item-number {
	margin-bottom: 15px;
	margin-left: -2px;
	display: block;
	padding-top: 0.4em;
	padding-left: 1.8em;
	background-image: url(/assets/img/home/bg_value.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 38.6666666667vw;
	height: 8.5333333333vw;
	font-family: "Roboto", sans-serif;
	font-size: 3.7333333333vw;
	text-align: center;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.2em;
}
.feature__item-title {
	margin-bottom: 20px;
	font-size: 5.0666666667vw;
	font-weight: 700;
	color: #152f40;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
.feature__value-item {
	position: relative;
	margin-bottom: 20px;
	padding-left: 38px;
	font-size: 3.7333333333vw;
	line-height: 1.7;
	letter-spacing: 0.03em;
}
.feature__value-item::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 4px;
	left: 0;
	width: 5.8666666667vw;
	height: 5.8666666667vw;
	background-image: url(/assets/img/home/icon_check.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.feature__item:nth-child(odd) .feature__item-picture {
	margin-left: 30px;
}
.feature__item:nth-child(even) .feature__item-picture {
	margin-right: 30px;
}
.feature__link-wrap {
	padding-right: 20px;
	padding-left: 20px;
}
.feature__link {
	position: relative;
	margin-top: 50px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 0.9em;
	padding-right: 1em;
	padding-bottom: 1.1em;
	padding-left: 1em;
	display: block;
	background-color: #1d5ba9;
	border-radius: 50px;
	max-width: 315px;
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	color: rgb(255, 255, 255);
	line-height: 1.5;
	transition: 0.4s;
	letter-spacing: 0.2em;
}
.feature__link:hover {
	color: rgba(255, 255, 255, 0.7);
}
.feature__link::after {
	position: absolute;
	top: 37%;
	right: 8%;
	content: "";
	display: inline-block;
	width: 8px;
	height: 14px;
	background-image: url(/assets/common/img/icon_arrow_right_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: 0.4s;
}
.feature__link:hover::after {
	right: 6%;
}

@media screen and (min-width: 768px) {
	.feature__container {
		margin-right: auto;
		margin-left: auto;
		padding-top: 80px;
		padding-right: 50px;
		padding-bottom: 100px;
		padding-left: 50px;
		max-width: 1220px;
	}
	.feature__title {
		margin-bottom: 80px;
		font-size: 28px;
	}
	.feature__title::before {
		margin-bottom: 10px;
		width: 113px;
		height: 36px;
	}
	.feature__item {
		margin-bottom: 80px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.feature__item:nth-child(2) {
		flex-direction: row-reverse;
	}
	.feature__item-text {
		margin-bottom: 0;
		padding-right: 0;
		padding-left: 0;
		width: 46%;
	}
	.feature__item-number {
		margin-bottom: 20px;
		margin-left: -6px;
		padding-top: 0.2em;
		width: 175px;
		height: 35px;
		font-size: 1.7rem;
	}
	.feature__item-title {
		margin-bottom: 35px;
		font-size: 2.6rem;
	}
	.feature__value-item {
		margin-bottom: 30px;
		padding-left: 53px;
		font-size: 1.9rem;
	}
	.feature__value-item::before {
		content: "";
		top: 6px;
		width: 33px;
		height: 33px;
	}
	.feature__item-picture {
		width: 50%;
	}
	.feature__item:nth-child(odd) .feature__item-picture {
		margin-left: 0;
	}
	.feature__item:nth-child(even) .feature__item-picture {
		margin-right: 0;
	}
	.feature__link {
		margin-top: 100px;
		max-width: 370px;
		font-size: 2rem;
	}
	.feature__link::after {
		width: 9px;
		height: 16px;
	}
}
@media screen and (min-width: 1200px) {
	.feature__container {
		padding-right: 80px;
		padding-left: 80px;
		max-width: 1280px;
	}
	.feature__title {
		font-size: 30px;
	}
	.feature__item-title {
		font-size: 3rem;
	}
	.feature__value-item {
		font-size: 2rem;
	}
}
/* ==========================================================================
	 * movie
========================================================================== */
.movie__container {
	padding-top: 50px;
	padding-right: 20px;
	padding-bottom: 50px;
	padding-left: 20px;
	text-align: center;
}
.movie__title {
	margin-bottom: 15px;
	font-size: 3.7333333333vw;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.15em;
}
.movie__link {
	display: inline-block;
}
.movie__picture {
	overflow: hidden;
	border-radius: 4px;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.movie__container {
		padding-top: 100px;
		padding-right: 50px;
		padding-bottom: 100px;
		padding-left: 50px;
	}
	.movie__title {
		margin-bottom: 30px;
		font-size: 2.8rem;
	}
	.movie__picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 730px;
		border-radius: 10px;
	}
}
/* ==========================================================================
	 * voice
========================================================================== */
.voice {
	margin-top: 85px;
	position: relative;
	background-color: #e9f0fa;
}
.voice::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #e9f0fa;
	width: 100%;
	height: 70px;
	border-radius: 50%;
}
.voice__container {
	padding-top: 15px;
	padding-right: 20px;
	padding-bottom: 50px;
	padding-left: 20px;
}
.voice__icon {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: -5px;
	display: block;
	width: 37.3333333333vw;
	height: 8.5333333333vw;
}
.voice__title {
	margin-bottom: 30px;
	font-size: 5.3333333333vw;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.15em;
}
.voice__list {
	opacity: 0;
}
.voice__list.slick-initialized {
	opacity: 1;
}
.voice__item {
	margin-right: 10px;
	margin-left: 10px;
	padding-top: 5.3333333333vw;
	padding-right: 6.6666666667vw;
	padding-bottom: 5.3333333333vw;
	padding-left: 6.6666666667vw;
	background-color: #fff;
	border-radius: 10px;
}
.voice__flexbox {
	margin-bottom: 20px;
	display: flex;
	justify-content: space-between;
}
.voice__item-text {
	width: 65%;
}
.voice__item-title {
	margin-bottom: 5px;
	font-size: 3.2vw;
	font-weight: 700;
	color: #1d5ba9;
	line-height: 2;
	letter-spacing: 0.15em;
}
.voice__item-name {
	font-size: 2.6666666667vw;
}
.voice__item-img {
	width: 30%;
}
.voice__bodycopy {
	font-size: 2.9333333333vw;
	line-height: 2;
}
.voice__link {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	margin-top: 60px;
	padding-top: 0.9em;
	padding-right: 1em;
	padding-bottom: 1.1em;
	padding-left: 1em;
	display: block;
	background-color: #1d5ba9;
	border-radius: 50px;
	max-width: 315px;
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	color: rgb(255, 255, 255);
	line-height: 1.5;
	transition: 0.4s;
	letter-spacing: 0.2em;
}
.voice__link:hover {
	color: rgba(255, 255, 255, 0.7);
}
.voice__link::after {
	position: absolute;
	top: 37%;
	right: 8%;
	content: "";
	display: inline-block;
	width: 8px;
	height: 14px;
	background-image: url(/assets/common/img/icon_arrow_right_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: 0.4s;
}
.voice__link:hover::after {
	right: 6%;
}

@media screen and (min-width: 768px) {
	.voice {
		margin-top: 180px;
	}
	.voice::before {
		top: -60px;
		height: 120px;
	}
	.voice__container {
		padding-right: 0;
		padding-bottom: 100px;
		padding-left: 0;
	}
	.voice__icon {
		width: 183px;
		height: 42px;
	}
	.voice__title {
		font-size: 2.8rem;
	}
	.voice__item {
		margin-right: 25px;
		margin-left: 25px;
		padding-top: 40px;
		padding-right: 40px;
		padding-bottom: 40px;
		padding-left: 40px;
		border-radius: 15px;
		max-width: 570px;
	}
	.voice__flexbox {
		margin-bottom: 40px;
	}
	.voice__item-text {
		margin-top: -10px;
		width: 63%;
	}
	.voice__item-title {
		font-size: 2rem;
	}
	.voice__item-name {
		font-size: 1.4rem;
	}
	.voice__item-img {
		width: 31%;
	}
	.voice__bodycopy {
		font-size: 1.4rem;
	}
	.voice__link {
		margin-top: 70px;
		max-width: 370px;
		font-size: 2rem;
	}
	.voice__link::after {
		width: 9px;
		height: 16px;
	}
}
/* ==========================================================================
	 * sns
========================================================================== */
.sns__container {
	padding-top: 50px;
	padding-right: 30px;
	padding-bottom: 50px;
	padding-left: 30px;
}
.sns__icon {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 10px;
	display: block;
	width: 37.3333333333vw;
	height: 8.5333333333vw;
}
.sns__title {
	margin-bottom: 15px;
	font-family: "Roboto", sans-serif;
	font-size: 5.3333333333vw;
	font-weight: 700;
	text-align: center;
}
.sns__bodycopy {
	margin-bottom: 20px;
	margin-left: calc(50% - 50vw);
	width: 100vw;
	font-size: 3.7333333333vw;
	font-weight: 700;
	text-align: center;
	color: #1d5ba9;
}
.sns__list {
	margin-bottom: -8px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sns__item {
	margin-bottom: 8px;
	width: 48.8%;
}
.sns__link {
	display: block;
	transition: 0.4s;
}
.sns__link:hover {
	opacity: 0.8;
}

@media screen and (min-width: 768px) {
	.sns__container {
		margin-right: auto;
		margin-left: auto;
		padding-top: 80px;
		padding-right: 50px;
		padding-bottom: 120px;
		padding-left: 50px;
		max-width: 1220px;
	}
	.sns__icon {
		width: 183px;
		height: 42px;
	}
	.sns__title {
		margin-bottom: 25px;
		font-size: 2rem;
	}
	.sns__bodycopy {
		margin-bottom: 25px;
		font-size: 2.3rem;
		letter-spacing: 0.15em;
	}
	.sns__list {
		margin-bottom: 0;
	}
	.sns__item {
		margin-bottom: 0;
		width: 19.25%;
	}
	.sns__item:last-child {
		display: none;
	}
}
@media screen and (min-width: 1200px) {
	.sns__container {
		padding-right: 80px;
		padding-left: 80px;
		max-width: 1280px;
	}
}
/* ==========================================================================
	 * faq
========================================================================== */
.faq {
	margin-top: 50px;
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #e9f0fa;
}
.faq__container {
	padding-right: 20px;
	padding-left: 20px;
}
.faq__icon {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: -5px;
	display: block;
	width: 37.3333333333vw;
	height: 8.5333333333vw;
}
.faq__title {
	margin-bottom: 30px;
	font-size: 5.3333333333vw;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.15em;
}
.faq__list {
	margin-bottom: 10px;
	background-color: #fff;
	border-radius: 10px;
}
.faq__list:last-child {
	margin-bottom: 0;
}
.faq__dt {
	position: relative;
	padding-top: 4vw;
	padding-right: 12vw;
	padding-bottom: 4vw;
	padding-left: 13.3333333333vw;
	font-size: 3.4666666667vw;
	font-weight: 700;
	color: #1d5ba9;
	line-height: 1.8;
	letter-spacing: 0.15em;
	cursor: pointer;
	transition: 0.4s;
}
.faq__dt:hover {
	opacity: 0.7;
}
.faq__dt::before {
	position: absolute;
	top: 30%;
	left: 4.5%;
	content: "Q";
	display: inline-block;
	font-family: "Roboto", sans-serif;
	font-size: 6.4vw;
	font-weight: 700;
	color: #1d5ba9;
	line-height: 1;
}
.faq__dt::after {
	position: absolute;
	top: 37%;
	right: 4.5%;
	content: "";
	display: inline-block;
	background-image: url(/assets/common/img/icon_plus_blue.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 4vw;
	height: 4vw;
}
.faq__dt.is-active::after {
	background-image: url(/assets/common/img/icon_minus_blue.svg);
}
.faq__dd {
	display: none;
	position: relative;
	padding-right: 10.6666666667vw;
	padding-bottom: 4vw;
	padding-left: 13.3333333333vw;
	font-size: 3.4666666667vw;
	line-height: 2;
}
.faq__dd::before {
	position: absolute;
	top: 0;
	left: 15px;
	content: "A";
	display: inline-block;
	font-size: 6.4vw;
	font-weight: 700;
	color: #8a97a0;
	line-height: 1;
}
.faq__link {
	position: relative;
	margin-top: 40px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 0.9em;
	padding-right: 1em;
	padding-bottom: 1.1em;
	padding-left: 1em;
	display: block;
	background-color: #1d5ba9;
	border-radius: 50px;
	max-width: 315px;
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	color: rgb(255, 255, 255);
	line-height: 1.5;
	transition: 0.4s;
	letter-spacing: 0.2em;
}
.faq__link:hover {
	color: rgba(255, 255, 255, 0.7);
}
.faq__link::after {
	position: absolute;
	top: 37%;
	right: 8%;
	content: "";
	display: inline-block;
	width: 8px;
	height: 14px;
	background-image: url(/assets/common/img/icon_arrow_right_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: 0.4s;
}
.faq__link:hover::after {
	right: 6%;
}

@media screen and (min-width: 768px) {
	.faq {
		margin-top: 120px;
		margin-left: 50px;
		padding-top: 80px;
		padding-bottom: 100px;
		border-top-left-radius: 50px;
	}
	.faq__container {
		padding-right: 50px;
		padding-left: 50px;
	}
	.faq__icon {
		width: 183px;
		height: 42px;
	}
	.faq__title {
		margin-bottom: 35px;
		font-size: 2.8rem;
	}
	.faq__list {
		margin-right: auto;
		margin-left: auto;
		max-width: 900px;
		border-radius: 10px;
	}
	.faq__dt {
		padding-top: 30px;
		padding-right: 70px;
		padding-bottom: 30px;
		padding-left: 80px;
		font-size: 1.8rem;
	}
	.faq__dt::before {
		left: 30px;
		font-size: 3.3rem;
	}
	.faq__dt::after {
		right: 30px;
		width: 20px;
		height: 20px;
	}
	.faq__dd {
		padding-right: 70px;
		padding-bottom: 30px;
		padding-left: 80px;
		font-size: 1.6rem;
	}
	.faq__dd::before {
		left: 30px;
		font-size: 3.3rem;
	}
	.faq__link {
		margin-top: 90px;
		max-width: 370px;
		font-size: 2rem;
	}
	.faq__link::after {
		width: 9px;
		height: 16px;
	}
}
@media screen and (min-width: 1200px) {
	.faq {
		margin-left: 80px;
	}
}
/* ==========================================================================
	 * vision
========================================================================== */
.vision {
	padding-top: 50px;
	padding-right: 20px;
	padding-bottom: 50px;
	padding-left: 20px;
	text-align: center;
}
.vision__link {
	display: inline-block;
}
.vision__picture {
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.vision {
		padding-top: 100px;
		padding-right: 50px;
		padding-bottom: 100px;
		padding-left: 50px;
	}
	.vision__picture {
		margin-right: auto;
		margin-left: auto;
		max-width: 700px;
	}
}

/*# sourceMappingURL=style.css.map */