@charset "utf-8";

:root {
	/* base */
	--cts-gutter: clamp(28px, -2.212rem + 8.91vw, 75px);/*375-768*/
	/* --cts-width: 1404px; */

	/* font */
	--dp-font-jp: "Noto Sans JP", sans-serif;
	--cts-font: "Noto Serif JP", serif;
	--cts-font2: "din-2014", sans-serif;
	--cts-font3: "din-2014-narrow", sans-serif;

	--dp-h2-size: clamp(39px,calc(1.023rem + 3.97vw),60px);
	--dp-h3-size: clamp(23px,calc(.955rem + .73vw),30px);
	--dp-h4-size: clamp(17px,calc(.886rem + .48vw),20px);
	--dp-p-l-size: clamp(13px, 0.806rem + 0.3vw, 15px);/* 本文 Large */
	--dp-p-note-size: clamp(10px,calc(.597rem + .12vw),11px);/* 本文 Notes */
	--dp-price-s-size: clamp(23px,calc(.886rem + .48vw),24px);/* 価格 Small */
	--dp-price-tax-s-size: clamp(18px,calc(.693rem + .24vw),18px);/* 円・税 Small */

	--cts-font-size: clamp(12px, 0.636rem + 0.48vw, 16px);
	--cts-font-ls: .025em;/*letter-spacing*/

	/* color */
	--color-white1: #FFFFFF;
	--color-red1: #AC003F;
	--color-red2: #4A001B;
	--color-yellow1: #FFE431;
	--color-purple1: #C3BED2;
	--color-purple2: #ACA7BB;
	--color-gray1: #A1A1A1;
	--color-gray2: #F3F3F3;
	--color-gray3: #545454;
	--color-gray4: #524E5B;
	--color-gray5: #7D7D7D;
	--color-black1: #000000;
}



/* LP共通汎用
____________________*/
#container a, #container a span {
    color: inherit;
    text-decoration: none;
}
.pagetop {
	display: none;	
}
#pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 55px;
}
#pagetop a {
	color: #fff;
	background-color: #333;
	border-radius: 5px;
	display: block;
	font-size: 12px;
	line-height: 1.5em;
	padding: 5px 10px;
	text-align: center;
	text-decoration: none;
}
figure {
	margin: 0;
	text-align: center;
}
img {
	image-rendering: -webkit-optimize-contrast;
}
.l-header {
    width: 100%;
    background: #fff;
    position: relative;
}
.c-breadcrumb--gray {
	display: flex;
	align-items: center;
}
.bnr_link_win11_wrap {
    margin: 0 auto;
}
.bnr_link_win11 img {
    transition: opacity 0.3s;
    width: 300px;
}
.bnr_link_win11 img:hover {
	opacity: 0.75;
}
.BreadcrumbList_wrap {
	background: #fff;
	position: relative;
    z-index: 2;
}
.footer-wrap {
    background: #fff;
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 768px), print and (min-width: 768px) {
	.c-breadcrumb__list.u-pc-width,
	.bnr_link_win11_wrap.u-pc-width {
		padding-inline: 30px;
	}
	.bnr_link_win11_wrap.u-pc-width {
		width: auto;
	}
}
@media screen and (max-width: 1000px) {
	.c-breadcrumb--gray {
		display: inherit;
	}
	.bnr_link_win11_wrap {
		width: 100%;
		margin: 10px auto 0 !important;
		padding-block-end: 10px;
	}
	.bnr_link_win11 {
		width: 100%;
		margin-top: 0;
		text-align: center;
	}
}
.contents__wrap {
	width: 100%;
	margin-inline: auto;
	font-size: var(--cts-font-size);
	font-family: var(--dp-font-jp);
	font-weight: 400;
	color: var(--color-black1);
	/* overflow: hidden; */
	position: relative;
}
.contents__wrap::after {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../../gamepc/img/kuzuha/bg-pc.webp) left center /cover fixed;
	background-size: cover;
	background-position: center;
	z-index: -1; /* コンテンツの下に配置 */
}
.contents__wrap img {
	max-width: 100%;
	vertical-align: bottom;
}
/* .contents {
	margin-top: 120px;
	margin-bottom: 120px;
} */
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
.flash:hover {
	animation-name: hover-flash;
	animation-duration: 1s;
	opacity: .85;
}
@keyframes hover-flash {
	0% {
		opacity: .3;
	}
	100% {
		opacity: .85;
	}
}
.contents__inner {
	width: 100%;
	max-width: var(--cts-width);
	margin-inline: auto;
	padding-inline: var(--cts-gutter);
	box-sizing: border-box;
}
.contents__wrap .link__inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-block: clamp(5px,0.236rem + 1.38vw,12px);
	padding-inline: clamp(25px,0.737rem + 2vw,40px);
	min-height: 43px;
	background: var(--color-purple2);
	font-size: clamp(15px, 0.545rem + 1.61vw, 18px);
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	letter-spacing: var(--cts-font-ls);
	box-sizing: border-box;
	overflow: hidden;
	z-index: 1;
	border-radius: 4px;
	width: 100%;
}
.link__inner::before {
	position: absolute;
	content: "";
	width: 150%;
	height: 100%;
	top: 0;
	left: -168%;
	background: #fff;
	transform: skewX(-18deg);
	opacity: .3;
	z-index: -1;
}
.link__inner::after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
    right: 24px;
    width: 9px;
    height: 9px;
    border-right: 1px solid;
    border-bottom: 1px solid;
	border-color: #fff;
	transform: rotate(-45deg);
}
.link--over::before {
	animation: link-over ease-out .4s both;
}
.link--out::before {
	animation: link-out ease-in .4s both;
}
@keyframes link-over {
	0% {
		left: -168%;
	}
	100% {
		left: -18%;
	}
}
@keyframes link-out {
	0% {
		left: -18%;
	}
	100% {
		left: 168%;
	}
}
@keyframes link-shine {
  0% {
    left: -168%;
  }
  8% {
    left: -18%;
  }
  16% {
    left: 168%;
  }
  100% {
    left: 168%;
  }
}
.link__inner::before {
  animation: link-shine 5s ease-in-out infinite;
}
.link__inner.shine::before {
  animation: link-shine 5s ease-in-out infinite;
}

.link--over::before {
  animation: link-over ease-out .4s both;
}

.link--out::before {
  animation: link-out ease-in .4s both;
}
/* コンテンツ
____________________*/
::selection {
	color: var(--color-red1);
	background-color: #F6F6F6;
}
.contents__wrap {
	padding-block-end: 0;
}
.contents {
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
}
.contents__wrap .link__inner {
	color: var(--cts-bg);
	font-size: clamp(15px, 0.545rem + 1.61vw, 17px);
	font-weight: 700;
	background: var(--cts-color);
	border-radius: 50px;
	padding-block:0;
    padding-inline: 0;
	max-width: 255px;
}
.contents__wrap .link__inner .txt {
	position: relative;
	padding-block: clamp(5px,0.236rem + 1.38vw,20px);
	width: 100%;
	height: 100%;
}
.ttl-set {
	width: 100%;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}
.ttl-set .ttl-h2 {
	width: 100%;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}
