﻿:root {
	--opacity: 0.8;
	--color-blue: #82cfe0;
	--color-blue-2: #007dc1;
	--color-gray: #f7f7f7;
	--color-gray-2: #b2b2b2;
	--color-pink: #f08080;
	--color-red: #ea432d;
	--color-yellow-1: #ffdf00;
	--color-yellow-2: #ffffb0;
	--color-yellow-3: #ff0;
	--font-sans: "Noto Sans JP", "ヒラギノ角 Pro W3", "Hiragino Kaku Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
	--sec-anime: 0.2s;
	--sec-fade: 0.6s
}

* {
	box-sizing: border-box;
	font-style: normal
}

*:before,
*:after {
	box-sizing: border-box
}

*:focus {
	outline: none
}

html {
	position: relative;
	height: 100%;
	background: #fffaef;
	font-weight: 500;
	font-size: 1.5625vw;
	font-family: var(--font-sans);
	scroll-behavior: smooth
}

@media screen and (min-width: 641px),
print {
	html {
		font-size: 62.5%
	}
}

html.fixed {
	overflow: hidden
}

body.loading {
	opacity: 0
}

body.loading * {
	transition: none !important
}

body.fixed {
	position: static;
	overflow: hidden
}

img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	pointer-events: none
}

a {
	text-decoration: underline
}

a[tabindex="-1"] {
	pointer-events: none;
}

@media screen and (min-width: 641px)and (hover: hover),
print and (hover: hover) {
	a:hover {
		text-decoration: none
	}

	a:hover img {
		opacity: 1
	}

	a[tabindex="-1"]:hover img {
		opacity: 1;
	}
}

a img {
	pointer-events: auto
}

@-webkit-keyframes btn_animation {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}

	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

.kanken-lp {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 64rem;
	min-height: 100%;
	background: #fff;
	font-size: 1.6rem
}

@media screen and (min-width: 641px),
print {
	.kanken-lp {
		box-shadow: 0 0 3rem rgba(0, 0, 0, .5)
	}
}

.kanken-lp__mv {
	position: relative
}

.kanken-lp__mv__btn {
	position: absolute;
	right: 0;
	bottom: 3rem;
	left: 0;
	text-align: center;
}

#element1 {
	position: absolute;
	top: 8.1rem;
	right: 0;
	left: 0;
	text-align: center;
}

.jh_2_kv #element1 {
	top: 3rem;
}

.js_2_kv #element1 {
	top: 5.4rem;
}

.kanken-lp__mv #catch {
	opacity: 0;
	transform: scale(0);
	transition: opacity 0.5s ease, transform 0.5s ease;
	position: absolute;
}

.kanken-lp__mv #catch.zoom.active {
	opacity: 1;
	transform: scale(1);
}

.kanken-lp__mv #catch.js-1 {
	top: 17rem;
	right: 0;
	left: 0;
	width: 71.09%;
	margin: auto;
}

.kanken-lp__mv #catch.js-2 {
	top: -1rem;
	right: 0;
	left: 0;
	width: 85.41%;
	margin: auto;
}

.kanken-lp__mv #catch.jh-1 {
	top: 17rem;
	right: 0;
	left: 0;
	width: 73.44%;
	margin: auto;
}

.kanken-lp__mv #catch.jh-2 {
	top: 54.5rem;
	right: 6rem;
	width: 44.53%;
	margin: auto;
}

.kanken-lp__mv__btn a {
	display: inline-block;
	position: relative;
	overflow: hidden;
	border-radius: 50vh;
}

.kanken-lp__mv__btn a::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fbfbfb;
	animation: btn_animation 2.5s ease-in-out infinite;
}

#jh1_btn_kv:hover .kv_btn,
#jh2_btn_kv:hover .kv_btn {
	background: url(../images/kanken-lp_jh_common_mv_btn_over.png) center/contain no-repeat;
}

#jh1_btn_kv .kv_btn,
#jh2_btn_kv .kv_btn {
	display: block;
	width: 59.3rem;
	height: 17.8rem;
	background: url(../images/kanken-lp_jh_common_mv_btn.png) center/contain no-repeat;
	margin: auto;
}

#jh1_btn_kv .kv_btn_over,
#jh2_btn_kv .kv_btn_over {
	display: block;
	width: 59.3rem;
	height: 17.8rem;
	background: url(../images/kanken-lp_jh_common_mv_btn_over.png) center/contain no-repeat;
	margin: auto;
}

#js1_btn_kv:hover .kv_btn,
#js2_btn_kv:hover .kv_btn {
	background: url(../images/kanken-lp_js_common_mv_btn_over.png) center/contain no-repeat;
}

#js1_btn_kv .kv_btn,
#js2_btn_kv .kv_btn {
	display: block;
	width: 59.6rem;
	height: 18.1rem;
	background: url(../images/kanken-lp_js_common_mv_btn.png) center/contain no-repeat;
	margin: auto;
}

#js1_btn_kv .kv_btn_over,
#js2_btn_kv .kv_btn_over {
	display: block;
	width: 59.6rem;
	height: 18.1rem;
	background: url(../images/kanken-lp_js_common_mv_btn_over.png) center/contain no-repeat;
	margin: auto;
}

#jh1_btn_kv .kv_btn.coming,
#jh2_btn_kv .kv_btn.coming {
	background: url(../images/kanken-lp_jh_common_mv_btn-coming.png) center/contain no-repeat;
}

#js1_btn_kv .kv_btn.coming,
#js2_btn_kv .kv_btn.coming {
	background: url(../images/kanken-lp_js_common_mv_btn-coming.png) center/contain no-repeat;
}

.kanken-lp__trouble_d {
	background: url(../images/kanken-lp_js_common_trouble_bg.jpg) center bottom/contain no-repeat #678bb3;
	padding-bottom: 23rem;
}

