body {
	/* max-width: 1440px; */
	max-width: 1920px;
	margin: 0 auto;
	width: 100%;
	height: 100vh;
	z-index: 0;
	font-family: "Hiragino Sans", sans-serif;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

a {
	color: #022735;
}

main {
	/* max-width: 1440px; */
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	/* box-shadow: 0 4px 24px 0 #00000033; */
	background-color: #fafafa;
	overflow: hidden;
}
header {
	/* max-width: 1380px; */
	max-width: 1860px;
	width: 95.833%;
	margin: 27px auto 0;
	height: 70px;
	padding: 0 3.985% 0 3.768%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	background-color: #fff;
	border-radius: 8px;
}

.logo {
	width: 221px;
	height: auto;
	aspect-ratio: 221/38;
}

.header_nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 23px;
	font-size: 16px;
}
.header_cta {
	display: block;
	width: 123px;
	height: auto;
	aspect-ratio: 492/156;
	transition: all 0.3s ease;
}

.header_cta:hover {
	opacity: 0.7;
}

.header_cta img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	header {
		width: 94.91%;
		margin: 12px auto 0;
		height: 56px;
		padding: 0 4.557%;
	}

	.logo {
		width: 144px;
	}

	.header_nav {
		gap: 10px;
		font-size: 13px;
	}
	.header_cta {
		display: block;
		width: 108px;
		height: auto;
	}
}

@media screen and (max-width: 500px) {
	.header_cta {
		display: block;
		width: 90px;
		height: auto;
	}
}

/* FV */
.fv {
	background-image: url(../img/fv.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	z-index: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 5000/2753;
	overflow: hidden;
}

.fv_apps {
	width: 312.44px;
	height: auto;
	/* display: flex; */
	display: none;
	justify-content: space-between;
	position: absolute;
	bottom: 26.836%;
	left: 51.805%;
	gap: 10px;
}

@media screen and (max-width: 1200px) {
	.fv_apps {
		bottom: 25.836%;
	}
}

@media screen and (max-width: 980px) {
	.fv_apps {
		bottom: 24.836%;
	}
}

@media screen and (max-width: 880px) {
	.fv_apps {
		bottom: 23.336%;
	}
}

.fv_txt {
	color: #fff;
	font-size: 12.63px;
	font-weight: 600;
	line-height: 150%;
	position: absolute;
	bottom: 18.032%;
	left: 50%;
	transform: translateX(-50%);
}

.fv_cta {
	position: absolute;
	/* bottom: 8%; */
	bottom: min(4.5vw, 75px);
	left: 50%;
	transform: translateX(-50%);
	width: 367px;
	height: auto;
	z-index: 15;
	opacity: 1;
}

@media screen and (max-width: 1200px) {
	.fv_cta {
		bottom: 6%;
	}
}

@media screen and (max-width: 980px) {
	.fv_cta {
		bottom: 3%;
	}
}

.fv_cta:hover {
	opacity: 0.5;
}

.fv_cta span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	border-radius: 50px;
	z-index: 30;
}

