.top_mv {
	margin: 0;
	/* background: url("../img/top/top_mv_back.jpg") no-repeat center/cover; */
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	width: 100%;
	overflow: hidden;
}

.top_mv_slide .slick-track {
	height: 100vh;
}

.top_mv_slide {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
}

.top_mv .slick-prev, .top_mv .slick-next {
	display: none!important;
}

.top_mv_slide_item {
	width: 100%;
	height: 100%;
}

.top_mv_slide_item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.top_mv_circle {
	position: relative;
	border-radius: 50%;
	width: 80vw;
	/* レスポンシブなサイズ例 */
	max-width: 436px;
	aspect-ratio: 1 / 1;
	border: 2px #fff solid;
}

:root {
	--radius: 425%;
}

.top_mv_circle_font {
	font-weight: 500;
	font-size: calc(436px * 0.068807339449541);
	width: calc(436px * 0.068807339449541 * 2);
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	line-height: 1;
	transform: translate(-50%, -50%);
	word-break: keep-all;
	text-align: center;
}

/* 配置：rotate → translate(var(--radius)) */

.item01 {
	transform: translate(-50%, -50%) rotate(-90deg) translate(var(--radius)) rotate(90deg);
}

.item02 {
	transform: translate(-50%, -50%) rotate(-45deg) translate(var(--radius)) rotate(45deg);
}

.item03 {
	transform: translate(-50%, -50%) rotate(0deg) translate(var(--radius)) rotate(0deg);
}

.item04 {
	transform: translate(-50%, -50%) rotate(45deg) translate(var(--radius)) rotate(-45deg);
}

.item05 {
	transform: translate(-50%, -50%) rotate(90deg) translate(var(--radius)) rotate(-90deg);
}

.item06 {
	transform: translate(-50%, -50%) rotate(135deg) translate(var(--radius)) rotate(-135deg);
}

.item07 {
	transform: translate(-50%, -50%) rotate(180deg) translate(var(--radius)) rotate(-180deg);
}

.item08 {
	transform: translate(-50%, -50%) rotate(225deg) translate(var(--radius)) rotate(-225deg);
}