.kanken-lp__trouble_d p {
	font-size: 2.6rem;
	text-align: center;
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: .75rem;
}

.kanken-lp__trouble_d p:nth-of-type(1) {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 3.2rem 1rem;
	background: url(../images/kanken-lp_js_common_trouble_a1.png) center/contain no-repeat;
	margin-top: 7rem;
	width: 100%;
	height: 19.8rem;
}

.kanken-lp__trouble_d p:nth-of-type(2) {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3.2rem 3rem 0;
	background: url(../images/kanken-lp_js_common_trouble_a2.png) center/contain no-repeat;
	width: 100%;
	height: 19.8rem;
}

.kanken-lp__trouble_d p:nth-of-type(3) {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 2.8rem 1.5rem;
	background: url(../images/kanken-lp_js_common_trouble_a3.png) center/contain no-repeat;
	width: 100%;
	height: 19.8rem;
}

.kanken-lp__trouble__title {
	position: relative;
	z-index: 1;
	margin: -4rem 0 -4.8rem
}

.kanken-lp__voice__bottom {
	position: relative
}

.kanken-lp__voice__btn {
	position: absolute;
	right: 0;
	bottom: 11rem;
	left: 0
}

.kanken-lp__challenge {
	background: var(--color-yellow-1)
}

.kanken-lp__challenge h4 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 26.8rem;
	background: url(../images/kanken-lp_common_challenge_title.png) center/contain no-repeat;
}

.kanken-lp__challenge h4 .lead {
	font-size: 2.8rem;
	font-weight: 900;
	margin-bottom: 1rem;
}

.kanken-lp__challenge h4 .title {
	font-size: 4.6rem;
	font-weight: 900;
	border-bottom: 2px solid #000;
	padding-bottom: 0.5rem;
}

.kanken-lp__challenge__quiz {
	position: relative;
	padding: 0 2.4rem
}

.kanken-lp__challenge__quiz__list {
	padding: 4rem 0;
	border-radius: 0.6rem;
	background: var(--color-gray)
}

.kanken-lp__challenge__quiz__item {
	margin-top: 6rem
}

.kanken-lp__challenge__quiz__item:first-child {
	margin-top: 0
}

.kanken-lp__challenge__quiz__item h5 {
	margin-inline: auto;
	width: 75%;
}

.kanken-lp__challenge__quiz__choices {
	padding: 0 7rem
}

.kanken-lp__challenge__quiz__choices input:checked~.kanken-lp__challenge__quiz__answer {
	margin-top: 2rem;
	padding-top: 2.4rem;
	height: 10rem;
	border-color: var(--color-gray-2)
}

.kanken-lp__challenge__quiz__choices input:checked+label {
	background: var(--color-pink)
}

.kanken-lp__challenge__quiz__choices input.correct:checked+label {
	background: var(--color-blue)
}

.kanken-lp__challenge__quiz__choices input.correct:checked~.kanken-lp__challenge__quiz__answer .wrong {
	display: none
}

.kanken-lp__challenge__quiz__choices input.correct:checked~.kanken-lp__challenge__quiz__answer .correct {
	display: block
}

.kanken-lp__challenge__quiz__choices label {
	display: block;
	border: 2px solid var(--color-gray-2);
	border-radius: 0.6rem;
	background: #fff;
	box-shadow: 0.2rem 0.2rem 0 rgba(0, 0, 0, .2)
}

.kanken-lp__challenge__quiz__quote {
	margin-top: 1rem;
	text-align: right;
	font-size: 2rem
}

.kanken-lp__challenge__quiz__answer {
	overflow: hidden;
	margin-top: 0;
	padding-top: 0;
	height: 0;
	border-top: 1px solid rgba(0, 0, 0, 0);
	font-weight: 900;
	font-size: 2.4rem;
	transition: height var(--sec-anime) ease-in-out, margin var(--sec-anime) ease-in-out, padding var(--sec-anime) ease-in-out, border var(--sec-anime) ease-in-out
}

.kanken-lp__challenge__quiz__answer .wrong {
	color: var(--color-red)
}

.kanken-lp__challenge__quiz__answer .correct {
	display: none;
	color: var(--color-blue-2)
}

.kanken-lp__challenge__quiz__answer .answer {
	margin-top: 1rem
}

.kanken-lp__challenge__quiz__answer .answer em {
	color: var(--color-blue-2);
	font-size: 3.2rem
}

.kanken-lp__challenge__quiz__deco {
	position: absolute;
	top: 24rem;
	left: 0;
	width: 8rem;
	pointer-events: none
}

.kanken-lp__challenge__bottom {
	position: relative;
}

.kanken-lp__challenge__bottom .text_btn {
	position: absolute;
	right: 0;
	bottom: 7.2rem;
	left: 0
}

.kanken-lp__challenge__bottom .text_btn .add_text {
	font-size: 2.2rem;
	font-weight: 900;
	text-align: center;
	margin-bottom: 0.4rem;
}

.kanken-lp__philosophy {
	position: relative;
}

.kanken-lp__philosophy:before {
	position: absolute;
	right: 0;
	left: 0;
	display: block;
	height: 4rem;
	background: no-repeat url(../images/kanken-lp_common_philosophy_border.png) center center/100% 100%;
	content: ""
}

.kanken-lp__philosophy:before {
	top: -2rem;
	z-index: 3;
}

.kanken-lp__philosophy:after {
	bottom: -2rem
}

.kanken-lp__philosophy h2 {
	position: relative;
}

.kanken-lp__philosophy h2 .title {
	position: absolute;
	top: 5.6rem;
	left: 4.5rem;
	font-size: 3.75rem;
	font-weight: 900;
	line-height: 1.6;
}

.kanken-lp__philosophy h2 .title .small {
	font-size: 2.5rem;
	line-height: 1.6;
}