.ttl-set .ttl-h2-bg {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
/* mv
____________________*/
.contents--mv {
	width: 100%;
	height: auto;
	margin-top: 0;
	margin-bottom: 0;
	border-bottom: none;
	background: url(../../gamepc/img/kuzuha-2/kv-bg-pc.webp) no-repeat center center/cover;
	aspect-ratio: 1920 / 750;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.contents--mv .kv-ttl {
	width: 24vw;
	position: absolute;
    right: 29vw;
    top: 27vw;
    transform: translate(50%, -50%) scale(0.8) rotate(-10deg);
    z-index: 3;
    opacity: 0;
    animation: kv-ttl-appear 1s ease-out 0.5s forwards;
}

@keyframes kv-ttl-appear {
	0% {
		transform: translate(50%, -50%) scale(0.8) rotate(-10deg);
		opacity: 0;
	}
	100% {
		transform: translate(50%, -50%) scale(1) rotate(0deg);
		opacity: 1;
	}
}
.contents--mv .kv-ttl img {
	width: 100%;
	height: auto;
}
.contents--mv .kv-kuzuha {
    position: absolute;
    left: 50%;
    top: -20%;
    transform: translateX(-50%);
    z-index: 2;
    animation: kv-kuzuha-bounce 4s ease-in-out infinite;
    width: 100%;
}
.contents--mv .kv-kuzuha img {
	width: 100%;
}
@keyframes kv-kuzuha-bounce {
	0%, 100% { transform: translateX(-50%) translateY(0); }
	50% { transform: translateX(-50%) translateY(-20px); }
}
.contents--mv .kv-logo {
	position: relative;
	z-index: 3;
	width: 100%;
	height: auto;
}
.contents--mv .kv-logo img {
	width: 100%;
}
.kv-pc {
	display: block;
}
.kv-sp {
	display: none;
}
/* floating-menu
____________________*/
.floating-menu {
    position: fixed;
    top: 50%;
    right: -240px;
    transform: translateY(-50%) rotate(90deg);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    z-index: 2;
}
.floating-menu.show {
	opacity: 1;
	visibility: visible;
}
.floating-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 14px;
}
.floating-menu-item {
	margin: 10px 0;
}
.floating-menu-item a {
	font-size: 20px;
	font-family: var(--cts-font3);
	font-weight: 600;
	letter-spacing: 0.05em;
	position: relative;
	display: block;
	padding: 0 0 10px 0;
	text-decoration: none;
	color: var(--color-white1);
	overflow: hidden;
	transition: 0.5s;
}
.floating-menu-item a:hover {
	color: var(--color-red1);
	transition: 0.5s;
}
.floating-menu-item a.active {
	color: var(--color-red1);
}
/* 下線アニメーション */
.floating-menu-item a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	right: 50%;
	height: 2px;
	background: var(--color-white1);
	transition: left 0.4s ease, right 0.4s ease;
}
.floating-menu-item a.active::after {
	left: 0;
	right: 0;
}
/* intro
____________________*/
.contents--intro {
	padding-top: 65px;
}
.txt-intro {
	font-family: var(--cts-font);
	font-size: clamp(17px, -0.545rem + 3.61vw, 26px);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 2.2;
	text-align: center;
}
/* line-up
____________________*/
.contents--line-up {
	padding-top: 75px;
}
.line-up {
	width: 100%;
}
.line-up .ttl-set {
	max-width: 495px;
}
.line-up .ttl-set .ttl-h2 {
	width: 100%;
	max-width: 331px;
	position: relative;
	z-index: 1;
}
.line-up .ttl-set .ttl-h2-bg {
	width: 495px;
	height: 163px;
}
.notice-wrap {
	width: 80%;
	max-width: 950px;
	margin: 60px auto 0;
}
.emergency-block {
	width: fit-content;
	margin: 20px 0 0;
	padding-left: 30px;
	position: relative;
	z-index: 1;
}
.notice-wrap .date {
	margin-top: 0;
}
.emergency-block .emergency-star {
    width: 44px;
    height: 44px;
    position: absolute;
    top: -3px;
    left: -7px;
}
.emergency-block .emergency-txt {
	color: var(--color-red1);
    font-size: clamp(15px, -0.545rem + 3.61vw, 25px);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
	font-feature-settings: "palt";
}
.tabs {
	display: flex;
	justify-content: center;
	margin-top: 95px;
}

.tab-item {
	color: var(--color-gray2);
	font-family: var(--cts-font3);
	font-size: clamp(20px, -0.545rem + 3.61vw, 33px);
	font-weight: 700;
	width: 100%;
	max-width: 499px;
	flex: 1;
	text-align: center;
	padding: 8px 0;
	cursor: pointer;
	background-color: var(--color-gray3);
	border: 1px solid var(--color-white1);
	border-radius: 9999px;
	transition: background 0.3s, color 0.3s, transform 0.1s, box-shadow 0.1s;
	margin-right: 5px;
	box-shadow: 0 9px var(--color-black1);
	position: relative;
	z-index: 1;
}
.tab-item::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	width: 15px;
	height: 15px;
	display: block;
	border-top: 2px solid var(--color-white1);
	border-right: 2px solid var(--color-white1);
	transform: translate(-50%,-50%) rotate(45deg);
}
.tab-item:last-child {
	margin-right: 0;
}
.tab-item.active {
	background-color: var(--color-red1);
	color: #fff;
	box-shadow: 0 9px var(--color-red2);
}
.tab-item.active::after {
	transform: translate(-50%,-50%) rotate(135deg);
}
.tab-item:not(.active):hover {
	transform: translateY(9px);
	box-shadow: 0 2px #aaa;
}
.tab-item:not(.active):active {
	transform: translateY(4px);
	box-shadow: 0 1px #888;
}
.tab-content-wrapper {
	width: 100%;
	max-width: 1320px;
	margin-top: 60px;
	margin-inline: auto
	;
	position: relative;
	min-height: 300px;
	box-sizing: border-box;
}
.tab-content {
	position: relative;
	width: 100%;
	display: none;
	opacity: 0;
	transition: opacity 0.4s;
}
.tab-content.active {
	display: block;
	opacity: 1;
}
.line-up-flex-box {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 38px;
}
.line-up-flex-box .model-image-block {
	width: 40%;
	max-width: 459px;
	position: sticky;
	left: 0;
	top: 100px;
	flex: none;
}
.line-up-list {
	width: 51%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.line-up-list-item a {
	text-decoration: none;
	position: relative;
	z-index: 2;
	transition: 0.5s;
}
.line-up-list-item a::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transition: 0.5s;
}
.model-catch-set {
	width: 100%;
	padding-inline: 10px;
	background: var(--color-red1);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	z-index: 3;
}
.model-catch-set .model-catch-star {
	width: 35px;
}
.model-catch {
	color: var(--color-white1);
	font-size: clamp(15px, -0.545rem + 3.61vw, 20px);
    font-weight: 400;
    letter-spacing: 0.1em;
}
.model-detail-flex {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	padding: 10px 24px 15px 28px;
	position: relative;
	z-index: 3;
	margin-left: 1px;
	margin-right: 1px;
	margin-bottom: 1px;
	transition: 0.5s;
}
.model-name {
	color: var(--color-white1);
	font-size: clamp(18px, -0.545rem + 3.61vw, 20px);
    font-weight: 700;
    letter-spacing: 0.1em;
	line-height: 1.5;
}
.model-spec {
	color: var(--color-white1);
	font-size: clamp(13px, -0.545rem + 3.61vw, 16px);
	font-weight: 400;
	line-height: 1.8;
	margin-top: 10px;
	letter-spacing: 0.05em;
}
.model-detail-inner-2 {
	width: 160px;
	flex: none;
}
.model-price {
	color: var(--color-white1);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.model-price .tax {
	font-size: 16px;
}
.model-detail-inner-3 {
	width: 45px;
	flex: none;
}
.line-up-btn {
	width: 45px;
	height: 45px;
	border: 2px solid var(--color-white1);
	border-radius: 50%;
	display: block;
	box-sizing: border-box;
	position: relative;
	z-index: 3;
}
.line-up-btn::before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--color-white1);
	border-right: 2px solid var(--color-white1);
	display: block;
	position: absolute;
	top: 50%;
	left: calc(50% - 3px);
	transform: translate(-50%,-50%) rotate(45deg);
}
.line-up-list-item a:hover::after {
	background: rgba(0,0,0,0.8);
	transition: 0.5s;
}
.line-up-list-item:hover .model-catch-set {
	background: #FFE431;
}
.line-up-list-item a:hover .model-detail-flex::after {
	content: "";
	position: absolute;
	top: 0;
	left: -1px;
	width: 100%;
	height: 100%;
	border-left: 1px solid var(--color-yellow1);
	border-right: 1px solid var(--color-yellow1);
	border-bottom: 1px solid var(--color-yellow1);
	box-sizing: border-box;
	transition: 0.5s;
}

