@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	overflow: hidden;
}
#main .topBox {
	position: relative;
}
#main .topBox::before {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: 192rem;
	aspect-ratio: 1920/3124;
	background: url(../img/top_bg.png) no-repeat left top/100%;
	content: "";
}
#main .mainVisual {
	margin-bottom: -11.5rem;
	padding: 12.4rem 0 15rem;
	text-align: center;
	background: url(../img/mv_txt_bg.png) no-repeat center 26.5rem/160rem;
}
#main .mainVisual .title {
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
}
#main .mainVisual .title span {
	display: inline-block;
}
#main .mainVisual .title span img {
	height: 12.3rem;
	animation-name: displayText;
	animation-duration: 0.6s;
	animation-timing-function: steps(4);
	animation-direction: normal;
	animation-fill-mode: forwards;
	opacity: 0;
	backface-visibility: hidden;
}
@keyframes displayText {
	0% {
		opacity: 1;
		transform-origin: center bottom;
	}
	5% {
		transform: translate(-5px, -20px) rotate(5deg) scale(1.1);
	}
	50% {
		transform: translate(-5px, 5px) rotate(-10deg);
	}
	100% {
		transform: translate(0px, 0px) rotate(-3deg) scale(1);
		opacity: 1;
	}
}
#main .mainVisual .title .letter01 {
	margin: 0 1.8rem 0 5.1rem;
}
#main .mainVisual .title .letter03 {
	transform: translateY(-0.3rem);
	display: inline-block;
}
#main .mainVisual .title .letter03 img {
	height: 15.5rem;
}
#main .mainVisual .title .letter01 span:nth-child(1) img {
	animation-delay: 0.4s;
}
#main .mainVisual .title .letter01 span:nth-child(2) img {
	animation-delay: 0.45s;
}
#main .mainVisual .title .letter01 span:nth-child(3) img {
	animation-delay: 0.5s;
}
#main .mainVisual .title .letter01 span:nth-child(4) img {
	animation-delay: 0.55s;
}
#main .mainVisual .title .letter02 span:nth-child(1) img {
	animation-delay: 0.6s;
}
#main .mainVisual .title .letter02 span:nth-child(2) img {
	animation-delay: 0.65s;
}
#main .mainVisual .title .letter02 span:nth-child(3) img {
	animation-delay: 0.7s;
}
#main .mainVisual .title .letter03 span:nth-child(1) img {
	animation-delay: 0.6s;
}
#main .mainVisual .title .letter03 span:nth-child(2) img {
	animation-delay: 0.65s;
}
#main .mainVisual .title .letter03 span:nth-child(3) img {
	animation-delay: 0.7s;
}
#main .mainVisual .title .letter03 span:nth-child(4) img {
	animation-delay: 0.75s;
}
#main .mainVisual .title .letter03 span:nth-child(5) img {
	animation-delay: 0.8s;
}
#main .mainVisual .title .letter03 span:nth-child(6) img {
	animation-delay: 0.85s;
}
#main .mainVisual .title .letter03 span:nth-child(7) img {
	animation-delay: 0.9s;
}
#main .mainVisual h1 {
	margin: 0 0 -6rem 1rem;
}
#main .mainVisual h1 img {
	width: 49.5rem;
	animation-name: displayText02;
	animation-duration: 0.6s;
	animation-timing-function: steps(4);
	animation-direction: normal;
	animation-fill-mode: forwards;
	opacity: 0;
	backface-visibility: hidden;
	animation-delay: 1s;
	animation-direction: 1.5s;
}
@keyframes displayText02 {
	0% {
		opacity: 1;
		transform-origin: center bottom;
	}
	5% {
		transform: translate(-5px, -20px) rotate(5deg) scale(1.1);
	}
	50% {
		transform: translate(-5px, 5px) rotate(-10deg);
	}
	100% {
		transform: translate(0px, 0px) rotate(0) scale(1);
		opacity: 1;
	}
}
#main .mainVisual .mvList {
	margin: 0 auto;
	max-width: 128rem;
}
#main .mainVisual .mvList li {
	position: relative;
	width: 36.2rem;
}
#main .mainVisual .mvList li:nth-child(1) {
	animation-delay: 1.4s;
}
#main .mainVisual .mvList li:nth-child(2) {
	animation-delay: 1.5s;
}
#main .mainVisual .mvList li:nth-child(3) {
	animation-delay: 1.6s;
}
#main .mainVisual .mvList .listImg01 {
	margin: 0 0 -13.5rem;
	animation: floating 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate;
}
#main .mainVisual .mvList .link {
	margin-left: 7.8rem;
	display: block;
	position: relative;
	z-index: 1;
	-webkit-animation-name: shake;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shake;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
