@charset "UTF-8";

/******************/
/* loading *********/

.loading--curtain {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: transparent;
	overflow: hidden;
}
.curtain {
	position: absolute;
	left: 0;
	width: 100%;
	height: 50%;
	background: var(--akamaru-color-navy_main);
	z-index: 1;
	transform: scaleY(1);
}
.curtain-top {
	top: 0;
	transform-origin: top;
}
.curtain-bottom {
	bottom: 0;
	transform-origin: bottom;
}
.loading-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 6vw, 48px);
}
.curtain {
	will-change: transform, clip-path;
}

.loading-logo {
	will-change: transform, opacity, filter;
}

.loading-logo img {
	width: clamp(110px, 22vw, 180px);
	height: auto;
}

/******************/
/* top-hero *********/

.video_wrapper {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.video_wrapper > video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	width: 100%;
}

.main-copy {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 500px) {
	.main-copy img {
		width: 65px;
	}
	.video_wrapper {
		height: 93vh;
		width: 100%;
	}
}

/* latest-news */

.latest-news {
	position: absolute;
	left: 20px;
	bottom: 20px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	max-width: min(92vw, 780px);
	padding: 10px 14px;
	background: rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	color: #fff;
	text-decoration: none;
	line-height: 1.4;
	transition:
		transform 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease;
}

.latest-news:hover {
	background: rgba(0, 0, 0, 0.6);
	transform: translateY(-1px);
}

.latest-news:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3);
}

.latest-news .title {
	font-weight: 700;
	font-size: var(--fz-12);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: 1px solid rgba(255, 255, 255, 0.55);
	padding: 2px 6px;
	flex: 0 0 auto;
}

.latest-news .day {
	font-variant-numeric: tabular-nums;
	opacity: 0.95;
	font-size: var(--fz-16);
}

.latest-news .tag {
	display: inline-block;
	font-size: var(--fz-12);
	line-height: 1;
	border-radius: 999px;
	padding: 4px 8px;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.24);
	white-space: nowrap;
	font-size: var(--fz-12);
	border-radius: 0;
}

.latest-news .description {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: var(--fz-16);
}

@media screen and (max-width: 500px) {
	.latest-news {
		bottom: 10px;
		width: 100%;
	}
	.latest-news .day,
	.latest-news .tag {
		display: none;
	}
	.latest-news {
		left: 10px;
	}
}

/******************/
/* top-lead *********/

.bg-wrapper_top-lead-about {
	background-color: var(--akamaru-color-navy_dark01);
}
.bg-wrapper_top-lead {
	background-color: var(--akamaru-color-navy_dark02);
	position: relative;
	overflow: hidden;
}

.top-lead {
	position: relative;
	padding-top: clamp(140px, 19.4vw, 280px);
	padding-bottom: 140px;
	z-index: 1;
	overflow: hidden;
}

.top-lead .top-lead-container {
	position: relative;
	margin: 0 auto;
	z-index: 2;
}
.top-lead .flex-container {
	color: var(--akamaru-color-white);
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: center;
	gap: 70px;
	margin: 0 auto;
	margin-bottom: var(--space-lg);
	flex-wrap: nowrap;
}

.top-lead .text-wrapper {
	writing-mode: vertical-lr;
	-webkit-writing-mode: vertical-lr;
}

.top-lead .flex-container .title {
	font-size: var(--fz-36);
	letter-spacing: 0.2em;
	writing-mode: vertical-rl;
}
.top-lead .flex-container .text {
	line-height: var(--lh-loose);
	letter-spacing: 0.2em;
	writing-mode: tb;
}
.top-lead .text-wrapper {
	display: flex;
	align-items: flex-start;
	flex-direction: column-reverse;
	gap: 30px;
}

.top-lead .btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	width: 285px;
	height: 60px;
	font-size: 1.4rem;
	text-decoration: none;
	cursor: pointer;
	overflow: hidden;
	z-index: 3;
	border: 0.5px solid var(--akamaru-color-white);
	background-color: var(--akamaru-color-navy_dark02);
	color: var(--akamaru-color-white);
	transition:
		color 0.3s ease,
		background-color 0.3s ease,
		border-color 0.3s ease;
}

.top-lead .btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--akamaru-color-white);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
	z-index: -1;
}

.top-lead .btn:hover::before {
	transform: translateX(0);
}