.kanken-lp__philosophy h2 .title .underline {
	background: linear-gradient(transparent 70%, #fff67f 30%);
}

.kanken-lp__app {
	padding: 5rem 0 4rem;
	background: var(--color-yellow-2);
	font-size: 2.6rem;
}

.kanken-lp__app h5 {
	text-align: center;
	margin-bottom: 3rem;
}

.kanken-lp__app h5 .border {
	font-size: 4rem;
	font-weight: 900;
	border-bottom: 2px solid #000;
}

.kanken-lp__app h5 .border span {
	font-size: 2.8rem;
}

.kanken-lp__app .lead {
	font-weight: 900;
	font-size: 2.8rem;
	line-height: 1.4;
	text-align: center;
	color: #0b4b97;
	margin-bottom: 4.2rem;
}

.kanken-lp__app h6 {
	font-weight: 900;
	padding-left: 3.5rem;
	margin-top: 1rem;
}

.kanken-lp__app .text {
	padding: 1rem 2rem 1rem 3.5rem;
	line-height: 1.6;
}

.kanken-lp__app__btn {
	display: inline-block;
	margin-top: 1rem
}

.add_btn {
	text-align: center;
}

@media screen and (max-width: 640px),
print {
	.add_btn {
		margin: 0 3rem;
	}
}

.add_btn .kanken-lp__app__btn {
	position: relative;
	overflow: hidden;
	border-radius: 50vh;
}

.add_btn .kanken-lp__app__btn::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fbfbfb;
	animation: btn_animation 2.5s ease-in-out infinite;
}

.add_btn .kanken-lp__app__btn:hover .request_btn {
	background: url(../images/kanken-lp_common_btn-3_over.png) center/contain no-repeat;
}

.request_btn {
	display: block;
	width: 59.6rem;
	height: 18.1rem;
	background: url(../images/kanken-lp_common_btn-3.png) center/contain no-repeat;
	margin: auto;
}

.request_btn_over {
	display: block;
	width: 59.6rem;
	height: 18.1rem;
	background: url(../images/kanken-lp_common_btn-3_over.png) center/contain no-repeat;
	margin: auto;
}

.request_btn.coming {
	background: url(../images/kanken-lp_common_btn-3-coming.png) center/contain no-repeat;
}

.kanken-lp__footer {
	position: relative
}

.kanken-lp__footer__link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3.2rem 0
}

.kanken-lp__footer__link a {
	display: flex;
	align-items: center;
	margin: 0 4rem
}

.kanken-lp__footer__link span {
	font-size: 1em
}

.kanken-lp__footer__copy {
	padding: 4.8rem 0;
	background: var(--color-yellow-3);
	text-align: center;
	font-size: 2rem;
	line-height: 2
}

.kanken-lp__totop {
	position: absolute;
	bottom: 2rem;
	left: calc(50% + 22.8rem);
	z-index: 9999;
	width: 7.2rem
}

.kanken-lp__whats .text {
	text-align: center;
	margin: 1.8rem 0 2rem;
}

.kanken-lp__whats .text span {
	text-align: center;
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 2.2;
	padding: 0 0 0.4rem;
	border-bottom: 2px dotted #ffb400;
}

@media screen and (min-width: 641px),
print {
	.kanken-lp__whats .text span {
		border-bottom: 4px dotted #ffb400;
	}
}

.kanken-lp__whats h5 {
	position: relative;
}

.kanken-lp__whats .ab_txt {
	position: absolute;
	left: 4.85rem;
	top: 5rem;
	font-weight: 900;
	font-size: 3.2rem;
	line-height: 1.8;
}

.kanken-lp__whats .ab_txt span {
	color: var(--color-red);
}

.kanken-lp__whats-inner {
	background: var(--color-yellow-2);
	text-align: center;
	font-weight: 900;
	font-size: 2rem;
	line-height: 1.75;
	padding-top: 3rem;
}

.kanken-lp__whats-inner p span {
	font-size: 3.2rem;
}

.kanken-lp__whats .flow_3_text {
	background: var(--color-yellow-2);
	text-align: center;
	font-weight: 900;
	font-size: 3.2rem;
	line-height: 1.35;
	padding-bottom: 5rem;
}

.kanken-lp__whats .flow_3_text .small {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
}

.kanken-lp__whats_point._jh {
	position: relative;
	height: 97rem;
	background: url(../images/kanken-lp_jh_common_whats_point_bg.png) bottom center/contain no-repeat;
}

.kanken-lp__whats_point._js {
	position: relative;
	height: 97rem;
	background: url(../images/kanken-lp_js_common_whats_point_bg.jpg) bottom center/contain no-repeat;
}

.kanken-lp__whats_point p {
	font-size: 2.3rem;
	text-align: center;
	font-weight: 900;
	line-height: 1.5;
	position: absolute;
	letter-spacing: -0.001em;
	width: 31.7rem;
}

.kanken-lp__whats_point p:nth-of-type(1) {
	left: 3rem;
	top: 11rem;
}

.kanken-lp__whats_point p:nth-of-type(2) {
	left: 29rem;
	top: 36.7rem;
}

.kanken-lp__whats_point p:nth-of-type(3) {
	left: 3.1rem;
}

.kanken-lp__whats_point._jh p:nth-of-type(3) {
	top: 63rem;
}

.kanken-lp__whats_point._js p:nth-of-type(3) {
	top: 63.1rem;
	line-height: 1.35;
}

.kanken-lp__qa {
	background-color: #e0eff6;
}

.kanken-lp__qa .inner {
	padding: 0 6% 6rem;
}

.kanken-lp__qa p {
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.8;
	padding-left: 1em;
	text-indent: -1em;
	font-feature-settings: "palt" 1;
}

.kanken-lp__qa .q_text {
	color: #007dbc;
}

.kanken-lp__qa .a_text {
	margin-bottom: 4rem;
}