.line-up_caution{
	font-size: clamp(12px, -0.545rem + 3.61vw, 18px);
    font-weight: 400;
    letter-spacing: 0.08em;
    margin-top: 40px;
	text-align: center;
}

/* design
____________________*/
.contents--design {
	padding-top: 170px;
	overflow: hidden;
}
.design {
	padding-inline: 0;
}
.design .ttl-set {
	max-width: 721px;
	margin-left: 130px;
	z-index: 2;
}
.design .ttl-set .ttl-h2 {
	max-width: 525px;
}
.design .ttl-set .ttl-h2-bg {
	max-width: 721px;
}
.design-block {
	width: 90%;
	max-width: 1674px;
	padding: 100px 100px 40px 225px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.design-block::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #190064;
	/* background: linear-gradient(180deg,rgba(25, 0, 100, 0.3) 0%, rgba(25, 0, 100, 0.2) 30%, rgba(29, 17, 59, 0) 100%); */
	background: linear-gradient(180deg, rgba(25, 0, 40, 0.3) 0%, rgba(25, 0, 40, 0.2) 30%, rgba(29, 17, 59, 0) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	pointer-events: none;
}
.design-block + .design-block {
	margin-top: 150px;
}
.ttl-set-design {
	position: relative;
	z-index: 1;
}
.ttl-set-design .design-star {
	width: 54px;
	height: 54px;
	position: absolute;
    top: 10px;
    left: -60px;
}
.ttl-set-design .ttl-h3 {
	color: var(--color-red1);
	font-size: clamp(25px, -0.545rem + 3.61vw, 44px);
    font-weight: 700;
    letter-spacing: 0.08em;
	line-height: 1.5;
}
.txt-design {
	color: var(--color-white1);
	font-size: clamp(15px, -0.545rem + 3.61vw, 25px);
    font-weight: 400;
    letter-spacing: 0.08em;
	line-height: 2;
	margin-top: 15px;
}
.txt-design .under-line,
.txt-design .under-line-2,
.txt-design .under-line-3 {
	position: relative;
	z-index: 1;
}
.txt-design .under-line::after {
    content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-1.webp) no-repeat center bottom / contain;
    height: 28px;
    left: 0;
    bottom: -30px;
	z-index: -1;
}
.txt-design .under-line-2::after {
    content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-2.webp) no-repeat center bottom / contain;
    height: 24px;
    left: 0;
    bottom: -25px;
    z-index: -1;
}
.txt-design .under-line-3::after {
    content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-3.webp) no-repeat center bottom / contain;
    height: 50px;
    left: 0;
    bottom: -40px;
    z-index: -1;
}
.txt-design .txt-click-2 {
	width: 14vw;
    position: absolute;
    right:-10vw;
    top: 3vw;
}
.txt-design .txt-click-2 img {
	width: 100%;
}
.case-gallery {
	width: 100%;
	max-width: 1217px;
	margin: 80px 0 0;
	display: flex;
	justify-content: center;
	gap: 72px;
	position: relative;
}
.case-gallery .txt-click {
	width: 367px;
	height: 260px;
    position: absolute;
    right: -200px;
    top: -230px;
    z-index: 2;
	pointer-events: none;
	display: flex;
}