.top-lead .btn:hover {
	color: var(--akamaru-color-navy_dark01);
	border-color: var(--akamaru-color-navy_dark01);
}

.top-lead .btn .arrow {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 1px;
	background-color: currentColor;
	transition: all 0.3s ease;
}
.top-lead .btn .arrow::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s ease;
}

.top-lead .btn:hover .arrow {
	transform: translateY(-50%) translateX(5px);
}

.top-lead .thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

.bg-wrapper_top-lead-about-curve {
	height: 20.83333vw;
	background: url('../../images/top-lead-bg_bottom-curve.png') no-repeat center bottom;
	background-size: cover;
	z-index: 0;
	pointer-events: none;
	position: relative;
	margin-bottom: clamp(150px, 20.8vw, 300px);
}

.bg-wrapper_top-lead-about-curve .thumbnail {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: clamp(280px, 45vw, 780px);
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.top-lead .flex-container .title {
		font-size: 24px;
	}
	.top-lead {
		padding: 90px 0;
	}
}

@media screen and (max-width: 500px) {
	.top-lead .flex-container {
		display: flex !important;
		flex-direction: column !important;
		align-items: center;
		justify-content: flex-start;
		gap: 60px;
		flex-wrap: nowrap;
	}
	.top-lead .flex-container .text {
		font-size: 16px;
	}

	@supports (-webkit-touch-callout: none) {
		@media screen and (max-width: 500px) {
			.top-lead .flex-container {
				flex-direction: column !important;
			}
		}
	}
	.top-lead .text-wrapper {
		gap: 15px;
	}
	.bg-wrapper_top-lead-about-curve {
		margin-bottom: 180px;
	}
	.top-lead .btn {
		height: 50px;
	}
}

/******************/
/* top-about *********/

.top-about {
	color: var(--akamaru-color-white);
	margin-bottom: var(--space-3xl);
}

.top-about .section-title {
	margin-bottom: 70px;
}

.top-about .flex-container {
	justify-content: center;
	gap: 80px;
}

.top-about .content-wrapper .title {
	font-size: var(--fz-36);
	margin-bottom: 40px;
}

.top-about .content-wrapper .text {
	margin-bottom: 60px;
}

.top-about .btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	width: 285px;
	height: 60px;
	font-size: 1.4rem;
	text-decoration: none;
	cursor: pointer;
	overflow: hidden;
	z-index: 3;

	border: 0.5px solid var(--akamaru-color-white);
	background-color: var(--akamaru-color-navy_dark01);
	color: var(--akamaru-color-white);
	transition:
		color 0.3s ease,
		background-color 0.3s ease,
		border-color 0.3s ease;
}

.top-about .btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--akamaru-color-white);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
	z-index: -1;
}

.top-about .btn:hover::before {
	transform: translateX(0);
}

.top-about .btn:hover {
	color: var(--akamaru-color-navy_dark02);
	border-color: var(--akamaru-color-navy_dark02);
}

.top-about .btn .arrow {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 1px;
	background-color: currentColor;
	transition: all 0.3s ease;
}

.top-about .btn .arrow::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s ease;
}

.top-about .btn:hover .arrow {
	transform: translateY(-50%) translateX(5px);
}

@media screen and (max-width: 768px) {
	.top-about .btn {
		margin: 0 auto;
	}
	.top-about .content-wrapper .title {
		font-size: 22px;
	}
}

@media screen and (max-width: 500px) {
	.top-about {
		margin-bottom: 60px;
	}
	.top-about .section-title {
		margin-bottom: 30px;
	}
	.top-about .flex-container {
		display: block;
	}
	.top-about .thumbnail {
		margin-bottom: 50px;
	}
	.top-about .content-wrapper .title {
		margin-bottom: 20px;
	}
	.top-about .btn {
		height: 50px;
	}
}

/* top-about-slider-container */

.top-about-slider-container {
	margin-bottom: var(--space-2xl);
}