#main .mainVisual .mvList .link img {
	transition: .3s;
	width: 27.8rem;
}
#main .mainVisual .mvList .new {
	position: absolute;
	right: -5.5rem;
	top: 8.4rem;
	width: 15.5rem;
}
#main .mainVisual .mvList li:nth-child(2) {
	margin: 0 5rem 0 5.3rem;
	width: 46.6rem;
}
#main .mainVisual .mvList li:nth-child(2) .listImg01 {
	margin: 8.5rem 0 -13.5rem;
	animation: floating 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate 0.25s;
}
#main .mainVisual .mvList li:nth-child(2) .link {
	margin-left: 3.5rem;
	-webkit-animation-name: shakeReverse;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shakeReverse;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
	animation-delay: 0.1s;
	animation-name: shakeLowReverse;
}
#main .mainVisual .mvList li:nth-child(3) {
	width: 34.3rem;
}
#main .mainVisual .mvList li:nth-child(3) .listImg01 {
	margin: 2rem 0 -13.5rem;
}
#main .mainVisual .mvList li:nth-child(3) .link {
	margin-left: 0.2rem;
}
#main .about {
	padding: 8.3rem 0 9.5rem;
	text-align: center;
	background: url(../img/about_bg.png) no-repeat center top/100%;
}
#main .about .topTtl {
	margin-bottom: 5rem;
}
#main .about .topTtl img {
	transition: .3s;
	width: 62.5rem;
}
#main .about h2 {
	margin-bottom: 4.6rem;
}
#main .about h2 img {
	width: 62.5rem;
}
#main .about .voice {
	margin: 0 auto 3.4rem;
	padding-top: 14.7rem;
	max-width: 74rem;
	position: relative;
}
#main .about .voice > img {
	margin-right: 0.7rem;
	width: 11.2rem;
}
#main .about .voice .txtList li {
	position: absolute;
}
#main .about .voice .txtList:not(.show) li {
	opacity: 0;
	animation: none;
}
#main .about .voice .txtList li:nth-child(2) {
	animation-delay: 0.1s;
}
#main .about .voice .txtList li:nth-child(3) {
	animation-delay: 0.2s;
}
#main .about .voice .txtList .txt01 {
	left: 0;
	top: 10rem;
	width: 29.5rem;
}
#main .about .voice .txtList .txt02 {
	left: 29.7rem;
	top: 0;
	width: 28.1rem;
}
#main .about .voice .txtList .txt03 {
	right: 0;
	top: 17.3rem;
	width: 31rem;
}
#main .about .midTxt {
	margin-bottom: 10.3rem;
}
#main .about .midTxt img {
	width: 72.6rem;
}
#main .about .imgList {
	margin-bottom: 5.1rem;
}
#main .about .imgList li {
	display: flex;
	align-items: flex-start;
}
#main .about .imgList:not(.show) li {
	opacity: 0;
	animation: none;
}
#main .about .imgList li:nth-child(2) {
	animation-delay: 0.15s;
}
#main .about .imgList li:nth-child(3) {
	animation-delay: 0.3s;
}
#main .about .imgList .txt {
	width: 11.2rem;
}
#main .about .imgList .txt01 {
	margin-right: -5rem;
	position: relative;
	z-index: 1;
}
#main .about .imgList .photo01 {
	margin-top: -1.2rem;
	width: 20.6rem;
}
#main .about .imgList .photo02 {
	margin: 0.8rem 1rem 0 0;
	width: 15rem;
}
#main .about .imgList .txt03 {
	margin: 0 -0.5rem 0 0.5rem;
}
#main .about .imgList .photo03 {
	width: 15.1rem;
}
#main .about .movieBox {
	margin: 0 auto;
	padding: 7.6rem 3.2rem 7rem 2rem;
	width: 80rem;
	background: url(../img/about_movie_bg.png) no-repeat center top/100%;
}
#main .about .movieBox h3 {
	margin-bottom: 1.9rem;
}
#main .about .movieBox h3 img {
	width: 32.3rem;
}
#main .about .movieBox .movie {
	margin: 0 auto 3rem;
	width: 70rem;
}
#main .about .movieBox .movie a {
	display: block;
	position: relative;
}
#main .about .movieBox p {
	margin-left: 1.3rem;
}
#main .about .movieBox p img {
	width: 59.9rem;
}
#main .tabBox {
	padding: 8.3rem 0 12.4rem;
	position: relative;
	background: url(../img/tab01_bg.png) no-repeat center bottom/192rem;
}
#main .tabBox h2 {
	margin-bottom: 6.4rem;
	text-align: center;
}
#main .tabBox h2 img {
	width: 70.5rem;
}
#main .tabBox .mainImg {
	margin: 0 auto 12.1rem;
	width: 79.9rem;
	position: relative;
}
#main .tabBox .start-anim:not(.show) .mainImg {
	animation: none;
	opacity: 0;
}
#main .tabBox .mainImg .photo {
	position: absolute;
	left: 4.1rem;
	top: -2.6rem;
	animation-delay: 0.9s;
	width: 23.1rem;
}
#main .tabBox .stepBox {
	margin-bottom: 9.6rem;
	text-align: center;
	position: relative;
	z-index: 1;
}
#main .tabBox .stepBox h3 {
	margin-bottom: 3rem;
}
#main .tabBox .stepBox h3 img {
	width: 63.6rem;
}
#main .tabBox .stepBox .step {
	gap: 0 0.4rem;
}
#main .tabBox .stepBox .step li {
	width: 27.2rem;
}
#main .tabBox .stepBox .step:not(.show) li {
	opacity: 0;
	animation: none;
}
#main .tabBox .stepBox .step li:nth-child(1) {
	animation-delay: .2s;
}
#main .tabBox .stepBox .step li:nth-child(2) {
	animation-delay: .3s;
}
#main .tabBox .stepBox .step li:nth-child(3) {
	animation-delay: .4s;
	width: 24.8rem;
}
#main .tabBox .inner {
	margin: 0 auto 7.9rem;
	width: 80rem;
	position: relative;
	padding: 0 4.1rem 6.5rem;
	background-color: #fff;
	border: 0.4rem solid #00a76d;
}
#main .tabBox .movieBox {
	padding-top: 6.4rem;
	padding-bottom: 3.3rem;
	border-top: none;
}
#main .tabBox .movieBox h3 {
	position: absolute;
	left: 50%;
	width: 42.3rem;
	transform: translateX(-50%);
	top: -2.5rem;
}
#main .tabBox .movieBox h3:before,
#main .tabBox .movieBox h3:after {
	position: absolute;
	right: calc(100% - 1.2rem);
	top: 2.5rem;
	width: 20rem;
	height: 0.4rem;
	background-color: #00a76d;
	content: "";
}
#main .tabBox .movieBox h3:after {
	right: auto;
	left: calc(100% - 1.2rem);
}
#main .tabBox .movieBox .phoList li {
	width: 47.2%;
}
#main .tabBox .movieBox .phoList a {
	display: block;
}
#main .tabBox .movieBox .phoList a:after {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 6rem;
	height: 6rem;
	margin-top: -1rem;
	background: url(../img/play_icon.png) no-repeat left top/100% 100%;
	content: "";
}
#main .tabBox .movieBox .phoList img {
	width: 100%;
}
#main .tabBox .inner .h3Ttl {
	margin: 0 -4.1rem 5.7rem;
	padding: 1.4rem 1rem 2.3rem;
	text-align: center;
	background-color: #00a76d;
}
#main .tabBox .inner .h3Ttl img {
	height: 4.4rem;
	width: auto;
}
#main .tabBox .howtoList {
	gap: 4rem 0;
	position: relative;
}
#main .tabBox .howtoList:after {
	position: absolute;
	left: 14.2rem;
	top: 14rem;
	width: 42.6rem;
	aspect-ratio: 426/443;
	background: url(../img/tab01_howto_bg.png) no-repeat left top/100%;
	content: "";
}
#main .tabBox .howtoList li {
	width: 45.8%;
}
#main .tabBox .howtoList .ttl {
	margin-bottom: 1rem;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	color: #00a76d;
	font-size: 2.2rem;
	font-weight: 900;
	text-align: center;
}
#main .tabBox .howtoList .ttl .num {
	margin: 0.2rem 0.9rem 0 0;
	padding-top: 0.4rem;
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	color: #fff;
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	font-family: "Oswald", sans-serif;
	background-color: #00a76d;
	border-radius: 50%;
}
#main .tabBox .howtoList .listImg {
	margin-bottom: 1.3rem;
}
#main .tabBox .howtoList .txt {
	font-weight: 500;
	line-height: 1.75;
}
#main .tabBox .howtoList li:first-child, #main .tabBox .howtoList li:nth-child(2), #main .tabBox .howtoList li:nth-child(4) {
	position: relative;
	z-index: 1;
}
#main .tabBox .subBox {
	margin: 4.5rem -0.3rem 0;
	padding: 3.2rem 4.6rem 3.6rem;
	border: 0.4rem solid #00a76d;
	box-shadow: 0.5rem 0.5rem 0 #00a76d;
	border-radius: 1rem;
}
#main .tabBox .subBox h4 {
	margin-bottom: 3.6rem;
	font-size: 2.2rem;
}
#main .tabBox .subBox .phoList li {
	width: 45.2%;
	position: relative;
}
#main .tabBox .subBox .phoList .note {
	position: absolute;
	left: -1rem;
	top: -1rem;
	width: 6rem;
}
#main .tabBox .subBox .phoList .photo {
	margin-bottom: 1.3rem;
}
#main .tabBox .subBox .phoList .photo img {
	width: 100%;
}
#main .tabBox .subBox .phoList .txt {
	font-weight: 500;
	line-height: 1.75;
}
#main .tabBox .concept {
	padding-bottom: 5.5rem;
}
#main .tabBox .concept .midImg {
	margin: 0 0 4.5rem 0.5rem;
	text-align: center;
}
#main .tabBox .concept .midImg img {
	width: 51.8rem;
}
#main .tabBox .concept .midTxt {
	margin-bottom: 3.8rem;
	text-align: center;
}
#main .tabBox .concept .midTxt img {
	width: 37.3rem;
}
#main .tabBox .concept .arrow {
	text-align: center;
}
#main .tabBox .concept .subBox {
	margin: 4.2rem -0.9rem 0 -0.3rem;
	padding: 6.1rem 6.5rem 6.6rem 5.9rem;
	background: url(../img/tab01_concept_sub_bg.png) no-repeat left top/100% 100%;
	border: none;
	box-shadow: none;
}
#main .tabBox .concept .subBox h4 {
	margin: 0 auto 7.3rem;
	width: fit-content;
	padding-bottom: 0.3rem;
	position: relative;
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1;
}
#main .tabBox .concept .subBox h4:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0.6rem;
	background-color: #f8b500;
	border-radius: 0.4rem;
	content: "";
}
#main .tabBox .concept .subBox h4 span {
	position: relative;
	z-index: 1;
}
#main .tabBox .concept .subBox .phoBox {
	position: relative;
	width: 26.3rem;
	text-align: right;
}
#main .tabBox .concept .subBox .phoBox > img {
	width: 16.1rem;
}
#main .tabBox .concept .subBox .phoBox .new {
	position: absolute;
	left: -0.6rem;
	top: -4.7rem;
	width: 11.7rem;
}
#main .tabBox .concept .subBox .txtBox {
	margin-top: 4rem;
	width: 25.5rem;
}
#main .tabBox .concept .subBox .txtBox h5 {
	margin-bottom: 4.5rem;
}
#main .tabBox .concept .subBox .txtBox h5 img {
	height: 10.5rem;
	width: auto;
}
#main .tabBox .concept .subBox .txtBox .btnList {
	margin-left: 0.1rem;
}
#main .tabBox .concept .subBox .txtBox .btnList li:not(:last-child) {
	margin-bottom: 1rem;
}
#main .tabBox .concept .subBox .txtBox .btnList a {
	display: block;
}
#main .tabBox .faq {
	padding-bottom: 5.5rem;
}
#main .tabBox .qaList {
	margin: 0 2.2rem;
}
#main .tabBox .qaList li:not(:last-child) {
	padding-bottom: 4rem;
	margin-bottom: 3.7rem;
	border-bottom: 0.2rem solid #7fd3b6;
}
#main .tabBox .qaList p {
	padding: 0.1rem 0 0 3.4rem;
	position: relative;
	letter-spacing: 0.025em;
}
#main .tabBox .qaList p:before {
	position: absolute;
	left: -0.1rem;
	top: 0;
	content: "Q";
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	font-family: "Oswald", sans-serif;
}
#main .tabBox .qaList .ttl {
	margin-bottom: 1.7rem;
	color: #00a76d;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.56;
}
#main .tabBox .qaList .ttl:before {
	font-size: 2.8rem;
}
#main .tabBox .qaList .txt {
	margin-bottom: 3.8rem;
	font-size: 1.4rem;
	font-weight: 600;
	display: none;
}
#main .tabBox .qaList .txt:before {
	top: 0.2rem;
	left: 0;
	content: "A";
}
#main .tabBox .qaList .txt a {
	text-decoration: underline;
}
#main .tabBox .qaList .btn a {
	display: flex;
	position: relative;
	width: 20.2rem;
	height: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.025em;
	font-family: "Oswald", sans-serif;
	background-color: #00a76d;
	border-radius: 0.5rem;
}
#main .tabBox .qaList .btn .close {
	display: none;
}
#main .tabBox .qaList .btn a:before, #main .tabBox .qaList .btn a:after {
	position: absolute;
	right: 2rem;
	top: 2rem;
	width: 1.7rem;
	height: 0.3rem;
	background-color: #fff;
	content: "";
}
#main .tabBox .qaList .btn a:after {
	transform: rotate(90deg);
}
#main .tabBox .qaList .btn .on .close {
	display: block;
}
#main .tabBox .qaList .btn .on .open {
	display: none;
}
#main .tabBox .qaList .btn .on:after {
	transform: rotate(0);
}
#main .tabBox .animeImg li {
	position: absolute;
	left: 50%;
	margin-left: 47rem;
	top: 39rem;
	width: 23.9rem;
}
#main .tabBox:not(.tabBox03) .animeImg li {
	opacity: 0;
	transition: transform 10s cubic-bezier(0.13, 0.34, 0.56, 0.88) 0.2s, opacity 0.3s 0.2s;
}
#main .tabBox:not(.tabBox03) .animeImg li.show {
	opacity: 1;
	transform: translateX(-2100px) translateY(1200px);
}
#main .tabBox .animeImg .item02 {
	top: 112.5rem;
	margin-left: -67.5rem;
}
#main .tabBox .animeImg .item03 {
	top: 161rem;
	margin-left: 45.7rem;
}
#main .tabBox .animeImg .item04 {
	top: 256.2rem;
	margin-left: -65.7rem;
}
#main .tabBox .animeImg .item05 {
	top: 328rem;
	margin-left: 53rem;
}
#main .tabBox .animeImg .item06 {
	top: 461.2rem;
	margin-left: -67.5rem;
}
#main .tabBox .animeImg .item07 {
	top: 519rem;
	margin-left: 44.8rem;
}
#main .tabBox .animeImg .item08 {
	top: 630rem;
	margin-left: -65.7rem;
}
#main .tabBox .animeImg .item09 {
	top: 706.2rem;
	margin-left: 42.7rem;
}
#main .tabBox01 {
	position: relative;
	z-index: 2;
}
#main .tabBox01 .concept .voiceList {
	margin-bottom: 2.1rem;
	height: 45rem;
	position: relative;
}
#main .tabBox01 .concept .voiceList li {
	position: absolute;
	width: 27.5rem;
}
#main .tabBox01 .concept .voiceList:not(.show) li {
	opacity: 0;
	animation: none;
}
#main .tabBox01 .concept .voiceList li:first-child {
	left: 6.2rem;
	top: 0;
}
#main .tabBox01 .concept .voiceList li:nth-child(2) {
	right: 1.6rem;
	top: 2rem;
	animation-delay: 0.1s;
}
#main .tabBox01 .concept .voiceList li:nth-child(3) {
	left: 50%;
	top: 12rem;
	margin-left: -11.8rem;
	animation-delay: 0.2s;
}
#main .tabBox01 .concept .voiceList li:nth-child(4) {
	left: 2.2rem;
	top: 22.5rem;
	animation-delay: 0.3s;
}
#main .tabBox01 .concept .voiceList li:nth-child(5) {
	right: 2.6rem;
	bottom: 10.4rem;
	animation-delay: 0.4s;
}
#main .tabBox01 .concept .voiceList li:nth-child(6) {
	left: 20rem;
	bottom: 0.2rem;
	animation-delay: 0.5s;
}
#main .tabBox01 .concept .midTxt {
	position: relative;
}
#main .tabBox01 .concept .midTxt .sub {
	display: block;
	position: absolute;
	left: 50%;
	width: 37.3rem;
	transform: translateX(-50%);
	top: 0;
}
#main .tabBox02 {
	margin-top: -7rem;
	position: relative;
	z-index: 1;
	padding-top: 15.8rem;
	padding-bottom: 14.6rem;
	background-image: url(../img/tab02_bg.png);
}
#main .tabBox02 .animeImg li {
	width: 17.7rem;
	top: 88rem;
	margin-left: 50rem;
}
#main .tabBox02 .animeImg .item02 {
	top: 168.5rem;
	margin-left: -69rem;
}
#main .tabBox02 .animeImg .item03 {
	top: 247.3rem;
	width: 14.5rem;
	margin-left: 55.6rem;
}
#main .tabBox02 .animeImg .item04 {
	top: 307rem;
	width: 14.5rem;
	margin-left: -52.4rem;
}
#main .tabBox02 .animeImg .item05 {
	top: 356.3rem;
	margin-left: 53rem;
}
#main .tabBox02 .animeImg .item06 {
	top: 478.5rem;
	margin-left: -69rem;
}
#main .tabBox02 .animeImg .item07 {
	top: 537.7rem;
	width: 14.4rem;
	margin-left: 47.5rem;
}
#main .tabBox02 .animeImg .item08 {
	top: 642rem;
	margin-left: -65rem;
}
#main .tabBox02 .animeImg .item09 {
	top: 774.5rem;
	margin-left: 49rem;
}
#main .tabBox02 h2 {
	margin-bottom: 5.3rem;
}
#main .tabBox02 .mainImg {
	margin-bottom: 6rem;
}
#main .tabBox02 .mainImg .photo {
	left: -1rem;
	top: 4rem;
	width: 35.6rem;
}
#main .tabBox02 .stepBox {
	margin-bottom: 10rem;
}
#main .tabBox02 .stepBox h3 {
	margin-bottom: 2.2rem;
}
#main .tabBox02 .inner {
	border-color: #a833e7;
}
#main .tabBox02 .headLine01 {
	color: #a833e7;
}
#main .tabBox02 .movieBox h3:before,
#main .tabBox02 .movieBox h3:after {
	background-color: #a833e7;
}
#main .tabBox02 .inner .h3Ttl {
	background-color: #a833e7;
}
#main .tabBox02 .howto .midImg {
	margin-bottom: 5rem;
	text-align: center;
}
#main .tabBox02 .howto .midImg img {
	width: 68.6rem;
}
#main .tabBox02 .howtoList .ttl {
	color: #a833e7;
}
#main .tabBox02 .howtoList .ttl .num {
	background-color: #a833e7;
}
#main .tabBox02 .howtoList:after {
	aspect-ratio: 426/833;
	background-image: url(../img/tab02_howto_bg.png);
}
#main .tabBox02 .howtoList li:nth-child(3), #main .tabBox02 .howtoList li:nth-child(5) {
	position: relative;
	z-index: 1;
}
#main .tabBox02 .subBox {
	border-color: #a833e7;
	box-shadow: 0.5rem 0.5rem 0 #a833e7;
}
.b-fact.hcm01__fact .box01 {
	margin-bottom: 6rem;
	text-align: center;
}
.b-fact.hcm01__fact .box01-graph {
	width: 26rem;
	height: 26rem;
	margin: 2rem auto 3rem;
	position: relative;
}
.b-fact.hcm01__fact .box01 > p:nth-child(1) img {
	width: 48.5rem;
}
.b-fact.hcm01__fact .box01 > p:nth-child(3) img {
	width: 48.6rem;
}
.b-fact.hcm01__fact .box01-graph__anim {
	display: flex;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	transform: translateZ(0);
}
.b-fact.hcm01__fact .box01-graph__anim:after {
	content: "";
	display: block;
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	border: 0.3rem solid #f2579a;
	border-radius: 100%;
}
.b-fact.hcm01__fact .box01-graph__anim li {
	width: 50%;
	height: 100%;
	overflow: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}
