@charset "utf-8";

:root {
	/* base */
	--cts-gutter: clamp(30px, -0.212rem + 8.91vw, 65px);/*375-768*/
	--cts-width: 1200px;

	/* font */
	--dp-font-jp: "Noto Sans JP", sans-serif;
	/* Noto Sans JP
	Noto Sans JP Thin 100
	Noto Sans JP Light 300
	Noto Sans JP Regular 400
	Noto Sans JP Medium 500
	Noto Sans JP Bold 600
	*/

	--cts-font: 'Saira Extra Condensed', sans-serif;

	--cts-font-02: 'Outfit', sans-serif;
	/* Outfit
	Outfit Medium 500
	Outfit bold 700
	*/

	--cts-font-03: 'raleway', sans-serif;
	/* Raleway
	Raleway Black 900
	*/

	--cts-font-04: 'Zen Kaku Gothic New', sans-serif;
	/* Zen Kaku Gothic New
	Zen Kaku Gothic New Bold 700
	*/

	--dp-h1-size: clamp(24px,calc(1.159rem + 1.45vw),36px);
	--dp-h2-size: clamp(20px,calc(1.023rem + .97vw),28px);
	--dp-h3-size: clamp(18px,calc(.955rem + .73vw),24px);
	--dp-h4-size: clamp(16px,calc(.886rem + .48vw),20px);
	--dp-p-l-size: clamp(14px, 0.806rem + 0.3vw, 16px);/* 本文 Large */
	--dp-p-note-size: clamp(10px,calc(.597rem + .12vw),11px);/* 本文 Notes */
	--dp-price-s-size: clamp(16px,calc(.886rem + .48vw),20px);/* 価格 Small */
	--dp-price-tax-s-size: clamp(12px,calc(.693rem + .24vw),14px);/* 円・税 Small */

	--cts-font-size: clamp(12px, 0.636rem + 0.48vw, 16px);
	--cts-font-ls: .025em;/*letter-spacing*/

	/* color */
	--dp-color: #000;
	--dp-color-price: #e43344;
	--cts-color: #000;
	--cts-bg: #EDEDED;
	--cts-bg2: #A7A7A7;

}


/* 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%;
	margin-inline: auto;
	background: var(--cts-bg);
	background: url(../../gamepc/img/ryu-ga-gotoku-eight/bg_1.webp) repeat top center fixed;
	font-size: var(--cts-font-size);
	font-family: var(--dp-font-jp);
	color: var(--cts-color);
	overflow: hidden;
}
.contents__wrap img {
	max-width: 100%;
}
.sp {
	display: none;
}
.flash:hover {
	animation-name: hover-flash;
	animation-duration: 1s;
	opacity: .85;
}
@keyframes hover-flash {
	0% {
		opacity: .3;
	}
	100% {
		opacity: .85;
	}
}
.contents__inner {
	width: 100%;
	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);
	margin-top: 10px;
	min-height: 50px;
	background: var(--dp-color);
	font-size: clamp(16px, 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% - 3px);
	right: 24px;
	width: 6px;
	height: 6px;
	border-right: 2px solid;
	border-bottom: 2px 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%;
	}
}


/* コンテンツ
____________________*/
.contents__wrap {
	padding-block-end: 0;
}
.contents__ttl {
	font-size: 45px;
	font-family: var(--cts-font-02);
	text-align: center;
	letter-spacing: .06em;
}
.contents__ttl--about {
	font-size: 20px;
	text-align: left;
	letter-spacing: .03em;
}
.contents__ttl-inner {
	display: block;
	margin-block-start: 9px;
	font-size: 18px;
	font-family: var(--cts-font);
	letter-spacing: 0;
}

/* mv
____________________*/
.contents--mv {
	width: 100%;
	padding: 0;
	position: relative;
}
.contents--mv img {
	width: 100%;
	padding: 0;
	position: relative;
}
.contents--mv .scrolldown1 {
    position: absolute;
    bottom: 17%;
    left: 50%;
    transform: translateX(-50%);
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    padding-bottom: 10px;
}
.contents--mv .scrolldown1::after {
    content: "";
    height: 108px;
    width: 1px;
    background: #fff;
    animation: scrollbar 2s infinite;
    position: absolute;
    bottom: -108px;
    left: 50%
}
@keyframes scrollbar {
    0% {
        height: 108px;
        bottom: -108px
    }

    50% {
        height: 0;
        bottom: -108px
    }

    51% {
        height: 0;
        bottom: 0
    }

    100% {
        bottom: -108px;
        height: 108px
    }
}