.top-about-slider-container img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transition:
		width 0.3s ease,
		height 0.3s ease;
	max-height: 400px;
	object-position: top;
}
.top-splide {
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	.top-splide {
		margin-bottom: 5px;
	}
	.top-about-slider-container img {
		display: block;
		width: 100%;
		object-fit: cover;
		aspect-ratio: 16 / 9;
		object-position: center top;
	}
	.top-about-slider-container {
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 500px) {
	.top-about-slider-container img {
		max-height: 180px;
	}
}

/******************/
/* top-essence**********/
.top-essence {
	color: var(--akamaru-color-white);
	position: relative;
	padding-bottom: var(--space-xl);
}

.top-essence .section-inner {
	max-width: 1620px;
	margin: 0 auto;
	padding-left: clamp(1em, 50vw - 720px + 72px, 72px);
	padding-right: clamp(16px, 50vw, 840px);
}

.top-essence .thumbnail {
	position: absolute;
	right: 0;
	bottom: -10px;
	transform: none;
	width: clamp(40vw, 50vw, 60vw);
	max-width: 840px;
	height: auto;
	pointer-events: none;
}

.top-essence .section-title {
	text-align: left;
}

.top-essence .content-wrapper {
	margin-bottom: 60px;
}

.top-essence .btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	width: 285px;
	height: 60px;
	font-size: 1.4rem;
	text-decoration: none;
	cursor: pointer;
	overflow: hidden;
	z-index: 3;
	border: 0.5px solid var(--akamaru-color-white);
	background-color: var(--akamaru-color-navy_dark01);
	color: var(--akamaru-color-white);
	transition:
		color 0.3s ease,
		background-color 0.3s ease,
		border-color 0.3s ease;
}

.top-essence .btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--akamaru-color-white);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
	z-index: -1;
}

.top-essence .btn:hover::before {
	transform: translateX(0);
}

.top-essence .btn:hover {
	color: var(--akamaru-color-navy_dark02);
	border-color: var(--akamaru-color-navy_dark02);
}

.top-essence .btn .arrow {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 1px;
	background-color: currentColor;
	transition: all 0.3s ease;
}

.top-essence .btn .arrow::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s ease;
}

.top-essence .btn:hover .arrow {
	transform: translateY(-50%) translateX(5px);
}

@media screen and (min-width: 1620px) {
}
@media screen and (max-width: 1100px) and (min-width: 769px) {
	.top-essence .section-inner {
		padding-left: clamp(24px, 6vw, 60px);
		padding-right: clamp(24px, 8vw, 120px);
	}

	.top-essence .thumbnail {
		width: clamp(55vw, 62vw, 70vw);
		bottom: -5vw; /* 少し上げて被り感を軽減 */
	}
}

@media screen and (max-width: 768px) {
	.top-essence {
		padding-bottom: var(--space-lg);
		overflow: hidden;
	}
	.top-essence .section-inner {
		padding: 0 20px 380px;
	}
	.top-essence .section-title {
		text-align: center;
	}
	.top-essence .flex-container {
		flex-direction: column;
		align-items: center;
	}
	.top-essence .thumbnail {
		position: absolute;
		right: 50%;
		transform: translateX(60%);
		width: 90vw;
		bottom: -10px;
	}
}

@media screen and (max-width: 500px) {
	.top-essence .btn {
		margin: 0 auto;
		height: 50px;
	}
	.top-essence .section-inner {
		padding-bottom: 240px;
	}
}

/* beetween-img */

.between-img {
	position: relative;
	height: clamp(211px, 34.236vw, 493px);
	overflow: hidden;
}

.between-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
}

@media screen and (min-width: 1620px) {
	.between-img {
		height: clamp(493px, 60.864vw, 986px);
	}
}

.between-img_top-essence {
	margin-bottom: var(--space-3xl);
}

@media screen and (min-width: 1620px) {
	.between-img {
		height: clamp(493px, 60.864vw, 986px);
	}
}

/******************/
/* top-online **********/

.top-online {
	margin-bottom: var(--space-xl);
	position: relative;
}

.top-online .section-inner {
	width: 95%;
}
.top-online .title-wrapper {
	justify-content: space-between;
}

.top-online .section-title {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 60px;
}

.top-online .section-title .en-title {
	font-size: var(--fz-80);
	margin-bottom: 0;
}

.top-online .section-title .ja-title {
	font-size: var(--fz-24);
}

.top-online .btn {
	margin: 0 auto;
}

.top-online_thumbnail {
	position: absolute;
	top: clamp(-95px, -8vw, -40px);
	right: clamp(0px, 4vw, 80px);
	transform-origin: center;
	transition: transform 0.2s ease;
	z-index: 1;
}

.top-online_thumbnail:hover {
	animation: shake 0.4s ease-in-out;
}