.fv_cta span::before {
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@media screen and (max-width: 768px) {
	.fv {
		background-image: url(../img/fv_sp.webp);

		aspect-ratio: 1572/2932;
	}

	.fv_apps {
		display: flex;
		width: 79.501%;

		bottom: 5.976%;
		left: 50%;
		transform: translateX(-50%);

		gap: 10px;
	}
	/* 
@media screen and (max-width: 1200px) {
	.fv_apps {
		bottom: 25.836%;
	}
}

@media screen and (max-width: 980px) {
	.fv_apps {
		bottom: 24.836%;
	}
}

@media screen and (max-width: 880px) {
	.fv_apps {
		bottom: 23.336%;
	}
} */

	.fv_txt {
		/* font-size: max(12.63px, 3.213%); */
		font-size: 12.63px;
		position: initial;
		/* bottom: 18.032%; */
		/* left: 50%; */
		transform: translateX(0%);
		text-align: center;
		margin: 135% auto 0;
	}

	.fv_cta {
		position: absolute;
		/* bottom: 8%; */
		bottom: 15%;
		left: 50%;
		transform: translateX(-50%);
		width: 84.732%;
		height: auto;
		z-index: 15;
		opacity: 1;
		aspect-ratio: 333/60;
	}
}

/* sec01 */
.sec01 {
	/* background-image: url(../img/sec01.webp);
	background-size: cover;
	background-position: center center; */
	background-color: #fafafa00;
	position: relative;
	z-index: 1;
	width: 100%;
	/* height: 681px; */
	height: 850px;
}

.sec01_ttl {
	position: absolute;
	top: 71px;
	left: 50%;
	transform: translateX(-50%);
	width: 717.78px;
}
.sec01_ttl01 {
	font-size: 45.24px;
	font-weight: bold;
	line-height: 140%;
	color: #868686;
	margin-bottom: 16.45px;
}
.sec01_ttl02 {
	font-weight: bold;
	font-size: 45.24px;
	line-height: 140%;
	color: #868686;
	float: right;
}
.sec01_ttl02_accent {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	/* width: 230px; */
	padding: 0 14px;
	font-size: 45.24px;
	line-height: 140%;
	color: #ffffff;
	background-color: #022735;
}

.sec01_item01 {
	position: absolute;
	bottom: 69.55px;
	left: 0;
	width: 100%;
	height: auto;
	/* overflow: auto; */
	overflow: hidden;
	z-index: 2;
}

.sec01_item01 img {
	/* width: 1440px; */
	/* width: 1920px; */
	width: 1900px;
	height: auto;
}

.slider-list-pc {
	display: flex; /* 画像を横並びにする */
	list-style: none;
	padding: 0;
	margin: 0;
	animation: slide-pc 20s linear infinite; /* アニメーションを20秒で無限に繰り返す */
}

.slider-list-pc li {
	flex: 0 0 auto; /* 画像の幅を維持する */
}

.slider-list-pc img {
	width: 1900px; /* 画像の幅を指定 */
	height: auto;
	/* aspect-ratio: 144/280; */
	margin: 0; /* 画像の間に余白を設ける */
}

/* アニメーションの定義 */
@keyframes slide-pc {
	from {
		transform: translateX(0);
	}
	to {
		/* transform: translateX(-273.5%);  */
		transform: translateX(-1900px); /* 1セット分の画像を左に移動させる */
	}
}

.slider {
	display: none;
}

@media screen and (max-width: 768px) {
	.sec01 {
		background-color: #fafafa00;
		position: relative;
		z-index: 1;
		width: 100%;
		height: fit-content;
		/* aspect-ratio: 393/493; */
	}

	.sec01_ttl {
		position: initial;
		/* top: 44px;
		left: 50%; */
		transform: translateX(0%);
		/* width: 315px; */
		width: 100%;
		margin: 44px auto 0;
		text-align: center;
	}
	.sec01_ttl01 {
		font-size: 28.55px;
		margin-bottom: 8.04px;
		text-align: center;
	}
	.sec01_ttl02 {
		font-size: 28.55px;
		float: initial;
		text-align: center;
	}
	.sec01_ttl02_accent {
		padding: 0 14px;
		font-size: 28.55px;
		line-height: 140%;
		color: #ffffff;
		background-color: #022735;
	}

	.sec01_item01 {
		display: none;
		position: absolute;
		bottom: 8px;
		left: 0;
		width: 100%;
		height: 68.559%;
		overflow: auto;
		z-index: 2;
	}

	/* .sec01_item01 img {
		width: auto;
		height: 100%;
		aspect-ratio: 1440/338;
	} */

	.slider {
		display: block;
		margin: 10% 0 5%;
		width: 100%;
		overflow: hidden; /* はみ出した部分を非表示にする */
	}

	.slider-list {
		display: flex; /* 画像を横並びにする */
		list-style: none;
		padding: 0;
		margin: 0;
		animation: slide 20s linear infinite; /* アニメーションを20秒で無限に繰り返す */
	}

	.slider-list li {
		flex: 0 0 auto; /* 画像の幅を維持する */
	}

	.slider-list img {
		width: 164px; /* 画像の幅を指定 */
		height: auto;
		aspect-ratio: 144/280;
		margin: 0 10px; /* 画像の間に余白を設ける */
	}

	/* アニメーションの定義 */
	@keyframes slide {
		from {
			transform: translateX(0);
		}
		to {
			/* transform: translateX(-273.5%);  */
			transform: translateX(-1472.5px); /* 1セット分の画像を左に移動させる */
		}
	}

	/* マウスホバー時にアニメーションを一時停止（任意） */
	/* .slider:hover .slider-list {
		animation-play-state: paused;
	} */
}

/* sec02 */
.sec02 {
	background-image: url(../img/sec02_bg.webp);
	background-size: cover;
	background-position: center center;
	/* position: relative; */
	z-index: 0;
	width: 100%;
	height: auto;
	overflow: hidden;
	margin-top: -200px;
}

.sec02_content {
	display: flex;
	justify-content: center;

	/* position: relative; */
	z-index: 0;
	/* max-width: 1105px; */
	max-width: 1505px;
	padding: 0 40px;
	min-height: 500px;
	width: 100%;
	height: auto;
	aspect-ratio: 5000/2899;
	overflow: hidden;
	/* gap: 3.848%; */
	gap: 5.848%;
	margin: 346px auto 0;
}

.sec02_item01 {
	/* width: 525px; */
	max-width: 700px;
	width: 50%;
	/* height: 398px; */
	max-height: 530.666px;
	height: 62.1%;
	aspect-ratio: 2100/1592;
}

.sec02_right_content {
	padding-top: 35px;
}

.sec02_right_content_txt01 {
	/* font-size: 18px; */
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 260%;
	margin-bottom: 17px;
}
.sec02_right_content_txt01 .accent01 {
	color: #cb2020;
}

.sec02_right_content_txt01 .accent02 {
	/* font-size: 32px; */
	font-size: min(2.5vw, 42px);
}

.sec02_right_content_txt02 {
	/* font-size: 15px; */
	font-size: 1vw;
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 24px;
}

.sec02_right_content_txt02 .accent01 {
	text-decoration: underline;
	text-decoration-color: rgba(203, 32, 32, 0.3);
	text-decoration-thickness: 5px;
	text-underline-offset: 0px;
}

.sec02_btn {
	/* top: 0; */
	/* bottom: 22.47%;
	right: 31.041%; */
	display: block;
	width: 60%;
	min-width: 272px;
	transition: all 0.3s ease;
}

.sec02_btn img {
	width: 100%;
}

.sec02_btn:hover {
	opacity: 0.5;
}

.sec02_btn span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	border-radius: 50px;
	z-index: 30;
}