/* read
____________________*/
.contents__inner.read {
	padding-block-start: 40px;
	padding-block-end: 85px;
}
.read .read__txt {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1680px;
    width: 100%;
    margin: 0 auto;
	padding-top: 86px;
}
.read .read__txt::before {
	content: "!";
	font-size: clamp(23px, 0.345rem + 2.56vw, 40px);
	font-weight: 900;
	line-height: 1.7;
	width: 64px;
	height: 64px;
	background: #fff;
	border-radius: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top:0;
	left: 50%;
	transform: translate(-50%,0);
}
.read .read__txt p {
	color: #fff;
	font-size: clamp(15px, 0.345rem + 1.61vw, 23px);
	line-height: 1.7;
	letter-spacing: 0.2px;
	text-align: center;
}
/* lineup
____________________*/
.contents--lineup {
	background: url(../../gamepc/img/ryu-ga-gotoku-eight/bg1.webp) no-repeat center top/cover fixed;
	position: relative;
}
.contents--lineup::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to right,rgba(0,0,0,0.5),rgba(0,0,0,0));
    width: 50px;
    height: 100%;
    z-index: 5;
}
.contents--lineup::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    background: linear-gradient(to left,rgba(0,0,0,0.5),rgba(0,0,0,0));
	width: 50px;
    height: 100%;
    z-index: 5;
}
.contents__inner.lineup {
	padding-block-start: 180px;
	padding-block-end: 100px;
	position: relative;
	z-index: 100;
	background: var(--cts-bg);
}
.lineup .lineup--ttl__wrap {
	margin: 0 auto 100px;
	position: relative;
	width: 346px;
}
.lineup--ttl__wrap .lineup--ttl {
	font-size: clamp(62px, 0.345rem + 1.61vw, 90px);
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
	position: relative;
	z-index: 10;
}
.lineup--ttl__wrap .lineup--ttl::after {
	content: "ラインアップ";
	font-size: clamp(15px, 0.345rem + 1.61vw, 20px);
	font-weight: 500;
	display: block;
	margin-top: 10px;
	z-index: 10;
}
.lineup--ttl__bg {
	position: absolute;
	z-index: 1;
	top: -100px;
}
/*tabの形状*/
.tab{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin-bottom: 40px;
}
.tab li {
	width: 50%;
	max-width: 270px;

}
.tab li a {
	color:var(--cts-color);
	font-size: clamp(15px, 0.345rem + 1.61vw, 23px);
	font-weight: 500;
	display: block;
	background:#fff;
	margin:0 0;
	padding:10px 20px;
	text-align: center;
	text-decoration: none;
	width: 100%;
	box-sizing: border-box;
}
.tab li:nth-of-type(1) a {
	border-radius: 5px 0 0 5px;
} 
.tab li:nth-of-type(2) a {
	border-radius: 0 5px 5px 0;
}
.tab li.active a{
	color: #fff;
	background:var(--cts-color);
}
.tab li:not(.active) a:hover {
	background: #ccc;
	transition:0.5s;
}
.area {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	display: none;
	opacity: 0;
}
.area.is-active {
	display: block;
	animation-name: displayAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.lineup .lineup--list {
	width: 100%;
	display: flex;
    flex-direction: column;
	gap: 40px 0;
}
.lineup .lineup--list .get_product_data {
	width: 100%;
	background: var(--cts-bg);
	padding: 40px 45px;
	box-sizing: border-box;
	border: 1px solid #000;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 30px;
}
.lineup .lineup--list .get_product_data .model_image {
	width: 100%;
	max-width: 346px;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.lineup .lineup--list .get_product_data .model_image figure {
	width: 100%;
	max-width: 300px;
	position: relative;
	z-index: 100;
}
.lineup .lineup--list .get_product_data .model_image figure.note {
	max-width: 260px;
}
.lineup .lineup--list .get_product_data .model_image figure img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.lineup .lineup--list .get_product_data .model_image .model_image__bg {
	position: absolute;
	z-index: 10;
}
.lineup .lineup--list .get_product_data .model_image .otoku {
	width: 80px;
	position: absolute;
    top: 0px;
    left: 0px;
	z-index: 11;
}
.lineup .lineup--list .get_product_data .model__detail {
	width: 100%;
}
.model__name {
	width: 100%;
	font-size: clamp(20px, 0.545rem + 1.61vw, 30px);
	letter-spacing: 0.5px;
	line-height: 1.4;
	text-align: left;
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 25px;
}
.model__name::after {
	content: "";
	width: 60px;
	height: 1px;
	background: var(--cts-color);
	position: absolute;
	left: 0;
	bottom: 0;
}
.model__txt {
	margin-top: 25px;
    display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 0 5px;
}
.model__spec-list {
	font-size: clamp(11px, 0.245rem + 1.61vw, 17px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.8px;
}
.model__spec-list .model__spec-item {
	text-align: left;
	display: flex;
	flex-wrap: nowrap;
	gap: 0 2em;
}
.model__spec-list .model__spec-item:nth-of-type(n+2) {
	margin-top: 5px
}
.model__spec-list .model__spec-item .spec__name {
	display: inline-block;
	width: 6em;
	white-space:nowrap;
}
.model__spec-list .model__spec-item .spec__data {
	display: inline-block;
}
.model__price_block {
	width: 100%;
	max-width: 250px;
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	align-items: left;
}
.model__price {
	font-size: clamp(22px, 0.545rem + 1.61vw, 31px);
	font-weight: 900;
}
.model__price .model__tax {
	font-size: clamp(15px, 0.545rem + 1.61vw, 21px);
}
.cp_bnr {
	width: 100%;
	max-width: 900px;
	margin: 40px auto 0;
}
.cp_bnr a {
	display: block;
}
.cp_bnr img {
	width: 100%;
	height: auto;
}
/* drama cp */
.bnr_wrap {
	width: 100%;
	max-width: 900px;
	margin: 65px auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}
.cp_bnr img {
	vertical-align: bottom;
}
.bnr_wrap_note {
	font-size: clamp(12px, 0.245rem + 1.61vw, 15px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.2px;
	text-align: left;
	margin: 15px 0 0;
}
.cp_lineup_list_wrap {
	width: 100%;
	max-width: 1200px;
	padding: 25px 50px 50px;
	margin: 65px auto 80px;
	background: rgb(187,0,0);
	background: linear-gradient(180deg, rgba(187,0,0,1) 0%, rgba(9,0,0,1) 100%);
	border-radius: 5px;
	box-sizing: border-box;
}
.cp_lineup_ttl {
	color: #fff;
	font-size: clamp(20px, 0.245rem + 1.61vw, 23px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.8px;
	text-align: center;
}
.lineup--list.cp {
	margin: 30px 0 0;
	flex-direction: row;
	gap: 32px;
}
.lineup .lineup--list.cp .get_product_data {
	width: 100%;
	max-width: 345px;
	padding: 20px 20px 35px;
	flex-direction: column;
	border: 1px solid #707070;
	border-radius: 0;
}
.lineup .lineup--list.cp .get_product_data .model__name {
	text-align: center;
	padding-bottom: 0;
}
.lineup .lineup--list.cp .get_product_data .model__name::after {
	content: none;
}
.lineup .lineup--list.cp .get_product_data .model__txt {
	flex-direction: column;
}
.lineup .lineup--list.cp .get_product_data .model__spec-list .model__spec-item {
    text-align: center;
	flex-direction: column;
}
.lineup .lineup--list.cp .get_product_data .model__price_block {
	max-width: 100%;
	align-items: center;
}
.lineup .lineup--list.cp .get_product_data .model__price_block .link__inner {
	max-width: 210px;
}
.beyond-the-game_wrap {
	color: #fff;
	width: 100%;
	padding: 50px;
	background: url(../../gamepc/img/ryu-ga-gotoku-eight/bg_cp_drama_pc.webp) no-repeat center center/cover;
	border: 1px solid #707070;
	box-sizing: border-box;
	margin: 35px 0 0;
}
.beyond-the-game_ttl {
	font-size: clamp(30px, 0.545rem + 3.61vw, 46px);
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.4;
}
.beyond-the-game_sub_ttl {
	font-size: clamp(17px, 0.145rem + 3.61vw, 40px);
	letter-spacing: 0.5px;
	line-height: 1.4;
}
.beyond-the-game_txt_l {
	font-size: clamp(14px, 0.145rem + 3.61vw, 30px);
	font-weight: 500;
	letter-spacing: 0.5px;
	line-height: 1.4;
	margin: 30px 0 0;
}
.beyond-the-game_txt_m {
	font-size: clamp(13px, -0.245rem + 3.61vw, 20px);
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.8;
	margin: 30px 0 0;
}
.beyond-the-game_copy {
	font-size: clamp(11px, 0.145rem + 1.61vw, 15px);
	font-weight: 400;
	letter-spacing: 1px;
	margin: 30px 0 0;
}
/* about
____________________*/
.contents--about {
    background: var(--cts-bg);
	position: relative;
	z-index: 1;
}
.about--head {
	position: relative;
	text-align: center;
	width: 100%;
	border: 1px solid #fff;
	padding: 60px 0;
	background: url(../../gamepc/img/ryu-ga-gotoku-eight/bg_4.webp);
}
.about--head .contents__inner {
	max-width: 1330px;
	display: flex;
	justify-content: space-between;
	gap: 0 40px;
}
.about--head .contents__inner div {
	max-width: 580px;
	width: 100%;
}
.about--head .contents__inner .contents__inner--left {
	display: flex;
	flex-direction: column;
}
.about--head .contents__inner .contents__inner--left h3 {
	font-size: clamp(22px, 0.345rem + 1.61vw, 30px);
	letter-spacing: 2px;
	text-align: left;
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 25px;
}
.about--head .contents__inner .contents__inner--left h3::after {
	content: "";
	width: 60px;
	height: 1px;
	background: var(--cts-color);
	position: absolute;
	left: 0;
	bottom: 0;
}
.about--head .contents__inner .contents__inner--left h3 + p {
	font-size: clamp(15px, 0.345rem + 1.61vw, 17px);
	font-weight: 900;
	color: var(--cts-color);
	line-height: 2;
	letter-spacing: 0.8px;
	text-align: left;
	display: block;
}
.about--head .contents__inner .contents__inner--right {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.about--head .contents__inner .contents__inner--right img {
	width: 100%;
	max-width: 512px;
	height: auto;
}
.contents--about .contents__inner.about {
	max-width: 1458px;
	padding-block-start: 0;
    padding-block-end: 170px;
	z-index: 100;
	position: relative;
}
.about .about--block-list {
	margin-top: 120px;
}
.about .about--block {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 40px;
	position: relative;
	padding-bottom: 70px;
	margin-bottom: 80px;
}
.about .about--block::after {
	content: "";
	width: 60px;
	height: 1px;
	background: var(--cts-color);
	position: absolute;
	left: calc(50% - 40px);
	bottom: 0;
	transform: translate(0,-50%);
}
.about .about--block.cast {
	flex-direction: column;
	padding-bottom: 0;
	margin-bottom: 0;
}
.about .about--block.cast::after {
	content: none;
}
.about .about--block .bg_txt {
	position: absolute;
	top: -15%;
	left: -4.5%;
	font-size: clamp(14px, 0.545rem + 1.61vw, 18px);
	font-weight: 900;
	z-index: 2;
}
.about .about--block:nth-of-type(n+2) {
	margin-top: 80px;
}
.about .about--block figure {
	width: 50%;
	max-width: 580px;
}
.about .about--block figure img {
	width: 100%;
	height: auto;
}
.about .about--block .txt--block {
	width: 50%;
	position: relative;
	z-index: 10;
}
.about .about--block.cast .txt--block {
	width: 100%;
}
.txt--block h4 {
	font-size: clamp(57px, 0.945rem + 4.95vw, 90px);
	font-weight: 900;
	line-height: 1;
	text-align: left;
	margin-bottom: 60px;
	position: relative;
}
.txt--block h4::after {
	content: "";
	font-size: clamp(15px, 0.445rem + 1.95vw, 20px);
	font-weight: 500;
	position: absolute;
	left: 0;
	bottom: -35px;
}
.battle .txt--block h4::after {
	content: "バトル";
}
.adventure .txt--block h4::after {
	content: "舞台";
}
.cast .txt--block h4::after {
	content: "登場キャラクター紹介";
}
.txt--block h4 + p {
	font-size: clamp(15px, 0.345rem + 1.61vw, 17px);
	font-weight: 500;
	line-height: 2;
	margin-top: 20px;
	background: var(--cts-bg);
	display: block;
}
.about--block.cast .cast-introduction--block {
	width: 100%;
}
.about--block.cast .cast-introduction--block .cast-introduction--block__ttl {
	width: 100%;
	max-width: 497px;
	margin: 20px auto 30px;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex {
	width: 100%;
	display: flex;
	gap: 0 40px;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner {
	width: 50%;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner figure {
	width: 100%;
	position: relative;
	z-index: 1;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner figure img {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 10;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner figure figcaption {
	width: 25%;
	position: absolute;
	top: -30px;
	left: 0;
	z-index: 100;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner .cast-comment {
	font-size: clamp(17px, 0.345rem + 1.61vw, 22px);
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 2.5px;
	display: block;
	padding: 20px 0;
	margin-top: 35px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner .cast-txt {
	margin-top: 25px;
	font-size: clamp(15px, 0.345rem + 1.61vw, 17px);
	font-weight: 500;
	line-height: 2;
}
/* foot
____________________*/
.contents--foot {
    background: var(--cts-bg2);
    position: relative;
	padding-block-start: 120px;
	padding-block-end: 100px;
}
.contents__inner.foot {
	max-width: 565px;
}
.foot .foot--logo {
	width: 100%;
	max-width: 435px;
	margin: 0 auto;
}
.foot .foot--logo img {
	vertical-align: bottom;
}
.foot .link__inner {
	font-size: clamp(12px, 0.345rem + 1.61vw, 18px);
	line-height: 1.6;
	text-align: center;
	width: 100%;
	max-width: 470px;
	padding-block: clamp(15px,0.236rem + 1.38vw,20px);
	margin: 50px auto 30px;
	background: var(--dp-color);
	border: 1px solid #fff;
	border-radius: 0;
}
.foot .link__inner::after {
	content: "";
	top: calc(50% - 8px);
	right: 25px;
	background: url(../../gamepc/img/ryu-ga-gotoku-eight/icon-blank.webp) no-repeat center center/contain;
	width: 19px;
	height: 21px;
	display: block;
	border: none;
	transform: none;
}
.foot .game--copy {
	font-size: 15px;
	line-height: 1.7;
	text-align: center;
	letter-spacing: 0.3px;
}
@media (max-width: 768px) {/*375-768*/
	.pc {
		display: none;
	}
	.contents--mv .pc {
		display: block;
	}
	.sp {
		display: block;
	}
	.contents--mv .sp {
		display: none;
	}
	.scrolldown1 {
		display: none;
	}
	.contents__wrap {
		padding-block-end: 0;
	}
	.contents__wrap .link__inner {
		font-size: clamp(13px, 0.345rem + 1.61vw, 18px);
		max-width: 182px;
		min-height: 36px;
		margin-left: auto;
		margin-right: auto;
	}
	.link__inner::after {
		top: calc(50% - 2px);
		right: 14px;
		width: 5px;
		height: 5px;
		border-right: 1px solid;
		border-bottom: 1px solid;
	}
	/* read */
	.contents__inner.read {
		padding-block-start: 40px;
		padding-block-end: 40px;
	}
	.read .read__txt {
		padding-top: 45px;
	}
	.read .read__txt::before {
		width: 38px;
		height: 38px;
	}
	/* lineup */
	.contents__inner.lineup {
		padding-block-start: 50px;
		padding-block-end: 40px;
	}
	.lineup .lineup--ttl__wrap {
		width: 240px;
		margin: 0 auto 60px;
	}
	.lineup .lineup--ttl {
		margin: 0 auto 20px;
	}
	.lineup--ttl__bg {
		top: -40px;
	}
	.tab {
		margin-bottom: 30px;
	}
	.lineup .lineup--list {
		margin: 20px auto 0;
		flex-direction: column;
		gap: 30px 0;
	}
	.lineup .lineup--list .get_product_data {
		flex-direction: column;
		padding: 25px 25px;
		margin-left: auto;
		margin-right: auto;
	}
	.lineup .lineup--list .get_product_data .model_image figure  {
		margin-left: auto;
		margin-right: auto;
		max-width: 250px;
	}
	.lineup .lineup--list .get_product_data .model_image figure img {
		max-width: 200px;
	}
	.lineup .lineup--list .get_product_data .model_image figure.note img {
		max-width: 180px;
	}
	.lineup .lineup--list .get_product_data .model_image .model_image__bg {
		max-width: 220px;
	}
	.lineup .lineup--list .get_product_data .model__detail {
		margin-left: 0;
		margin-top: 10px;
	}
	.model__name {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.model__name::after {
		width: 50px;
	}
	.model__txt {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 15px;
	}
	.model__spec-list {
		width: inherit;
		line-height: 1.3;
	}
	.model__spec-list .model__spec-item .spec__data {
		margin-left: 1em;
	}
	.model__price_block {
		width: 100%;
		max-width: inherit;
		margin-top: 10px;
	}
	.model__price {
		text-align: center;
	}
	.cp_bnr {
		margin-top: 30px;
	}
	.cp_lineup_list_wrap {
		padding: 15px 20px 30px;
		margin: 30px auto 45px;
	}
	.lineup--list.cp {
		gap: 20px;
	}
	.lineup .lineup--list.cp .get_product_data {
		padding: 20px 20px 25px;
	}
	.lineup .lineup--list.cp .get_product_data .model__txt {
		width: 100%;
		max-width: 100%;
	}
	.lineup .lineup--list.cp .model__spec-list .model__spec-item .spec__data {
		margin-left: 0;
	}
	.beyond-the-game_wrap {
		background: url(../../gamepc/img/ryu-ga-gotoku-eight/bg_cp_drama_sp.webp) no-repeat center center/100%;
		padding: 15px;
	}
	.beyond-the-game_ttl {
		text-align: center;
		line-height: 1.2;
	}
	.beyond-the-game_sub_ttl {
		line-height: 1.2;
	}
	.beyond-the-game_txt_l {
		line-height: 1.7;
		text-align: center;
		margin: 10px 0 0;

	}
	/* about */
	.contents--about .contents__inner.about {
		padding-block-start: 30px;
		padding-block-end: 30px;
	}
	.about--head {
		padding: 40px 0;
	}
	.about--head .contents__inner {
		flex-direction: column;
	}
	.about--head .contents__inner .contents__inner--left h3 {
		margin-bottom: 15px;
		padding-bottom: 15px;
		letter-spacing: 1px;
	}
	.about--head .contents__inner .contents__inner--left h3::after {
		width: 35px;
	}
	.about--head h3 + p {
		text-align: left;
		letter-spacing: 0.2px;
	}
	.about--head .contents__inner .contents__inner--right {
		max-width: 280px;
		margin: 30px auto 0;
	}
	.about--head .contents__inner .contents__inner--right img {
		width: 100%;
		height: auto;
	}
	.about .about--block-list {
		margin-top:0;
	}
	.about .about--block {
		flex-direction: column;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.about .about--block .bg_txt {
		top: -11%;
	}
	.about .about--block .bg_txt img {
		max-height: 95px;
	}
	.about .about--block:nth-of-type(n+2) {
		margin-top: 30px;
	}
	.about .about--block figure {
		width: 100%;
		margin-top: 25px;
	}
	.about .about--block .txt--block {
		width: 100%;
	}
	.txt--block h4 {
		margin-bottom: 50px;
	}
	.txt--block h4::after {
		bottom: -25px;
	}
	.txt--block h4 + p {
		margin-top: 15px;
	}
	.about--block.cast .cast-introduction--block .cast-introduction--block__ttl {
		max-width: 250px;
		margin: 0px auto;
	}
	.about--block.cast .cast-introduction--block .cast-introduction--block--flex {
		flex-direction: column;
	}
	.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner {
		width: 100%;
	}
	.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner .cast-comment {
		margin-top: 20px;
		padding: 10px 0;
	}
	.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner .cast-txt {
		margin-top: 15px;
	}
	.about--block.cast .cast-introduction--block .cast-introduction--block--flex--inner:nth-of-type(n+2) {
		margin-top: 20px;
	}
	/* foot */
	.contents--foot {
		padding-block-start: 50px;
		padding-block-end: 50px
	}
	.foot .foot--logo {
		max-width: 280px;
	}
	.foot .link__inner {
		margin: 20px auto;
		max-width: 300px;
	}
	.foot .link__inner::after {
		width: 14px;
		height: 16px;
	}
}
@media (max-width: 479px) {
	.contents--mv .pc {
		display: none;
	}
	.contents--mv .sp {
		display: block;
	}
}



/* その場で */
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeInAnime{
	  from {
		opacity: 0;
	  }
	
	  to {
		opacity: 1;
	  }
	}
	
	/* 下から */
	
	.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
	  transform: translateY(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}
	
	/* 上から */
	
	.fadeDown{
	animation-name:fadeDownAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeDownAnime{
	  from {
		opacity: 0;
	  transform: translateY(-100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}
	
	/* 左から */
	
	.fadeLeft{
	animation-name:fadeLeftAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeLeftAnime{
	  from {
		opacity: 0;
	  transform: translateX(-100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateX(0);
	  }
	}
	
	/* 右から */
	
	.fadeRight{
	animation-name:fadeRightAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeRightAnime{
	  from {
		opacity: 0;
	  transform: translateX(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateX(0);
	  }
	}
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.fadeInTrigger,
	.fadeUpTrigger,
	.fadeDownTrigger,
	.fadeLeftTrigger,
	.fadeRightTrigger{
		opacity: 0;
	}
	
	/*==================================================
	パタッ
	===================================*/
	
	
	/* 下へ */
	.flipDown{
	animation-name:flipDownAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes flipDownAnime{
	  from {
		transform: perspective(2500px) rotateX(100deg);
	  opacity: 0;
	  }
	
	  to {
		transform: perspective(2500px) rotateX(0);
	  opacity: 1;
	  }
	}
	
	
	/* 左へ */
	.flipLeft{
	animation-name:flipLeftAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	perspective-origin:left center;
	opacity:0;
	}
	
	@keyframes flipLeftAnime{
	  from {
	   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
	  opacity: 0;
	  }
	
	  to {
	  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
	  opacity: 1;
	  }
	}
	
	
	/* 左上へ */
	.flipLeftTop{
	animation-name:flipLeftTopAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes flipLeftTopAnime{
	  from {
	   transform: translate(-20px,80px) rotate(-15deg);
	  opacity: 0;
	  }
	
	  to {
	   transform: translate(0,0) rotate(0deg);
	  opacity: 1;
	  }
	}
	
	/* 右へ */
	.flipRight{
	animation-name:flipRightAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	perspective-origin:right center;
	opacity:0;
	}
	
	@keyframes flipRightAnime{
	  from {
	   transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
	  opacity: 0;
	  }
	
	  to {
	  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
	  opacity: 1;
	  }
	}
	
	/* 右上へ */
	.flipRightTop{
	animation-name:flipRightTopAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes flipRightTopAnime{
	  from {
	   transform: translate(-20px,80px) rotate(25deg);
	   opacity: 0;
	  }
	
	  to {
	   transform: translate(0,1) rotate(0deg);
	  opacity: 1;
	  }
	}
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.flipDownTrigger,
	.flipLeftTrigger,
	.flipLeftTopTrigger,
	.flipRightTrigger,
	.flipRightTopTrigger{
		opacity: 0;
	}
	
	/*==================================================
	くるっ
	===================================*/
	
	
	/* X 軸（縦へ） */
	.rotateX{
	  animation-name:rotateXAnime;
	  animation-duration:1s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes rotateXAnime{
	  from{
		transform: rotateX(0);
		opacity: 0;
		}
	  to{
		transform: rotateX(-360deg);
		opacity: 1;
		}
	}
	
	/*　Y軸（横へ） */
	.rotateY{
	  animation-name:rotateYAnime;
	  animation-duration:1s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes rotateYAnime{
	  from{
		transform: rotateY(0);
		opacity: 0;
		}
	  to{
		transform: rotateY(-360deg);
		opacity: 1;
		}
	}
	
	/* Z 軸（左へ） */
	.rotateLeftZ{
	  animation-name:rotateLeftZAnime;
	  animation-duration:1s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes rotateLeftZAnime{
	  from{
		transform: rotateZ(0);
		opacity: 0;
		}
	  to{
		transform: rotateZ(-360deg);
		opacity: 1;
		}
	}
	
	/*　Z 軸（右へ） */
	.rotateRightZ{
	  animation-name:rotateRightZAnime;
	  animation-duration:1s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes rotateRightZAnime{
	  from{
		transform: rotateZ(0);
		opacity: 0;
		}
	  to{
		transform: rotateZ(360deg);
		opacity: 1;
		}
	}
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.rotateXTrigger,
	.rotateYTrigger,
	.rotateLeftZTrigger,
	.rotateRightZTrigger{
		opacity: 0;
	}
	
	/*==================================================
	ボンッ、ヒュッ
	===================================*/
	
	/* 拡大 */
	.zoomIn{
	  animation-name:zoomInAnime;
	  animation-duration:0.5s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes zoomInAnime{
	  from {
	  transform: scale(0.6);
	  opacity: 0;
	  }
	
	  to {
		transform: scale(1);
	  opacity: 1;
	  }
	}
	
	/* 縮小 */
	.zoomOut{
	  animation-name:zoomOutAnime;
	  animation-duration:0.5s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes zoomOutAnime{
	  from {
	  transform: scale(1.2);
	  opacity: 0;
	  }
	
	  to {
		transform:scale(1);
	  opacity: 1;
	  }
	}
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.zoomInTrigger,
	.zoomOutTrigger{
		opacity: 0;
	}
	
	/*==================================================
	じわっ
	===================================*/
	
	/* ぼかしから出現 */
	.blur{
	  animation-name:blurAnime;
	  animation-duration:1s;
	  animation-fill-mode:forwards;
	}
	
	@keyframes blurAnime{
	  from {
	  filter: blur(10px);
	  transform: scale(1.02);
	  opacity: 0;
	  }
	
	  to {
	  filter: blur(0);
	  transform: scale(1);
	  opacity: 1;
	  }
	}
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.blurTrigger{
		opacity: 0;
	}
	
	/*==================================================
	アニメーション設定
	===================================*/
	
	/* アニメーションの回数を決めるCSS*/
	
	.count2{  
	  animation-iteration-count: 2;/*この数字を必要回数分に変更*/
	}
	
	.countinfinite{  
	  animation-iteration-count: infinite;/*無限ループ*/
	}
	
	/* アニメーションスタートの遅延時間を決めるCSS*/
	
	.delay-time05{  
	  animation-delay: 0.5s;
	}
	
	.delay-time1{  
	  animation-delay: 1s;
	}
	
	.delay-time15{  
	  animation-delay: 1.5s;
	}
	
	.delay-time2{  
	  animation-delay: 2s;
	}
	
	.delay-time25{  
	  animation-delay: 2.5s;
	}
	
	/* アニメーション自体が変化する時間を決めるCSS*/
	
	.change-time05{  
	  animation-duration: 0.5s;
	}
	
	.change-time1{  
	  animation-duration: 1s;
	}
	
	.change-time15{  
	  animation-duration: 1.5s;
	}
	
	.change-time2{  
	  animation-duration: 2s;
	}
	
	.change-time25{  
	  animation-duration: 2.5s;
	}