.top-online_thumbnail img {
	width: clamp(169px, 23.819vw, 343px);
	height: auto;
}
@media screen and (max-width: 768px) {
	.top-online .section-title .ja-title {
		display: none;
	}

	.top-online .section-title {
		margin-bottom: 40px;
	}
	.top-online .section-title {
		margin-bottom: 20px;
	}
	.top-online_thumbnail {
		display: none;
	}
}

@media screen and (max-width: 500px) {
	.top-online_thumbnail {
		width: 35%;
		top: -30px;
	}
}

/* top-online-splide */

.top-online-splide {
	margin-bottom: 60px;
	padding-left: 36px;
}

.top-online-splide .splide__slide {
	width: 550px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: stretch;
}

.top-online-splide .product-item {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	background-image: var(--bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.top-online-splide .product-item::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition:
		transform 0.8s ease,
		opacity 0.3s ease;
	transform: scale(1);
	z-index: 0;
}

.top-online-splide .product-item:hover::before {
	transform: scale(1.05);
}

.product-item .red-tag {
	position: absolute;
	top: 30px;
	left: 30px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--akamaru-color-red_accent02);
	font-size: 14px;
	writing-mode: vertical-lr;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--akamaru-color-white);
}

.product-item .copy {
	font-size: var(--fz-16);
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
	position: absolute;
	left: 30px;
	top: calc(100% - 70%);
	line-height: 1.6;
	font-size: var(--fz-16);
}

.product-item .product-title {
	position: absolute;
	right: 30px;
	top: 30px;
	writing-mode: vertical-lr;
}

.product-item .label {
	padding: 10px 3px;
	border-radius: 50px;
	border: 0.5px solid var(--akamaru-color-navy_main);
}

.product-item .title {
	font-size: var(--fz-18);
	letter-spacing: 0.2em;
	margin-top: 15px;
}

.product-item .description {
	position: absolute;
	right: 30px;
	bottom: 30px;
	text-align: center;
	padding: 6px 12px;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.45));
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.9);
	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.12),
		inset 0 1px 1px rgba(255, 255, 255, 0.6);
}

.product-item .value {
	border-bottom: 0.5px solid var(--akamaru-color-navy_main);
	display: block;
}
.product-item .price {
	letter-spacing: var(--ls-loose);
}

.product-item .tax {
	font-size: 8px;
	margin-left: -3px;
}

@media screen and (max-width: 768px) {
	.top-online-splide {
		margin-bottom: 40px;
		padding-left: 20px;
	}

	.top-online-splide .product-item {
		width: 80vw;
		height: auto;
		aspect-ratio: 4 / 3;
		background-size: cover;
	}

	.product-item .red-tag {
		top: 20px;
		left: 20px;
		width: 50px;
		height: 50px;
		font-size: 12px;
	}

	.product-item .copy {
		font-size: var(--fz-14);
		left: 20px;
		top: 40%;
		line-height: 1.4;
	}

	.product-item .product-title {
		right: 20px;
		top: 20px;
	}

	.product-item .label {
		font-size: 10px;
		padding: 6px 3px;
	}

	.product-item .title {
		font-size: var(--fz-16);
		margin-top: 10px;
	}

	.product-item .description {
		bottom: 20px;
		right: 20px;
		font-size: 10px;
	}

	.product-item .value {
		font-size: 13px;
	}

	.product-item .price {
		font-size: 16px;
	}

	.product-item .tax {
		font-size: 8px;
	}
	.top-online-splide .splide__slide {
		width: 95%;
	}
}
@media screen and (max-width: 500px) {
	.product-item .product-title {
		top: 15px;
		right: 5px;
	}

	.product-item .title {
		font-size: 16px;
	}

	.product-item .label {
		font-size: 9px;
	}

	.product-item .copy {
		font-size: 14px;
		left: 10px;
		top: 25%;
	}

	.product-item .red-tag {
		top: 15px;
		left: 10px;
	}

	.product-item .price {
		font-size: 18px;
	}
}

/******************/
/* top-business**********/

.bg-wrapper_top-business {
	background-image: url('../../images/top-business_bg.webp');
	padding: 180px 0;
}

.top-business {
	margin-bottom: var(--space-2xl);
	position: relative;
}

.top-business-container {
	position: relative;
	isolation: isolate;
	width: 100%;
	display: grid;
	place-items: center;
	overflow: hidden;
}