.sec02_btn span::before {
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@media screen and (max-width: 1440px) {
	.sec02_content {
		gap: 3.848%;
	}

	.sec02_right_content_txt01 {
		font-size: 18px;
	}

	.sec02_right_content_txt01 .accent02 {
		font-size: 32px;
	}

	.sec02_right_content_txt02 {
		font-size: 15px;
	}

	.sec02_btn {
		display: block;
		width: 272px;
		min-width: initial;
	}
}

@media screen and (max-width: 1060px) {
	.sec02 {
		background-image: url(../img/sec02_bg_sp.webp);
		background-size: cover;
		background-position: center center;
		/* position: relative; */
		z-index: 0;
		width: 100%;
		height: auto;
		overflow: hidden;
		margin-top: 0;
		/* aspect-ratio: 1572/2592; */
		aspect-ratio: 1572/2980;
	}

	.sec02_content {
		display: block;
		justify-content: initial;

		/* position: relative; */
		z-index: 0;
		max-width: 1105px;
		min-height: 500px;
		width: 100%;
		height: auto;
		aspect-ratio: initial;
		overflow: hidden;
		padding: 0 10px;

		/* margin: 346px auto 0; */
		/* margin: 79.858% auto 0; */
		margin: 94.858% auto 0;

		/* width: 86.513%; */
	}

	.sec02_item01 {
		display: none;
	}

	.sec02_right_content {
		text-align: justify;
		display: block;
		width: 509px;
		margin: 0 auto;
	}

	.sec02_right_content_txt01 {
		font-size: 18px;
		font-weight: 700;
		line-height: 260%;
		margin-bottom: 17px;
	}
	.sec02_right_content_txt01 .accent01 {
		color: #cb2020;
	}

	.sec02_right_content_txt01 .accent02 {
		font-size: 32px;
	}

	.sec02_right_content_txt02 {
		font-size: 15px;
		font-weight: 600;
		line-height: 140%;
		margin-bottom: 24px;
	}

	.sec02_right_content_txt02 .accent01 {
		text-decoration: underline;
		text-decoration-color: rgba(203, 32, 32, 0.3);
		text-decoration-thickness: 5px;
		text-underline-offset: 0px;
	}

	.sec02_btn {
		/* top: 0; */
		/* bottom: 22.47%;
	right: 31.041%; */
		/* display: block; */
		display: none;
		width: 272px;
		margin: 0 auto;
		transition: all 0.3s ease;
	}

	.sec02_btn img {
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
	.sec02_content {
		/* max-width: 1105px;
		min-height: 500px; */
		margin: 92.858% auto 0;
	}

	.sec02_right_content {
		text-align: justify;
		display: block;
		width: 347px;
		margin: 0 auto;
	}

	.sec02_right_content_txt01 {
		font-size: 12.8px;
		font-weight: 700;
		line-height: 260%;
		margin-bottom: 17px;
	}
	.sec02_right_content_txt01 .accent01 {
		color: #cb2020;
	}

	.sec02_right_content_txt01 .accent02 {
		font-size: 21.83px;
	}

	.sec02_right_content_txt02 {
		font-size: 10.23px;
		font-weight: 600;
		line-height: 140%;
		margin-bottom: 24px;
	}

	.sec02_right_content_txt02 .accent01 {
		text-decoration: underline;
		text-decoration-color: rgba(203, 32, 32, 0.3);
		text-decoration-thickness: 5px;
		text-underline-offset: 0px;
	}

	.sec02_btn {
		/* top: 0; */
		/* bottom: 22.47%;
	right: 31.041%; */
		/* display: block; */
		display: none;
		width: 226px;
		padding: 20px 30px;
		margin: 0 auto;
		transition: all 0.3s ease;
	}
}

/* sec03 */
.sec03 {
	/* background-image: url(../img/sec03.webp);
	background-size: cover;
	background-position: center center; */
	position: relative;
	z-index: 1;
	width: 100%;
	height: fit-content;
	/* aspect-ratio: 1572/2936; */
	overflow: hidden;
	/* margin-top: -150px; */
	margin-top: -14vw;
	/* margin-top: calc(-450px + (1920px - 100vw)); */
}

.sec03_item01 {
	width: 100%;
	height: auto;
	transition: all 1s ease;
	/* aspect-ratio: 2969/4999; */
	aspect-ratio: 3367/5000;
}

@media screen and (max-width: 1060px) {
	.sec03 {
		/* margin-top: calc(-450px + (1040px - 100vw)); */
		margin-top: calc(-550px + (1060px - 108vw));
	}
}

@media screen and (max-width: 768px) {
	.sec03_item01 {
		width: 100%;
		height: auto;
		transition: all 1s ease;
		/* aspect-ratio: 842/5000; */
		aspect-ratio: 882/5000;
		margin-bottom: 80px;
	}
}

@media screen and (max-width: 600px) {
	.sec03 {
		/* margin-top: calc(-450px + (900px - 100vw)); */
		margin-top: -200px;
	}
}

@media screen and (max-width: 520px) {
	.sec03 {
		margin-top: -110px;
	}
}

/* sec04 */
.sec04 {
	/* background-image: url(../img/sec04.webp);
	background-size: cover;
	background-position: center center; */
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}

.sec04_content_wrapper {
	/* max-width: 1122px; */
	/* width: 95.833%; */
	width: 78%;
	height: auto;
	margin: 164px auto 114px;
}

.sec04_ttl {
	/* position: absolute; */
	/* top: 0; */
	/* bottom: 0; */
	/* left: 0; */
	width: 395px;
	height: auto;
	transition: all 1s ease;
}

.sec04_content {
	/* max-width: 1122px; */
	/* max-width: 1500px; */
	width: 100%;
	height: auto;
	margin-top: 51.79px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 5.08%;
}

.sec04_items {
	width: 29.946%;
	height: auto;
}

@media screen and (max-width: 1440px) {
	.sec04_content_wrapper {
		max-width: 1122px;
		width: 95.833%;
	}
}

@media screen and (max-width: 768px) {
	.sec04_content_wrapper {
		max-width: 1122px;
		width: 89.821%;
		height: auto;
		/* margin: 164px auto 114px; */
		margin: 0 auto 114px;
	}

	.sec04_ttl {
		width: 67.938%;
		height: auto;
	}

	.sec04_content {
		max-width: 1122px;
		width: 100%;
		height: auto;
		/* margin-top: 51.79px; */
		margin-top: 0;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		gap: 5.08%;
	}

	.sec04_items {
		width: 100%;
		height: auto;
	}
}

/* sec05 */
.sec05 {
	background-image: url(../img/sec05.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	aspect-ratio: 5000/1666;
}

.sec05_cta {
	position: absolute;
	bottom: 22.058%;
	left: 11.388%;
	width: 30.763%;
	height: auto;
	z-index: 15;
	opacity: 1;
}

.sec05_cta:hover {
	opacity: 0.5;
}

.sec05_cta span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	border-radius: 50px;
	z-index: 30;
}

.sec05_cta span::before {
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@media screen and (max-width: 768px) {
	.sec05 {
		background-image: url(../img/sec05_sp.webp);
		aspect-ratio: 1572/1544;
	}

	.sec05_cta {
		position: absolute;
		bottom: 10.769%;
		left: 5.089%;
		width: 71.33%;
		height: auto;
		z-index: 15;
		opacity: 1;
	}
}

/* sec08 */
.sec08 {
	/* background-image: url(../img/sec08.webp);
	background-size: cover;
	background-position: center center; */
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}

.sec08_content_wrapper {
	/* max-width: 1080px; */
	max-width: 1920px;
	width: 78%;
	height: auto;
	margin: 125px auto 122px;
}

.sec08_ttl {
	/* position: absolute; */
	/* top: 0; */
	/* bottom: 0; */
	/* left: 0; */
	width: 523px;
	height: auto;
	transition: all 1s ease;
}

.sec08_content {
	/* max-width: 972px; */
	max-width: 1920px;
	/* width: 100%; */
	width: 78%;
	height: auto;
	margin: 45.79px auto 96px;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	/* gap: 2.469%; */
	gap: 0;
}

.sec08_items {
	width: 32.75%;
	height: auto;
}

@media screen and (max-width: 1440px) {
	.sec08_content_wrapper {
		max-width: 1120px;
		width: 95.833%;
	}

	.sec08_content {
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.sec08 {
		margin: 80px auto 0;
	}

	.sec08_content_wrapper {
		max-width: 1080px;
		width: 93.384%;
		height: auto;
		margin: 0 auto;
	}

	.sec08_ttl {
		/* position: absolute; */
		/* top: 0; */
		/* bottom: 0; */
		/* left: 0; */
		width: 79.086%;
		height: auto;
		transition: all 1s ease;
	}

	.sec08_content {
		max-width: 972px;
		width: 100%;
		height: auto;
		margin: 45.79px auto 96px;
		padding: 0 20px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		/* gap: 2.469%; */
		gap: 0;
	}

	.sec08_items {
		/* width: 79.389%; */
		width: 100%;
		height: auto;
	}
}

/* sec06 */
.sec06 {
	/* background-image: url(../img/sec06.webp);
	background-size: cover;
	background-position: center center; */
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}

.sec06_content_wrapper {
	/* max-width: 1080px; */
	max-width: 1920px;
	/* width: 95.833%; */
	width: 78%;
	height: auto;
	margin: 125px auto 122px;
}

.sec06_ttl {
	/* position: absolute; */
	/* top: 0; */
	/* bottom: 0; */
	/* left: 0; */
	width: 320px;
	height: auto;
	transition: all 1s ease;
}

.sec06_item01 {
	display: block;
	/* max-width: 1040px; */
	width: 100%;
	height: auto;
	margin: 77.79px auto 0;
}

.sec06_content {
	/* max-width: 1040px; */
	max-width: 1920px;
	width: 100%;
	height: auto;
	margin: 36px auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 3.846%;
}

.sec06_items {
	width: 30.769%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 2.14px 12.87px 0 rgba(0, 0, 0, 0.1);
}

.sec06_txt {
	text-align: center;
	font-size: 17px;
	letter-spacing: 2%;
	line-height: 140%;
	color: #868686;
	font-weight: 700;
}

@media screen and (max-width: 1440px) {
	.sec06_content_wrapper {
		max-width: 1080px;
		width: 95.833%;
	}

	.sec06_item01 {
		max-width: 1040px;
	}

	.sec06_content {
		max-width: 1040px;
	}
}

@media screen and (max-width: 768px) {
	.sec06_content_wrapper {
		max-width: 1080px;
		width: 89.821%;
		height: auto;
		margin: 125px auto 122px;
	}

	.sec06_ttl {
		/* position: absolute; */
		/* top: 0; */
		/* bottom: 0; */
		/* left: 0; */
		width: 234.83px;
		height: auto;
		transition: all 1s ease;
	}

	.sec06_item01 {
		display: block;
		max-width: 1040px;
		width: 100%;
		height: auto;
		margin: 77.79px auto 0;
	}

	.sec06_content {
		max-width: 1040px;
		width: 100%;
		height: auto;
		margin: 36px auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		gap: 3.846%;
		overflow: auto;
	}

	.sec06_items {
		width: 81.679%;
		height: auto;
		box-shadow: 0 2.14px 12.87px 0 rgba(0, 0, 0, 0.1);
	}

	.sec06_items:first-child {
		margin-left: 10%;
	}

	.sec06_txt {
		text-align: center;
		font-size: 14px;
		letter-spacing: 2%;
		line-height: 140%;
		color: #868686;
		font-weight: 700;
	}
}

/* sec07 */
.sec07 {
	/* background-image: url(../img/sec07.webp);
	background-size: cover;
	background-position: center center; */
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}

.sec07_content_wrapper {
	/* max-width: 1080px; */
	max-width: 1920px;
	/* width: 95.833%; */
	width: 80%;
	height: auto;
	margin: 125px auto 122px;
}

.sec07_ttl {
	/* position: absolute; */
	/* top: 0; */
	/* bottom: 0; */
	/* left: 0; */
	width: 383px;
	height: auto;
	transition: all 1s ease;
}

.sec07_content {
	/* max-width: 1148px; */
	max-width: 1920px;
	width: 80%;
	height: auto;
	margin: 36px auto 163px;
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0;
}

.sec07_items {
	width: 22.648%;
	height: auto;
}
.sec07_arrows {
	width: 3.135%;
	height: auto;
	aspect-ratio: 36/42;
}

@media screen and (max-width: 1440px) {
	.sec07_content_wrapper {
		max-width: 1080px;
		width: 95.833%;
	}
	.sec07_content {
		max-width: 1148px;
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.sec07_content_wrapper {
		max-width: 1080px;
		width: 95.833%;
		height: auto;
		margin: 125px auto 122px;
		text-align: center;
	}

	.sec07_ttl {
		width: 63.104%;
		height: auto;
	}

	.sec07_content {
		max-width: 1148px;
		width: 100%;
		height: auto;
		margin: 36px auto 113px;
		padding: 0 20px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		gap: 0;
	}

	.sec07_items {
		/* width: 66.157%; */
		width: 75%;
		height: auto;
	}
	.sec07_arrows {
		width: 10.687%;
		height: auto;
		aspect-ratio: 36/42;
		rotate: 90deg;
	}
}

/* FAQ */

.faq-container {
	/* font-family: sans-serif; */
	background-color: #fafafa;
	margin: 0;
	padding: 40px 20px;
	/* display: flex;
	justify-content: center;
	align-items: center; */
	/* min-height: 100vh; */

	width: 100%;
	/* max-width: 800px; */
}

.faq-header {
	/* max-width: 1148px; */
	max-width: 1920px;
	width: 87%;
	margin: 0 auto 40px;
	padding-left: 2.961%;
}

.faq_ttl {
	/* position: absolute; */
	/* top: 0; */
	/* bottom: 0; */
	/* left: 0; */
	width: 523px;
	height: auto;
	transition: all 1s ease;
}

.faq-item {
	background-color: #fff;
	/* max-width: 1148px; */
	max-width: 1920px;
	width: 80%;
	display: flex;
	align-items: center;
	border-radius: 20px;
	/* padding: 16px 0 16px 16px; */
	padding: 16px;
	margin: 0 auto 10px;
	/* margin-bottom: 20px; */
}

.faq-item:nth-child(odd) {
	margin-bottom: 23px;
}

.faq-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	margin-right: 20px;
	flex-shrink: 0;
}

.q-icon {
	background-color: #000;
	color: #fff;
}

.a-icon {
	border: 2px solid #000;
	color: #000;
	background-color: #fff;
}

.faq-content p {
	margin: 0;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: -0.4px;
	font-weight: 800;
	color: #333;
}

@media screen and (max-width: 1440px) {
	.faq-header {
		max-width: 1148px;
		width: 100%;
		margin: 0 auto 40px;
		padding-left: 2.961%;
	}
	.faq-item {
		background-color: #fff;
		max-width: 1148px;
		width: 100%;
		display: flex;
		align-items: center;
		border-radius: 20px;
		/* padding: 16px 0 16px 16px; */
		padding: 16px;
		margin: 0 auto 10px;
		/* margin-bottom: 20px; */
	}
}

/* レスポンシブ対応 (画面幅798px以下) */
@media (max-width: 798px) {
	.faq_ttl {
		/* position: absolute; */
		/* top: 0; */
		/* bottom: 0; */
		/* left: 0; */
		width: 79.086%;
		height: auto;
		transition: all 1s ease;
	}

	.faq-icon {
		margin-right: 18px;
		/* margin-bottom: 15px; */
	}

	.faq-container {
		margin-bottom: 80px;
	}
}

/* sec09 */
.sec09 {
	background-image: url(../img/sec09.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	aspect-ratio: 5000/1666;
}

.sec09_cta {
	position: absolute;
	bottom: 22.058%;
	left: 11.388%;
	width: 30.763%;
	height: auto;
	z-index: 15;
	opacity: 1;
}

.sec09_cta:hover {
	opacity: 0.5;
}

.sec09_cta span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	border-radius: 50px;
	z-index: 30;
}

.sec09_cta span::before {
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@media screen and (max-width: 768px) {
	.sec09 {
		background-image: url(../img/sec05_sp.webp);
		aspect-ratio: 1572/1544;
	}

	.sec09_cta {
		position: absolute;
		bottom: 10.769%;
		left: 5.089%;
		width: 71.33%;
		height: auto;
		z-index: 15;
		opacity: 1;
	}
}

/* sec10 */
.sec10 {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	aspect-ratio: 1440/768;
	overflow: hidden;
}

.sec10_content {
	background-image: url(../img/sec10_content.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	/* top: 14.973%; */
	/* top: 14.973%; */
	margin-top: 5.989vw;
	left: 50%;
	transform: translateX(-50%);

	z-index: 0;
	/* max-width: 1140px; */
	max-width: 1520px;
	/* width: 100%; */
	width: 79.166%;
	height: auto;
	aspect-ratio: 4560/2252;
}

.sec10_item01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	.sec10 {
		position: relative;
		z-index: 1;
		width: 100%;
		height: auto;
		aspect-ratio: 393/514;
		overflow: hidden;
	}

	.sec10_content {
		background-image: url(../img/sec10_content_sp.webp);
		background-size: cover;
		background-position: center center;
		position: relative;
		/* top: 9.727%; */
		margin-top: 10.941vw;
		left: 50%;
		transform: translateX(-50%);

		z-index: 0;
		max-width: 1140px;
		width: 91.857%;
		height: auto;
		aspect-ratio: 1444/1639;
	}

	.sec10_item01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
}

/* sec11 */
.sec11 {
	width: 100%;
	height: auto;
	position: relative;
}

.sec11_content {
	position: relative;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: auto;
	aspect-ratio: 4252/5000;
}

.sec11_item01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.link_btn01 {
	display: inline-block;
	position: absolute;
	top: 39.936%;
	/* bottom: 5.858%; */
	/* width: 141px; */
	width: 28.5%;
	/* height: 22px; */
	height: 2.008%;
	right: 17.611%;
	/* left: 25.811%; */
	/* margin: 0 auto; */
	z-index: 30;
	cursor: pointer;
}

.link_btn01_item {
	width: 100%;
	text-align: center;
	display: block;
	height: 100%;
}

.link_btn01_item:hover {
	background-color: #c0e2ee;
}

.link_btn02 {
	display: inline-block;
	position: absolute;
	/* top: 39.936%; */
	bottom: 0.2%;
	/* width: 141px; */
	width: 20.5%;
	/* height: 22px; */
	height: 2.008%;
	/* right: 17.611%; */
	left: 16.611%;
	/* margin: 0 auto; */
	z-index: 30;
	cursor: pointer;
}

.link_btn02_item {
	width: 100%;
	text-align: center;
	display: block;
	height: 100%;
}

.link_btn02_item:hover {
	background-color: #c0e2ee;
}

@media screen and (max-width: 768px) {
	.sec11_content {
		position: relative;
		top: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		height: auto;
		aspect-ratio: 1140/5000;
	}

	.sec11_item01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}

	.link_btn01 {
		display: inline-block;
		position: absolute;
		top: 45.56%;
		/* bottom: 5.858%; */
		/* width: 141px; */
		width: 58.5%;
		/* height: 22px; */
		height: 1.08%;
		right: 20.611%;
		/* left: 25.811%; */
		/* margin: 0 auto; */
		z-index: 30;
		cursor: pointer;
	}

	.link_btn01_item {
		width: 100%;
		text-align: center;
		display: block;
		height: 100%;
	}

	.link_btn01_item:hover {
		background-color: #c0e2ee;
	}

	.link_btn02 {
		display: inline-block;
		position: absolute;
		/* top: 39.936%; */
		bottom: 0%;
		/* width: 141px; */
		width: 39.5%;
		/* height: 22px; */
		height: 1.08%;
		/* right: 17.611%; */
		left: 20.611%;
		/* margin: 0 auto; */
		z-index: 30;
		cursor: pointer;
	}

	.link_btn02_item {
		width: 100%;
		text-align: center;
		display: block;
		height: 100%;
	}

	.link_btn02_item:hover {
		background-color: #c0e2ee;
	}
}

/* sec12 */
.sec12 {
	background-image: url(../img/sec12_bg.webp);
	background-size: cover;
	background-position: center center;
	position: relative;

	width: 100%;
	height: auto;
	aspect-ratio: 5000/2934;
	overflow: hidden;
}

.sec12_item01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.sec12_item02 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.sec12_item03 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.sec12_item04 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.sec12_item05 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.sec12_item06 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.sec12_item07 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}
.sec12_item08 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	.sec12 {
		background-image: url(../img/sec12_bg_sp.webp);
		background-size: cover;
		background-position: center center;
		position: relative;

		width: 100%;
		height: auto;
		aspect-ratio: 1572/3228;
		overflow: hidden;
	}

	.sec12_item01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}

	.sec12_item02 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.sec12_item03 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.sec12_item04 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.sec12_item05 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.sec12_item06 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.sec12_item07 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.sec12_item08 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
}

/* sec13 */
.sec13 {
	background-image: url(../img/sec13.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	aspect-ratio: 5000/1666;
}

.sec13_cta {
	position: absolute;
	bottom: 22.058%;
	left: 11.388%;
	width: 30.763%;
	height: auto;
	z-index: 15;
	opacity: 1;
}

.sec13_cta:hover {
	opacity: 0.5;
}

.sec13_cta span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	border-radius: 50px;
	z-index: 30;
}

.sec13_cta span::before {
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@media screen and (max-width: 768px) {
	.sec13 {
		background-image: url(../img/sec05_sp.webp);
		aspect-ratio: 1572/1544;
	}

	.sec13_cta {
		position: absolute;
		bottom: 10.769%;
		left: 5.089%;
		width: 71.33%;
		height: auto;
		z-index: 15;
		opacity: 1;
	}
}

/* 固定ボタン */
.fixed_btn {
	/* 位置の指定 */
	position: fixed;
	bottom: 4%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100; /* 他の要素より手前に表示 */

	width: 367px;
	height: auto;
	/* ふわっと表示するための初期設定 */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;

	/* position: absolute; を持つ子要素の基準点にするために追加 */
	display: block; /* aタグをブロック要素として扱う */
}

/* 表示させるためのクラス */
.fixed_btn.is-show {
	opacity: 1;
	visibility: visible;
}

.fixed_btn_img {
	display: block;
	width: 100%;
	height: auto;
	transform: translateY(0);
	/* この画像は通常のレイアウトに残し、ボタンの高さを確保する */
	/* transition: opacity 0.3s ease; */
	transition: transform 0.2s ease;
}

.fixed_btn_hover_img {
	/* 通常画像の上に重ねるための設定 */
	position: absolute;
	top: 0;
	left: 0;

	opacity: 0; /* 初期状態では透明にする */
	width: 100%;
	height: auto;
	transition: top 0.2s ease;
}

.fixed_btn.is-show:hover .fixed_btn_img {
	opacity: 0; /* ホバー時に通常画像を透明にする */
	transform: translateY(6px);
}

.fixed_btn.is-show:hover .fixed_btn_hover_img {
	opacity: 1; /* ホバー時にホバー画像をゆっくり表示 */
	top: 6px;
}

.fixed_btn span {
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	border-radius: 50px;
	z-index: 30;
}

.fixed_btn span::before {
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fff;
	transition: 300ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@media screen and (max-width: 540px) {
	.fixed_btn {
		width: 82%;
		bottom: 2%;
	}
}

/* footer */
footer {
	/* background-image: url(../img/footer.webp);
	background-size: cover;
	background-position: center center; */
	background-color: #000;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 123px;
	/* aspect-ratio: 1440/123; */
	/* margin-top: -23px; */
	text-align: center;
	padding-top: 76px;
}

.footer_links {
	position: absolute;
	top: 33px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 256px;
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
	/* letter-spacing: 2%; */
	line-height: 19px;
}

.footer_item01 {
	color: #fff;
}

.footer_item02 {
	color: #fff;
}

.copyright {
	color: #fff;
	font-size: 15px;
}

@media screen and (max-width: 768px) {
	footer {
		/* background-image: url(../img/footer.webp);
	background-size: cover;
	background-position: center center; */
		background-color: #000;
		position: relative;
		z-index: 1;
		width: 100%;
		height: 64px;
		/* aspect-ratio: 1440/123; */
		/* margin-top: -23px; */
		text-align: center;
		padding-top: 38px;
	}

	.footer_links {
		position: absolute;
		top: 16.26px;
		left: 50%;
		transform: translateX(-50%);
		max-width: 183px;
		width: 100%;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 12px;
		/* letter-spacing: 2%; */
		line-height: 10.4px;
	}

	.footer_item01 {
		color: #fff;
	}

	.footer_item02 {
		color: #fff;
	}

	.copyright {
		color: #fff;
		font-size: 12px;
	}
}

/* fade animation */
.fade {
	opacity: 0;
	transform: translateY(4rem);
	-webkit-transform: translateY(4rem); /* Safari向け */
}
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0); /* Safari向け */
	}
}
@-webkit-keyframes fade {
	/* Safari向け */
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}
}
.fade.is-animation {
	animation: fade 0.8s ease;
	-webkit-animation: fade 0.8s ease; /* Safari向け */
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both; /* Safari向け */
}

