@charset "utf-8";

:root {
	/* base */
	--cts-gutter: clamp(15px, -1.212rem + 8.91vw, 65px);/*375-768*/
	--cts-width: 1474px;

	/* font */
	--dp-font-jp: "Zen Kaku Gothic Antique", sans-serif;
	/* Noto Sans JP
	Thin 100
	ExtraLight 200
	Light 300
	Regular 400
	Medium 500
	SemiBold 600
	Bold 700
	ExtraBold 800
	Black 900
	*/

	--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: #F3F3F3;
	--color-white2: #F7FED4;
	--color-white3: #FFFFFF;
	--color-gray1: #625D69;
	--color-gray2: #443F49;
	--color-pink1: #F52A80;
	--color-blue1: #4AD8D0;
}

/* 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;
}
.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;
}
@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;
		padding-block-end: 10px;
	}
	.bnr_link_win11 {
		width: 100%;
		margin-top: 0;
		text-align: center;
	}
}
.contents__wrap {
	width: 100%;
	background: var(--cts-color1);
	margin-inline: auto;
	font-size: var(--cts-font-size);
	font-family: var(--dp-font-jp);
	color: var(--cts-color9);
	overflow: hidden;
}
.contents__wrap img {
	max-width: 100%;
	vertical-align: bottom;
}
.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;
	position: relative;
}

/* コンテンツ
____________________*/
::selection {
	color: var(--color-gray2);
	background-color: var(--color-white3);
}
.contents__wrap {
	background: #443F49;
	padding-block-end: 115px;
	margin-bottom: 100px;
	overflow: hidden;
}
.ttl-wrap {
	width: fit-content;
	position: relative;
	margin-inline: auto;
}
/* スライド前の初期位置 */
.contents--lineup::after,
.contents--about::after,
.contents--benefit::after {
    transition: transform 1s ease-out;
    transform: translateX(-5%); /* 初期位置：左からスライドイン */
    opacity: 0;
}

/* スライドイン後の状態 */
.contents--lineup.scroll-in::after,
.contents--about.scroll-in::after {
    transform: translateX(0); /* 元の位置に戻す */
    opacity: 1;
}