.top-business-container .slide-container {
	display: grid;
	place-items: center;
	z-index: 0;
}

.top-business-container .slide-container .slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.6s ease,
		visibility 0.6s ease;
}
.top-business-container .slide-container .slide.is-active {
	opacity: 1;
	visibility: visible;
}
.top-business-container .slide-container .slide img {
	display: block;
	width: min(100%, 1296px);
	height: auto;
}

.top-business-content {
	position: absolute;
	z-index: 2;
}

.section.top-business::after {
	pointer-events: none;
}

.top-business-content {
	padding: 60px;
	background-color: var(--akamaru-color-white);
	max-width: 620px;
	width: 100%;
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 30px;
	transform: translate(0%, -50%);
}

.top-business-content .logo {
	margin: 0 0 50px;
}

.top-business-content .logo img {
	display: block;
	margin: 0 auto;
}

.top-business-content .menu-list {
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 0.5px solid var(--akamaru-color-gray_main);
	position: relative;
	max-width: 420px;
	overflow: hidden;
}

.section.top-business::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 45%);
	z-index: 1;
	pointer-events: none;
}
.top-business-content .menu-list a {
	display: block;
	color: var(--akamaru-color-black);
	transition:
		transform 0.3s ease,
		color 0.3s ease;
}

.top-business-content .menu-list {
	position: relative;
	max-width: 420px;
	border-bottom: 0.5px solid var(--akamaru-color-gray_main);
	overflow: hidden;
	transition: background-color 0.3s ease;
}

.top-business-content .menu-list:hover {
	background-color: var(--akamaru-color-navy_main);
}

.top-business-content .menu-list:hover a .title,
.top-business-content .menu-list:hover a .arrow {
	color: #fff;
	transform: translateX(15px);
}

.top-business-content .menu-list .arrow {
	transition:
		transform 0.3s ease,
		color 0.3s ease,
		filter 0.3s ease;
}

.top-business_decoration {
	position: absolute;
	top: -130px;
	left: 20px;
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.bg-wrapper_top-business {
		padding-top: 0;
		padding-bottom: 90px;
	}
	.top-business {
		margin-bottom: var(--space-xl);
	}

	.top-business-container {
		display: block;
	}

	.top-business-container .slide-container {
		position: relative;
	}

	.top-business-container .slide-container .slide img {
		width: 100%;
		height: auto;
		object-fit: cover;
		aspect-ratio: 4 / 3;
		object-position: left;
	}

	.top-business-content {
		position: relative;
		top: -0;
		right: 0;
		transform: none;
		max-width: 100%;
		width: 100%;
		padding: 40px 20px;
		background-color: var(--akamaru-color-white);
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	}

	.top-business-content .logo {
		margin: 0 auto 30px;
		text-align: center;
	}

	.top-business-content .menu-list {
		max-width: 100%;
	}

	.top-business_decoration {
		position: absolute;
		top: -60px;
		left: 10px;
		width: 240px;
	}
	.top-business_decoration {
		display: none;
	}
}
@media screen and (max-width: 500px) {
	.bg-wrapper_top-business {
		padding-bottom: 60px;
	}
	.top-business-content {
		padding: 32px 16px;
	}

	.top-business-content .logo img {
		width: 140px;
		height: auto;
	}

	.top-business-content .menu-list {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.top-business-content .menu-list a .title {
		font-size: var(--fz-16);
	}

	.section.top-business::after {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 80%);
	}
}

/******************/
/* top-store**********/

.top-store {
	margin-bottom: var(--space-xl);
}

.top-store-container {
	position: relative;
}

.top-store-content-container {
	width: 100%;
	max-width: 1220px;
	background-color: var(--akamaru-color-white);
	display: flex;
	min-height: 840px;
	height: 100%;
	justify-content: space-between;
	align-items: center;
	gap: 48px;
}

.top-store-container .thumbnail {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: clamp(520px, 55vw, 820px);
	max-width: none;
	height: auto;
}

.top-store-container .content {
	margin-left: 72px;
}

.top-store-container .content,
.top-store-container .thumbnail {
	z-index: 1;
}

.top-store-container .section-title {
	text-align: left;
	margin-bottom: var(--space-sm);
}

.top-store .en-title {
	color: var(--akamaru-color-red_accent02);
}