.b-fact.hcm01__fact .box01-graph__anim li > span {
	display: block;
	width: 200%;
	height: 100%;
	background-color: #f2579a;
	will-change: transform;
	transition: transform 0.36s;
}
.b-fact.hcm01__fact .box01-graph__anim li:nth-child(1) > span {
	margin-left: -100%;
	transform: rotate(-180deg);
	transform-origin: right center;
	transition-timing-function: ease-out;
}
.b-fact.hcm01__fact .box01-graph__anim li:nth-child(2) > span {
	transform: rotate(-180deg);
	transform-origin: left center;
	transition-timing-function: ease-in;
}
.b-fact.hcm01__fact .box01-graph > p {
	position: absolute;
	top: 1.5rem;
	left: -7rem;
	z-index: 2;
	width: 35.5rem;
	transform: scale(0.85);
	transition: transform 0.4s cubic-bezier(0, 0.98, 0.87, 1.16) 0.5s, opacity 0.2s 0.5s;
	opacity: 0;
}
.b-fact.hcm01__fact .box01-graph.show .box01-graph__anim li:nth-child(1) > span {
	transform: rotate(-11deg);
	transition-delay: 0.36s;
}
.b-fact.hcm01__fact .box01-graph.show .box01-graph__anim li:nth-child(2) > span {
	transform: rotate(0deg);
}
.b-fact.hcm01__fact .box01-graph.show > p {
	transform: scale(1);
	opacity: 1;
}
.b-fact.hcm01__fact .box02 {
	margin-bottom: 3.8rem;
	text-align: center;
}
.b-fact.hcm01__fact .box02 > p:nth-child(1) img {
	width: 48.5rem;
}
.b-fact.hcm01__fact .box02 > p:nth-child(3) img {
	width: 48.6rem;
}
.b-fact.hcm01__fact .box02-graph {
	margin: 3rem auto 3.1rem;
	position: relative;
	width: 38rem;
	height: 12rem;
}
.b-fact.hcm01__fact .box02-graph:before, .b-fact.hcm01__fact .box02-graph:after {
	content: "";
	display: block;
	position: absolute;
	transform: scaleX(0);
	transform-origin: 0% 50%;
	transition: transform 0.65s cubic-bezier(0.17, 0.67, 0.04, 0.99);
}
.b-fact.hcm01__fact .box02-graph:before {
	width: 30.2rem;
	height: 5rem;
	left: 7.8rem;
	top: 0;
	background-color: #f2579a;
}
.b-fact.hcm01__fact .box02-graph:after {
	left: 7.8rem;
	bottom: 0;
	width: 10rem;
	height: 5rem;
	background-color: #a833e7;
}
.b-fact.hcm01__fact .box02-graph p:nth-child(2) {
	position: absolute;
	top: -2.6rem;
	right: -5rem;
	z-index: 3;
	transform: scale(0.85);
	transition: transform 0.4s cubic-bezier(0, 0.98, 0.87, 1.16) 0.3s, opacity 0.2s 0.3s;
	opacity: 0;
}
.b-fact.hcm01__fact .box02-graph.show:before, .b-fact.hcm01__fact .box02-graph.show:after {
	transform: scaleX(1);
}
.b-fact.hcm01__fact .box02-graph p:nth-child(2) img {
	width: 32.4rem;
}
.b-fact.hcm01__fact .box02-graph.show p {
	transform: scale(1);
	opacity: 1;
}
.b-fact.hcm01__fact .lead {
	margin-bottom: 1.2rem;
	text-align: center;
}
.b-fact.hcm01__fact .lead img {
	width: 37.3rem;
}
#main .tabBox02 .concept .subBox {
	margin-top: 1.5rem;
	padding-bottom: 8.7rem;
	background-image: url(../img/tab02_concept_sub_bg.png);
}
#main .tabBox02 .concept .subBox h4 {
	margin-bottom: 6.3rem;
}
#main .tabBox02 .concept .subBox .phoBox {
	margin-top: 5rem;
	width: 28.5rem;
}
#main .tabBox02 .concept .subBox .phoBox > img {
	margin-right: 1.2rem;
	width: 24rem;
	box-shadow: 0.7rem 0.7rem 0.2rem rgba(0, 0, 0, 0.35);
	border-radius: 3rem;
}
#main .tabBox02 .concept .subBox .phoBox .new {
	top: -9rem;
	left: -1.8rem;
	width: 11.9rem;
}
#main .tabBox02 .concept .subBox .txtBox h5 {
	margin-bottom: 5.6rem;
}
#main .tabBox02 .qaList li:not(:last-child) {
	border-bottom-color: #f8abcc;
}
#main .tabBox02 .qaList .ttl {
	color: #a833e7;
}
#main .tabBox02 .qaList .ttl:before {
	color: #a833e7;
}
#main .tabBox02 .qaList .txt {
	margin-bottom: 1.7rem;
}
#main .tabBox02 .qaList .btn a {
	background-color: #a833e7;
}
#main .tabBox03 {
	margin-top: -7rem;
	padding-top: 18.4rem;
	background-image: url(../img/tab03_bg.png);
}
#main .tabBox03 .animeImg li {
	top: 13.5rem;
	width: 12.9rem;
	margin-left: 45rem;
}
#main .tabBox03 .animeImg .item02 {
	top: 99.2rem;
	margin-left: -55.5rem;
}
#main .tabBox03 .animeImg .item03 {
	top: 217.3rem;
	width: 13.3rem;
	margin-left: 49.5rem;
}
#main .tabBox03 .animeImg .item04 {
	top: 319rem;
	width: 13.1rem;
	margin-left: -62.8rem;
}
#main .tabBox03 .animeImg .item05 {
	top: 401.5rem;
	width: 13.2rem;
	margin-left: 45.5rem;
}
#main .tabBox03 .animeImg .item06 {
	top: 492.2rem;
	margin-left: -55.5rem;
}
#main .tabBox03 .animeImg .item07 {
	top: 576rem;
	width: 13.2rem;
	margin-left: 49.5rem;
}
#main .tabBox03 .animeImg .item08 {
	top: 677.2rem;
	width: 13.2rem;
	margin-left: -62.7rem;
}
#main .tabBox03 h2 {
	margin-bottom: 2.5rem;
}
#main .tabBox03 .mainImg {
	margin-bottom: 6.5rem;
}
#main .tabBox03 .mainImg .photo {
	left: 1.2rem;
	top: 2rem;
	width: 27.3rem;
}
#main .tabBox03 .stepBox {
	margin-bottom: 9.2rem;
}
#main .tabBox03 .stepBox h3 {
	margin-bottom: 2.2rem;
}
#main .tabBox03 .stepBox h3 img {
	width: 81.3rem;
}
#main .tabBox03 .inner {
	border-color: #f8b500;
}
#main .tabBox03 .headLine01 {
	color: #f8b500;
}
#main .tabBox03 .movieBox h3:before,
#main .tabBox03 .movieBox h3:after {
	background-color: #f8b500;
}
#main .tabBox03 .inner .h3Ttl {
	background-color: #f8b500;
}
#main .tabBox03 .howto .midImg {
	margin-bottom: 3rem;
	text-align: center;
}
#main .tabBox03 .howto .midImg img {
	width: 61.8rem;
}
#main .tabBox03 .howtoList .ttl {
	color: #f8b500;
}
#main .tabBox03 .howtoList .ttl .num {
	background-color: #f8b500;
}
#main .tabBox03 .howtoList:after {
	aspect-ratio: 426/445;
	background-image: url(../img/tab03_howto_bg.png);
}
#main .tabBox03 .howtoList .color {
	color: #f8b500;
}
#main .tabBox03 .subBox {
	border-color: #f8b500;
	box-shadow: 0.5rem 0.5rem 0 #f8b500;
}
#main .tabBox03 .concept {
	text-align: center;
}
.b-fact.hcm02__fact .box01 {
	margin-bottom: 5rem;
}
.b-fact.hcm02__fact .box01 > p:nth-child(1) img {
	width: 48.5rem;
}
.b-fact.hcm02__fact .box01 > p:nth-child(3) img {
	width: 48rem;
}
.b-fact.hcm02__fact .box01-graph {
	position: relative;
	width: 47.9rem;
	margin: 1.7rem auto 1.9rem;
}
.b-fact.hcm02__fact .box01-graph p:nth-child(2) {
	position: absolute;
	top: 0.8rem;
	right: 0;
	transform-origin: 0% 50%;
	z-index: 3;
	transform: scale(0.85);
	transition: transform 0.4s cubic-bezier(0, 0.98, 0.87, 1.16) 0.3s, opacity 0.2s 0.3s;
	opacity: 0;
}
.b-fact.hcm02__fact .box01-graph p:nth-child(2) img {
	width: 27.5rem;
}
.b-fact.hcm02__fact .box01-graph span {
	position: absolute;
	display: block;
	height: 3rem;
	left: 18.7rem;
	transform: scaleX(0);
	transform-origin: 0% 50%;
	transition: transform 0.65s cubic-bezier(0.17, 0.67, 0.04, 0.99);
	z-index: 2;
}
.b-fact.hcm02__fact .box01-graph span.obi01 {
	top: 0;
	width: 25rem;
	background-color: #f8b500;
}
.b-fact.hcm02__fact .box01-graph span.obi02 {
	top: 4.5rem;
	width: 19.4rem;
	background-color: #05b973;
}
.b-fact.hcm02__fact .box01-graph span.obi03 {
	top: 8.9rem;
	width: 14.7rem;
	background-color: #f8b500;
}
.b-fact.hcm02__fact .box01-graph span.obi04 {
	top: 13.5rem;
	width: 11.8rem;
	background-color: #05b973;
}
.b-fact.hcm02__fact .box01-graph span.obi05 {
	top: 18rem;
	width: 10rem;
	background-color: #05b973;
}
.b-fact.hcm02__fact .box01-graph span.obi06 {
	top: 22.5rem;
	width: 5.2rem;
	background-color: #05b973;
}
.b-fact.hcm02__fact .box01-graph.show span {
	transform: scaleX(1);
}
.b-fact.hcm02__fact .box01-graph.show p {
	transform: scale(1);
	opacity: 1;
}
.b-fact.hcm02__fact .box02 {
	margin-bottom: 3.9rem;
}
.b-fact.hcm02__fact .box02 > p:nth-child(1) img {
	width: 48.5rem;
}
.b-fact.hcm02__fact .box02 > p:nth-child(3) img {
	width: 48.6rem;
}
.b-fact.hcm02__fact .box02-graph {
	margin: 0.3rem auto 2.6rem;
	position: relative;
	width: 43.1rem;
	height: 14.9rem;
	left: 2.2rem;
}
.b-fact.hcm02__fact .box02-graph:before, .b-fact.hcm02__fact .box02-graph:after {
	content: "";
	display: block;
	position: absolute;
	transform: scaleX(0);
	transform-origin: 0% 50%;
	transition: transform 0.65s cubic-bezier(0.17, 0.67, 0.04, 0.99);
	z-index: 2;
}
.b-fact.hcm02__fact .box02-graph:before {
	width: 30.2rem;
	height: 5rem;
	left: 7.8rem;
	top: 2.6rem;
	background-color: #05b973;
}
.b-fact.hcm02__fact .box02-graph:after {
	left: 7.8rem;
	bottom: 0.3rem;
	width: 10rem;
	height: 5rem;
	background-color: #f8b500;
}
.b-fact.hcm02__fact .box02-graph p:nth-child(2) {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	width: 32.5rem;
	transform: scale(0.85);
	transition: transform 0.4s cubic-bezier(0, 0.98, 0.87, 1.16) 0.3s, opacity 0.2s 0.3s;
	opacity: 0;
}
.b-fact.hcm02__fact .box02-graph.show:before, .b-fact.hcm02__fact .box02-graph.show:after {
	transform: scaleX(1);
}
.b-fact.hcm02__fact .box02-graph.show p {
	opacity: 1;
	transform: scale(1);
}
.b-fact.hcm02__fact .lead {
	margin-bottom: 4.1rem;
	position: relative;
}
.b-fact.hcm02__fact .lead img {
	width: 37.3rem;
}
.b-fact.hcm02__fact .lead .ttl {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
}
#main .tabBox03 .concept .subBox {
	padding-bottom: 6.5rem;
	text-align: left;
	background-image: url(../img/tab03_concept_sub_bg.png);
}
#main .tabBox03 .concept .subBox h4 {
	margin-bottom: 12.3rem;
}
#main .tabBox03 .concept .subBox .phoBox {
	width: 30.2rem;
}
#main .tabBox03 .concept .subBox .phoBox > img {
	width: 100%;
	box-shadow: 0.7rem 0.7rem 0.2rem rgba(0, 0, 0, 0.35);
	border-radius: 3rem;
}
#main .tabBox03 .concept .subBox .phoBox .new {
	top: -9.2rem;
	left: -1.8rem;
}
#main .tabBox03 .qaList li:not(:last-child) {
	border-bottom-color: #f8b500;
}
#main .tabBox03 .qaList .ttl {
	color: #f8b500;
}
#main .tabBox03 .qaList .ttl:before {
	color: #f8b500;
}
#main .tabBox03 .qaList .txt {
	margin-bottom: 1.7rem;
}
#main .tabBox03 .qaList .btn a {
	background-color: #f8b500;
}
#main .resolution {
	margin-top: -7rem;
	padding: 18.9rem 0 11.7rem;
	text-align: center;
	background: url(../img/resolution_bg.png) no-repeat center top -19rem/192rem;
}
#main .resolution h2 {
	margin-bottom: 11.3rem;
}
#main .resolution h2 img {
	width: 78.9rem;
}
#main .resolution .imgList {
	margin: 0 auto 16.7rem;
	max-width: 84rem;
	gap: 5.6rem;
}
#main .resolution .imgList li {
	width: 37.2rem;
}
#main .resolution .imgList:not(.show) li {
	opacity: 0;
	animation: none;
}
#main .resolution .imgList li:nth-child(2) {
	animation-delay: 0.2s;
}
#main .resolution .imgList li:nth-child(3) {
	animation-delay: 0.3s;
}
#main .resolution .photoBox {
	margin-bottom: 5.3rem;
}
#main .resolution .photoBox h3 {
	margin-bottom: 6rem;
}
#main .resolution .photoBox h3 img {
	width: 62.5rem;
}
#main .resolution .photoBox .phoList {
	margin: 0 3.5rem 2.1rem 0;
	gap: 0 2.2rem;
}
#main .resolution .photoBox .phoList:not(.show) li {
	opacity: 0;
	animation: none;
}
#main .resolution .photoBox .phoList li {
	display: flex;
	align-items: flex-end;
	width: 25.4rem;
}
#main .resolution .photoBox .phoList li:nth-child(2) {
	animation-delay: 0.2s;
	width: 25.2rem;
}
#main .resolution .photoBox .phoList li:nth-child(3) {
	animation-delay: 0.4s;
	width: 18rem;
}
#main .resolution .photoBox .phoList li:last-child {
	margin-left: 3rem;
}
#main .resolution .photoBox p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
}
#main .resolution .btnBox h3 {
	margin: 0 1.5rem 3.7rem 0;
}
#main .resolution .btnBox h3 img {
	width: 53rem;
}
#main .resolution .btnBox .btnList {
	margin: 0 auto;
	max-width: 80rem;
	gap: 1rem 1.9rem;
}
#main .resolution .btnBox .btnList li {
	width: 25.4rem;
}
#main .resolution .btnBox .btnList a {
	display: block;
}
#main .share {
	padding: 5.1rem 0 5.6rem;
	background: url(../img/share_bg.jpg) no-repeat center top/cover;
}
#main .share .content {
	position: relative;
}
#main .share .pageTop {
	position: absolute;
	right: 3.2rem;
	bottom: 0;
	width: 10.8rem;
}
#main .share .pageTop a {
	display: block;
}
#main .share .pageTop .txt {
	margin: 0 0 -3.4rem 4.7rem;
	width: 5.9rem;
}
#main .share .bgBox {
	margin: 0 auto;
	padding: 7rem 5rem 5.9rem;
	width: 79.3rem;
	transform: translateX(-0.4rem);
	text-align: center;
	background-color: #fff;
	border: 0.4rem solid #231815;
	box-shadow: 0.7rem 0.7rem 0 #231815;
}
#main .share .bgBox h2 {
	margin-bottom: 4.7rem;
}
#main .share .bgBox h2 img {
	width: 51rem;
}
#main .share .bgBox .sns {
	gap: 0 5.8rem;
}
#main .share .bgBox .sns li {
	width: 5.2rem;
}
#main .share .bgBox .sns a {
	display: block;
}
@media all and (min-width: 1921px) {
	#main .topBox:before {
		width: 100%;
	}
	#main .tabBox, #main .resolution {
		background-size: 100%;
	}
	#main .resolution {
		margin-top: -3.646vw;
		padding-top: 9.844vw;
	}
	#main .tabBox02 {
		margin-top: -3.646vw;
		padding-top: 8.229vw;
	}
	#main .tabBox03 {
		margin-top: -3.646vw;
		padding-top: 9.583vw;
	}
}
@media all and (min-width: 1024px) and (max-height: 1080px) {
	#main .mainVisual {
		margin-bottom: -11.2vh;
		padding: 11.481vh 0 13.889vh;
		background-position: center 24.537vh;
		background-size: 148.148vh;
	}
	#main .mainVisual .title {
		margin-bottom: 1.852vh;
	}
	#main .mainVisual .title .letter01 {
		margin: 0 1.667vh 0 4.722vh;
	}
	#main .mainVisual .title span img {
		height: 11.389vh;
	}
	#main .mainVisual .title .letter03 img {
		height: 14.352vh;
	}
	#main .mainVisual h1 img {
		width: 45.833vh;
	}
	#main .mainVisual .mvList {
		max-width: 118.519vh;
	}
	#main .mainVisual .mvList li {
		width: 33.5vh;
	}
	#main .mainVisual .mvList .listImg01 {
		margin: 0 0 -12.5vh;
	}
	#main .mainVisual .mvList .link {
		margin-left: 7.222vh;
	}
	#main .mainVisual .mvList .link img {
		width: 25.7vh;
	}
	#main .mainVisual .mvList .new {
		right: -5.093vh;
		top: 7.778vh;
		width: 14.352vh;
	}
	#main .mainVisual .mvList li:nth-child(2) {
		margin: 0 4.6vh 0 4.9vh;
		width: 43vh;
	}
	#main .mainVisual .mvList li:nth-child(2) .listImg01 {
		margin: 7.87vh 0 -12.5vh;
	}
	#main .mainVisual .mvList li:nth-child(2) .link {
		margin-left: 3.2vh;
	}
	#main .mainVisual .mvList li:nth-child(3) {
		width: 31.7vh;
	}
	#main .mainVisual .mvList li:nth-child(3) .listImg01 {
		margin: 1.852vh 0 -12.5vh;
	}
	#main .mainVisual .mvList li:nth-child(3) .link {
		margin-left: 0.185vh;
	}
}
@media all and (min-width: 1024px) {
	#main .mainVisual .mvList .link a:hover img,#main .about .topTtl a:hover img {
		transform: scale(1.03);
	}
	#main .tabBox .movieBox .phoList a:hover, #main .tabBox .concept .subBox .txtBox .btnList a:hover, #main .tabBox .qaList .btn a:hover, #main .resolution .btnBox .btnList a:hover, #main .share .bgBox .sns a:hover, #main .share .pageTop a:hover {
		transform: scale(1.03);
	}
	#main .tabBox .qaList .txt a:hover {
		color: #00a76d;
		text-decoration: none;
	}
	#main .tabBox02 .qaList .txt a:hover {
		color: #a833e7;
	}
	#main .tabBox03 .qaList .txt a:hover {
		color: #f8b500;
	}
	#main .tabBox02 .movieBox .phoList li {
		width: 46.9%;
	}
}
@media all and (max-width: 1023px) {
	#main .topBox {
		background: url(../img/sp/top_bg.png) no-repeat center top/100%;
	}
	#main .topBox::before {
		display: none;
	}
	#main .mainVisual {
		margin-bottom: -10rem;
		padding: 13rem 0 0;
		background: none;
	}
	#main .mainVisual .itemList {
		margin-bottom: -1.2rem;
	}
	#main .mainVisual .itemList li {
		width: 13rem;
	}
	#main .mainVisual .itemList li:nth-child(2) {
		margin: -6.3rem -0.8rem 0 -2.6rem;
		width: 13.7rem;
		animation-delay: .15s;
	}
	#main .mainVisual .itemList li:nth-child(3) {
		animation-delay: .3s;
	}
	#main .mainVisual .title {
		margin-bottom: 0.8rem;
	}
	#main .mainVisual .title span img {
		height: 5.3rem;
	}
	#main .mainVisual .title .letter01 {
		margin: 0 1rem 0 1.5rem;
	}
	#main .mainVisual .title .letter03 img {
		height: 6.8rem;
	}
	#main .mainVisual h1 {
		margin: 0 0 0 1rem;
	}
	#main .mainVisual h1 img {
		width: 21.5rem;
	}
	#main .mainVisual .mvList {
		justify-content: center;
	}
	#main .mainVisual .mvList li {
		width: 12.7rem !important;
	}
	#main .mainVisual .mvList .link {
		margin-left: 0 !important;
	}
	#main .mainVisual .mvList li:nth-child(2) {
		margin: 4.9rem -1rem 0 -1.3rem;
	}
	#main .mainVisual .mvList li:nth-child(3) {
		margin: 0.1rem -0.7rem 0 0;
	}
	#main .about {
		padding: 11.7rem 0 5rem;
		background: none;
	}
	#main .about .topTtl {
		margin-bottom: 1.9rem;
	}
	#main .about .topTtl img {
		width: 33.2rem;
	}
	#main .about h2 {
		margin-bottom: 3.1rem;
	}
	#main .about h2 img {
		width: 33.2rem;
	}
	#main .about .voice img {
		width: 33.1rem;
	}
	#main .about .voice {
		padding-top: 12.5rem;
		max-width: inherit;
		margin: 0 0.4rem 2rem 0;
	}
	#main .about .voice > img {
		margin-right: 0;
		width: 9rem;
	}
	#main .about .voice .txtList .txt01 {
		top: 7.2rem;
		width: 14.7rem;
	}
	#main .about .voice .txtList .txt02 {
		left: 10.4rem;
		top: 0;
		width: 14rem;
	}
	#main .about .voice .txtList .txt03 {
		right: 0;
		top: 8rem;
		width: 15.5rem;
	}
	#main .about .midTxt {
		margin: 0 0 8.5rem 0.3rem;
	}
	#main .about .midTxt img {
		width: 32.9rem;
	}
	#main .about .imgList {
		margin-bottom: 1.8rem;
	}
	#main .about .imgList li {
		display: block;
		width: 50%;
		position: relative;
	}
	#main .about .imgList li:first-child {
		margin-bottom: 2.7rem;
		width: 100%;
	}
	#main .about .imgList .txt {
		position: absolute;
		width: 7rem;
	}
	#main .about .imgList .txt01 {
		margin-right: 0;
		top: -4.5rem;
		left: 14rem;
	}
	#main .about .imgList .photo01 {
		margin: 0 auto;
		width: 21.6rem;
		transform: translateX(-0.7rem);
	}
	#main .about .imgList .txt02 {
		top: -4.9rem;
	}
	#main .about .imgList .photo02 {
		margin: 2.2rem 0 0 -0.8rem;
		width: 16.5rem;
	}
	#main .about .imgList .txt03 {
		margin: 0;
		right: 0;
		top: -4.9rem;
	}
	#main .about .imgList .photo03 {
		margin-right: 2.5rem;
		width: 12.7rem;
		position: relative;
		z-index: 1;
	}
	#main .about .movieBox {
		padding: 4.5rem 2.6rem 3.5rem 1.9rem;
		width: 33.5rem;
		background-image: url(../img/sp/about_movie_bg.png);
	}
	#main .about .movieBox h3 {
		margin-bottom: 1.9rem;
	}
	#main .about .movieBox h3 img {
		width: 24.2rem;
	}
	#main .about .movieBox .movie {
		margin-bottom: 1.9rem;
		width: auto;
	}
	#main .about .movieBox p {
		margin-left: 0;
	}
	#main .about .movieBox p img {
		width: 25.5rem;
	}
	#main .tabNavi {
		margin: 0 0.5rem -0.4rem;
		gap: 0 0.3rem;
	}
	#main .tabNavi li {
		width: 11.9rem;
		display: flex;
		align-items: flex-end;
	}
	#main .tabNavi a {
		display: block;
		width: 100%;
	}
	#main .tabNavi .over {
		display: none;
	}
	#main .tabNavi .on {
		position: relative;
		z-index: 10;
	}
	#main .tabNavi .on .out {
		display: none;
	}
	#main .tabNavi .on .over {
		display: block;
	}
	#main .tabNaviBtm {
		margin: -7.3rem 0 0;
		padding: 0 0.5rem;
		position: relative;
		z-index: 2;
	}
	#main .tabNaviBtm::before {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		border-top: 0.4rem solid #00c67c;
		z-index: 1;
		content: "";
	}
	#main .tabNaviBtm.cor01::before {
		border-color: #a833e7;
	}
	#main .tabNaviBtm.cor02::before {
		border-color: #f8b500;
	}
	#main .tabNaviBtm li {
		align-items: flex-start;
		position: relative;
	}
	#main .tabBox {
		border-top: 0.4rem solid #00c67c;
		padding: 2.8rem 0 12rem;
		position: relative;
		background-color: #fdffeb;
		background-image: url(../img/sp/tab01_bg.png);
		background-position: center top;
		background-size: 37.5rem;
	}
	#main .tabBox:after {
		position: absolute;
		left: 0;
		bottom: -5.4rem;
		width: 37.5rem;
		aspect-ratio: 750/108;
		background: url(../img/sp/line01.png) no-repeat left top/100%;
		content: "";
	}
	#main .tabBox .animeImg li {
		left: 0;
		margin-left: 0;
		top: 162rem;
		width: 100%;
		text-align: center;
	}
	#main .tabBox .animeImg img {
		margin-left: 1rem;
		width: 20.1rem;
	}
	#main .tabBox .animeImg .item02 {
		top: 292rem;
		margin-left: 0;
	}
	#main .tabBox h2 {
		margin: 0 -0.9rem 3.3rem;
	}
	#main .tabBox .mainImg {
		margin: 0 2.3rem 5.1rem 0;
		width: auto;
	}
	#main .tabBox .mainImg .photo {
		left: 0;
		top: 18rem;
		width: 31.8rem;
	}
	#main .tabBox .stepBox {
		margin-bottom: 23rem;
	}
	#main .tabBox .stepBox h3 {
		margin-bottom: 2rem;
	}
	#main .tabBox .stepBox h3 img {
		width: 17.3rem;
	}
	#main .tabBox .step {
		margin: 0 auto;
		width: 27.4rem;
		display: block;
	}
	#main .tabBox .step li {
		width: auto !important;
	}
	#main .tabBox .step li:not(:last-child) {
		margin-bottom: 1.5rem;
	}
	#main .tabBox .inner {
		margin-bottom: 5rem;
		width: auto;
		padding: 0 1.5rem 2.9rem;
		border-width: 0.3rem;
	}
	#main .tabBox .movieBox {
		margin-bottom: 18rem;
		padding: 5rem 4.5rem 4.5rem;
	}
	#main .tabBox .movieBox h3 {
		width: 29rem;
		top: -5.3rem;
	}
	#main .tabBox .movieBox h3:before,
	#main .tabBox .movieBox h3:after {
		right: calc(100% - 0.7rem);
		top: 5.2rem;
		width: 3rem;
		height: 0.3rem;
	}
	#main .tabBox .movieBox h3:after {
		right: auto;
		left: calc(100% - 0.7rem);
	}
	#main .tabBox .movieBox .phoList {
		gap: 5.7rem 0;
	}
	#main .tabBox .movieBox .phoList li {
		width: 100%;
	}
	#main .tabBox .movieBox .phoList a:after {
		width: 11.5vw;
		height: auto;
		aspect-ratio: 1/1;
		margin-top: -2vw;
	}
	#main .tabBox .inner .h3Ttl {
		margin: 0 -1.5rem 3rem;
		padding: 1rem 1rem 1.3rem;
	}
	#main .tabBox .inner .h3Ttl img {
		height: 3rem;
		width: auto;
	}
	#main .tabBox .howtoList {
		gap: 2rem 0;
	}
	#main .tabBox .howtoList:after {
		left: 7.1rem;
		top: 7.4rem;
		width: 16.7rem;
		aspect-ratio: 334/513;
		background-image: url(../img/sp/tab01_howto_bg.png);
	}
	#main .tabBox .howtoList li {
		width: 47.5%;
	}
	#main .tabBox .howtoList .ttl {
		margin-bottom: 1rem;
		font-size: 1.5rem;
		line-height: 1.3;
	}
	#main .tabBox .howtoList .ttl .num {
		margin: 0 0.5rem 0 0;
		padding-top: 0.2rem;
		width: 2rem;
		height: 2rem;
		font-size: 1.5rem;
	}
	#main .tabBox .howtoList .listImg {
		margin-bottom: 0.9rem;
	}
	#main .tabBox .howtoList .txt {
		font-size: 1.2rem;
		letter-spacing: -0.02em;
	}
	#main .tabBox .subBox {
		margin: 2.8rem 0 0;
		padding: 2rem 1rem 2.2rem;
		border-width: 0.3rem;
		box-shadow: 0.3rem 0.3rem 0 #00a76d;
	}
	#main .tabBox .subBox h4 {
		margin-bottom: 1.7rem;
		font-size: 1.5rem;
	}
	#main .tabBox .subBox .phoList li {
		width: 47.5%;
	}
	#main .tabBox .subBox .phoList .note {
		left: -0.5rem;
		top: -0.7rem;
		width: 3rem;
	}
	#main .tabBox .subBox .phoList .photo {
		margin-bottom: 0.7rem;
	}
	#main .tabBox .subBox .phoList .txt {
		font-size: 1.2rem;
	}
	#main .tabBox .concept {
		padding-bottom: 3rem;
	}
	#main .tabBox .concept .h3Ttl {
		padding: 1.4rem 1rem;
	}
	#main .tabBox .concept .h3Ttl img {
		height: 5.8rem;
	}
	#main .tabBox .concept .midImg {
		margin: 0 0.2rem 4rem;
		text-align: center;
	}
	#main .tabBox .concept .midTxt {
		margin-bottom: 1.8rem;
	}
	#main .tabBox .concept .midTxt img {
		width: 23.9rem;
	}
	#main .tabBox .concept .arrow img {
		width: 2.8rem;
	}
	#main .tabBox .concept .subBox {
		margin: 3.1rem -0.2rem 0 -0.2rem;
		padding: 3.1rem 2rem 3.8rem 1.5rem;
		background-image: url(../img/sp/tab01_concept_sub_bg.png);
	}
	#main .tabBox .concept .subBox h4 {
		margin-bottom: 1.8rem;
		padding-bottom: 0.2rem;
		font-size: 1.4rem;
	}
	#main .tabBox .concept .subBox h4:after {
		height: 0.3rem;
		border-radius: 0.2rem;
	}
	#main .tabBox .concept .subBox .imgBox {
		padding-top: 8.2rem;
		display: block;
		position: relative;
	}
	#main .tabBox .concept .subBox .phoBox {
		width: auto;
		text-align: center;
	}
	#main .tabBox .concept .subBox .phoBox > img {
		margin-left: 1rem;
		width: 8.4rem;
	}
	#main .tabBox .concept .subBox .phoBox .new {
		left: 2.9rem;
		top: 1rem;
		width: 6rem;
	}
	#main .tabBox .concept .subBox .txtBox {
		margin-top: 1.3rem;
		width: auto;
	}
	#main .tabBox .concept .subBox .txtBox h5 {
		margin-bottom: 4.5rem;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		text-align: center;
	}
	#main .tabBox .concept .subBox .txtBox h5 img {
		height: 6.5rem;
		width: auto;
	}
	#main .tabBox .concept .subBox .txtBox .btnList {
		margin-left: 0.4rem;
	}
	#main .tabBox .concept .subBox .txtBox .btnList li:not(:last-child) {
		margin-bottom: 1.5rem;
	}
	#main .tabBox .faq {
		margin-bottom: 0;
		padding: 0;
		border-bottom: none;
	}
	#main .tabBox .faq h3 {
		position: relative;
		cursor: pointer;
	}
	#main .tabBox .faq h3:before, #main .tabBox .faq h3:after {
		position: absolute;
		right: 2.7rem;
		top: 2.5rem;
		width: 2rem;
		height: 0.3rem;
		transition: .3s;
		background-color: #fff;
		content: "";
	}
	#main .tabBox .faq h3:after {
		transform: rotate(90deg);
	}
	#main .tabBox .faq h3.on:after {
		transform: rotate(0);
	}
	#main .tabBox .faq .h3Ttl {
		margin: 0;
		padding-bottom: 1.2rem;
	}
	#main .tabBox .faq .h3Ttl img {
		height: 3.3rem;
	}
	#main .tabBox .qaList {
		display: none;
		margin: 0;
		padding: 2.5rem 1.5rem;
		border-bottom: 0.3rem solid #00a76d;
	}
	#main .tabBox .qaList li:not(:last-child) {
		padding-bottom: 2.7rem;
		margin-bottom: 2.6rem;
		border-bottom-width: 1px;
	}
	#main .tabBox .qaList p {
		padding: 0.1rem 0 0 1.9rem;
		letter-spacing: -0.025em;
	}
	#main .tabBox .qaList p:before {
		top: 0.4rem;
		font-size: 1.5rem;
	}
	#main .tabBox .qaList .ttl {
		margin-bottom: 1.2rem;
		font-size: 1.4rem;
		line-height: 1.75;
	}
	#main .tabBox .qaList .ttl:before {
		font-size: 1.8rem;
	}
	#main .tabBox .qaList .txt {
		display: block !important;
		margin-bottom: 0;
		font-size: 1.2rem;
		line-height: 1.75;
	}
	#main .tabBox .qaList .txt:before {
		top: 0.4rem;
	}
	#main .tabBox .qaList .btn {
		display: none;
	}
	#main .tabBox:not(.tabBox03) .animeImg li.show {
		transform: none;
	}
	#main .tabBox01 .concept .voiceList {
		margin-bottom: 1.5rem;
		height: 32.5rem;
	}
	#main .tabBox01 .concept .voiceList li {
		width: 16.1rem;
	}
	#main .tabBox01 .concept .voiceList li:first-child {
		left: 1.5rem;
	}
	#main .tabBox01 .concept .voiceList li:nth-child(2) {
		right: -0.3rem;
		top: 6.5rem;
		width: 14.3rem;
	}
	#main .tabBox01 .concept .voiceList li:nth-child(3) {
		left: 0.2rem;
		top: 9.2rem;
		margin-left: 0;
		width: 14.5rem;
	}
	#main .tabBox01 .concept .voiceList li:nth-child(4) {
		left: auto;
		right: 1rem;
		top: 13.1rem;
		width: 13.3rem;
	}
	#main .tabBox01 .concept .voiceList li:nth-child(5) {
		right: auto;
		left: 3.8rem;
		bottom: 6.7rem;
	}
	#main .tabBox01 .concept .voiceList li:nth-child(6) {
		left: 7rem;
		bottom: 0;
	}
	#main .tabBox01 .concept .midTxt .sub {
		margin-left: -1px;
		width: 23.9rem;
	}
	#main .tabBox01 .concept .midTxt .sub img {
		width: 100%;
	}
	#main .tabBox02 {
		margin-top: 0;
		padding-top: 3rem;
		background-color: #f6eafd;
		background-image: url(../img/sp/tab02_bg.png);
		border-color: #a833e7;
	}
	#main .tabBox02 .animeImg img {
		margin-left: 0;
		width: 12.7rem;
	}
	#main .tabBox02 .animeImg li {
		top: 160rem;
	}
	#main .tabBox02 .animeImg .item02 {
		top: 242rem;
	}
	#main .tabBox02 h2 {
		margin-bottom: 2.7rem;
	}
	#main .tabBox02 .mainImg {
		margin: 0 1.4rem 5.2rem -0.2rem;
	}
	#main .tabBox02 .mainImg .photo {
		left: 3rem;
		top: 16.7rem;
		width: 28rem;
	}
	#main .tabBox02 .step li:not(:last-child) {
		margin-bottom: 0.9rem;
	}
	#main .tabBox02 .howto .midImg {
		margin-bottom: 3rem;
	}
	#main .tabBox02 .howtoList {
		gap: 2.7rem 0;
	}
	#main .tabBox02 .howtoList:after {
		left: 6rem;
		width: 17.7rem;
		aspect-ratio: 354/974;
		background-image: url(../img/sp/tab02_howto_bg.png);
	}
	#main .tabBox02 .subBox {
		box-shadow: 0.3rem 0.3rem 0 #a833e7;
	}
	#main .tabBox02 .concept .h3Ttl {
		padding: 1rem;
	}
	#main .tabBox02 .concept .h3Ttl img {
		height: 3.2rem;
	}
	.b-fact.hcm01__fact .box01 {
		margin-bottom: 8vw;
	}
	.b-fact.hcm01__fact .box01 > p:nth-child(1) img {
		width: 72.9333vw;
	}
	.b-fact.hcm01__fact .box01 > p:nth-child(3) img {
		width: 72.8vw;
	}
	.b-fact.hcm01__fact .box01-graph {
		width: 45.2vw;
		height: 45.2vw;
		margin: 4vw auto 5.3333vw;
	}
	.b-fact.hcm01__fact .box01-graph__anim li span {
		height: 102%;
		margin-top: -1%;
	}
	.b-fact.hcm01__fact .box01-graph__anim li:nth-child(2) {
		margin-left: -0.13333vw;
	}
	.b-fact.hcm01__fact .box01-graph__anim:after {
		border: 0.6666vw solid #f2579a;
	}
	.b-fact.hcm01__fact .box01-graph > p {
		pointer-events: none;
		top: 2.6666vw;
		left: -12.1333vw;
		width: 61.4666vw;
	}
	.b-fact.hcm01__fact .box02 {
		margin-bottom: 8vw;
	}
	.b-fact.hcm01__fact .box02 > p:nth-child(1) img {
		width: 72.8vw;
	}
	.b-fact.hcm01__fact .box02 > p:nth-child(3) img {
		width: 72.2666vw;
		transform: translateX(0);
	}
	.b-fact.hcm01__fact .box02-graph {
		margin: 0.8vw auto 5.3333vw;
		width: 72.9333vw;
		height: 25.4666vw;
	}
	.b-fact.hcm01__fact .box02-graph:before {
		width: 48.5333vw;
		height: 10.1333vw;
		left: 13.7333vw;
		top: 1.2vw;
	}
	.b-fact.hcm01__fact .box02-graph:after {
		left: 13.7333vw;
		bottom: 0;
		width: 14.8vw;
		height: 10.1333vw;
	}
	.b-fact.hcm01__fact .box02-graph p:nth-child(1) img {
		width: 100%;
	}
	.b-fact.hcm01__fact .box02-graph p:nth-child(2) {
		top: 0;
		right: 0;
	}
	.b-fact.hcm01__fact .box02-graph p:nth-child(2) img {
		width: 55.2vw;
	}
	.b-fact.hcm01__fact .lead {
		margin-bottom: 5.3333vw;
	}
	.b-fact.hcm01__fact .lead img {
		width: 63.6vw;
	}
	#main .tabBox02 .concept .subBox {
		margin-top: 1.5rem;
		padding-bottom: 3.5rem;
		background-image: url(../img/sp/tab02_concept_sub_bg.png);
	}
	#main .tabBox02 .concept .subBox h4 {
		margin-bottom: 1.8rem;
	}
	#main .tabBox02 .concept .subBox .imgBox {
		padding-top: 8.5rem;
	}
	#main .tabBox02 .concept .subBox .phoBox {
		margin-top: 0;
		width: auto;
	}
	#main .tabBox02 .concept .subBox .phoBox > img {
		width: 15rem;
		margin: 0 0 0 2.2rem;
		border-radius: 1.5rem;
		box-shadow: 0.6rem 0.6rem 0.3rem rgba(0, 0, 0, 0.35);
	}
	#main .tabBox02 .concept .subBox .phoBox .new {
		top: 0;
		left: 0.8rem;
	}
	#main .tabBox02 .concept .subBox .txtBox {
		margin-top: 2.3rem;
	}
	#main .tabBox02 .concept .subBox .txtBox h5 {
		margin-bottom: 5.6rem;
	}
	#main .tabBox02 .qaList .txt {
		margin-bottom: 0;
	}
	#main .tabBox02 .qaList {
		border-bottom-color: #a833e7;
	}
	#main .tabBox02:after {
		background-image: url(../img/sp/line02.png);
	}
	#main .tabBox03 {
		margin-top: 0;
		padding-top: 3rem;
		background-color: #fdffeb;
		background-image: url(../img/sp/tab03_bg.png);
		border-color: #f8b500;
	}
	#main .tabBox03 .animeImg li {
		top: 168rem;
	}
	#main .tabBox03 .animeImg img {
		margin-left: 0;
		width: 8.3rem;
	}
	#main .tabBox03 .animeImg .item02 {
		top: 297rem;
	}
	#main .tabBox03 h2 {
		margin-bottom: 2.7rem;
	}
	#main .tabBox03 .mainImg {
		margin: 0 0.1rem 5.4rem -0.1rem;
	}
	#main .tabBox03 .mainImg .photo {
		left: 7rem;
		top: 23rem;
		width: 20.1rem;
	}
	#main .tabBox03 .stepBox {
		margin-bottom: 21.7rem;
	}
	#main .tabBox03 .stepBox h3 img {
		width: 24rem;
	}
	#main .tabBox03 .step {
		width: 26.7rem;
	}
	#main .tabBox03 .step li:not(:last-child) {
		margin-bottom: 0.9rem;
	}
	#main .tabBox03 .howto .midImg {
		margin: 0 1rem 2.8rem 0;
	}
	#main .tabBox03 .howtoList {
		gap: 2.5rem 0;
	}
	#main .tabBox03 .howtoList:after {
		top: 7rem;
		width: 16.7rem;
		aspect-ratio: 334/521;
		background-image: url(../img/sp/tab03_howto_bg.png);
	}
	#main .tabBox03 .subBox {
		box-shadow: 0.3rem 0.3rem 0 #f8b500;
	}
	#main .tabBox03 .concept .h3Ttl {
		padding: 1rem;
	}
	#main .tabBox03 .concept .h3Ttl img {
		height: 3.2rem;
	}
	.b-fact.hcm02__fact .box01 {
		margin-bottom: 10.5333vw;
	}
	.b-fact.hcm02__fact .box01 > p:nth-child(1) img {
		width: 72.9333vw;
	}
	.b-fact.hcm02__fact .box01 > p:nth-child(3) img {
		width: 72.9333vw;
	}
	.b-fact.hcm02__fact .box01-graph {
		width: 72.6666vw;
		margin: 4vw auto 4.9333vw;
	}
	.b-fact.hcm02__fact .box01-graph p:nth-child(1) img {
		width: 100%;
	}
	.b-fact.hcm02__fact .box01-graph p:nth-child(2) {
		top: 1.8666vw;
	}
	.b-fact.hcm02__fact .box01-graph p:nth-child(2) img {
		width: 36.13333vw;
	}
	.b-fact.hcm02__fact .box01-graph span {
		height: 6.6666vw;
		left: 33.8666vw;
	}
	.b-fact.hcm02__fact .box01-graph span.obi01 {
		top: 0;
		width: 37.8666vw;
	}
	.b-fact.hcm02__fact .box01-graph span.obi02 {
		top: 9.3333vw;
		width: 31.3333vw;
	}
	.b-fact.hcm02__fact .box01-graph span.obi03 {
		top: 18.6666vw;
		width: 23.4666vw;
	}
	.b-fact.hcm02__fact .box01-graph span.obi04 {
		top: 28vw;
		width: 20.6666vw;
	}
	.b-fact.hcm02__fact .box01-graph span.obi05 {
		top: 37.3333vw;
		width: 17.6vw;
	}
	.b-fact.hcm02__fact .box01-graph span.obi06 {
		top: 46.6666vw;
		width: 9.2vw;
	}
	.b-fact.hcm02__fact .box02 {
		margin-bottom: 5.3333vw;
	}
	.b-fact.hcm02__fact .box02 > p:nth-child(1) img {
		width: 72.8vw;
	}
	.b-fact.hcm02__fact .box02 > p:nth-child(3) img {
		width: 73vw;
		transform: translateX(0);
	}
	.b-fact.hcm02__fact .box02-graph {
		margin: -0.2666vw auto 5.0666vw;
		width: 72.9333vw;
		height: 26.8vw;
		left: 0;
	}
	.b-fact.hcm02__fact .box02-graph:before {
		width: 48.5333vw;
		height: 10.13333vw;
		left: 13.7333vw;
		top: 2.26666vw;
	}
	.b-fact.hcm02__fact .box02-graph:after {
		left: 13.7333vw;
		bottom: 0.2666vw;
		width: 14.8vw;
		height: 10.13333vw;
	}
	.b-fact.hcm02__fact .box02-graph p:nth-child(1) img {
		width: 100%;
	}
	.b-fact.hcm02__fact .box02-graph p:nth-child(2) {
		width: 55.2vw;
	}
	.b-fact.hcm02__fact .lead {
		margin-bottom: 3vw;
	}
	.b-fact.hcm02__fact .lead img {
		width: 63.6vw;
	}
	#main .tabBox03 .concept .subBox {
		margin-top: 2rem;
		padding-bottom: 3.6rem;
		background-image: url(../img/sp/tab03_concept_sub_bg.png);
	}
	#main .tabBox03 .concept .subBox h4 {
		margin-bottom: 2rem;
	}
	#main .tabBox03 .concept .subBox .phoBox {
		width: auto;
	}
	#main .tabBox03 .concept .subBox .phoBox > img {
		width: 15rem;
		margin: 0 0 0 2.4rem;
		border-radius: 1.5rem;
		box-shadow: 0.4rem 0.4rem 0.2rem rgba(0, 0, 0, 0.35);
	}
	#main .tabBox03 .concept .subBox .phoBox .new {
		top: -0.3rem;
		left: 1rem;
	}
	#main .tabBox03 .concept .subBox .txtBox {
		margin-top: 2.3rem;
	}
	#main .tabBox03 .concept .subBox .txtBox h5 img {
		margin-left: 1rem;
	}
	#main .tabBox03 .qaList .txt {
		margin-bottom: 0;
	}
	#main .tabBox03 .qaList {
		border-bottom-color: #f8b500;
	}
	#main .tabBox03:after {
		background-image: url(../img/sp/line03.png);
	}
	#main .resolution {
		margin-top: 0;
		z-index: 5;
		padding: 11.5rem 0 3rem;
		background: url(../img/sp/resolution_bg.png) no-repeat center top/37.5rem;
	}
	#main .resolution h2 {
		margin-bottom: 6.3rem;
	}
	#main .resolution h2 img {
		width: 19.1rem;
	}
	#main .resolution .imgList {
		margin-bottom: 5rem;
		max-width: inherit;
		gap: 1.3rem;
	}
	#main .resolution .imgList li {
		width: 16.1rem;
	}
	#main .resolution .photoBox {
		margin-bottom: 4.4rem;
	}
	#main .resolution .photoBox h3 img {
		width: 33.2rem;
	}
	#main .resolution .photoBox .phoList {
		margin: 0 0.2rem 2.3rem 0;
		gap: 0 1.3rem;
	}
	#main .resolution .photoBox .phoList li {
		width: 11.1rem;
	}
	#main .resolution .photoBox .phoList li:nth-child(2) {
		width: 11rem;
	}
	#main .resolution .photoBox .phoList li:last-child {
		margin-left: 0.7rem;
		width: 7.8rem;
	}
	#main .resolution .photoBox p {
		font-size: 1.2rem;
		letter-spacing: -0.025em;
	}
	#main .resolution .btnBox h3 {
		margin: 0 0 3rem 0;
	}
	#main .resolution .btnBox h3 img {
		width: 25.3rem;
	}
	#main .resolution .btnBox .btnList {
		max-width: inherit;
		gap: 1.1rem 0.4rem;
	}
	#main .resolution .btnBox .btnList li {
		width: 10.9rem;
	}
	#main .share {
		padding: 3.5rem 0 3.8rem;
		background-image: url(../img/sp/share_bg.jpg);
	}
	#main .share .pageTop {
		right: -0.8rem;
		bottom: -2.2rem;
		width: 8.9rem;
	}
	#main .share .pageTop .txt {
		margin: 0 0 -2.5rem 3.5rem;
		width: 4.7rem;
	}
	#main .share .bgBox {
		margin: 0 0.4rem 0 0;
		padding: 4.5rem 1rem;
		width: auto;
		transform: translateX(0);
		border-width: 0.3rem;
		box-shadow: 0.4rem 0.4rem 0 #231815;
	}
	#main .share .bgBox h2 {
		margin: 0 0.2rem 3rem 0.7rem;
	}
	#main .share .bgBox h3 img {
		width: 12.9rem;
	}
	#main .share .bgBox .sns {
		gap: 0 3.3rem;
	}
	#main .share .bgBox .sns li {
		width: 4rem;
	}
}
@media screen and (max-width: 359px) {
	#main .resolution .btnBox .btnList {
		margin-right: -0.1rem;
	}
}
.hcm02__bgAnimImg li {
	transition: transform 0.4s cubic-bezier(0.56, 0.02, 0.44, 1) 0.2s, opacity 0.3s 0.2s;
	transform: translateY(-100px);
	opacity: 0;
}
.hcm02__bgAnimImg li p {
	display: none;
	will-change: transform;
}
.hcm02__bgAnimImg li p span {
	display: none;
	animation-delay: 0.4s;
	transform-origin: 50% 100%;
}
.hcm02__bgAnimImg li.show {
	opacity: 1;
	transform: translateY(0);
}
.hcm02__bgAnimImg li.show p,
.hcm02__bgAnimImg li.show p span {
	display: block;
}
.hcm02__bgAnimImg li img {
	backface-visibility: hidden;
}
.loading {
	pointer-events: none;
	position: relative;
}
.loading:before {
	content: "";
	background-color: rgba(0, 0, 0, 0.3);
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	transition: 0.3s;
	border-radius: 0 0 11px 11px;
}
.loading.ready {
	pointer-events: all;
}
.loading.ready:before {
	background-color: rgba(0, 0, 0, 0);
}
.loading.ready .loader,
.loading.ready .loader:after {
	display: none;
}
.loading .loader,
.loading .loader:after {
	border-radius: 50%;
	width: 10em;
	height: 10em;
}
.loading .loader {
	font-size: 10px;
	position: absolute;
	top: calc(50% - 5em);
	left: calc(50% - 5em);
	text-indent: -9999em;
	border-top: 5px solid rgba(255, 255, 255, 0.2);
	border-right: 5px solid rgba(255, 255, 255, 0.2);
	border-bottom: 5px solid rgba(255, 255, 255, 0.2);
	border-left: 5px solid #ffffff;
	transform: translateZ(0);
	animation: load8 0.7s infinite linear;
}
@keyframes load8 {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@media screen and (max-width: 1023px) {
	.loading .loader,
	.loading .loader:after {
		width: 21.3333vw;
		height: 21.3333vw;
	}
	.loading .loader {
		font-size: 10px;
		top: calc(50% - 10.6666vw);
		left: calc(50% - 10.6666vw);
		text-indent: -9999em;
		border-top: 1.0666vw solid rgba(255, 255, 255, 0.2);
		border-right: 1.0666vw solid rgba(255, 255, 255, 0.2);
		border-bottom: 1.0666vw solid rgba(255, 255, 255, 0.2);
		border-left: 1.0666vw solid #ffffff;
	}
}
.anim_shake {
	-webkit-animation-name: shake;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shake;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shake img {
	backface-visibility: hidden;
}
.anim_shakeLow {
	-webkit-animation-name: shakeLow;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shakeLow;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shakeLow img {
	backface-visibility: hidden;
}
.anim_shake02 {
	-webkit-animation-name: shake02;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shake02;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shake02 img {
	backface-visibility: hidden;
}
.anim_shake03 {
	-webkit-animation-name: shake03;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shake03;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shake03 img {
	backface-visibility: hidden;
}
.anim_shakeReverse {
	-webkit-animation-name: shakeReverse;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shakeReverse;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shakeReverse img {
	backface-visibility: hidden;
}
.anim_shakeLowReverse {
	-webkit-animation-name: shakeLowReverse;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shakeLowReverse;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shakeLowReverse img {
	backface-visibility: hidden;
}
.anim_shakeReverseLow {
	-webkit-animation-name: shakeReverseLow;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shakeReverseLow;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shakeReverseLow img {
	backface-visibility: hidden;
}
.anim_shakeReverse03 {
	-webkit-animation-name: shakeReverse03;
	-webkit-animation-duration: 3s;
	-webkit-animation-timing-function: steps(3);
	-webkit-animation-direction: normal;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-name: shakeReverse03;
	animation-duration: 3s;
	animation-timing-function: steps(3);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.anim_shakeReverse03 img {
	backface-visibility: hidden;
}
@keyframes opacity {
	1% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes shake {
	1% {
		transform: rotate(10deg);
	}
	51% {
		transform: rotate(-10deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shakeLow {
	1% {
		transform: rotate(6deg);
	}
	51% {
		transform: rotate(-6deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shake02 {
	1% {
		transform: rotate(10deg) translateY(-3px);
	}
	51% {
		transform: rotate(-10deg) translateY(0px);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shake03 {
	1% {
		transform: rotate(2deg);
	}
	51% {
		transform: rotate(-2deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shakeReverse {
	1% {
		transform: rotate(-10deg);
	}
	51% {
		transform: rotate(10deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shakeLowReverse {
	1% {
		transform: rotate(-6deg);
	}
	51% {
		transform: rotate(6deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shakeReverseLow {
	1% {
		transform: rotate(-6deg);
	}
	51% {
		transform: rotate(6deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes shakeReverse03 {
	1% {
		transform: rotate(-2deg);
	}
	51% {
		transform: rotate(2deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
.anime_floating02 {
	animation: floating02 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate;
}
.anime_floating03 {
	animation: floating03 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite alternate;
}
@keyframes floating {
	0% {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(0, 2%, 0);
	}
}
@keyframes floating02 {
	0% {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(0, 8%, 0);
	}
}
@keyframes floating03 {
	0% {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(0, 40%, 0);
	}
}
/*
	Colorbox Core Style:
	The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	-webkit-transform: none;
}
#cboxWrapper {
	max-width: none;
}
#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}
#cboxMiddleLeft, #cboxBottomLeft {
	clear: left;
}
#cboxContent {
	position: relative;
}
#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle {
	margin: 0;
}
#cboxLoadingOverlay, #cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
	cursor: pointer;
}
.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}
.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox, #cboxContent, #cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
/*
	User Style:
	Change the following styles to modify the appearance of Colorbox.  They are
	ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#colorbox {
	outline: 0;
	overflow: visible !important;
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#cboxTitle {
	position: absolute;
	bottom: 4px;
	left: 0;
	text-align: center;
	width: 100%;
	color: #949494;
}
#cboxCurrent {
	position: absolute;
	bottom: 4px;
	left: 58px;
	color: #949494;
}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	width: auto;
	background: none;
}
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
	outline: 0;
}
#cboxSlideshow {
	position: absolute;
	bottom: 4px;
	right: 30px;
	color: #0092ef;
}
#cboxPrevious {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
}
#cboxNext {
	position: absolute;
	bottom: 0;
	left: 27px;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
}
#cboxClose {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 25px;
	height: 25px;
	text-indent: -9999px;
}
#cboxOverlay {
	background: rgba(255, 255, 255, 0.9);
	animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#cboxClose {
	position: absolute;
	width: 48px;
	height: 48px;
	top: -58px;
	right: 0;
	bottom: auto;
	left: auto;
	background: url("../img/modal_btn_close.png");
	background-size: 100%;
	overflow: hidden;
	outline: none;
	transition: opacity 0.3s;
}
@media screen and (min-width: 1024px) {
	#cboxClose:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 1023px) {
	#cboxClose {
		width: 6.6666vw;
		height: 6.6666vw;
		top: -8vw;
		right: 0;
	}
}
@media screen and (max-width: 1023px) and (min-width: 1024px) {
	#cboxClose:hover {
		opacity: 1;
	}
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
	#cboxClose {
		width: 25px;
		height: 25px;
		top: -30px;
	}
}
#cboxCurrent {
	display: none !important;
}
#cboxPrevious, #cboxNext {
	width: 1px;
	height: 1px;
	left: 0;
	bottom: 0;
}
#cp01Wrap {
	text-align: center;
	padding-bottom: 119px;
}
#cp01Wrap .cp01__ttl01 {
	margin-bottom: 34px;
}
#cp01Wrap .cp01__ttl01 img {
	transform: translateX(0);
}
#cp01Wrap .cp01__txt01 {
	margin-bottom: 39px;
}
#cp01Wrap .cp01__txt02 {
	margin-bottom: 61px;
}
#cp01Wrap .cp01__txt02 img {
	transform: translateX(-4px);
}
#cp01Wrap .cp01__img01 {
	margin-bottom: 81px;
}
#cp01Wrap .cp01__img01 img {
	transform: translateX(-13px);
}
#cp01Wrap .cp01__txt03 {
	margin-bottom: 76px;
}
#cp01Wrap .cp01__txt03 h3 {
	margin-bottom: 34px;
}
#cp01Wrap .cp01__txt03 p:nth-child(2) {
	position: relative;
	width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 28px;
}
#cp01Wrap .cp01__txt03 p:nth-child(2) a {
	position: absolute;
	left: 20px;
	top: 194px;
}
@media screen and (min-width: 1024px) {
	#cp01Wrap .cp01__txt03 p:nth-child(2) a {
		transition: transform 0.3s;
	}
	#cp01Wrap .cp01__txt03 p:nth-child(2) a:hover {
		transform: scale(1.03);
	}
}
#cp01Wrap .cp01__txt03 ul {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
}
#cp01Wrap .cp01__txt03 ul li {
	text-align: left;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.65;
	text-indent: -1em;
	padding-left: 1em;
}
#cp01Wrap .cp01__term {
	width: 800px;
	margin: 0 auto;
	border-left: 4px solid #05b973;
	border-right: 4px solid #05b973;
	border-bottom: 4px solid #05b973;
}
#cp01Wrap .cp01__term h3 {
	background-color: #05b973;
	padding: 18px 0;
}
#cp01Wrap .cp01__termInner {
	background-color: #fff;
	letter-spacing: 0.04em;
	font-size: 1.4rem;
	text-align: left;
	line-height: 2;
	font-weight: 500;
	padding: 33px 38px 31px;
	overflow-y: scroll;
	height: 344px;
}
#cp01Wrap .cp01__termInner .colorRed {
	color: red;
}
#cp01Wrap .cp01__termInner > div + div {
	margin-top: 28px;
}
#cp01Wrap .cp01__termInner h4 {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 7px;
}
#cp01Wrap .cp01__termInner > p:nth-child(2) {
	margin-bottom: 28px;
}
#cp01Wrap .cp01__termInner div > ul > li {
	text-indent: -1em;
	padding-left: 1em;
}
#cp01Wrap .cp01__termInner div > ul > li > ul > li {
	text-indent: -1em;
	padding-left: 1em;
}
#cp01Wrap .cp01__termInner a {
	color: #231815;
}
@media screen and (min-width: 1024px) {
	#cp01Wrap .cp01__termInner a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 1023px) {
	#cp01Wrap {
		text-align: center;
		padding-bottom: 18.6666666667vw;
	}
	#cp01Wrap .cp01__ttl01 {
		margin-bottom: 2.4vw;
	}
	#cp01Wrap .cp01__ttl01 img {
		width: 89.3333333333vw;
		transform: translateX(0);
	}
	#cp01Wrap .cp01__txt01 {
		margin-bottom: 6.6666666667vw;
	}
	#cp01Wrap .cp01__txt01 img {
		width: 89.4666666667vw;
	}
	#cp01Wrap .cp01__txt02 {
		margin-bottom: 6.2666666667vw;
	}
	#cp01Wrap .cp01__txt02 img {
		width: 79.7333333333vw;
		transform: translateX(0);
	}
	#cp01Wrap .cp01__img01 {
		margin-bottom: 10.2666666667vw;
	}
	#cp01Wrap .cp01__img01 img {
		width: 88.2666666667vw;
		transform: translateX(-0.8vw);
	}
	#cp01Wrap .cp01__txt03 {
		margin-bottom: 12.2666666667vw;
	}
	#cp01Wrap .cp01__txt03 h3 {
		margin-bottom: 5.7333333333vw;
	}
	#cp01Wrap .cp01__txt03 h3 img {
		width: 25.6vw;
	}
	#cp01Wrap .cp01__txt03 p:nth-child(2) {
		width: 70.2666666667vw;
		margin-bottom: 6.9333333333vw;
	}
	#cp01Wrap .cp01__txt03 p:nth-child(2) > img {
		width: 100%;
	}
	#cp01Wrap .cp01__txt03 p:nth-child(2) a {
		left: 13.3333333333vw;
		top: 41.7333333333vw;
	}
	#cp01Wrap .cp01__txt03 p:nth-child(2) a img {
		width: 42.6666666667vw;
	}
	#cp01Wrap .cp01__txt03 ul {
		width: 89.3333333333vw;
	}
	#cp01Wrap .cp01__txt03 ul li {
		font-size: 3.2vw;
		letter-spacing: 0.02em;
		line-height: 1.5;
		text-shadow: 1px 1px 0 #B1DEF5, -1px -1px 0 #B1DEF5, -1px 1px 0 #B1DEF5, 1px -1px 0 #B1DEF5, 0px 1px 0 #B1DEF5, -1px 0 #B1DEF5, -1px 0 0 #B1DEF5, 1px 0 0 #B1DEF5;
	}
	#cp01Wrap .cp01__term {
		width: 89.3333333333vw;
		border-left: 0.8vw solid #05b973;
		border-right: 0.8vw solid #05b973;
		border-bottom: 0.8vw solid #05b973;
	}
	#cp01Wrap .cp01__term h3 {
		padding: 3.2vw 0 4vw;
	}
	#cp01Wrap .cp01__term h3 img {
		width: 25.0666666667vw;
	}
	#cp01Wrap .cp01__termInner {
		letter-spacing: 0;
		font-size: 3.2vw;
		line-height: 1.5833333333;
		padding: 6.6333333333vw 7.2vw 6.4vw;
		height: 114.9333333333vw;
	}
	#cp01Wrap .cp01__termInner > div + div {
		margin-top: 6.4vw;
	}
	#cp01Wrap .cp01__termInner h4 {
		font-size: 3.2vw;
		margin-bottom: 0.6666666667vw;
	}
	#cp01Wrap .cp01__termInner > p:nth-child(2) {
		margin-bottom: 3.7333333333vw;
	}
}