@charset "UTF-8";

img{display: inline-block;}

.indexbtn {
	display: inline-block;
	width: 340px;
	max-width: 100%;
	padding: 23px 30px;
	border-radius: 999px;
	color: #000;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.1;
	letter-spacing: .02em;
	text-align: center;
	transition: all .25s ease;
}

.indexbtn:hover {
	opacity: 0.7;
}

.indexbtn.is-primary {
	background: var(--sub-color);
}

.indexbtn.is-secondary {
	background: #FFF;
}

.inner {
	max-width: 1100px;
	margin: 0 auto;
}

.section-title {
	position: relative;
	margin-bottom: 80px;
	padding-bottom: 23px;
	font-weight: 700;
	font-size: 42px;
	line-height: 1.5;
	letter-spacing: .04em;
	text-align: center;
}

.section-title::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0);
	width: 100px;
	height: 3px;
	background: var(--main-color);
	content: '';
}

.section-title span {
	display: block;
	margin-bottom: 10px;
	color: #AFAFAF;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: .02em;
}

.section-title b {
	display: block;
	color: #333;
	font-weight: 700;
	font-size: 34px;
}

/* kv */

.indexkv {
	padding: 58px 30px;
	background: url('../img/index/bg_kv.jpg') no-repeat center center;
	background-size: cover;
}

.indexkv-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	max-width: 1100px;
	margin: 0 auto;
}

.indexkv-image {
	order: 1;
	padding-top: 80px;
	text-align: center;
}

.indexkv-detail {
	color: #FFF;
}

.indexkv-sholder {
	margin-bottom: 36px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: .05em;
}

.indexkv-sholder b {
	display: block;
	margin-top: 10px;
	margin-left: -5px;
	font-weight: 700;
	font-size: 24px;
}

.indexkv-sholder b span {
	display: inline-block;
	position: relative;
	padding: 0 2px;
}

.indexkv-sholder b span::before {
	display: inline-block;
	position: absolute;
	top: 2px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #FFF;
	content: '';
}

.indexkv-point {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	margin-bottom: 35px;
}

.indexkv-point-comment {
	position: relative;
	width: 180px;
	padding: 10px 20px;
	border-radius: 10px;
	line-height: 1.7;
	background: #FFF;
	color: #1167CE;
	font-weight: 500;
}

.indexkv-point-comment::after {
	display: block;
	position: absolute;
	top: 50%;
	right: -8px;
	transform: translate(0,-50%);
	width: 0;
	height: 0;
	border-style: solid;
	content: '';
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 8px solid #FFF;
	border-right: 0;
}

.indexkv-point-text {
	flex: 1;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: .02em;
}

.indexkv-lead {
	margin-bottom: 30px;
	font-weight: 700;
	font-size: 42px;
	line-height: 1.53;
	letter-spacing: .04em;
}


/* point */

.indexpoint {
	padding-top: 80px;
}

.indexpoint-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.indexpoint-block-item {
	width: 46%;
}

.indexpoint-title {
	margin-bottom: 40px;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.4;
	letter-spacing: .02em;
	text-align: center;
}

.indexpoint-title span {
	position: relative;
	padding: 0 20px;
}

.indexpoint-title span::before {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: -1;
	transform: translate(-50%,0);
	width: 100%;
	height: 12px;
	background: var(--sub-color);
	content: '';
}

.indexpoint-list {
	margin-bottom: 20px;
}

.indexpoint-list-item {
	position: relative;
	padding-left: .8em;
	font-size: 18px;
	line-height: 1.46;
	letter-spacing: .04em;
}

.indexpoint-list-item::before {
	display: inline-block;
	position: absolute;
	top: 13px;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #000;
	content: '';
}

.indexpoint-image {
	text-align: center;
}

.indexpoint-image img {
	width: 306px;
	max-width: 100%;
	display: inline-block;
}

.indexpoint-question {
	position: relative;
	padding: 125px 30px 80px;
	background: var(--main-thin-color);
}

.indexpoint-question::before {
	display: block;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	background: #FFF;
	content: '';
}

.indexpoint-question-comment {
	position: relative;
	margin-bottom: 80px;
	color: #333;
	font-weight: 700;
	font-size: 34px;
	line-height: 1.5;
	letter-spacing: .02em;
	text-align: center;
}