.top-store-container .content-wrapper {
	margin-bottom: var(--space-sm);
}

.top-store_decoration {
	position: absolute;
	top: -120px;
	right: 0;
	z-index: 3;
}

@media screen and (min-width: 1620px) {
	.top-store-container .thumbnail {
		right: 14.814vw;
	}
}

@media screen and (max-width: 768px) {
	.top-store-content-container {
		flex-direction: column-reverse;
		align-items: center;
		justify-content: flex-start;
		min-height: auto;
		padding-bottom: 60px;
		gap: 40px;
	}

	.top-store-container .content {
		margin: 0;
		text-align: center;
		order: 1;
		width: 80%;
	}

	.top-store-container .section-title {
		text-align: center;
		margin-bottom: 24px;
	}

	.top-store-container .content-wrapper {
		margin-bottom: 32px;
	}

	.top-store-container .thumbnail {
		position: relative;
		top: auto;
		right: auto;
		transform: none;
		width: 100%;
		margin: 0 auto;
		order: 2;
	}

	.top-store-container .thumbnail img {
		width: 100%;
		height: auto;
		display: block;
	}

	.top-store_decoration {
		position: absolute;
		top: -60px;
		right: 10px;
		width: 300px;
	}
	.top-store .btn {
		margin: 0 auto;
	}
}
@media screen and (max-width: 500px) {
	.top-store-content-container {
		padding-bottom: 40px;
		gap: 32px;
	}

	.top-store-container .thumbnail {
		max-width: 100%;
		width: 100%;
	}

	.top-store-container .text {
		text-align: left;
	}

	.top-store_decoration {
		top: -40px;
		right: 0;
		width: 200px;
	}
}

/******************/
/* top-order**********/

/* .top-order {
	margin-bottom: var(--space-xl);
} */

.top-order-container {
	position: relative;
}

.top-order-content-container {
	width: 100%;
	max-width: 1220px;
	margin-left: auto;
	background-color: var(--akamaru-color-white);
	display: flex;
	min-height: 840px;
	height: 100%;
	justify-content: space-between;
	align-items: center;
	gap: 48px;
}

.top-order-container .thumbnail {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: clamp(520px, 55vw, 820px);
	max-width: none;
	height: auto;
}

.top-order-container .content {
	margin-left: calc(100% - 50%);
}

.top-order-container .content,
.top-order-container .thumbnail {
	z-index: 1;
}

.top-order-container .section-title {
	text-align: left;
	margin-bottom: var(--space-sm);
}

.top-order .en-title {
	color: var(--akamaru-color-red_accent02);
}

.top-order-container .content-wrapper {
	margin-bottom: var(--space-sm);
}

.top-order_decoration {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
}
@media screen and (max-width: 768px) {
	.top-order-content-container {
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		min-height: auto;
		padding-bottom: 60px;
		gap: 40px;
	}

	.top-order-container .content {
		margin: 0;
		text-align: center;
		order: 2;
		width: 80%;
	}

	.top-order-container .section-title {
		text-align: center;
		margin-bottom: 24px;
	}

	.top-order-container .content-wrapper {
		margin-bottom: 32px;
	}

	.top-order-container .thumbnail {
		position: relative;
		top: auto;
		left: auto;
		transform: none !important;
		width: 100%;
		margin: 0 auto;
		order: 1;
	}

	.top-order-container .thumbnail img {
		width: 100%;
		height: auto;
		display: block;
	}

	.top-order_decoration {
		position: absolute;
		top: -60px;
		left: 10px;
		width: 300px;
	}

	.top-order .btn {
		margin: 0 auto;
	}
}

@media screen and (min-width: 1620px) {
	.top-order-container .thumbnail {
		left: 14.814vw;
	}
}

@media screen and (max-width: 500px) {
	.top-order-content-container {
		padding-bottom: 40px;
		gap: 32px;
	}

	.top-order-container .text {
		text-align: left;
	}

	.top-order-container .thumbnail {
		max-width: 100%;
		width: 100%;
	}

	.top-order_decoration {
		top: -40px;
		left: 0;
		width: 200px;
	}
}

/******************/
/* top-access**********/

.top-access {
	background-color: var(--akamaru-color-navy_dark02);
	padding-top: var(--space-xl);
	padding-bottom: var(--space-2xl);
	margin-bottom: var(--space-xl);
}

.access-container {
	justify-content: space-between;
}