.zoom {
	opacity: 0;
	transform: scale(0);
	-webkit-transform: scale(0); /* Safari向け */
}
@keyframes zoom {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: scale(1);
		-webkit-transform: scale(1); /* Safari向け */
	}
}
@-webkit-keyframes zoom {
	/* Safari向け */
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: scale(1);
		-webkit-transform: scale(1); /* Safari向け */
	}
}
.zoom.is-animation {
	animation: zoom 0.8s ease;
	-webkit-animation: zoom 0.8s ease; /* Safari向け */
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both; /* Safari向け */
}

.fade-fast {
	opacity: 0;
	transform: scale(0.1) translateY(70rem);
	-webkit-transform: scale(0.1) translateY(70rem); /* Safari向け */
}
@keyframes fade-fast {
	0% {
		opacity: 0;
	}
	65% {
		opacity: 1;
		transform: scale(1.15) translateY(0);
		-webkit-transform: scale(1.15) translateY(0); /* Safari向け */
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
		-webkit-transform: scale(1) translateY(0); /* Safari向け */
	}
}
@-webkit-keyframes fade-fast {
	/* Safari向け */
	0% {
		opacity: 0;
	}
	65% {
		opacity: 1;
		transform: scale(1.15) translateY(0);
		-webkit-transform: scale(1.15) translateY(0); /* Safari向け */
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
		-webkit-transform: scale(1) translateY(0); /* Safari向け */
	}
}
.fade-fast.is-animation {
	animation: fade-fast 0.8s ease;
	-webkit-animation: fade-fast 0.8s ease; /* Safari向け */
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both; /* Safari向け */
}