.kanken-lp__qa .a_text:last-of-type {
	margin-bottom: 0;
}

.kanken-lp__step {
	padding-bottom: 6rem;
}

.kanken-lp__step .inner {
	width: 92%;
	margin: 0 auto;
	padding: 0 0 3rem;
}

.kanken-lp__step .inner h3.marker {
	margin: 0 auto;
	color: #e5432d;
	text-align: center;
	font-weight: 900;
	font-size: 2.8rem;
	margin-bottom: 2rem;
}

.kanken-lp__step .inner h3.marker span {
	background: -webkit-linear-gradient(transparent 70%, #ffef80 30%);
	background: -o-linear-gradient(transparent 70%, #ffef80 30%);
	background: linear-gradient(transparent 70%, #ffef80 30%);
}

.kanken-lp__step .inner p.lead {
	color: #e5432d;
	text-align: center;
	font-weight: 900;
	font-size: 2.7rem;
	line-height: 1.6;
	margin-bottom: 2rem;
}

.kanken-lp__step .inner p.text {
	color: #575757;
	font-weight: 700;
	font-size: 2.14rem;
	font-feature-settings: "palt" 1;
}

.kanken-lp__step .inner p.text.center {
	text-align: center;
}

.step_item {
	position: relative;
}

.step_item span {
	position: absolute;
	top: 1.2rem;
	left: 1.2rem;
	color: #fff;
	background-color: #ff7300;
	border-radius: 10px;
	border: 2px solid #fff;
	padding: 0.4rem 1.8rem 0.5rem;
	font-size: 2rem;
	font-weight: 700;
}

.step_item+.step_item span {
	top: 4rem;
}

.step_item span b {
	font-size: 2.6rem;
	font-weight: 700;
	margin-left: 0.5rem;
}

.step_item div {
	text-align: center;
}

.step_item div h3 {
	font-size: 3.2rem;
	font-weight: 900;
	margin-bottom: 3rem;
}

.step_item div p {
	font-weight: 700;
	line-height: 1.6;
	font-feature-settings: "palt" 1;
}

.step_item div p.text_middle {
	font-size: 2.2rem;
}

.step_item div p.text_small {
	font-size: 1.6rem;
	margin-top: 1.8rem;
}

#sec1 {
	margin: 1rem 0 0;
	padding: 5rem 0 4rem;
	background-color: #fff7c0;
	clip-path: polygon(0 86%, 0 0, 100% 0, 100% 86%, 50% 100%);
}

#sec2 {
	margin-top: -3.8rem;
	padding: 8rem 0 6rem;
	background-color: #ffef80;
	clip-path: polygon(0 0, 50% 12%, 100% 0, 100% 89%, 50% 100%, 0 89%);
}

#sec3 {
	margin-top: -3.4rem;
	padding: 8rem 0 4rem;
	background-color: #ffe641;
	clip-path: polygon(0 0, 50% 11%, 100% 0, 100% 88%, 50% 100%, 0 88%);
}

#sec4 {
	margin-top: -3.6rem;
	padding: 8rem 0 4rem;
	background-color: #ffdd00;
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% 12%);
}

.kanken-lp__step .inner .add_icon {
	margin: 2.6rem auto 0;
}

#sec1 .add_icon {
	width: 8.999999946rem;
	position: relative;
	left: 0.6rem;
}

#sec2 .add_icon {
	width: 5.928571393rem;
}

#sec3 .add_icon {
	width: 8.428571378rem;
	position: relative;
	left: 1.4rem;
}

#sec4 .add_icon {
	width: 8.857142804rem;
}

.kanken-lp__voice_d {
	background-color: #fffaef;
	border: 6px solid #ffb900;
	padding: 0.6rem;

}

.kanken-lp__voice_d .inner {
	padding: 9rem 4%;
	border: 2px solid #ffb900;


	background-image: url(../images/bg01.png),
		url(../images/bg03.png),
		url(../images/bg02.png),
		url(../images/bg04.png);
	background-repeat: no-repeat,
		no-repeat,
		no-repeat,
		no-repeat;
	background-position: left 1rem top 1rem,
		left 1rem bottom 1rem,
		right 1rem top 1rem,
		right 1rem bottom 1rem;
}

@media screen and (max-width: 640px),
print {
	.kanken-lp__voice_d .inner {
		background-size: 20% auto,
			20% auto,
			20% auto,
			20% auto;
	}
}

.kanken-lp__voice_d .inner .ttl {
	text-align: center;
	margin-bottom: 4rem;
}

.kanken-lp__voice_d .inner .ttl span {
	font-size: 4.6rem;
	font-weight: 900;
	border-bottom: 2px solid #000;
}

.kanken-lp__voice_d .inner .lead {
	text-align: center;
	font-size: 2.8rem;
	font-weight: 900;
	margin-bottom: 1rem;
}

.kanken-lp__voice_d .inner .sub_ttl {
	color: #007dbf;
	font-size: 3rem;
	font-weight: 900;
	margin: 3rem 0 1rem;
}

.kanken-lp__voice_d .inner .text {
	margin-bottom: 3rem;
}

.kanken-lp__voice_d .inner div+div .img_box:last-child {
	margin-bottom: 4rem;
}

.kanken-lp__voice_d .inner .text span {
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 2.2;
	padding: 0 0 0.4rem;
	border-bottom: 2px dotted #b2b2b2;
}

.kanken-lp__voice_d .inner .text_btn .add_text {
	color: #d30000;
	font-size: 2.2rem;
	font-weight: 900;
	text-align: center;
	margin-bottom: 0.4rem;
}

.text_btn .kanken-lp__challenge__btn,
.text_btn .btn {
	display: block;
	width: 50.4rem;
	margin: auto;
	position: relative;
	overflow: hidden;
	border-radius: 1.4rem;
}