.indexpoint-question-comment::after {
	display: block;
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translate(-50%,0);
	width: 0;
	height: 0;
	border-style: solid;
	content: '';
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-top: 19px solid var(--main-color);
	border-bottom: 0;
}

.indexpoint-question-title {
	margin-bottom: 30px;
	text-align: center;
}

.indexpoint-question-text {
	margin-bottom: 55px;
	color: #333;
	line-height: 1.8;
	text-align: center;
}

.indexpoint-question-text span {
	font-weight: 500;
	font-size: 18px;
}

.indexpoint-question-text b {
	display: inline-block;
	position: relative;
	z-index: 1;
	margin-top: 10px;
	padding: 0 10px;
	font-weight: 700;
	font-size: 30px;
}

.indexpoint-question-text b::before {
	display: inline-block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	z-index: -1;
	transform: translate(-50%,0);
	width: 100%;
	height: 10px;
	background: var(--sub-color);
	content: '';
}


.indexpoint-question-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	position: relative;
	margin-bottom: 190px;
}

.indexpoint-question-list::after {
	display: block;
	position: absolute;
	bottom: -130px;
	left: 50%;
	transform: translate(-50%,0);
	width: 0;
	height: 0;
	border-style: solid;
	content: '';
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-top: 19px solid var(--main-color);
	border-bottom: 0;
}

.indexpoint-question-list-item {
	width: 300px;
	height: 300px;
	padding: 36px 20px;
	border-radius: 999px;
	box-shadow: 0 0 10px rgba(0,0,0,.16);
	background: #FFF;
	text-align: center;
}

.indexpoint-question-list-text {
	margin-bottom: 20px;
	color: #333;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.46;
	letter-spacing: .02em;
}

.indexpoint-question-list-image {

}

.indexpoint-question-list-image img{
	display: inline-block;
}

.indexpoint-question-block {
	position: relative;
	padding: 40px;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0,0,0,.16);
	background: #FFF;
}

.indexpoint-question-block::after {
	display: block;
	position: absolute;
	right: 0;
	bottom: -80px;
	width: 253px;
	height: 170px;
	background: url('../img/index/img_point_06.png') no-repeat center center;
	background-size: 100%;
	content: '';
}

.indexpoint-question-block-text {
	margin-bottom: 57px;
	letter-spacing: .02em;
	text-align: center;
}

.indexpoint-question-block-text b {
	display: inline-block;
	position: relative;
	z-index: 1;
	font-weight: 700;
	font-size: 50px;
}

.indexpoint-question-block-text b::before {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: -1;
	transform: translate(-50%,0);
	width: 100%;
	height: 24px;
	background: var(--sub-color);
	content: '';
}

.indexpoint-question-block-text span {
	display: inline-block;
	padding: 0 15px;
	font-weight: 700;
	font-size: 23px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.indexpoint-question-block-list {
	max-width: 725px;
	margin: 0 auto;
}

.indexpoint-question-block-list-item {
	position: relative;
	padding-left: .8em;
	color: #333;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.indexpoint-question-block-list-item::before {
	display: inline-block;
	position: absolute;
	top: 15px;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #333;
	content: '';
}


/* feature */

.indexfeature {
	padding: 92px 30px 80px;
}

.indexfeature-inner {
	max-width: 950px;
	margin: 0 auto;
}

.indexfeature-list {
	position: relative;
	margin-bottom: 132px;
}

.indexfeature-list::after {
	display: block;
	position: absolute;
	bottom: -100px;
	left: 50%;
	transform: translate(-50%,0);
	width: 0;
	height: 0;
	border-style: solid;
	content: '';
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-top: 20px solid var(--main-color);
	border-bottom: 0;
}

.indexfeature-list-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 45px;
	margin-bottom: 47px;
}

.indexfeature-list-item-image {
	width: 47.37%;
}

.indexfeature-list-item:nth-of-type(odd) .indexfeature-list-item-image {
	order: 1;
}

.indexfeature-list-item-detail {
	flex: 1;
	padding-top: 30px;
}

.indexfeature-list-item-title {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 20px;
	margin-bottom: 25px;
	color: var(--main-color);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.6;
}