.fade-left {
	opacity: 0;
	transform: translateX(-20rem);
	-webkit-transform: translateX(-20rem); /* Safari向け */
}
@keyframes fade-left {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translateX(0); /* Safari向け */
	}
}
@-webkit-keyframes fade-left {
	/* Safari向け */
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translateX(0);
	}
}
.fade-left.is-animation {
	animation: fade-left 0.8s ease;
	-webkit-animation: fade-left 0.8s ease; /* Safari向け */
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both; /* Safari向け */
}

.fade-right {
	opacity: 0;
	transform: translateX(20rem);
	-webkit-transform: translateX(20rem); /* Safari向け */
}
@keyframes fade-right {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translateX(0); /* Safari向け */
	}
}
@-webkit-keyframes fade-right {
	/* Safari向け */
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translateX(0);
	}
}
.fade-right.is-animation {
	animation: fade-right 0.8s ease;
	-webkit-animation: fade-right 0.8s ease; /* Safari向け */
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both; /* Safari向け */
}

.left_to_right {
	opacity: 0;
	clip-path: inset(0 100% 0 0);
	/* transition: all 0.8s ease; */
}
@keyframes left_to_right {
	0% {
		opacity: 0;
		clip-path: inset(0 100% 0 0);
	}
	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
	}
}
@-webkit-keyframes left_to_right {
	/* Safari向け */
	0% {
		opacity: 0;
		-webkit-clip-path: inset(0 100% 0 0);
	}
	100% {
		opacity: 1;
		-webkit-clip-path: inset(0 0 0 0);
	}
}
.left_to_right.is-animation {
	animation: left_to_right 2s forwards;
	-webkit-animation: left_to_right 2s forwards; /* Safari向け */
}