.case-gallery .gallery {
	position: relative;
	display: inline-block;
	z-index: 1;
}
.case-gallery .gallery img {
	display: block;
	position: relative;
	z-index: 2;
}
.case-gallery .bg-set {
	width: 100%;
	display: flex;
    justify-content: center;
    gap: 72px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.case-gallery .bg-set .bg-w {
	width: 100%;
	height: 100%;
	background: var(--color-white1);
}
.highlight-border {
	position: absolute;
	border: 2px solid var(--color-red1);
	background: var(--color-red1);
	pointer-events: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box; /* 枠線を含めてサイズを調整 */
	transition: all 0.3s ease;
}
/* モーダル本体 */
.modal-open {
	overflow: visible;
}
.modal-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
	text-align: center;
	padding: 40px 20px;
	box-sizing: border-box;
	z-index: 10;
}
.modal-container.active {
	opacity: 1;
	visibility: visible;
}
.modal-body {
	background: var(--color-white1);
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	display: inline-block;
	vertical-align: middle;
	max-width: 838px;
	width: 80%;
	padding: 0;
}
#modal1 .modal-body,
#modal2 .modal-body {
	max-width: 600px;
}
.modal-close {
position: absolute;
    top: -70px;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
}
.modal-close::before,
.modal-close::after {
	content: "";
	width: 50px;
	height: 2px;
	background: var(--color-gray5);
	position: absolute;
	bottom: 0;
	left: 0;
}
.modal-close::before {
	transform: translate(0,-50%) rotate(45deg);
}
.modal-close::after {
	transform: translate(0,-50%) rotate(-45deg);
}
.modal-slider {
	width: 100%;
}
.modal-slider div {
	box-sizing: border-box;
}
.modal-slider img {
	width: 100%;
	display: block;
	height: auto;
}
.modal-contents .slick-dots {
	text-align: center;
	margin-top: 20px;
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 8px;
	position: absolute;
	bottom: -45px;
	left: 50%;
	transform: translate(-50%, 0);
}
.modal-contents .slick-dots li button {
	font-size: 0;
	background: none;
	border: none;
	padding: 0;
}
.modal-contents .slick-dots li button:before {
	font-size: 0; /* デフォルトの丸ドットを非表示 */
	content: "";
	display: block;
	width: 29px;
	height: 3px;
	background: var(--color-white1);
	transition: background-color 0.3s;
	margin: 0 auto;
}
.modal-contents .slick-dots li.slick-active button:before {
	width: 29px;
	height: 3px;
	background: var(--color-red1);
}
.modal-contents .slick-prev,
.modal-contents .slick-next {
	width: 58px;
	height: 58px;
	background: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	border: none;
	font-size: 0;
	color: #333;
	cursor: pointer;
	border: 2px solid var(--color-gray1);
	border-radius: 50%;
	overflow: hidden;
}
.modal-contents .slick-prev {
	left: -90px;
}
.modal-contents .slick-next {
	right: -90px;
}
.modal-contents .slick-prev:before,
.modal-contents .slick-next:before {
    content: "";
    width: 10px;
    height: 18px;
    background: url(../../gamepc/img/kuzuha-2/arrow.webp) no-repeat center center / cover;
    position: absolute;
    top: 50%;
    left: 50%;
	z-index: 11;
}
.modal-contents .slick-prev:before {
	transform: translate(-50%, -50%) rotate(180deg);
}
.modal-contents .slick-next:before {
	transform: translate(-50%, -50%) ;
}
.modal-contents .slick-prev:after,
.modal-contents .slick-next::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}
/* スライダー */
.slider {
	overflow: hidden;
}
.slides {
	display: flex;
	transition: transform 0.3s ease;
}
.slides img {
	width: 100%;
	flex-shrink: 0;
}
/* ボタンとページネーションを画面に固定 */
.modal-contents .prev,
.modal-contents .next {
	width: 58px;
    height: 58px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: 2px solid var(--color-gray1);
	cursor: pointer;
	z-index: 1100;
	border-radius: 50%;
}
.modal-contents .prev::after, .modal-contents .next::after {
    content: "";
    position: absolute;
    background: rgba(0,0,0,0.8);
    width: 54px;
    height: 54px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
	border-radius: 50%;
	z-index: -1;
}
.modal-contents .prev { left: -100px; }
.modal-contents .next { right: -100px; }
.modal-contents .prev .m-arrow,.modal-contents .next .m-arrow {
    width: 11px;
    height: 17px;
	margin: 0 0 0 4px;
}
.modal-contents .prev .m-arrow {
	transform: rotate(180deg);
	margin: 0 0 0 -4px;
}
.modal-contents .pagination {
	position: absolute;
	bottom: -55px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 4px;
	z-index: 1100;
}
.modal-contents .pagination span {
	display: block;
	width: 30px;
	height: 4px;
	background: var(--color-gray2);
	cursor: pointer;
}
.modal-contents .pagination .active {
	background: var(--color-red1);
}
/* 閉じるボタンはモーダル内に残す */
.modal-contents .modal-close {
	position: absolute;
    top: -20px;
    right: -100px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 1100;
    overflow: hidden;
}
.modal-close::before,.modal-close::after {
	content: "";
	background: var(--color-gray1);
	width: 67px;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 50%;
}
.modal-close::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.modal-close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.design-block-inner-flex {
	display: flex;
	gap: 50px;
}
.cooling-logo-block {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 30px;
}
.cooling-logo-block .cooling {
	width: 100%;
	max-width: 357px;
	background: var(--color-white1);
	transition: 0.5s;
	position: relative;
}
.cooling-logo-block .cooling:hover {
	background: var(--color-red1);
}
.cooling-logo-block .bubble {
	width: 100%;
	max-width: 480px;
    margin-top: auto;
    position: relative;
    z-index: 2;
}
.cooling-logo-block .bubble .kirakira-1,
.cooling-logo-block .bubble .kirakira-2 {
	position: absolute;
	z-index: 5;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.cooling-logo-block .bubble .kirakira-1 {
	width: 99px;
	top: -40px;
    right: -135px;
}
.cooling-logo-block .bubble .kirakira-2 {
	width: 81px;
    top: 50px;
    right: -80px;
}
.cooling-logo-block .bubble .kirakira-1.on,
.cooling-logo-block .bubble .kirakira-2.on {
	opacity: 1;
	transform: scale(1.1);
}
/* スイッチ全体 */
.switch-wrap {
	margin-top: 60px;
}
.switch {
	position: relative;
	display: inline-block;
	width: 120px;
	height: 46px;
	margin-top: 10px;
}
.txt-switch {
	color: var(--color-white1);
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.1em;
}
/* inputは非表示 */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* スイッチの背景部分 */
.switch-btn {
	position: absolute;
	cursor: pointer;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: var(--color-red1);
	transition: 0.4s ease;
	border-radius: 32px;
}

/* 丸いノブ */
.switch-btn:before {
	position: absolute;
	content: "";
	height: 38px; 
	width: 38px;
	right: 4px;  /* 初期は右（OFF） */
	bottom: 4px;
	background-color: white;
	transition: 0.4s ease;
	border-radius: 50%;
}

/* ON のとき（左へ移動） */
.switch input:checked + .switch-btn {
	background-color: var(--color-gray4);
}
.switch input:checked + .switch-btn:before {
	transform: translateX(-73px);
}
.led {
	width: 100%;
	max-width: 700px;
}
.design-note {
	color: var(--color-white1);
	font-size: clamp(12px, -0.545rem + 3.61vw, 18px);
    font-weight: 400;
    letter-spacing: 0.08em;
	margin-top: 40px;
}
.design-note.pc-mt0 {
	margin-top: 0;
}
/* benefits
____________________*/
.contents--benefits {
	padding: 240px 0 0;
	margin-block: 0;
}
.benefits {
	width: 100%;
	padding-inline: 0;
	margin: 0;
    position: relative;
    z-index: 1;
}
.benefits-wrap {
	width: 90vw;
	max-width: 1636px;
	box-sizing: border-box;
    padding: 140px 150px 120px 180px;
	box-sizing: border-box;
	margin: 25px 0 0 auto;
	position: relative;
}
.benefits-wrap::before {
	content: "";
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none;
}
.benefits-wrap::after {
	content: "";
    width: 100%;
    height: 100%;
    background: url(../../gamepc/img/kuzuha/bg-pc.webp) left center / cover fixed;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    pointer-events: none;
}
.benefits .ttl-set {
	max-width: 520px;
	margin: 0 0 0 15vw;
}
.benefits .ttl-set .ttl-h2 {
    max-width: 360px;
}
.benefits .ttl-set .ttl-h2-bg {
	max-width: 520px;
}
.benefits-wrap-inner-flex {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.benefits-wrap-inner-flex.column {
	flex-direction: column;
}
.benefits-wrap-inner-flex + .benefits-wrap-inner-flex {
	margin-top: 150px;
}
.benefits-wrap-inner-flex:nth-of-type(1) .inner-flex-item:nth-of-type(1) {
	width: 35.2vw;
}
.benefits-wrap-inner-flex:nth-of-type(1) .inner-flex-item:nth-of-type(2) {
	margin-left: 5vw;
}
.benefits-wrap-inner-flex:nth-of-type(2) .inner-flex-item:nth-of-type(1) {
	width: 44vw;
}
.benefits-wrap-inner-flex:nth-of-type(2) .inner-flex-item:nth-of-type(2) {
	margin-left: 5vw;
}
.benefits-wrap-inner-flex:nth-of-type(3) .inner-flex-item:nth-of-type(1) {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	margin-left: auto;
}
.benefits-wrap-inner-flex:nth-of-type(3) .inner-flex-item:nth-of-type(2) {
	margin-top: 30px;
	display: flex;
	align-items: flex-end;
	gap: 90px;
}
.benefits-wrap-inner-flex:nth-of-type(4) .inner-flex-item:nth-of-type(2) {
	width: 23vw;
	margin-left: 3vw;
}
.ttl-set-benefits {
	position: relative;	
}
.ttl-set-benefits .benefits-number {
	color: var(--color-red1);
	font-family: var(--cts-font3);
	font-size: clamp(30px, -0.545rem + 3.61vw, 40px);
	font-weight: 700;
	position: absolute;
    top: 5px;
    left: -70px;
	z-index: 1;
}
.benefits-wrap-inner-flex.column .ttl-set-benefits .benefits-number {
	position: relative;
	top: inherit;
	left: inherit;
	line-height: 1;
}
.and {
	width: 50px;
}
.ttl-set-benefits .h3-ttl {
	color: var(--color-white1);
	font-size: clamp(25px, -0.545rem + 4.61vw, 45px);
	font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
}
.txt-benefits {
	color: var(--color-white1);
    font-size: clamp(15px, -0.545rem + 3.61vw, 25px);
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 2;
    margin-top: 15px;
}
.txt-benefits .under-line-3 {
	position: relative;
}
.txt-benefits .under-line-3::after {
    content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-3.webp) no-repeat center bottom / contain;
    height: 45px;
    left: 0;
    bottom: -35px;
    z-index: -1;
}
.benefits-note {
	color: var(--color-purple1);
	font-size: clamp(11px, -0.545rem + 3.61vw, 15px);
	line-height: 1.7;
    letter-spacing: 0.05em;
	margin-top: 40px;
}
/* mp3player */
.txt-plyer {
	color: var(--color-red1);
	font-family: var(--cts-font3);
	font-size: clamp(21px, -0.545rem + 3.61vw, 31px);
	letter-spacing: 0.05em;
	font-weight: 600;
	text-align: center;
}
.player {
	width: 447px;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #F1F3F4;
	padding: 10px 20px;
	margin: 15px 0 0;
	border-radius: 9999px;
	box-sizing: border-box;
	flex: none;
	position: relative;
}
.player button {
	font-family:"Noto Sans JP", sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	border: none;
	background: none;
	font-size: 24px;
	cursor: pointer;
}
.player .playPauseBtn {
	font-size: 13px;
	line-height: 1;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	flex: none;
}
.player .playPauseBtn:hover {
	background: #e0e0e0;
}
.player input[type="range"] {
	width: 100%;
	height: 1px;
	appearance: auto;
	background: inherit;
	accent-color: #484848;
}
.player input[type="range"]::-webkit-slider-thumb {
	width: 8px;
	height: 8px;
}
.player .currentTime, .duration {
	font-size: 14px;
}
.player .volumeIcon {
	width: 20px;
}
.player .action-1 {
    width: 13vw;
    position: absolute;
    top: -6vw;
    right: -8vw;
    z-index: 3;
}
.wallpaper-flex {
	width: 40vw;
	display: flex;
	gap: 20px;
}
.wallpaper-flex .cooling {
	cursor: pointer;
}
.flex-item-left {
	width: 40vw;
	aspect-ratio: 5 / 2.5;
	position: relative;
	z-index: 1;
}
.flex-item-left .poster {
	width: 23vw;
	max-width: 423px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	cursor: pointer;
}
.flex-item-left .sticker {
	width: 23vw;
	max-width: 421px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	cursor: pointer;
	overflow: visible;
}
.flex-item-left .poster figcaption,
.flex-item-left .sticker figcaption {
	color: var(--color-purple2);
	font-family: var(--cts-font3);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
	letter-spacing: 0.05em;
	position: absolute;
	left: 0;
}
.flex-item-left .sticker .action-2 {
	width: 5vw;
    position: absolute;
    top: -5vw;
    right: -3vw;
}
.box {
	position: relative;
	z-index: 1;
	margin-top: 2.5vw;
}
.speech-bubble {
	width: 360px;
    margin-inline: auto;
	color: var(--color-yellow1);
	font-size: clamp(17px, -0.545rem + 3.61vw, 22px);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4;
	text-align: center;
	position: relative;
	z-index: 1;
}
.speech-bubble::before,
.speech-bubble::after {
	content: "";
	position: absolute;
	z-index: -1;
}
.speech-bubble::before {
	width: 3vw;
    height: 6vw;
	background: url(../../gamepc/img/kuzuha-2/action-lines-3.webp) no-repeat center center/contain;
	top: 0;
	left: 0;
}
.speech-bubble::after {
	width: 3vw;
    height: 6vw;
	background: url(../../gamepc/img/kuzuha-2/action-lines-4.webp) no-repeat center center/contain;
	top: 0;
	right: 0;
}
.speech-bubble .under-line-4 {
	position: relative;
	z-index: 1;
}
.speech-bubble .under-line-4::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-4.webp) no-repeat center bottom / contain;
    height: 85px;
    left: 0;
    bottom: -65px;
    z-index: -1;
}
.box .action-3 {
    width: 7vw;
    display: block;
    position: absolute;
    top: 1vw;
    right: -5vw;
}
/* special contents
____________________*/
.contents--special-contents {
	padding-top: 225px;
}
.special-contents {
	max-width: 1347px;
}
.special-contents .ttl-set {
    max-width: 771px;
    z-index: 2;
}
.special-contents .ttl-set .ttl-h2 {
    max-width: 663px;
}
.special-contents-wrap {
	width: 100%;
	padding: 220px 35px 120px;
	padding: 110px 35px 120px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.special-contents-wrap::after {
	content: "";
	background: var(--color-purple1);
	width: 100%;
	height: 100%;
	display: block;
	opacity: 0.5;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.special-contents-block {
	z-index: 2;
}
.special-contents-block.w655 {
	max-width: 655px;
	margin-inline: auto;
}
.special-contents-block + .special-contents-block {
	margin-top: 160px;
}
.special-contents-block .h3-ttl {
	color: var(--color-red1);
	font-size: clamp(22px, -0.545rem + 4.61vw, 40px);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.9;
	text-align: center;
	width: fit-content;
	margin-inline: auto;
	position: relative;
	z-index: 3;
}
.special-contents-block .h3-ttl .action-4 {
    width: 6vw;
    position: absolute;
    top: 0vw;
    right: -5vw;
}
.method {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}
.method .logo-x {
	width: 116px;
	flex: none;
}
.method .txt-method {
	color: var(--color-black1);
	font-size: clamp(18px, -0.545rem + 4.61vw, 30px);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.9;
	text-align: left;
}
.method .txt-method .under-line-5 {
	position: relative;
}
.method .txt-method .under-line-5::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-5.webp) no-repeat center bottom / contain;
    height: 13px;
    left: 0;
    bottom: -9px;
    z-index: 1;
}
.txt-special-contents {
	font-size: clamp(15px, -0.545rem + 3.61vw, 22px);
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin-top: 35px;
}
.txt-special-contents-catch {
	font-size: clamp(18px, -0.545rem + 3.61vw, 25px);
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: center;
}
.txt-special-contents.small {
	font-size: clamp(11px, -0.545rem + 3.61vw, 18px);
	margin-top: 25px;
}
.txt-special-contents.w655 {
	max-width: 655px;
    margin-inline: auto;
}
.red {
	color: var(--color-red1);
}
.detail-box {
	border: 2px solid var(--color-black1);
	padding: 20px 20px 40px;
	box-sizing: border-box;
	margin-top: 40px;
}
.detail {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.detail-inner-block {
	position: relative;
}
.detail-inner-block:nth-of-type(2) {
	margin-top: 50px;
}
.detail-inner-block:nth-of-type(2)::after {
    content: "";
    width: 22px;
    height: 2px;
    background: var(--color-black1);
    display: block;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}
.detail dt {
	font-size: clamp(22px, -0.545rem + 3.61vw, 30px);
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.s-c-star {
	width: 54px;
	display: block;
}
figure.s-c-star img {
    vertical-align: middle;
}
.detail dd {
	font-size: clamp(15px, -0.545rem + 3.61vw, 20px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
	margin-top: 20px;
}
.detail-inner-block a {
	font-size: clamp(12px, -0.545rem + 3.61vw, 20px);
}
.detail dd a {
	text-decoration: none;
	color: var(--color-black1);
	transition: 0.5s;
}
.detail dd a:hover {
	text-decoration: underline;
	transition: 0.5s;
}
.s-c-inner-flex {
	display: flex;
	gap: 35px;
}
.s-c-inner-flex .bnr {
	width: 40vw;
    margin-inline: 2vw;
}
.s-c-inner-flex .panel {
	width: 49vw;
}
.s-c-inner-flex .txt-block {
	width: 49vw;
	max-width: 555px;
	flex: none;
}
.s-c-inner-flex .h3-ttl-wrap {
	position: relative;
	margin-top: 60px;
}
.s-c-inner-flex .h3-ttl-wrap .h3-ttl {
	text-align: left;
}
.s-c-inner-flex .h3-ttl-wrap .kirakira-1,
.s-c-inner-flex .h3-ttl-wrap .kirakira-2 {
	position: absolute;
	z-index: 5;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.s-c-inner-flex .h3-ttl-wrap .kirakira-1 {
	width: 71px;
	top: -50px;
    right: -35px;
}
.s-c-inner-flex .h3-ttl-wrap .kirakira-2 {
	width: 58px;
    top: 10px;
    right: 20px;
}
.s-c-inner-flex .h3-ttl-wrap .kirakira-1.on,
.s-c-inner-flex .h3-ttl-wrap .kirakira-2.on {
	opacity: 1;
	transform: scale(1.1);
}
.s-c-inner-flex.white-box {
	align-items: center;
	padding: 25px;
	margin-top: 40px;
	background: var(--color-white1);
}
.s-c-inner-flex.white-box .txt-block {
	width: 45vw;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.s-c-inner-flex.white-box .txt-special-contents:nth-of-type(1) {
	margin-top: 0;
}
.cp-link {
	width: 100%;
    max-width: 482px;
	text-align: center;
	text-decoration: none;
	display: block;
    background: var(--color-red1);
    border: 2px solid var(--color-white1);
    border-radius: 6px;
    transition: 0.5s;
    box-sizing: border-box;
    flex: none;
    padding-block: 28px;
    margin-top: 40px;
    position: relative;
    z-index: 1;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.7);
}
.cp-link::before,
.cp-link::after {
	content: "";
    position: absolute;
    z-index: 2;
}
.cp-link::before {
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-white1);
    border-right: 2px solid var(--color-white1);
    top: calc(50% - -2px);
    right: 33px;
    transform: rotate(45deg) translate(-50%, -50%);
}
.cp-link::after {
	width: 30px;
    height: 30px;
    border: 2px solid var(--color-white1);
    border-radius: 50%;
    top: 50%;
    right: 5px;
    transform: translate(-50%, -50%);
}
.cp-link:hover {
    background: var(--color-red2);
}
.cp-link .txt {
	color: var(--color-white1);
    font-size: clamp(16px, -0.545rem + 3.61vw, 25px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
}
.date {
	display: flex;
	align-items: center;
	margin-top: 40px;
}
.date dt,.date dd {
	font-size: clamp(15px, -0.545rem + 3.61vw, 20px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.date dt {
	display: flex;
	align-items: center;
	position: relative;
}
.date dt .s-c-star {
	width: 33px;
}
.s-c-note {
	font-size: clamp(15px, -0.545rem + 3.61vw, 18px);
	font-weight: 500;
	text-align: left;
	margin-top: 20px;
	margin-left: 7em;
}
.shops-btn {
	width: 100%;
	max-width: 482px;
	background: var(--color-red1);
	border: 2px solid var(--color-white1);
	border-radius: 6px;
	transition: 0.5s;
	cursor: pointer;
	box-sizing: border-box;
	flex: none;
	padding-block: 28px;
	margin-top: 40px;
	position: relative;
	z-index: 1;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.7);
}
.shops-btn::before,
.shops-btn::after {
	content: "";
	position: absolute;
	z-index: 2; 
}
.shops-btn::before {
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-white1);
    border-right: 2px solid var(--color-white1);
    top: calc(50% - -2px);
    right: 33px;
    transform: rotate(45deg) translate(-50%, -50%);
}
.shops-btn::after {
	width: 30px;
	height: 30px;
	border: 2px solid var(--color-white1);
	border-radius: 50%;
	top: 50%;
	right: 5px;
	transform: translate(-50%,-50%);
}
.shops-btn p {
	color: var(--color-white1);
	font-size: clamp(16px, -0.545rem + 3.61vw, 25px);
    font-weight: 700;
	line-height: 1;
    letter-spacing: 0.1em;
	text-align: center;
}
.shops-btn:hover {
	background: var(--color-red2);
}
.shop-list-wrap {
	padding: 50px;
	box-sizing: border-box;
}
.shop-list-wrap .ttl-h3-set {
	border-bottom: 1px solid var(--color-black1);
	padding-bottom: 25px;
}
.shop-list-wrap .ttl-h3-set .ttl-h3 {
	font-size: clamp(22px, -0.545rem + 3.61vw, 30px);
    font-weight: 700;
	line-height: 1;
    letter-spacing: 0.05em;
	text-align: left;
}
.shop-list-block {
	max-height: 500px;
	overflow-y: auto;
	padding-right: 10px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	margin-top: 20px;
}
.shop-list li {
	color: var(--color-black1);
	font-size: clamp(15px, -0.545rem + 3.61vw, 18px);
	font-weight: 400;
	line-height: 2;
	text-align: left;
}
/* gallery
____________________*/
.contents--gallery {
	padding-top: 200px;
}
.gallery {
	width: 92%;
	max-width: 1737px;
}
.gallery .ttl-set {
	max-width: 751px;
}
.gallery .ttl-set .ttl-h2 {
    max-width: 368px;
}
.movie-wrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 48px;
	margin-top: 165px;
}
.movie-thum {
	width: 497px;
	aspect-ratio: 16 / 9;
	cursor: pointer;
}
.movie-thum iframe {
	width: 100%;
	height: 100%;
}
.movie-thum.comming-soon {
	cursor: none;
	pointer-events: none;
	position: relative;
	z-index: 1;
}
.movie-thum.comming-soon::before {
	content: "COMING SOON";
	color: var(--color-white1);
	font-family: var(--cts-font3);
	font-size: clamp(30px, -0.545rem + 5.61vw, 50px);
	font-weight: 600;
	letter-spacing: 0.05em;
	white-space: nowrap;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 3;
}
.movie-thum.comming-soon::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-black1);
	width: 100%;
	height: 100%;
	z-index: 2;
}
.movie-block {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.movie-block iframe {
	width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	padding: 0;
	border: none;
}
.movie-note {
	color: var(--color-white1);
    font-size: clamp(12px, -0.545rem + 3.61vw, 18px);
    font-weight: 400;
    letter-spacing: 0.08em;
	text-align: center;
	margin-top: 40px;
}
/* profile
____________________*/
.contents--profile {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 240px;
	padding-bottom: 140px;
}
.profile .ttl-set {
	max-width: 535px;
}
.profile .ttl-set .ttl-h2 {
    max-width: 354px;
}
.logo-kuzuha {
	width: 60%;
	max-width: 160px;
	margin: 90px auto 0;
}
.txt-profile {
	width: fit-content;
	font-size: clamp(15px, -0.545rem + 3.61vw, 22px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	display: block;
	margin: 70px auto 0;
}
.txt-profile .action-5 {
    width: 4vw;
    position: absolute;
    top: -1.5vw;
    right: 10vw;
    z-index: 3;
}
.under-line-6,
.under-line-7 {
	display: inline-block;
	position: relative;
	z-index: 1;
}
.under-line-6::before {
    content: "";
    width: 71px;
    height: 40px;
    background: url(../../gamepc/img/kuzuha-2/action-lines-7.webp) no-repeat center center / contain;
    position: absolute;
    top: -18px;
    right: -10px;
    z-index: 3;
}
.under-line-6::after {
    content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-6.webp) no-repeat center bottom / contain;
    height: 12px;
    left: -7px;
    bottom: -6px;
    z-index: 1;
}
.under-line-7::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-7.webp) no-repeat center bottom / contain;
    height: 14px;
    left: 0px;
    bottom: -6px;
    z-index: 1;
}
.sns-list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 52px;
	margin: 100px auto 0;
}
.sns-icon a {
	width: 123px;
	display: block;
	transition: transform 0.3s;
}
.sns-icon a:hover {
	transform: scale(1.05);
}
.lp-copy {
	color: var(--color-black1);
	font-size: clamp(10px, -0.545rem + 3.61vw, 20px);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	margin-top: 140px;
}
.contents__wrap .sp-bg {
	display: none;
}
@media (max-width: 1550px) {
	/* コンテンツ
____________________*/
/* modal */
.modal-close {
	width: 32px;
	height: 32px;
	top: -35px;
	right: 0px;
}
.modal-close::before, .modal-close::after {
	width: 32px;
}
.modal-contents .slick-prev, .modal-contents .slick-next {
	width: 43px;
	height: 43px;
}
}
@media (max-width: 1500px) {/*375-1500*/
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
/* コンテンツ
____________________*/
.contents__wrap::after {
	content: none;
}
.contents__wrap .sp-bg {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../../gamepc/img/kuzuha-2/bg-sp.webp');
	background-repeat: no-repeat;
	background-size: cover; /* 画像がビューポートを覆うようにスケール */
	background-position: center top; /* 中央に配置 */
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
.contents__wrap .contents {
	max-width: 768px;
	margin-inline: auto;
}
.ttl-h2 {
	padding-bottom: 20px;
}
.ttl-h2::after {
	width: 10px;
	height: 1px;
}
/* modal */
.modal-contents {
    padding: 0;
}
.modal-body {
	width: 82%;
}
.modal-contents .slick-prev {
    left: -25px;
}
.modal-contents .slick-next {
    right: -25px;
}
.modal-contents .slick-dots li.slick-active button:before,
.modal-contents .slick-dots li button:before {
	width: 23px;
}
/* intro
____________________*/
.contents--intro {
	padding-top: 35px;
}
.txt-intro {
	letter-spacing: 0;
}
/* line-up
____________________*/
.contents--line-up {
	padding-top: 40px;
}
.line-up .ttl-set {
	width: 230px;
}
.line-up .ttl-set .ttl-h2 {
	width: 145px;
}
.line-up .ttl-set .ttl-h2-bg {
	width: 100%;
	height: 93px;
}
.model-image-block {
	max-width: 246px;
	margin: 20px auto 0;
}
.notice-wrap {
	width: 100%;
	margin-top: 20px;
}
.notice-wrap .date {
	margin-top: 0;
}
.emergency-block .emergency-star {
	width: 34px;
	height: 34px;
	top: -6px;
	left: -3px;
}
.tabs {
	margin-top: 20px;
}
.tab-item::after {
    right: 14px;
    width: 8px;
    height: 8px;
}
.tab-content-wrapper {
	margin-top: 25px;
}
.line-up-flex-box {
	flex-direction: column;
}
.line-up-list {
	width: 100%;
}
.model-detail-flex {
	flex-direction: column;
	align-items: flex-start;
	padding: 10px 15px 15px 15px;
}
.model-detail-inner-3 {
	width: 42px;
	position: absolute;
	right: 16px;
	bottom: 16px;
}
.line-up-btn {
	width: 42px;
	height: 42px;
}
/* design
____________________*/
.contents--design {
	padding-top: 70px;
}
.design .ttl-set {
	width: 316px;
	margin: 0 auto;
}
.design .ttl-set .ttl-h2 {
	width: 222px;
}
.design .ttl-set .ttl-h2-bg {
	width: 100%;
	height: 130px;
}
.design-block {
	width: calc(100% - 24px);
	padding: 70px 20px 30px;
	margin: 0 auto;
}
.design-block:first-child {
	margin-top: -40px;
}
.design-block:nth-of-type(n+2) {
	padding-top: 40px;
}
.design-block + .design-block {
	margin-top: 35px;
}
.ttl-set-design .design-star {
    width: 38px;
    height: 38px;
    top: 0;
    left: 0;
}
.ttl-set-design .ttl-h3 {
	padding-left: 38px;
}
.txt-design {
	margin-left: 38px;
}
.txt-design .under-line::after {
	bottom: -2.5vw;
}
.case-gallery {
	margin: 30px 0 0;
	gap: 5px;
}
.case-gallery .bg-set {
	gap: 5px;
}
.case-gallery .txt-click {
    width: 109px;
    height: 60px;
    position: absolute;
    right: -19px;
    top: -50px;
}
.design-note {
	text-align: center;
	margin-top: 30px;
}
.design-block-inner-flex {
	flex-direction: column;
	gap: 40px;
}
.txt-design .under-line-2::after {
	top: 3.5vw;
}
.cooling-logo-block {
	gap: 10px;
}
.cooling-logo-block .bubble .kirakira-1 {
    width: 29px;
    top: -30px;
    right: -15px;
}
.cooling-logo-block .bubble .kirakira-2 {
	width: 24px;
	top: -10px;
    right: 0px;
}
.led {
	margin-top: 50px;
}
.design-note.pc-mt0 {
	margin-top: 20px;
}
.txt-design .under-line-3::after {
	height: 34px;
    bottom: -29px;
}
.txt-design .txt-click-2 {
    width: 18vw;
	position: absolute;
	right: -60%;
	top: 105%;
	max-width: 150px;
}
.switch-wrap {
	text-align: center;
	margin-top: 30px;
}
.switch {
	width: 102px;
	height: 39px;
}
.switch-btn:before {
	width: 33px;
	height: 33px;
	bottom: 3px;
}
.switch input:checked + .switch-btn:before {
    transform: translateX(-62px);
}
/* benefits
____________________*/
.contents--benefits {
	padding: 60px 0 0;
}
.benefits .ttl-set {
	width: 260px;
	margin: 0 auto;
}
.benefits .ttl-set .ttl-h2 {
	width: 160px;
}
.benefits .ttl-set .ttl-h2-bg {
	width: 100%;
	height: 90px;
}
.benefits-wrap {
	width: calc(100% - 24px);
	padding: 50px 20px 50px 20px;
	margin: -15px 12px 0;
}
.benefits-wrap-inner-flex {
	flex-direction: column;
}
.benefits-wrap-inner-flex:nth-of-type(1) .inner-flex-item:nth-of-type(1) {
	width: 100%;
}
.ttl-set-benefits {
    position: relative;
    padding-left: 55px;
}
.ttl-set-benefits .benefits-number {
    top: -3px;
    left: 0;
}
.ttl-set-benefits .h3-ttl {
	letter-spacing: 0;
}
.txt-benefits {
	text-align: center;
}
.txt-benefits .under-line-3::after {
	bottom: -5.5vw;
}
.benefits-wrap-inner-flex:nth-of-type(1) .inner-flex-item:nth-of-type(2){
	margin: 30px auto 0;
}
.benefits-wrap-inner-flex:nth-of-type(2) .inner-flex-item:nth-of-type(1) {
	width: 100%;
}
.benefits-wrap-inner-flex:nth-of-type(2) .inner-flex-item:nth-of-type(2) {
	margin-left: 0;
	width: 100%;
}
.benefits-wrap-inner-flex:nth-of-type(3) .inner-flex-item:nth-of-type(1) {
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
}
.benefits-wrap-inner-flex:nth-of-type(3) .inner-flex-item:nth-of-type(2) {
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}
.benefits-wrap-inner-flex:nth-of-type(4) .inner-flex-item:nth-of-type(2) {
	width: 100%;
	margin-top: 20px;
	margin-left: 0;
}
.benefits-wrap-inner-flex + .benefits-wrap-inner-flex {
	border-top: 1px solid var(--color-gray5);
	margin-top: 40px;
	padding-top: 35px;
}
.player {
	width: 270px;
	margin-inline: auto;
}
.player .action-1 {
	width: 70px;
	position: absolute;
	top: -50px;
	right: -40px;
	z-index: 3;
}
.benefits-note {
	margin-top: 20px;
}
.wallpaper-flex {
	width: 74%;
	flex-direction: column;
	margin: 35px auto 0;
}
.cooling  {
	width: 100%;
}
.benefits-wrap-inner-flex.column .ttl-set-benefits .benefits-number {
	position: absolute;
	top: 3px;
	left: 0;
}
.and {
	width: 25px;
	margin-inline: auto;
}
.flex-item-left {
	width: 100%;
	aspect-ratio: 308 / 208;
	max-width: 520px;
	margin-inline: auto;
}
.flex-item-left .poster {
	width: 60%;
}
.flex-item-left .sticker {
	width: 60%;
}
.flex-item-left .poster figcaption, .flex-item-left .sticker figcaption {
	display: none;
}
.flex-item-left .sticker .action-2 {
	width: 30px;
	top: -38px;
	right: -10px;
}
.benefits-wrap-inner-flex + .benefits-wrap-inner-flex .txt-benefits {
	text-align: left;
}
.speech-bubble {
	width: 300px;
}
.speech-bubble .under-line-4::after {
	height: 65px;
	bottom: -49px;
}
.speech-bubble::before {
	width: 40px;
	height: 64px;
	top: 30px;
	left: 10px;
}
.speech-bubble::after {
	width: 30px;
	height: 60px;
	top: 30px;
	right: 10px;
}
.box {
	width: 72vw;
	max-width: 272px;
	margin: 60px auto 0;
}
.box .action-3 {
	width: 50px;
	top: 30px;
	right: -30px;
}
/* floating-menu
____________________*/
.floating-menu {
	display: none;
}
/* special-contents
____________________*/
.special-contents {
	padding-inline: 12px;
}
.special-contents-wrap {
    padding: 130px 20px 30px;
	margin-top:-90px;
}
.special-contents-block + .special-contents-block {
	margin-top: 65px;
}
.contents--special-contents {
    padding-top: 65px;
}
.special-contents .ttl-set {
	width: 328px;
	margin-inline: auto;
}
.special-contents .ttl-set .ttl-h2 {
	width: 235px;
}
.special-contents-block .h3-ttl .action-4 {
    width: 9vw;
    top: 9vw;
    right: -1vw;
}
.method {
	flex-direction: column;
}
.method .logo-x {
    width: 16vw;
}
.sp-none {
	display: none;
}
.txt-special-contents {
	margin-top: 25px;
}
.txt-special-contents.small {
	margin-top: 10px;
}
.s-c-star {
	width: 27px;
}
.detail-box {
    padding: 15px 10px 15px;
	margin-top: 30px;
}
.detail dd {
	margin-top: 10px;
}
.detail-inner-block:nth-of-type(2) {
    margin-top: 30px;
}
.detail-inner-block:nth-of-type(2)::after {
	top: -10px;
	width: 14px;
}
.s-c-inner-flex {
	flex-direction: column-reverse;
}
.s-c-inner-flex .txt-block {
	width: 100%;
	max-width: inherit;
}
.s-c-inner-flex .h3-ttl-wrap {
	margin-top: 0;
}
.s-c-inner-flex .h3-ttl-wrap .h3-ttl {
	text-align: center;
}
.s-c-inner-flex .h3-ttl-wrap .kirakira-1 {
	width: 32px;
	top: -30px;
	right: -25px;
}
.s-c-inner-flex .h3-ttl-wrap .kirakira-2 {
	width: 27px;
	top: 10px;
	right: -10px;
}
.s-c-inner-flex .bnr {
	width: 64vw;
	max-width: 500px;
	margin-inline: auto;
}
.s-c-inner-flex .panel {
    width: 64vw;
	max-width: 500px;
	margin: 40px auto 0;
}
.s-c-inner-flex.white-box {
	max-width: 655px;
	padding: 20px 15px;
	margin-top: 20px;
}
.s-c-inner-flex.white-box .txt-block {
	width: 100%;
}
.s-c-inner-flex.white-box .date {
	margin-top: 20px;
}
.cp-link {
	width: 100%;
	padding-block: 18px;
	margin: 30px auto 0;
	min-width: inherit;
}
.cp-link::before {
	right: 22px;
}
.cp-link::after {
	width: 26px;
	height: 26px;
	right: -3px;
}
.s-c-note {
	margin-left: 33px;
}
.date {
	flex-direction: column;
	align-items: flex-start;
}
.date dd {
	margin-left: 33px;
}
.shops-btn {
        width: 43vw !important;
        padding-block: 18px;
        margin: 30px auto 0;
        min-width: 277px;
}
.shops-btn::before {
	width: 6px;
    height: 6px;
	right: 21px;
}
.shops-btn::after {
	width: 26px;
    height: 26px;
	right: -3px;
}
.shop-list-wrap {
	padding: 20px 10px;
}
.shop-list-block {
	gap: 0;
}
/* gallery
____________________*/
.gallery {
	width: 100%;
}
.contents--gallery {
    padding-top: 60px;
}
.gallery .ttl-set {
	max-width: 320px;
}
.gallery .ttl-set .ttl-h2 {
	max-width: 163px;
}
.gallery .ttl-set .ttl-h2-bg {
	top: 30%;
}
.movie-wrap {
	margin-top: 55px;
}
.movie-wrap .movie-thum {
	width: 100%;
	max-width: 497px;
}
.movie-note {
	margin-top: 20px;
}
/* profile
____________________*/
.contents--profile {
	padding-top: 90px;
	padding-bottom: 60px;
}
.profile .ttl-set {
	width: 198px;
}
.profile .ttl-set .ttl-h2 {
	width: 126px;
}
.profile .ttl-set .ttl-h2-bg {
	top: 30%;
}
.logo-kuzuha {
	width: 80px;
	margin-top: 30px;
}
.txt-profile {
	text-align: left;
	margin: 35px auto 0;
}
.txt-profile .action-5 {
    width: 8vw;
    top: 3vw;
    right: 68vw;
}
.under-line-6-1,
.under-line-6-2,
.under-line-7-1,
.under-line-7-2 {
	display: inline-block;
    position: relative;
    z-index: 1;
}

.under-line-6-1::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-6-sp-1.webp) no-repeat center bottom / contain;
	height: 12px;
	left: 0px;
    bottom: -1px;
    z-index: 1;
}
.under-line-6-2::before {
	content: "";
	width: 31px;
	height: 20px;
	background: url(../../gamepc/img/kuzuha-2/action-lines-7.webp) no-repeat center center / contain;
	position: absolute;
	top: -7px;
	right: 4px;
	z-index: 3;
}
.under-line-6-2::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-6-sp-2.webp) no-repeat center bottom / contain;
	height: 7px;
	left: -6px;
	bottom: -4px;
    z-index: 1;
}
.under-line-7-1::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-7-sp-1.webp) no-repeat center bottom / contain;
	height: 12px;
	left: 0px;
    bottom: -7px;
    z-index: 1;
}
.under-line-7-2::after {
	content: "";
    position: absolute;
    width: 100%;
    background: url(../../gamepc/img/kuzuha-2/under-line-7-sp-2.webp) no-repeat center bottom / contain;
	height: 12px;
	left: 0px;
    bottom: -7px;
    z-index: 1;
}
.sns-list {
	margin-top: 60px;
	gap: 37px;
}
.sns-icon a {
	width: 82px;
}
.lp-copy {
	margin-top: 60px;
}
}
@media screen and (max-width: 768px) {
/* mv
____________________*/
.contents--mv {
	aspect-ratio: 375 / 475;
}
.contents--mv .kv-ttl {
    width: 53vw;
    right: 29vw;
    top: 73vw;
}
.contents--mv .kv-kuzuha {
	top: -5%;
}
.kv-pc {
	display: none;
}
.kv-sp {
	display: block;
}
/* line-up
____________________*/
.line-up-list-item a::after {
	content: none;
}
.line-up-list-item {
	position: relative;
	z-index: 5;
}
.line-up-list-item .line-up-list-item-bg-sp {
		display: block;
        width: 100%;
        height: 100%;
        background-image: url(../../gamepc/img/kuzuha-2/black-alpha50.webp) ;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center top;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
}

/* design
____________________*/
.design .ttl-set {
    z-index: 4;
}
.design-block {
	position: relative;
	z-index: 3;
}
.design-block .design-bg-sp {
    width: 100%;
    height: 100%;
    background: #EBE9E9;
    background: linear-gradient(0deg, rgba(235, 233, 233, 1) 0%, rgba(207, 206, 206, 1) 70%, rgba(161, 161, 161, 1) 100%);
    mix-blend-mode: color-burn;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    pointer-events: none;
	overflow: hidden;
}

.txt-design {
	position: relative;
	z-index: 3;
}
.design-note {
        position: relative;
        z-index: 3;
}
.case-gallery .gallery {
	z-index: 5;
}
.case-gallery .bg-set {
	z-index: 3;
}
}
@media (max-width: 479px) {
	.contents--mv .pc {
		display: none;
	}
	.contents--mv .sp {
		display: block;
	}
}