.indexfeature-list-item-title span {
	display: inline-block;
	padding-bottom: 10px;
}

.indexfeature-list-item-list-item {
	position: relative;
	padding-left: .7em;
	font-size: 16px;
	line-height: 1.5;
}

.indexfeature-list-item-list-item::before {
	display: inline-block;
	position: absolute;
	top: 12px;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #333;
	content: '';
}

.indexfeature-close {
	text-align: center;
}

.indexfeature-close-text {
	font-weight: 500;
	font-size: 24px;
	line-height: 1.95;
	margin-bottom: 100px;
}

.indexfeature-close-text b {
	display: inline-block;
	position: relative;
	font-size: 36px;
	padding: 0 5px;
	font-weight: 700;
}

.indexfeature-close-text span {
	display: inline-block;
	position: relative;
	font-size: 36px;
	padding: 0 15px;
	font-weight: 700;
}

.indexfeature-close-text b::before, .indexfeature-close-text span::before {
	display: inline-block;
	position: absolute;
	bottom: 9px;
	left: 50%;
	z-index: -1;
	transform: translate(-50%,0);
	width: 100%;
	height: 20px;
	background: var(--sub-color);
	content: '';
}

.indexfeature-close-block {
	position: relative;
	padding: 80px 6%;
	background: #F7F7F7;
}

.indexfeature-close-block::before, .indexfeature-close-block::after {
	display: inline-block;
	position: absolute;
	top: -100px;
	width: min(13.82vw, 199px);
	height: 240px;
	content: '';
}

.indexfeature-close-block::before {
	left: 0;
	background: url('../img/index/img_featureclose_01.png') no-repeat center center;
	background-size: 100%;
}


.indexfeature-close-block::after {
	right: 0;
	background: url('../img/index/img_featureclose_02.png') no-repeat center center;
	background-size: 100%;
}

.indexfeature-close-block-title {
	margin-bottom: 53px;
	font-weight: 700;
	font-size: 36px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.indexfeature-close-block-text {
	margin-bottom: 18px;
	font-weight: 500;
	font-size: 20px;
	line-height: 2;
	letter-spacing: .02em;
}

.indexfeature-close-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 40px;
	position: relative;
	margin-top: 75px;
	margin-bottom: 100px;
	padding: 12px 20px 28px;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .16);
	background: #FFF;
}

.indexfeature-close-box::before {
	display: block;
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 0;
	height: 0;
	border-style: solid;
	content: '';

	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-top: 20px solid var(--main-color);
	border-bottom: 0;
}

.indexfeature-close-box::after {
	display: block;
	position: absolute;
	bottom: -70px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 0;
	height: 0;
	border-style: solid;
	content: '';
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-top: 20px solid var(--main-color);
	border-bottom: 0;
}

.indexfeature-close-box-text {
	font-weight: 700;
	font-size: 20px;
	line-height: 2;
	letter-spacing: .02em;
}

.indexfeature-close-box-text b {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding: 0 10px;
	font-size: 38px;
}

.indexfeature-close-box-text b::before {
	display: inline-block;
	position: absolute;
	bottom: 10px;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 20px;
	background: var(--sub-color);
	content: '';
}

.indexfeature-close-conclusion {
	font-weight: 700;
	font-size: 48px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.indexfeature-close-conclusion b {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding-left: 10px;
}

.indexfeature-close-conclusion b::before {
	display: inline-block;
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 20px;
	background: var(--sub-color);
	content: '';
}

/* recommend */

.indexrecommend {
	padding: 80px 30px;
	background: var(--main-thin-color);
}

.indexrecommend-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	gap: 18px;
}

.indexrecommend-list-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: calc(33% - 12px);
	padding: 17px 15px 34px;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0,0,0,.16);
	background: #FFF;
}

.indexrecommend-list-item-title {
	margin-bottom: 12px;
	color: #333;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: .02em;
	text-align: center;
}

.indexrecommend-notice {
	margin-top: 40px;
	color: #333;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: .02em;
	text-align: right;
}

/* cta */

.indexcta {
	padding: 80px 30px;
	background: url('../img/index/bg_cta.jpg') no-repeat center center;
	background-size: cover;
}