/* 右から左へスライドイン */
.contents--benefit::after {
    transform: translateX(5%);
}
.contents--benefit.scroll-in::after {
    transform: translateX(0);
    opacity: 1;
}
/* mv
____________________*/
.contents--mv {
	width: 100%;
	padding: 0;
	position: relative;
	border-bottom: 2px solid var(--color-white1);
}
.contents--mv img {
	width: 100%;
	padding: 0;
	position: relative;
	vertical-align: bottom;
}
/* intro
____________________*/
.contents--intro {
	padding-top: 100px;
	padding-bottom: 100px;
}
.intro-txt {
	color: var(--color-white1);
	font-size: clamp(13px, 0.545rem + 1.61vw, 26px);
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: center;
}
/* lineup
____________________*/
.contents--lineup {
	padding-top: 50px;
	padding-bottom: 0;
	position: relative;
	z-index: 1;
}
.contents--lineup::after {
	content: "";
	width: 100%;
	height: 252px;
	position: absolute;
	left: -27%;
	top: 0;
	z-index: -1;
	background-size: auto auto;
	background-color: rgba(68, 63, 73, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(55, 51, 59, 1) 5px, rgba(55, 51, 59, 1) 16px );
}
.lineup .ttl-wrap {
	position: relative;
	z-index: 1;
}
.lineup .ttl-wrap::before,
.lineup .ttl-wrap::after {
	content: "";
	position: absolute;
	z-index: +1;
}
.lineup .ttl-wrap::before {
	background: url(../../gamepc/img/yumia/line-1.webp) no-repeat center center /contain;
	width: 551.07px;
	height: 264.42px;
    bottom: -200px;
    left: -600px;
}
.lineup .ttl-wrap::after {
	background: url(../../gamepc/img/yumia/line-2.webp) no-repeat center center /contain;
	width: 576.42px;
	height: 288px;
    top: -284px;
    right: -600px;
}
.lineup .ttl-wrap .ttl-h2 {
	width: 548px;
}
.lineup .swiper-container {
    width: 100%;
    margin: 190px auto 0;
    position: relative;
    overflow: visible;
}
.lineup .swiper-container .swiper-wrapper .swiper-slide {
    width: 656px;
    height: auto;
    padding: 25px 40px;
    background: var(--color-gray1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border: 1px solid var(--color-blue1);
    box-sizing: border-box;
	box-shadow: 6px 6px 0px 0px rgba(74, 216, 208, 1);
	position: relative;
	z-index: 1;
}
.lineup .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-prev,
.lineup .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active,
.lineup .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-next {
	opacity: 1;
}
.lineup .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-prev::before,
.lineup .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-active::before,
.lineup .swiper-container .swiper-wrapper .swiper-slide.swiper-slide-next::before {
	content: none;
}
.lineup  .swiper-button-next,
.lineup  .swiper-button-prev {
    display: none;
}
.lineup .swiper-button-prev,
.lineup .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, -10vw);
    right: auto;
}
.lineup .swiper-button-next, 
.lineup .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, -10vw);
    left: auto;
}
.lineup .swiper-button-next:after, 
.lineup .swiper-button-prev:after {
	content: none;
}
.lineup .swiper-button-next img {
	transform: rotate(180deg);
}
.ttl_block {
	width: 100%;
}
.model__name {
	color: var(--color-white2);
	font-size: clamp(20px, 0.545rem + 1.61vw, 30px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: left;
}
.inner-flex {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 30px auto 0;
}
.model_image_block {
	width: 220px;
	position: relative;
	z-index: 1;
}
.model_image_block .model_image {
    width: 220px;
	position: relative;
	z-index: 1;
}
.model_image_block .model_image img {
	width: 100%;
	height: auto;
	position: relative;
}
.txt_block {
	width: 100%;
	max-width: 343px;
}
.model__spec-list {
	color: var(--color-white3);
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.01em;
	margin-top: 10px;
}
.model__spec-list-item {
	display: flex;
	justify-content: flex-start;
	gap: 20px;
}
.model__spec-list-item .spec-name {
	font-size: clamp(12px, -0.545rem + 2.61vw, 17px);
	width: 106px;
	flex: none;
	text-align: left;
}
.model__spec-list-item .spec-data {
	font-size: clamp(13px, -0.545rem + 2.61vw, 17px);
	width: 100%;
}
.model__price_block {
	display: flex;
	justify-content: end;
	margin-top: 10px;
}
.model__price {
	color: var(--color-white3);
	font-size: clamp(22px, 0.545rem + 2.61vw, 33px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
}
.model__price .model__tax {
	font-size: clamp(13px, -0.545rem + 2.61vw, 18px);
}
.model__link {
	width: 100%;
	max-width: 360px;
	margin-top: 20px;
}
.gen-btn {
    position: relative;
    display: block;
    margin: 3% 0;
    padding: .8em 3em;
    background-color: #f3f3f3;
    overflow: hidden;
    transition: .3s;
}
.gen-btn__accent {
	color: var(--color-pink1);
	font-size: clamp(14px, -1.545rem + 2.61vw, 20px);
	font-weight: 500;
    margin: 0;
    border: 1px solid var(--color-pink1);
    border-bottom: 2.5px solid var(--color-pink1);
    box-shadow: 0 0 1em var(--color-pink1);
}
.gen-btn .gen-btn__inner {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5em;
    z-index: 3;
}
.gen-btn .gen-btn__inner .gen-arrow__wrap {
    display: block;
    width: 24px;
	height: 26px;
    padding-bottom: 0;
}
.gen-btn__accent .gen-arrow__wrap {
    fill: #f52a80;
}
.gen-btn__accent .inner-glow {
    box-shadow: inset 0 0 .5em rgba(245, 42, 128, .6);
}
.gen-btn__accent .inner-glow, .gen-btn__normal .inner-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 101%;
    height: 101%;
    z-index: 2;
    transform: translate(-50%, -50%);
}
.slash-ptn_wt {
	width: 100%;
    height: 252px;
    position: absolute;
    left: -27%;
    top: 0;
    z-index: -1;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, rgba(243, 243, 243, 1) 3px, rgba(243, 243, 243, 1) 10px);
}
.slash-ptn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 150vw;
    background-repeat: repeat;
    pointer-events: none;
    z-index: 1;
}
.gen-btn__accent:hover {
	box-shadow: 0 0 1.5em #f52a80, 0 0 1.5em #f52a80, 0 0 1em #f52a80, inset 0 0 .5em rgba(245, 42, 128, .6);
}
/* benefit
____________________*/
.contents--benefit {
	padding-top: 145px;
	padding-bottom: 100px;
	position: relative;
	z-index: 1;
}
.contents--benefit::after {
    content: "";
    width: 100%;
    height: 577px;
    position: absolute;
    right: -27%;
	top: 75px;
    z-index: -1;
    background-size: auto auto;
    background-color: rgba(68, 63, 73, 1);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(55, 51, 59, 1) 5px, rgba(55, 51, 59, 1) 16px);
}
.benefit .ttl-wrap {
	position: relative;
	z-index: 1;
}
.benefit .ttl-wrap::before,
.benefit .ttl-wrap::after {
	content: "";
	position: absolute;
	z-index: +1;
}
.benefit .ttl-wrap::before {
	background: url(../../gamepc/img/yumia/line-3.webp) no-repeat center center /contain;
	width: 518.42px;
	height: 288px;
    bottom: 122px;
	left: -540px;
}
.benefit .ttl-wrap::after {
	background: url(../../gamepc/img/yumia/line-4.webp) no-repeat center center /contain;
	width: 542.49px;
    height: 524.07px;
    top: 70px;
    right: -560px;
}
.benefit .ttl-wrap .ttl-h2 {
	width: 623.27px;
}
.benefit-wrap {
	width: 100%;
	max-width: 715px;
	margin: 75px auto 0;
}
.benefit-item-ttl {
	color: var(--color-white2);
	font-size: clamp(16px, -0.545rem + 4.61vw, 30px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
	position: relative;
}
.benefit-item-ttl::before {
	content: "";
	width: 27.93px;
	height: 30.26px;
	background: url(../../gamepc/img/yumia/arrow-blue.webp) no-repeat center center /cover;
}
.benefit-item-name {
	color: var(--color-white2);
	font-size: clamp(20px, -0.545rem + 6.61vw, 50px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	margin-top: 20px;
}
.benefit-item {
	margin: 30px auto 0;
	display: block;
	box-shadow: 10px 10px 0px 0px rgba(74, 216, 208, 1);
	filter: brightness(1);
    transition: all 0.4s;
}
.benefit-item:hover {
	filter: brightness(1.1);
    transition: all 0.4s;
}
.modaal-gallery-item img {
    display: block;
    max-width: 1200px !important;
}
.benefit-note {
	color: var(--color-white1);
	font-size: clamp(11px, -0.545rem + 2.61vw, 17px);
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: center;
	margin-top: 55px;
}
/* about
____________________*/
.contents--about {
	padding-top: 50px;
	padding-bottom: 0;
	position: relative;
	z-index: 1;
}
.contents--about::after {
	content: "";
	width: 100%;
	height: 252px;
	position: absolute;
	left: -27%;
	top: 0;
	z-index: -1;
	background-size: auto auto;
	background-color: rgba(68, 63, 73, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(55, 51, 59, 1) 5px, rgba(55, 51, 59, 1) 16px );
}
.about .ttl-wrap {
	position: relative;
	z-index: 1;
}
.about .ttl-wrap::before,
.about .ttl-wrap::after {
	content: "";
	position: absolute;
	z-index: +1;
}
.about .ttl-wrap::before {
	background: url(../../gamepc/img/yumia/line-1.webp) no-repeat center center / contain;
    width: 551.07px;
    height: 264.42px;
    bottom: -200px;
    left: -600px;
}
.about .ttl-wrap::after {
	background: url(../../gamepc/img/yumia/line-2.webp) no-repeat center center / contain;
    width: 576.42px;
    height: 288px;
    top: -284px;
    right: -600px;
}
.about .ttl-wrap .ttl-h2 {
	width: 548px;
}
.about-txt {
	color: var(--color-white2);
	font-size: clamp(18px, -0.545rem + 6.61vw, 50px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-align: center;
	margin-top: 140px;
}
.about-txt2 {
	color: var(--color-white1);
	font-size: clamp(15px, -0.545rem + 6.61vw,26px);
	font-weight: 400;
	line-height: 2.2;
	letter-spacing: 0.03em;
}
.about-txt .small {
	font-size: clamp(13px, -0.545rem + 6.61vw,40px);
}
.about .inner-flex {
	justify-content: center;
	align-items: center;
	gap: 40px;
}
.logo-block {
	width: 100%;
	max-width: 542px;
}
.about .btn-wrap {
	position: relative;
}
.about .btn-wrap::after {
	content: "";
	background: url(../../gamepc/img/yumia/line-5.webp) no-repeat center center/cover;
	width: 1503.4px;
	height: 437.55px;
	position: absolute;
	top: -400px;
	left: -200px;
	z-index: -1;
}
.about .gen-btn__accent {
	max-width: 747px;
	font-size: clamp(14px, -1.545rem + 6.61vw,26px);
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
	margin: 214px auto 0;
}
.about .gen-btn {
    padding: .8em 2em;
}
.lp-copy {
	color: var(--color-white1);
	font-size: clamp(10px, -1.545rem + 6.61vw,20px);
	line-height: 1;
	letter-spacing: 0.02em;
	text-align: center;
	margin-top: 105px;
}
@media (max-width: 768px) {/*375-768*/
/* コンテンツ
____________________*/
.pc {
	display: none !important;
}
.sp {
	display: block !important;
}
.contents__wrap {
	padding-bottom: 50px;
}
.comment-wrap {
	width: 100%;
	max-width: 310px;
	min-width: inherit;
	padding: 15px 30px;
}
/* mv
____________________*/
.contents--mv {
	border-bottom: 2px solid var(--cts-color1);
}
/* intro
____________________*/
.contents--intro {
	padding-top: 35px;
	padding-bottom: 35px;
}
.intro-txt {
	letter-spacing: 0.01em;
}
/* lineup
____________________*/
.contents--lineup {
	padding-top: 30px;
	padding-bottom: 0;
}
.contents--lineup::after {
	height: 108px;
	left: -7%;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(55, 51, 59, 1) 3px, rgba(55, 51, 59, 1) 13px);
}
.lineup .ttl-wrap .ttl-h2 {
	max-width: 238px;
}
.lineup .ttl-wrap::before,
.lineup .ttl-wrap::after {
	content: none;
}
.lineup .swiper-container {
	width: 100%;
	/* max-width: 300px; */
    margin: 70px auto 0;
}
.lineup .swiper-button-next, .lineup .swiper-button-prev {
	width: 59.16px;
	height: 64.09px;
    display: block;
}
.lineup .swiper-button-prev, .lineup .swiper-rtl .swiper-button-next {
	left: -30px;
}
.lineup .swiper-button-next, .lineup .swiper-rtl .swiper-button-prev {
    right: -30px;
}
.lineup .swiper-container .swiper-wrapper .swiper-slide {
	padding: 20px 15px;
	box-shadow: 3px 3px 0px 0px rgba(74, 216, 208, 1);
}
.inner-flex {
	align-items: center;
	flex-direction: column;
	margin: 10px auto 0;
}
.model__name {
	text-align: center;
}
.model_image_block .model_image {
	width: 220px;
	height: 220px;
	margin-inline: auto;
}
.model__spec-list-item .spec-name {
	width: 86px;
}
.model__price_block {
	justify-content: center;
}
.gen-btn {
	padding: .7em 3em;
}
.gen-btn .gen-btn__inner .gen-arrow__wrap {
	width: 16.28px;
	height: 17.33px;
}
/* benefit
____________________*/
.contents--benefit {
	padding-top: 103px;
	padding-bottom: 60px;
}
.contents--benefit::after {
	height: 108px;
	right: -7%;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(55, 51, 59, 1) 3px, rgba(55, 51, 59, 1) 13px);
}
.benefit .ttl-wrap .ttl-h2 {
	max-width: 271.09px;
}
.benefit .ttl-wrap::before,
.benefit .ttl-wrap::after {
	content: none;
}
.benefit-wrap {
	margin-top: 60px;
}
.benefit-item-ttl::before {
	width: 16.8px;
	height: 18.2px;
}
.benefit-item-name {
	margin-top: 10px;
}
.benefit-item {
	margin-top: 20px;
	box-shadow: 6px 6px 0px 0px rgba(74, 216, 208, 1);
}
.benefit-note {
	margin-top: 30px;
}
/* about
____________________*/
.contents--about {
	padding-top: 30px;
}
.contents--about::after {
	height: 108px;
	left: -7%;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(55, 51, 59, 1) 3px, rgba(55, 51, 59, 1) 13px);
}
.about .ttl-wrap .ttl-h2 {
	max-width: 238px;
}
.about .ttl-wrap::before,
.about .ttl-wrap::after {
	content: none;
}
.about-txt {
	margin-top: 60px;
}
.about .inner-flex {
	margin-top: 20px;
	gap: 30px;
}
.logo-block {
	max-width: 224px;
}
.about-txt2 {
	line-height: 2;
	letter-spacing: 0;
}
.about .btn-wrap::after {
	content: none;
}
.about .gen-btn__accent {
	margin-top: 90px;
}
.about .btn-wrap {
	max-width: 247px;
	margin-inline: auto;
}
.about .gen-btn {
    padding: .8em 1em;
}
.lp-copy {
	margin-top: 55px;
}
}


/*　アニメーション
____________________*/
.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(-30); }      /* 上から */
.fade-in-bottom { transform: translateY(30px); }    /* 下から */
.fade-in-right { transform: translateX(30px); }     /* 右から */
.fade-in-left { transform: translateX(-30px); }     /* 左から */
.fade-in-zoom-in { transform: scale(0.9); }          /* ズームイン：最初は小さく表示される */
.fade-in-zoom-out { transform: scale(1.1); }         /* ズームアウト：最初は大きく表示される */
.fade-in.is-visible { opacity: 1; transform: translate(0, 0); } /* 元の位置に戻る */