/*　アニメーション
____________________*/
.fade-in { opacity: 0; transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-in-center { transform: translate(0, 0); }      /* 位置変更なし */
.fade-in-top { transform: translateY(-100px); }      /* 上から */
.fade-in-bottom { transform: translateY(100px); }    /* 下から */
.fade-in-right { transform: translateX(100px); }     /* 右から */
.fade-in-left { transform: translateX(-100px); }     /* 左から */
.fade-in-zoom-in { transform: scale(0.2); }          /* ズームイン：最初は小さく表示される */
.fade-in-zoom-out { transform: scale(1.6); }         /* ズームアウト：最初は大きく表示される */
.fade-in.is-visible { opacity: 1; transform: translate(0, 0); } /* 元の位置に戻る */

/* 展示パネルクローズ */
.cp_end {
	position: relative;
	z-index: 1;
}
.cp_end::after {
	background: rgba(0, 0, 0, 0.7);
	width: 110%;
	height: 120%; 
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	content: "";
	position: absolute;
	z-index: 2;
}
.cp_end .cp_end-txt-block{
top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	position: absolute;
	z-index: 3;
	color: white;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.cp_end-txt1{
	font-size:2em ;
}
.cp_end-txt2{
	margin-top: 20px;
	font-size:1em ;
}
@media screen and (max-width: 768px) {
	.cp_end .cp_end-txt-block {
		
	}
}