#cvb-btn a::before,
.text_btn .kanken-lp__challenge__btn::before,
.text_btn .btn::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fbfbfb;
	animation: btn_animation 2.5s ease-in-out infinite;
}

#jh1_btn_voice:hover .sub_btn,
#jh1_btn_challenge:hover .sub_btn,
#jh2_btn_voice:hover .sub_btn,
#jh2_btn_challenge:hover .sub_btn {
	background: url(../images/kanken-lp_jh_common_btn-1_over.png) center/contain no-repeat;
}

#jh1_btn_voice .sub_btn,
#jh1_btn_challenge .sub_btn,
#jh2_btn_voice .sub_btn,
#jh2_btn_challenge .sub_btn {
	display: block;
	width: 50.4rem;
	height: 11.4rem;
	background: url(../images/kanken-lp_jh_common_btn-1.png) center/contain no-repeat;
	margin: auto;
}

#jh1_btn_voice .sub_btn_over,
#jh1_btn_challenge .sub_btn_over,
#jh2_btn_voice .sub_btn_over,
#jh2_btn_challenge .sub_btn_over {
	display: block;
	width: 50.4rem;
	height: 11.4rem;
	background: url(../images/kanken-lp_jh_common_btn-1_over.png) center/contain no-repeat;
	margin: auto;
}

#js1_btn_voice:hover .sub_btn,
#js1_btn_challenge:hover .sub_btn,
#js2_btn_voice:hover .sub_btn,
#js2_btn_challenge:hover .sub_btn {
	background: url(../images/kanken-lp_js_common_btn-1_over.png) center/contain no-repeat;
}

#js1_btn_voice .sub_btn,
#js1_btn_challenge .sub_btn,
#js2_btn_voice .sub_btn,
#js2_btn_challenge .sub_btn {
	display: block;
	width: 50.4rem;
	height: 11.4rem;
	background: url(../images/kanken-lp_js_common_btn-1.png) center/contain no-repeat;
	margin: auto;
}

#js1_btn_voice .sub_btn_over,
#js1_btn_challenge .sub_btn_over,
#js2_btn_voice .sub_btn_over,
#js2_btn_challenge .sub_btn_over {
	display: block;
	width: 50.4rem;
	height: 11.4rem;
	background: url(../images/kanken-lp_js_common_btn-1_over.png) center/contain no-repeat;
	margin: auto;
}

#jh1_btn_voice .sub_btn.coming,
#jh1_btn_challenge .sub_btn.coming,
#jh2_btn_voice .sub_btn.coming,
#jh2_btn_challenge .sub_btn.coming {
	background: url(../images/kanken-lp_jh_common_btn-1-coming.png) center/contain no-repeat;
}

#js1_btn_voice .sub_btn.coming,
#js1_btn_challenge .sub_btn.coming,
#js2_btn_voice .sub_btn.coming,
#js2_btn_challenge .sub_btn.coming {
	background: url(../images/kanken-lp_js_common_btn-1-coming.png) center/contain no-repeat;
}

@media screen and (min-width: 641px),
print {
	.kanken-lp__voice_d .inner .text span {
		border-bottom: 4px dotted #b2b2b2;
	}
}

.kanken-lp__voice_d .parents {
	margin-bottom: 6rem;
}

.kanken-lp__voice_d .parents .parents_item {
	position: relative;
	margin-bottom: 2rem;
}

.kanken-lp__voice_d .parents .parents_item:nth-of-type(2) {
	width: 97%;
	margin-inline: 0 auto;
}

.kanken-lp__voice_d .parents .parents_item:nth-of-type(3) {
	width: 90%;
	margin-inline: auto 0;
}

.kanken-lp__voice_d .parents .parents_item p {
	position: absolute;
	right: 3.1rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.4rem;
	line-height: 1.75;
}

.kanken-lp__voice_d .parents .parents_item:nth-of-type(1) p {
	width: 38rem;
}

.kanken-lp__voice_d .parents .parents_item:nth-of-type(2) p {
	width: 50.2rem;
	right: 0.8rem;
}

.kanken-lp__voice_d .parents .parents_item:nth-of-type(3) p {
	width: 47rem;
	right: 2.1rem;
}

.kanken-lp__voice_d .parents .parents_item .red {
	color: #ff3000;
}

.kanken-lp__success .text {
	text-align: center;
	margin-bottom: 5.5rem;
}

.kanken-lp__success .text .border {
	text-align: center;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.8;
	padding: 0 0 0.2rem;
	border-bottom: 2px dotted #ffb400;
}

.kanken-lp__success .text .border span {
	color: var(--color-red);
}

@media screen and (min-width: 641px),
print {
	.kanken-lp__success .text .border {
		border-bottom: 4px dotted #ffb400;
	}
}

#cvb-btn {
	position: fixed;
	right: 0;
	bottom: 1rem;
	left: 0;
	z-index: 100;
	transition: all 0.3s ease 0s;
	visibility: visible;
	opacity: 1;
}

#cvb-btn.is-hidden {
	visibility: hidden;
	opacity: 0;
}

#cvb-btn a {
	display: block;
	width: 59.4rem;
	height: 13.4rem;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	border-radius: 50vh;
}

/* accordion */
.s_01 .accordion_one {
	max-width: 1024px;
	margin: 0 auto;
	margin-bottom: 26px;
}

.accordion_header p {
	text-indent: -2em;
	padding-left: 2em;
}

.s_01 .accordion_one .accordion_header {
	background-color: #007dbc;
	color: #fff;
	padding: 10px 6%;
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
}

.s_01 .accordion_one .accordion_header:hover {
	opacity: .8;
}

.s_01 .accordion_one .accordion_header .i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 3%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
}

.s_01 .accordion_one .accordion_header .i_box .one_i {
	display: block;
	width: 18px;
	height: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}

.s_01 .accordion_one .accordion_header.open .i_box {
	-webkit-transform: rotate(-360deg);
	transform: rotate(-360deg);
}