.top_mv_circle_logo {
	width: 118px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* 円周回転アニメーション */

@keyframes circle-spin {
	from {
		transform: translate(-50%, -50%) rotate(var(--start)) translate(var(--radius)) rotate(calc(-1 * var(--start)));
	}
	to {
		transform: translate(-50%, -50%) rotate(calc(var(--start) + 360deg)) translate(var(--radius)) rotate(calc(-1 * (var(--start) + 360deg)));
	}
}

.top_mv_circle_font {
	animation: circle-spin 50s linear infinite;
	animation-delay: 3.8s;
}

/* 各文字の開始角度 */

.item01 {
	--start: -90deg;
}

.item02 {
	--start: -45deg;
}

.item03 {
	--start: 0deg;
}

.item04 {
	--start: 45deg;
}

.item05 {
	--start: 90deg;
}

.item06 {
	--start: 135deg;
}

.item07 {
	--start: 180deg;
}

.item08 {
	--start: 225deg;
}

.top_mv_circle_icon {
	width: calc(100% + 30px);
	height: calc(100% + 30px);
	position: absolute;
	z-index: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.top_mv_circle_icon svg {
	width: 100%;
}

#mySvg {
	animation: slideMask 6s ease forwards;
	-webkit-mask: linear-gradient(to left, black 100%, transparent 100%);
	-webkit-mask-position: right;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 0% 100%;
}

@keyframes slideMask {
	to {
		-webkit-mask-size: 100% 100%;
	}
}

.top_mv_scroll {
	width: 24px;
	display: block;
	position: absolute;
	bottom: 0;
	right: 56px;
	z-index: 0;
}

.top_mv_scroll_main {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.top_mv_scroll {
		right: 20px;
		z-index: 0;
		width: 17px;
	}
}

@media screen and (max-width: 600px) {
	.top_mv_circle {
		width: 70vw;
	}
	.top_mv_circle_icon {
		width: calc(100% + 30px);
		height: calc(100% + 30px);
		position: absolute;
		z-index: 0;
		top: calc(50% + 3vw);
	}
	.top_mv_circle_font {
		font-weight: 500;
		font-size: calc(70vw * 0.068807339449541);
		width: calc(70vw * 0.068807339449541 * 2);
		color: #fff;
		position: absolute;
		word-break: keep-all;
		text-align: center;
	}
	.top_mv_circle_icon svg {
		width: 100%;
		height: auto;
	}
	.top_mv_circle_icon {
		/* width: calc(100vw - 30px);
		height: calc(100vw - 30px); */
	}
}

/* ------------------------------------------
  top_content
------------------------------------------ */

.top_content {
	padding: 70px 0;
	position: relative;
	z-index: 0;
}

.top_content.top_content_02 {
	padding-top: 110px;
}

.top_content_img {
	width: 43.5416666666667vw;
	height: 800px;
	margin-left: auto;
}

.top_content.top_content_02 .top_content_img {
	margin-left: 0;
	margin-right: auto;
}

.top_content_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.top_content_main {
	width: 514px;
	position: absolute;
	z-index: 0;
	top: 50%;
	left: calc(50% - 500px);
	transform: translateY(-50%);
}

.top_content.top_content_02 .top_content_main {
	left: auto;
	right: calc(50% - 500px);
}

.top_content_main_text {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.top_content_main_text_title {
	font-weight: 900;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 3;
	color: #262626;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.top_content_main_text_content {
	margin-top: 100px;
}

.top_content_main_text_content_item {
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.05em;
	line-height: 1.923076923076923;
	text-align: left;
	color: #686868;
}

.top_content_main_text_content_item+.top_content_main_text_content_item {
	margin-top: 20px;
}

.top_content_main_text_content_item.big_margin {
	margin-top: 100px;
}

.top_content_main_text_content_item.item2 {
	margin-top: 40px;
}

.top_fu01 {
	width: 250px;
	position: absolute;
	right: calc(50% + 110px);
	top: 100px;
	transform: scale(0);
	transform-origin: bottom left;
	/* ← 右下を起点に拡大縮小 */
	opacity: 0;
	transition: transform 2s ease-out, opacity 2s ease-out;
}

.top_fu01.animate {
	transform: scale(1.1);
	opacity: 1;
}

.top_fu01.animate.end {
	transform: scale(1);
}

.top_fu01.sp {
	display: none;
}

@media screen and (max-width: 767px) {
	.top_content {
		padding: 60px 0;
	}
	.top_content.top_content_02 {
		padding-top: 110px;
	}
	.top_content_img {
		width: 90vw;
		margin-top: 40px;
		height: auto;
		margin-left: auto;
	}
	.top_content.top_content_02 .top_content_img {
		margin-left: 0;
		margin-right: auto;
	}
	.top_content_img img {
		width: 100%;
		height: auto;
		object-fit: initial;
		object-position: initial;
	}
	.top_content_main {
		width: 100%;
		position: static;
		z-index: 0;
		top: initial;
		left: initial;
		transform: initial;
		padding: 0 20px;
	}
	.top_content.top_content_02 .top_content_main {
		left: auto;
		right: calc(50% - 500px);
	}
	.top_content_main_text {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.top_content_main_text_title {
		font-weight: 900;
		font-size: 16px;
		letter-spacing: 0.05em;
		line-height: 3;
		color: #262626;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}
	.top_content_main_text_content {
		margin-top: 40px;
	}
	.top_content_main_text_content_item {
		font-weight: 500;
		font-size: 13px;
		letter-spacing: 0.05em;
		line-height: 1.923076923076923;
		text-align: left;
		color: #686868;
	}
	.top_content_main_text_content_item+.top_content_main_text_content_item {
		margin-top: 20px;
	}
	.top_content_main_text_content_item.big_margin {
		margin-top: 40px;
	}
	.top_fu01 {
		width: 46vw;
		position: absolute;
		right: 5vw;
		top: -3vw;
	}
	.top_fu01.animate {
		transform: scale(1.1);
		opacity: 1;
	}
	.top_fu01.animate.end {
		transform: scale(1);
	}
	.top_fu01.pc {
		display: none;
	}
	.top_fu01.sp {
		display: block;
	}
}

/* ------------------------------------------
  section_hr
------------------------------------------ */

.section_hr {
	overflow: hidden;
	width: 100%;
	-webkit-mask: linear-gradient(to left, black 100%, transparent 100%);
	-webkit-mask-position: right;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 0% 100%;
	opacity: 0;
	/* 透明から始める */
	transition: opacity .3s ease;
}

.section_hr img {
	min-width: 1440px;
}

.section_hr.right {
	-webkit-mask: linear-gradient(to right, black 100%, transparent 100%);
	/* ← 方向を逆に */
	-webkit-mask-position: left;
	/* ← 左端から開始 */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 0% 100%;
}

.section_hr.left.animate {
	animation: slideMask 6s ease forwards;
	opacity: 1;
}

.section_hr.right.animate {
	animation: slideMask_right 6s ease forwards;
	opacity: 1;
}

@keyframes slideMask_right {
	to {
		-webkit-mask-size: 100% 100%;
	}
}

@media screen and (max-width: 767px) {
	.section_hr {
		display: flex;
		justify-content: center;
		overflow: hidden;
	}
	.section_hr img {
		min-width: 1100px;
	}
}

/* ------------------------------------------
  top_images
------------------------------------------ */

.top_images {
	position: relative;
	z-index: 0;
	margin-top: 110px;
	height: 142.6388888888889vw;
}

.top_images .slick-arrow {
	display: none!important;
}

.top_images_img1_box {
	width: 38.125vw;
	top: 9.3055555555556vw;
	left: 3.8194444444444vw;
	position: absolute;
}

.top_images_img2_box {
	width: 55.4861111111111vw;
	top: 63.4722222222222vw;
	left: 0;
	position: absolute;
}

.top_images_img3_box {
	width: 53.4722222222222vw;
	top: 0;
	right: 0;
	position: absolute;
}

.top_images_img4_box {
	width: 36.8055555555556vw;
	top: 43.9583333333333vw;
	right: 4.2361111111111vw;
	position: absolute;
}

.top_images_img5_box {
	width: 34.0277777777778vw;
	top: 97.1527777777778vw;
	right: 0;
	position: absolute;
}

.top_images_circle {
	position: absolute;
	top: 37.205556vw;
	left: 36.119444vw;
	z-index: 0;
}

.top_images_fu {
	position: absolute;
	width: 17.041667vw;
	top: 95.875vw;
	right: 17.097222vw;
	z-index: 0;
	transform: scale(0);
	transform-origin: bottom right;
	/* ← 右下を起点に拡大縮小 */
	opacity: 0;
	transition: transform 1.5s ease-out, opacity 1.5s ease-out;
}

.top_images_fu.animate {
	transform: scale(1.1);
	opacity: 1;
}

.top_images_fu.animate.end {
	transform: scale(1);
}

@media screen and (max-width: 767px) {
	.top_images {
		position: relative;
		z-index: 0;
		margin-top: 60px;
		height: 142.6388888888889vw;
	}
	.top_images_img1 {
		width: 37.125vw;
		top: 9.3055555555556vw;
		left: 3.8194444444444vw;
		position: absolute;
	}
	.top_images_img2_box {
		width: 55.4861111111111vw;
		top: 63.4722222222222vw;
		left: 0;
		position: absolute;
	}
	.top_images_img3_box {
		width: 53.4722222222222vw;
		top: 0;
		right: 0;
		position: absolute;
	}
	.top_images_img4_box {
		width: 36.8055555555556vw;
		top: 43.9583333333333vw;
		right: 4.2361111111111vw;
		position: absolute;
	}
	.top_images_img5_box {
		width: 34.0277777777778vw;
		top: 97.1527777777778vw;
		right: 0;
		position: absolute;
	}
	.top_images_circle {
		position: absolute;
		top: 15.205556vw;
		left: 50%;
		transform: translateX(-50%);
		z-index: 0;
	}
	.top_images_fu {
		width: 41.041667vw;
		top: 69.875vw;
		right: auto;
		left: 20px;
	}
	.top_images_fu.animate {
		transform: scale(1.1);
		opacity: 1;
	}
	.top_images_fu.animate.end {
		transform: scale(1);
	}
}