.left_to_right_chain {
	opacity: 0;
	clip-path: inset(0 100% 0 0);
	/* transition: all 1s ease; */
}
@keyframes left_to_right_chain {
	0% {
		opacity: 0;
		clip-path: inset(0 100% 0 0);
	}
	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
	}
}
@-webkit-keyframes left_to_right_chain {
	/* Safari向け */
	0% {
		opacity: 0;
		-webkit-clip-path: inset(0 100% 0 0);
	}
	100% {
		opacity: 1;
		-webkit-clip-path: inset(0 0 0 0);
	}
}
.left_to_right_chain.is-animation {
	animation: left_to_right_chain 2s forwards;
	-webkit-animation: left_to_right_chain 2s forwards; /* Safari向け */
}

.rotate-shake {
	transform: rotate(0) translateY(0);
	-webkit-transform: rotate(0) translateY(0); /* Safari向け */
}
@keyframes rotate-shake {
	0% {
		transform: rotate(0) translateY(0);
		-webkit-transform: rotate(0) translateY(0); /* Safari向け */
	}
	50% {
		transform: rotate(0) translateY(0rem);
		-webkit-transform: rotate(0) translateY(0rem); /* Safari向け */
	}
	55% {
		transform: rotate(0) translateY(0);
		-webkit-transform: rotate(0) translateY(0); /* Safari向け */
	}
	60% {
		transform: rotate(-10deg) translateY(-1.3rem);
		-webkit-transform: rotate(-10deg) translateY(-1.3rem); /* Safari向け */
	}
	65% {
		transform: rotate(10deg) translateY(-1.3rem);
		-webkit-transform: rotate(10deg) translateY(-1.3rem); /* Safari向け */
	}
	70% {
		transform: rotate(-15deg) translateY(-1.3rem);
		-webkit-transform: rotate(-15deg) translateY(-1.3rem); /* Safari向け */
	}
	75% {
		transform: rotate(15deg) translateY(-1.3rem);
		-webkit-transform: rotate(15deg) translateY(-1.3rem); /* Safari向け */
	}
	80% {
		transform: rotate(-10deg) translateY(-1.3rem);
		-webkit-transform: rotate(-10deg) translateY(-1.3rem); /* Safari向け */
	}
	85% {
		transform: rotate(10deg) translateY(-1.3rem);
		-webkit-transform: rotate(10deg) translateY(-1.3rem); /* Safari向け */
	}
	90% {
		transform: rotate(-8deg) translateY(-1.3rem);
		-webkit-transform: rotate(-8deg) translateY(-1.3rem); /* Safari向け */
	}
	95% {
		transform: rotate(5deg) translateY(-1.3rem);
		-webkit-transform: rotate(5deg) translateY(-1.3rem); /* Safari向け */
	}
	90% {
		transform: rotate(-3deg) translateY(-1.3rem);
		-webkit-transform: rotate(-3deg) translateY(-1.3rem); /* Safari向け */
	}
	100% {
		transform: rotate(0) translateY(0rem);
		-webkit-transform: rotate(0) translateY(0rem); /* Safari向け */
	}
}
@-webkit-keyframes rotate-shake {
	/* Safari向け */
	0% {
		transform: rotate(0) translateY(0);
		-webkit-transform: rotate(0) translateY(0); /* Safari向け */
	}
	50% {
		transform: rotate(0) translateY(0rem);
		-webkit-transform: rotate(0) translateY(0rem); /* Safari向け */
	}
	55% {
		transform: rotate(0) translateY(0);
		-webkit-transform: rotate(0) translateY(0); /* Safari向け */
	}
	60% {
		transform: rotate(-10deg) translateY(-1.3rem);
		-webkit-transform: rotate(-10deg) translateY(-1.3rem); /* Safari向け */
	}
	65% {
		transform: rotate(10deg) translateY(-1.3rem);
		-webkit-transform: rotate(10deg) translateY(-1.3rem); /* Safari向け */
	}
	70% {
		transform: rotate(-15deg) translateY(-1.3rem);
		-webkit-transform: rotate(-15deg) translateY(-1.3rem); /* Safari向け */
	}
	75% {
		transform: rotate(15deg) translateY(-1.3rem);
		-webkit-transform: rotate(15deg) translateY(-1.3rem); /* Safari向け */
	}
	80% {
		transform: rotate(-10deg) translateY(-1.3rem);
		-webkit-transform: rotate(-10deg) translateY(-1.3rem); /* Safari向け */
	}
	85% {
		transform: rotate(10deg) translateY(-1.3rem);
		-webkit-transform: rotate(10deg) translateY(-1.3rem); /* Safari向け */
	}
	90% {
		transform: rotate(-8deg) translateY(-1.3rem);
		-webkit-transform: rotate(-8deg) translateY(-1.3rem); /* Safari向け */
	}
	95% {
		transform: rotate(5deg) translateY(-1.3rem);
		-webkit-transform: rotate(5deg) translateY(-1.3rem); /* Safari向け */
	}
	90% {
		transform: rotate(-3deg) translateY(-1.3rem);
		-webkit-transform: rotate(-3deg) translateY(-1.3rem); /* Safari向け */
	}
	100% {
		transform: rotate(0) translateY(0rem);
		-webkit-transform: rotate(0) translateY(0rem); /* Safari向け */
	}
}
.rotate-shake.is-animation {
	animation: rotate-shake 1.6s ease;
	-webkit-animation: rotate-shake 1.6s ease; /* Safari向け */
	animation-fill-mode: both;
	-webkit-animation-fill-mode: both; /* Safari向け */
}

@-webkit-keyframes shinyshiny {
	0% {
		-webkit-transform: scale(0) rotate(45deg);

		opacity: 0;
	}

	70% {
		-webkit-transform: scale(0) rotate(45deg);

		opacity: 0.5;
	}

	71% {
		-webkit-transform: scale(4) rotate(45deg);

		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);

		opacity: 0;
	}
}

@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}