.s_01 .accordion_one .accordion_header .i_box .one_i:before,
.s_01 .accordion_one .accordion_header .i_box .one_i:after {
	display: flex;
	content: '';
	background-color: #fff;
	border-radius: 10px;
	width: 16px;
	height: 2px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
}

.s_01 .accordion_one .accordion_header .i_box .one_i:before {
	width: 2px;
	height: 16px;
	top: 0;
	left: 7px;
}

.s_01 .accordion_one .accordion_header.open .i_box .one_i:before {
	content: none;
}

.s_01 .accordion_one .accordion_header.open .i_box .one_i:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.s_01 .accordion_one .accordion_inner {
	display: none;
	padding: 10px 20px;
	box-sizing: border-box;
	background-color: #fff;
}

.s_01 .accordion_one .accordion_inner p.txt_a_ac {
	margin: 0;
}

.kanken-lp__qa p.txt_a_ac {
	padding-left: 0;
	text-indent: 0;
}

/* tab */

.kanken-lp__philosophy ul.tab {
	display: grid;
	grid-auto-flow: column;
	justify-content: center;
	/*▼リセット用*/
	list-style: none;
	margin: 0;
	padding: 0;
	grid-template-columns: 1fr 1fr 1fr;
}

.kanken-lp__philosophy ul.tab li {
	box-sizing: border-box;
	width: 100%;
	height: 72px;
	/* ▼ここからデザイン用 */
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #aabfce;
	border-left: solid 1px #1e5f87;
	color: #1e5f87;
	font-size: 2.1rem;
	line-height: 3.2rem;
	cursor: pointer;
	text-align: center;
	padding: 5px;
}

.kanken-lp__philosophy ul.tab li:first-child {
	border-left: none;
}

/* .kanken-lp__philosophy ul.tab li:hover {
			opacity: .7;
		} */

.kanken-lp__philosophy ul.tab li.active {
	background-color: #004a96;
	color: #ffffff;
	position: relative;
	z-index: 3;
}

.kanken-lp__philosophy .content {
	display: none;
	border-top: 3px solid #004a96;
	border-bottom: 3px solid #004a96;
	padding: 0 20px 50px 20px;
	background-color: #f8fcff;
}

.kanken-lp .kanken-lp__philosophy .content p {
	padding-block: 30px;
	width: 100%;
	margin: 0;
	font-size: 2rem;
	line-height: 3rem;
}

.kanken-lp__philosophy .active {
	display: block;
}

.philosophy_btn {
	text-align: center;
}

.kanken-lp__philosophy button {
	width: 60%;
	margin: 20px auto 0 auto;
}

@media screen and (min-width: 641px),
print {
	.kanken-lp__philosophy a img {
		width: 44%;
	}
}

.kanken-lp__characters {
	background: url(../images/kanken-lp_character_bg.png) center bottom/contain no-repeat;
	background-size: cover;
}

.kanken-lp__characters h2 {
	width: 90%;
	margin: 0 auto;
	padding-block: 30px;
}

.kanken-lp__characters_logo {
	width: 32%;
	margin: 29px auto;
}

.kanken-lp__characters .scroll {
	width: fit-content;
	margin: 0 auto 1.2em auto;
	text-align: center;
	font-family: sans-serif;
	height: 120px;
}

.kanken-lp__characters .scroll span {
	font-size: 1rem;
	font-weight: bold;
	line-height: 2.2em;
}

/* マウス枠 */
.kanken-lp__characters .scroll__mouse {
	width: 33px;
	height: 50px;
	border: 3px solid #231815;
	border-radius: 20px;
	margin: 0 auto;
	position: relative;
	background-color: #fff;
}

/* ホイール（中の丸） */
.kanken-lp__characters .scroll__wheel {
	width: 8px;
	height: 8px;
	background: #231815;
	border-radius: 50%;
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
}

/* 矢印部分 */
.kanken-lp__characters .scroll__arrow {
	position: relative;
	width: 3px;
	height: 60px;
	background: #231815;
	margin: -1.2em auto 0;
	animation: stretchArrow 1.6s ease-in-out infinite;
}

/* 矢印の先端（V字）を疑似要素で */
.kanken-lp__characters .scroll__arrow::after {
	content: "";
	position: absolute;
	bottom: 2%;
	left: 50%;
	width: 20px;
	height: 20px;
	transform: translateX(-50%) rotate(45deg);
	border-bottom: 3px solid #231815;
	border-right: 3px solid #231815;
}

/* アニメーション：線が伸びて縮む */
@keyframes stretchArrow {

	0%,
	100% {
		height: 30px;
	}

	50% {
		height: 50px;
	}
}

.kanken-lp__manga_point {
	background: url(../images/kanken-lp_point_bg.png) center bottom/contain no-repeat;
	background-size: cover;
	position: relative;
}

.kanken-lp__manga_point-title {
	padding-block: 2.5em 1.2em;
	width: 70%;
	margin: 0 auto;
}

.kanken-lp__manga_point-container {
	padding-block: 2.8em 9.6em;
	width: 90%;
	padding-right: 10px;
	margin: 0 auto;
}

.kanken-lp__manga_point-item {
	position: relative;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .8s ease, transform .8s ease;
}

.kanken-lp__manga_point-item.active {
	opacity: 1;
	transform: translateY(0);
}

.kanken-lp__manga_point-item p {
	position: absolute;
	left: 6em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.4rem;
	line-height: 1.75;
	font-weight: bold;
}

.kanken-lp__manga_point-item p .red {
	color: #ff3000;
}

.kanken-lp__manga_point-item img {
	display: block;
	width: 82%;
	margin: 0 auto;
	height: auto;
	pointer-events: none;
}

.kanken-lp__manga_point-item:nth-of-type(1) p {
	top: 45%;
}