.top-access .flex-container {
	flex-direction: row-reverse;
	justify-content: center;
	gap: 30px;
	flex-wrap: nowrap;
}

.top-access .section-inner {
	width: 80%;
}

.top-access .content-container {
	color: var(--akamaru-color-white);
	flex-basis: 50%;
}

.top-access .content {
	margin-bottom: var(--space-sm);
}

.top-access .content .content:last-child {
	margin-bottom: 0;
}

.top-access .thumbnail {
	margin-bottom: 30px;
}
.top-access .title {
	font-size: 22px;
	position: relative;
	padding-left: 10px;
	margin-bottom: 10px;
}

.top-access .title:before {
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 2px;
	height: 24px;
	background-color: var(--akamaru-color-white);
}

.top-access .content dl {
	display: flex;
	align-items: baseline;
	gap: 15px;
	font-size: var(--fz-16);
	margin-bottom: 10px;
}

.top-access .content dl:last-child {
	align-items: center;
}

.top-access .content dt {
	width: 85px;
	text-align: center;
	border: 0.5px solid var(--akamaru-color-white);
	font-size: var(--fz-12);
	letter-spacing: var(--ls-loose);
}

.top-access .content dd {
	text-align: left;
	letter-spacing: 0.05em;
}

.top-access .content dd .sp {
	display: none;
}
.top-access .map-thumbnail {
	width: 43.958vw;
}

@media screen and (max-width: 768px) {
	.access-container {
		flex-direction: column-reverse;
		align-items: center;
		gap: 50px;
	}

	.top-access .flex-container {
		flex-direction: column;
	}

	.top-access .section-inner {
		width: 90%;
	}

	.top-access .content {
		margin-bottom: 40px;
	}

	.top-access .title {
		font-size: 20px;
	}

	.top-access .title:before {
		top: 5px;
	}

	.top-access .content dl {
		flex-direction: row;
		align-items: flex-start;
		gap: 8px;
		margin-bottom: 16px;
	}
	.top-access .content dd .pc {
		display: block;
	}
	.top-access .content dd .sp {
		display: block;
	}

	.top-access .thumbnail img {
		width: 100%;
		height: auto;
		display: block;
		object-fit: cover;
	}
	.top-access .map-thumbnail img {
		max-height: 600px;
		object-fit: contain;
	}

	.top-access .maplink {
		display: inline-flex;
		align-items: center;
		font-size: var(--fz-14);
		padding-left: 6px;
	}
}

@media screen and (max-width: 500px) {
	.top-access {
		padding-top: var(--space-lg);
		padding-bottom: var(--space-xl);
	}

	.top-access .section-inner {
		width: 94%;
	}

	.access-container {
		gap: 40px;
	}

	.top-access .content {
		margin-bottom: 30px;
	}

	.top-access .map-thumbnail {
		width: 100%;
	}

	.top-access .title {
		font-size: 18px;
		margin-bottom: 15px;
		text-align: left;
		position: relative;
	}

	.top-access .content dl {
		font-size: var(--fz-14);
	}

	.top-access .content dt {
		font-size: var(--fz-12);
	}

	.top-access .maplink::after {
		font-size: 11px;
		right: -2px;
	}

	.top-access .thumbnail img {
		width: 100%;
		height: auto;
		max-height: 360px;
	}
}

/******************/
/* top-news**********/

.top-news {
	margin-bottom: var(--space-2xl);
}

.top-news .section-inner {
	width: 95%;
}
.top-news .title-wrapper {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}

.top-news .section-title {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 0;
}

.top-news .news-list {
	grid-template-columns: repeat(3, minmax(280px, 1fr));
}

.top-news .section-title .en-title {
	font-size: var(--fz-80);
}

.top-news .section-title .ja-title {
	font-size: var(--fz-24);
}

.top-news .sp-btn {
	display: none;
}
@media screen and (max-width: 800px) {
	.top-news .news-list {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

@media screen and (max-width: 768px) {
	.news-list {
		margin-bottom: 40px;
	}
	.top-news .sp-btn {
		display: flex;
		margin: 0 auto;
	}

	.top-news .pc-btn {
		display: none;
	}
	.top-news .section-title {
		flex-direction: column;
		gap: 0;
	}
	.top-news .section-title .ja-title {
		font-size: 12px;
	}
}

/******************/
/* top-news**********/