.indexcta-inner {
	max-width: 1100px;
	margin: 0 auto;
}

.indexcta-text {
	margin-bottom: 50px;
	color: #FFF;
	font-weight: 700;
	font-size: 34px;
	line-height: 1.5;
	letter-spacing: .02em;
	text-align: center;
}

.indexcta-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px 60px;
}


/* plan */

.indexplan {
	padding: 80px 0;
}

.indexplan-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 80px;
	position: relative;
	margin-bottom: 38px;
}

.indexplan-block:nth-of-type(1)::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 28px;
	height: 28px;
	background: url('../img/common/icon_plus.svg') no-repeat center center;
	background-size: 100%;
	content: '';
}

.indexplan-block-item {
	width: calc(35% - 40px);
	padding: 14px 30px 31px;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0,0,0,.16);
	background: var(--main-thin-color);
	text-align: center;
}

.indexplan-block-item small {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--main-color);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.indexplan-block-item span {
	display: block;
	font-weight: 700;
	font-size: 50px;
	line-height: 1.5;
	letter-spacing: .02em;
}

.indexplan-text {
	color: #333;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: .02em;
	text-align: center;
}


/* close */

.indexclose {
	padding: 55px 30px;
	background: var(--main-thin-color);
}

.indexclose-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.indexclose-block-text {
	width: 56.82%;
	color: #333;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.55;
	letter-spacing: .02em;
	text-align: center;
}

.indexclose-block-image {
	width: 40%;
}


/* footer menu */

.footer-logo img {
	display: inline-block;
}

.footer-menu{
	margin-bottom: 40px;
}

.footer-menu-list{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 40px;
}

.footer-menu-list li a{
	font-size: 14px;
	color:#fff;
}


/* small pc */
@media screen and (min-width: 768px) and (max-width: 1150px) {

	.indexkv-inner {
		flex-direction: column;
		gap: 0;
	}

	.indexkv-detail {
		display: contents;
	}

	.indexkv-sholder {
		order: 1;
		
	}
	
	.indexkv-point {
		order: 2;
	}

	.indexkv-image {
		order: 3;
		padding-top: 0;
		margin-bottom: 20px;
		width: 100%;
		max-width: 400px;
	}

	.indexkv-point-text {
		font-size: 16px;
	}

	.indexkv-lead {
		font-size: 38px;
		order: 4;
	}

	.indexkv-btn {
		order: 5;
	}
}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 1100px) {

	.indexpoint-question-block {
		padding: 40px 40px 70px;
	}

	.indexpoint-question-block-list {
		max-width: 850px;
	}

	.indexpoint-question-block::after {
		width: 200px;
		height: 135px;
	}
}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 1000px) {

	.indexplan-block-item {
		width: calc(42% - 40px);
	}

	.indexplan-block-item span {
		font-size: 48px;
	}
}