.kanken-lp__manga_point-item:nth-of-type(2) p {
	top: 45%;

}

.kanken-lp__manga_point-item:nth-of-type(3) p {
	top: 54%;
}

.kanken-lp__manga_point-decoration {
	position: absolute;
	width: 80%;
	bottom: 2em;
	left: 22em;
	transform: translateX(-50%);
}

.kanken-lp__manga_up {
	background: url(../images/kanken-lp_manga_up_bg.png) center bottom/contain no-repeat;
	background-size: cover;
}

.kanken-lp__manga_up_container {
	position: relative;
}

.kanken-lp_manga_up_star02-left,
.kanken-lp_manga_up_star01-left,
.kanken-lp_manga_up_star01-right,
.kanken-lp_manga_up_star02-right {
	position: absolute;
	top: 0;
}

.kanken-lp_manga_up_star02-left,
.kanken-lp_manga_up_star02-right {
	top: 3.4em;
	width: 1.9em;
}

.kanken-lp_manga_up_star02-left {
	left: 2.6em;
	animation: blinking01 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_up_star02-right {
	right: 2.6em;
	animation: blinking02 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_up_star01-left,
.kanken-lp_manga_up_star01-right {
	top: 1.5em;
	width: 2.7em;
}

.kanken-lp_manga_up_star01-left {
	left: 4em;
	animation: blinking03 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_up_star01-right {
	right: 4em;
	animation: blinking04 1s ease-in-out infinite alternate;
}

@keyframes blinking01 {
	0% {
		opacity: 0.3;
	}

	20% {
		opacity: 1;
	}

	/* 100% {
		opacity: 0;
	 } */
}

@keyframes blinking02 {
	9% {
		opacity: 1;
	}

	29% {
		opacity: 0.2;
	}

	49% {
		opacity: 1;
	}
}

@keyframes blinking03 {
	33% {
		opacity: 1;
	}

	53% {
		opacity: 0.4;
	}

	73% {
		opacity: 1;
	}
}

@keyframes blinking04 {
	50% {
		opacity: 1;
	}

	70% {
		opacity: 0.2;
	}

	90% {
		opacity: 1;
	}
}

.kanken-lp__manga_up-box {
	position: relative;
}

.kanken-lp__manga_people {
	width: 74%;
	margin: 0 auto;
	padding-top: 1em;
}

.kanken-lp__manga_people-number {
	position: absolute;
	top: 11.3em;
	width: 52%;
	left: 50%;
	transform: translateX(-50%);
	overflow: hidden;
}

.kanken-lp__manga_people-number img {
	position: relative;
	z-index: 2;
	padding-inline: 1.2em 1.1em;
}

.kanken-lp__manga_people-number::after {
	content: "";
	position: absolute;
	bottom: 0.34em;
	left: 0;
	height: 1.4em;
	width: 0;
	background-color: #fccf00;
	transition: width 0.4s ease;
}

.kanken-lp__manga_people-number.active::after {
	width: 100%;
}

.kanken-lp__manga_up_comment {
	width: 82%;
	margin: 0 auto;
	padding-block: 3.3em 2.2em;
}

.kanken-lp__manga_pre-container {
	background: url(../images/kanken-lp_manga_pre_bg.png) center bottom/contain no-repeat;
	background-size: cover;
}

.kanken-lp__manga_pre-sub {
	width: 87%;
	margin: 0 auto;
	padding-block: 3.2em 1.4em;
	padding-right: 1em;
}

.kanken-lp__manga_pre-point {
	position: relative;
}

.kanken-lp__manga_pre-point img {
	position: absolute;
	width: 8.6em;
	right: 2.8em;
	top: 2em;
}

.kanken-lp__manga_pre-point ul {
	width: 90%;
	margin: 0 auto;
	padding-left: 70px;
}

.kanken-lp__manga_pre-point li {
	display: grid;
	grid-auto-flow: column;
	justify-self: start;
	position: relative;
}

.kanken-lp__manga_pre-point p img {
	width: 30px;
}

.kanken-lp__manga_pre-point p::before {
	content: "";
	background-image: url("../images/kanken-lp_manga_pre_icon.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
	position: absolute;
	width: 2em;
	height: 2em;
	top: 10px;
	padding-right: 50px;
	left: -60px;
}

.kanken-lp__manga_pre-point p {
	font-weight: bold;
	font-size: 1.6em;
	line-height: 3em;
}

.kanken-lp__manga_pre-content {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.kanken-lp__manga_pre-content.active {
	opacity: 1;
	transform: translateY(0);
}

.kanken-lp__manga01 .kanken-lp__mv__btn {
	text-align: center;
	position: relative;
	bottom: 0;
	margin: 3em auto 1.4em auto;
}

.kanken-lp__manga01 .kanken-lp__mv__btn a {
	display: inline-block;
	position: relative;
	overflow: hidden;
	border-radius: 3.1em;
}

.kanken-lp__manga01 .kanken-lp__mv__btn a::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fbfbfb;
	animation: btn_animation 2.5s ease-in-out infinite;
}

.kanken-lp__manga01 .kanken-lp__manga_pre .kv_btn {
	display: block;
	width: 56.1rem;
	height: 18.1rem;
	background: url(../images/kanken-lp_manga_button.png) center / contain no-repeat;
}

.kanken-lp__manga01 .kanken-lp__manga_pre .kv_btn:hover {
	background: url(../images/kanken-lp_manga_button-hover.png) center / contain no-repeat;
}

.kanken-lp__manga_pre_p {
	width: 32em;
	margin: -1.4em auto auto auto;
	padding-block: 0 3em;
}

.kanken-lp__manga_result {
	background-image: url(../images/kanken-lp_manga_result_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.kanken-lp__manga_result_container01 {
	position: relative;
	background-position: bottom;
	display: block;
	padding-block: 0 2.8em;
}

.kanken-lp__manga_result_bg {
	position: absolute;
	transform: translateY(2em);
}

.kanken-lp__manga_result_title-box {
	position: relative;
}

.kanken-lp_manga_result_star01-left,
.kanken-lp_manga_result_star02-left,
.kanken-lp_manga_result_star03-left,
.kanken-lp_manga_result_star01-right,
.kanken-lp_manga_result_star02-right,
.kanken-lp_manga_result_star03-right {
	position: absolute;
}

.kanken-lp_manga_result_star01-left,
.kanken-lp_manga_result_star01-right {
	width: 1.2em;
	top: 6em;
}

.kanken-lp_manga_result_star02-left,
.kanken-lp_manga_result_star02-right {
	width: 1em;
	top: 8em;
}

.kanken-lp_manga_result_star03-left,
.kanken-lp_manga_result_star03-right {
	width: 1.6em;
	top: 8.6em;
}

.kanken-lp_manga_result_star01-left {
	left: 3.8em;
	animation: blinking01 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_result_star02-left {
	left: 6.4em;
	animation: blinking04 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_result_star03-left {
	left: 4.5em;
	animation: blinking02 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_result_star01-right {
	right: 3.8em;
	animation: blinking01 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_result_star02-right {
	right: 6.4em;
	animation: blinking04 1s ease-in-out infinite alternate;
}

.kanken-lp_manga_result_star03-right {
	right: 4.5em;
	animation: blinking02 1s ease-in-out infinite alternate;
}


.kanken-lp__manga_result_title {
	width: 63%;
	margin: auto;
	padding-top: 3.4em;
}

.kanken-lp__manga_result_box {
	position: relative;
}

.kanken-lp__manga_result_img {
	width: 90%;
	margin: auto;
	padding-top: 3.8em;
}

.kanken-lp__manga_result_surprise {
	position: absolute;
	width: 33%;
	right: 0.4em;
	top: 8em;
}

.kanken-lp__manga_result_comment {
	width: 80%;
	margin: auto;
	padding-block: 2em 0;
}

.kanken-lp__manga_result_summarize {
	position: relative;
}

.kanken-lp__manga_result_container02 {
	width: 95%;
	margin: auto;
	padding-block: 6.4em 8.4em;
}

.kanken-lp__manga_result_container03 {
	position: absolute;
	top: 3em;
}

.kanken-lp_manga_result_p01,
.kanken-lp_manga_result_p02,
.kanken-lp_manga_result_p03,
.kanken-lp_manga_result_p04,
.kanken-lp_manga_result_p05 {
	padding-bottom: 2em;
	overflow: hidden;
	position: relative;
}

.kanken-lp_manga_result_p01 img,
.kanken-lp_manga_result_p02 img,
.kanken-lp_manga_result_p03 img,
.kanken-lp_manga_result_p04 img,
.kanken-lp_manga_result_p05 img {
	position: relative;
	z-index: 2;
}

.kanken-lp_manga_result_p01::after,
.kanken-lp_manga_result_p02::after,
.kanken-lp_manga_result_p03::after,
.kanken-lp_manga_result_p04::after,
.kanken-lp_manga_result_p05::after {
	content: "";
	position: absolute;
	bottom: 1.6em;
	left: 0;
	height: 1.8em;
	width: 0;
	background-color: #ffff54;
	transition: width 0.6s ease;
	display: block;
	transform: scaleX(0);
	transform-origin: left;
}

.kanken-lp_manga_result_p01.active::after,
.kanken-lp_manga_result_p02.active::after,
.kanken-lp_manga_result_p03.active::after,
.kanken-lp_manga_result_p04.active::after,
.kanken-lp_manga_result_p05.active::after {
	width: 42%;
	margin: auto;
	left: 11.2em;
	transform: translateX(-50%);
	transform: scaleX(1);
}

.kanken-lp_manga_result_p02.active::after {
	width: 80%;
	left: 3.7em;
}

.kanken-lp_manga_result_p03.active::after {
	width: 75%;
	left: 4.8em;
}

.kanken-lp_manga_result_p04.active::after {
	width: 66%;
	left: 6.7em;
}

.kanken-lp_manga_result_p05.active::after {
	width: 40%;
	left: 11.5em;
}

.kanken-lp__manga_more {
	background: url(../images/kanken-lp_manga_more_bg.png) center bottom/contain no-repeat;
	background-size: cover;
	position: relative;
	padding-bottom: 5em;
}

.kanken-lp__manga_more_date {
	width: 77%;
	margin: auto;
	padding-top: 2em;
}

.kanken-lp__manga_more_box {
	position: relative;
}

.kanken-lp__manga_more_people {
	width: 72%;
	margin: auto;
	padding: 3.2em 0 0 1.7em;
	;
}

.kanken-lp__manga_more_p {
	position: absolute;
	width: 15%;
	bottom: 11.7em;
	right: 3.5em;
}

.kanken-lp__manga01 .kanken-lp__manga_more .kanken-lp__mv__btn {
	position: absolute;
	top: 48.4em;
}

.kanken-lp__manga01 .kanken-lp__manga_more .kv_btn {
	display: block;
	width: 56.1rem;
	height: 18.1rem;
	background: url(../images/kanken-lp_manga_button02.png) center / contain no-repeat;
}

.kanken-lp__manga01 .kanken-lp__manga_more .kv_btn:hover {
	background: url(../images/kanken-lp_manga_button-hover02.png) center / contain no-repeat;
}




@media screen and (max-width: 641px) {
	.kanken-lp__manga_pre-point img {
		right: 1.8em;
		top: 0.6em;
		width: 10em;
	}

	.kanken-lp__manga_pre-point p::before {
		width: 1.6em;
		height: 1.6em;
		left: -50px;
	}

	.kanken-lp__manga_pre-point ul {
		padding-left: 51px;
	}
}