/* sp only */
@media screen and (max-width: 767px) {

	.indexbtn {
		display: inline-block;
		width: 350px;
		max-width: 100%;
		padding: 20px 30px;
		border-radius: 999px;
		color: #000;
		font-weight: 700;
		font-size: 18px;
		line-height: 1.1;
		letter-spacing: .02em;
		text-align: center;
	}

	.indexbtn:hover {
		opacity: 1;
	}

	.indexbtn.is-primary {
		background: var(--sub-color);
	}

	.indexbtn.is-secondary {
		background: #FFF;
	}

	.inner {
		max-width: 1100px;
		margin: 0 auto;
	}

	.section-title {
		margin-bottom: 50px;
		line-height: 1.3;
		letter-spacing: .04em;
	}

	.section-title::after {
		width: 80px;
	}

	.section-title span {
		font-size: 18px;
	}

	.section-title b {
		font-size: 26px;
	}


	/* kv */

	.indexkv {
		padding: 30px 0;
	}

	.indexkv-inner {
		flex-direction: column;
		gap: 0;
	}

	.indexkv-image {
		order: 3;
		margin-bottom: 20px;
		padding: 0 20px;
		width: 100%;
		max-width: 400px;
	}

	.indexkv-detail {
		display: contents;
		width: 100%;
	}

	.indexkv-sholder {
		order: 1;
		margin-bottom: 0;
		margin-bottom: 10px;
		font-size: 14px;
		text-align: center;
		width: 100%;
	}

	.indexkv-sholder b {
		display: block;
		margin-top: 5px;
		margin-left: -5px;
		font-size: 20px;
	}

	.indexkv-sholder b span::before {
		width: 3px;
		height: 3px;
	}

	.indexkv-point {
		justify-content: center;
		gap: 20px;
		order: 2;
		margin-bottom: 0;
		padding: 0 20px;
	}

	.indexkv-point-comment {
		width: 110px;
		padding: 10px 15px;
		font-size: 12px;
	}

	.indexkv-point-text {
		flex: 1;
		font-size: 14px;
		line-height: 1.6;
	}

	.indexkv-lead {
		order: 4;
		margin-bottom: 20px;
		font-size: 26px;
	}

	.indexkv-btn {
		order: 5;
	}


	/* point */

	.indexpoint {
		padding-top: 50px;
	}

	.indexpoint-block {
		display: block;
		padding: 0 20px;
	}

	.indexpoint-block-item {
		width: 100%;
	}

	.indexpoint-block-item+.indexpoint-block-item {
		margin-top: 40px;
	}

	.indexpoint-title {
		margin-bottom: 20px;
		font-size: 20px;
	}

	.indexpoint-title span {
		padding: 0 15px;
	}

	.indexpoint-list {
		margin-bottom: 10px;
	}

	.indexpoint-list-item {
		font-size: 16px;
	}

	.indexpoint-list-item::before {
		top: 11px;
	}

	.indexpoint-image img {
		width: 200px;
	}

	.indexpoint-question {
		padding: 65px 20px 50px;
	}

	.indexpoint-question::before {
		height: 45px;
	}

	.indexpoint-question-comment {
		margin-bottom: 60px;
		font-weight: 700;
		font-size: 26px;
	}

	.indexpoint-question-comment::after {
		bottom: -35px;
		border-right: 12px solid transparent;
		border-left: 12px solid transparent;
		border-top: 16px solid var(--main-color);
	}

	.indexpoint-question-title {
		margin-bottom: 20px;
		text-align: center;
	}

	.indexpoint-question-text {
		margin-bottom: 20px;
	}

	.indexpoint-question-text b {
		margin-top: 10px;
		font-size: 28px;
	}

	.indexpoint-question-list {
		justify-content: center;
		align-items: center;
		gap: 5px 20px;
		margin-bottom: 100px;
	}

	.indexpoint-question-list::after {
		bottom: -60px;
	}

	.indexpoint-question-list-item {
		width: 40vw;
		height: 40vw;
		padding: 10px 10px;
		position: relative;
	}

	.indexpoint-question-list-item-inner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}

	.indexpoint-question-list-item:first-of-type {
		margin: 0 10vw;
	}

	.indexpoint-question-list-text {
		margin-bottom: 10px;
		font-size: max(2.5vw, 12px);
	}

	.indexpoint-question-list-image {
		width: 48%;
		margin: 0 auto;
	}

	.indexpoint-question-list-item:first-of-type .indexpoint-question-list-image {
		width: 37%;
	}

	.indexpoint-question-block {
		margin: 0 20px;
		padding: 15px 15px 90px 15px;
	}

	.indexpoint-question-block::after {
		bottom: -50px;
		width: 168px;
		height: 114px;
	}

	.indexpoint-question-block-text {
		margin-bottom: 30px;
	}

	.indexpoint-question-block-text b {
		font-size: 32px;
	}

	.indexpoint-question-block-text b::before {
		height: 18px;
	}

	.indexpoint-question-block-text span {
		padding: 0;
		font-size: 16px;
	}

	.indexpoint-question-block-list-item {
		padding-left: .6em;
		font-size: 16px;
	}

	.indexpoint-question-block-list-item::before {
		top: 12px;
		width: 3px;
		height: 3px;
	}


	/* feature */

	.indexfeature {
		padding: 50px 20px;
	}

	.indexfeature-list {
		position: relative;
		margin-bottom: 80px;
	}

	.indexfeature-list::after {
		display: block;
		position: absolute;
		bottom: -55px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 0;
		height: 0;
		border-style: solid;
		content: '';
		border-right: 12px solid transparent;
		border-left: 12px solid transparent;
		border-top: 16px solid var(--main-color);
		border-bottom: 0;
	}

	.indexfeature-list-item {
		display: block;
		margin-bottom: 50px;
	}

	.indexfeature-list-item-image {
		width: 100%;
	}

	.indexfeature-list-item-detail {
		flex: 1;
		padding-top: 20px;
	}

	.indexfeature-list-item-title {
		gap: 15px;
		margin-bottom: 15px;
		font-size: 18px;
	}

	.indexfeature-list-item-title span {
		width: 60px;
		padding-bottom: 5px;
	}

	.indexfeature-list-item-list-item {
		position: relative;
		padding-left: .7em;
		font-size: 16px;
		line-height: 1.6;
	}

	.indexfeature-close-text {
		font-weight: 500;
		font-size: 24px;
	}

	.indexfeature-close-text b,.indexfeature-close-text span {
		font-size: 34px;
	}

	.indexfeature-close-block {
		padding: 50px 20px;
	}
	
	.indexfeature-close-block::before, .indexfeature-close-block::after {
		width: min(22vw, 199px);
		height: 180px;
	}
		
	.indexfeature-close-block-title {
		margin-bottom: 30px;
		font-size: 28px;
	}
	
	.indexfeature-close-block-text {
		font-size: 16px;
	}
	
	.indexfeature-close-box {
		gap: 10px 40px;
		margin-top: 75px;
		margin-bottom: 70px;
		padding: 12px 10px 12px;
		border-radius: 10px;
	}
	
	.indexfeature-close-box::before {
		border-right: 12px solid transparent;
		border-left: 12px solid transparent;
		border-top: 16px solid var(--main-color);
	}
	
	.indexfeature-close-box::after {
		bottom: -55px;
		left: 50%;
		border-right: 12px solid transparent;
		border-left: 12px solid transparent;
		border-top: 16px solid var(--main-color);
	}
	
	.indexfeature-close-box-text {
		font-weight: 700;
		font-size: 18px;
		line-height: 2;
		letter-spacing: .02em;
	}
	
	.indexfeature-close-box-text b {
		font-size: 30px;
	}
	
	.indexfeature-close-box-text b::before {
		height: 15px;
	}
	
	.indexfeature-close-conclusion {
		font-size: 28px;
		line-height: 1.7;
	}
		
	.indexfeature-close-conclusion b::before {
		height: 15px;
	}


	/* recommend */

	.indexrecommend {
		padding: 50px 20px;
	}

	.indexrecommend-list {
		flex-direction: column;
		gap: 20px;
	}

	.indexrecommend-list-item {
		width: 100%;
	}

	.indexrecommend-list-item-title {
		font-size: 20px;
	}

	.indexrecommend-list-item-image {
		width: 65%;
		text-align: center;
		margin: 0 auto;
	}

	.indexrecommend-notice {
		margin-top: 15px;
		font-size: 11px;
	}

	/* cta */

	.indexcta {
		padding: 40px 20px;
	}

	.indexcta-text {
		margin-bottom: 20px;
		font-size: 24px;
		text-align: center;
	}

	.indexcta-btn {
		gap: 20px;
	}


	/* plan */

	.indexplan {
		padding: 50px 0;
	}

	.indexplan-block {
		flex-direction: column;
		gap: 70px;
		position: relative;
		margin-bottom: 40px;
	}

	.indexplan-block-item {
		width: 80%;
		padding: 20px;
	}

	.indexplan-block-item small {
		font-weight: 500;
		font-size: 18px;
		margin-bottom: 0px;
	}

	.indexplan-block-item span {
		font-size: 40px;
	}

	.indexplan-text {
		font-size: 18px;
		line-height: 1.6;
	}


	/* close */

	.indexclose {
		padding: 40px 20px 20px;
	}

	.indexclose-block {
		flex-direction: column;
		gap: 20px;
	}

	.indexclose-block-text {
		width: 100%;
		font-size: 22px;
	}

	.indexclose-block-image {
		width: 55%;
		text-align: center;
	}

	footer{
		padding:20px;
	}

	.footer-logo img{
		display: inline-block;
	}

}

/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px) {
}