@charset "utf-8";
@import url("https://use.typekit.net/ukp7lqr.css");
@import url("https://use.typekit.net/tww0zfe.css");
::selection {
	background: #000;
	color: #fff;
}
::-moz-selection {
 background: #000;
 color:#fff;
}
* {
	outline:none;
}
body {
	font-family: adobe-garamond-pro, serif;
	font-size: 20px;
	color: #fff;
	background:#000;
}
#fullWrap.fixed { position: fixed; }
a { color: #fff; }
a:hover { text-decoration: none; }
.pc {display:none}

/*Adobe Garamond Pro*/
.gmd {
	font-family: adobe-garamond-pro, serif;
}
/*Adobe Trajan Pro 3*/
.tanj {
	font-family: trajan-pro-3, serif;
}

#fullWrap {
	width: 640px;
	margin:0 auto;
	overflow: hidden;
	position: relative;
}
#smoke {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/sp/smoke.png) no-repeat center top / contain;
	z-index: 1;
}
.bg_movie, .bg_frame, #bg_ptn {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	pointer-events: none;
}
.bg_movie { z-index: -50; }
/*#bg_frame { z-index: 100; }*/
.bg_movie:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.2);
	z-index: 1;
}
.bg_movie video {
	width: auto;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.bg_frame:before, .bg_frame:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -2;
}
.bg_frame:before {
	background: url(../images/sp/lb.png) no-repeat left top;
}
.bg_frame:after {
	background: url(../images/sp/rb.png) no-repeat right bottom;
}
#bg_ptn:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: url(../images/ptn_set.png);
	pointer-events: none;
}

#menu_btn {
	width: 90px;
	height: 90px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 2000;
}
#menu_btn a {
	display: block;
	height: 90PX;
	background: url(../images/sp/menu_btn.jpg) no-repeat center;
}
#menu_btn a.on {
	background: url(../images/sp/close.jpg) no-repeat center;
}
#nav {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.85);
	z-index: 1000;
	display: none;
	overflow: scroll;
}
#logo_s {
	width: 240px;
	height: 76px;
	position: fixed;
	left: 40px;
	top: 20px;
	z-index: 2000;
}
#logo_s a {
	display: block;
	height: 76px;
	background: url(../images/sp/logo_s.png) no-repeat center;
}
@keyframes blink { 0%, 33%, 66%, 100% {
	 opacity:1;
	}
	 16.5%, 50%, 82.5% {
	 opacity:0;
	}
}
#nav nav {
	
}
#menu_nav {
	padding-top: 120px;
}
#menu_nav li {
	padding: 20px 0;
	position: relative;
}
#menu_nav li:after {
	content: "";
	width: 280px;
	height: 5px;
	background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(240,242,172,1) 30%, rgba(240,242,172,1) 70%, rgba(0,0,0,1) 100%);
	background-origin: center;
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
}
#menu_nav li:last-child:after { display: none; } 
#menu_nav li a{
	display: block;
	text-decoration: none;
	font-size: 48px;
	line-height: 120px;
	text-align: center;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    letter-spacing: 0.05em;
    position: relative;
}
#menu_nav li a:before {
	content: "";
	width: 103px;
	height: 100px;
	background: url(../images/sp/menu_b.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	opacity: 0;
	transition: all .3s ease;
}
#menu_nav li a.active:before,
#menu_nav li a:hover:before {
	opacity: 1;
}
#share {
	width: 390px;
	height: 50px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 50px;
	margin-bottom: 300px;
}
#share p {
	font-size: 22px;
	line-height: 50px;
	padding-right: 20px;
	letter-spacing: 0.05em;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
#share ul {
	display: flex;
	flex-wrap: wrap;
	padding-left: 20px;
}
#share li {
	width: 50px;
	height: 50px;
	margin: 0 18px;
}
#share li a{
	display: block;
	height: 50px;
	background-repeat: no-repeat;
	background-position: center;
	transition: all .3s ease;
}
#share li a:hover {
	transform: scale(1.2);
}
#tw a {
	background-image: url(../images/sp/tw.png);
	background-size: auto 50px;
}
#fb a {
	background-image: url(../images/sp/fb.png);
	background-size: auto 48px;

}

#top {
	position: relative;
	overflow: hidden;
}
#catch {
	width: 100%;
	position: absolute;
	top: 340px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 28px;
	font-weight: 500;
	line-height: 28px;
	text-align: center;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    letter-spacing: 0.04em;
}
#logo {
	width: 588px;
	height: 203px;
	background: url(../images/logo.png) no-repeat center;
	position: absolute;
	top: 380px;
	left: 50%;
	margin-left: -284px;
}
#pf {
	width: 450px;
	height: 82px;
	background: url(../images/sp/pf.png) no-repeat center;
	position: absolute;
	top: 590px;
	left: 50%;
	margin-left: -225px;
}
#startDate {
	width: 282px;
	position: absolute;
	top: 700px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 28px;
	font-weight: 500;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    letter-spacing: 0.05em;
}
#startDate span:before {
	content: "";
	width: 186px;
	height: 133px;
	background: url(../images/sp/startDate_b.png) no-repeat center;
	position: absolute;
	top: -21px;
    left: -42px;
	z-index: -1;
}
#startDate span {
	font-size: 45px;
	color: #f1f3ad;
	position: relative;
}
#trailerBox {
	padding-top: 800px;
	width: 100%;
}
#trailerBox h4 {
	font-size: 26px;
	font-weight: 500;
	line-height: 60px;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
    position: relative;
    padding-left: 30px;
    box-sizing: border-box;
}
#trailerBox h4:before {
 	width: 192px;
 	height: 1px;
 	position: absolute;
 	left: 0;
 	bottom: 13px;
 	content: "";
 	background: url(../images/sp/under_l.png) no-repeat center;
}
#trailerFrame {
	width: 100%;
	height: 360px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 0 10px #000;
}
#trailerFrame:before, #trailerFrame:after {
	content:'';
	width: 105px;
	height: 105px;
	background: url(../images/sp/r_frame.png) no-repeat center;
	position: absolute;
	z-index: 10;
}
#trailerFrame:before {
	top: -5px;
	left: -5px;
	transition: all .1s linear;
}
#trailerFrame:after {
	bottom: -5px;
	right: -5px;
	transform: rotate(180deg);
	transition: all .1s linear;
}
#trailerFrame a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 1px solid rgba(255,255,255,.5);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-sizing: border-box;
}
#trailerFrame a p {
	width: 214px;
	height: 92px;
	background: url(../images/sp/play.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#trailerFrame a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.4);
}
#rating {
	width: 390px;
	height: 100px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-left: 67px;
	padding-top: 25px;
	margin-bottom: 100px;
	box-sizing: border-box;
	flex-direction: row-reverse;
}
#esrb {
	width: 212px;
	height: 100px;
	background: url(../images/esrb.png) no-repeat center / cover;
}
#pegi {

	width: 82px;
	height: 100px;
	background: url(../images/pegi.png) no-repeat center / cover;
}
#noiseBg {
	position: absolute;
	top: -100%;
	left: -100%;
	right: -100%;
	bottom: -100%;
	pointer-events: none;
}
#noiseBg p {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/nosie.png);
	z-index: 10;
	pointer-events: none;
}

/*=========== SUB CONTENT ==========*/
#subCont {
	position: relative;
	z-index: 10;
}
#subCont:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: url(../images/ptn_set.png);
	pointer-events: none;
}
section {
	padding-top: 120px;
	padding-bottom: 60px;
	position: relative;
	z-index: 10;
}
#buy { padding-top: 120px; }
#gallery {
	padding-bottom: 0;
}
section h2 {
	position: relative;
	text-align: center;
	margin-bottom: 105px;
	z-index: 100;
}
section h2:before {
	content: "";
	width: 288px;
	height: 172px;
	background: url(../images/sp/b_bg.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
section h2 span {
	font-size: 50px;
	letter-spacing: 0.05em;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}

#pkgWrap {
	width: 560px;
	margin: auto;
	padding-bottom: 20px;
}
.pkgCont {
	width: 560px;
	background: #000;
	margin-bottom: 40px;
	border: 1px solid rgba(255, 255, 255, .5);
/*	-webkit-filter: grayscale(1);  Webkit 
	filter: gray;  IE6-9 
	filter: grayscale(1);  W3C 
	pointer-events: none;*/
}
.pkgCont h4 {
	font-size: 30px;
	line-height: 50px;
	text-align: center;
	padding: 40px 0;
	letter-spacing: 0.05em;
}
.pkg_info {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 50px;
	padding-right: 50px;
	padding-left: 50px;
}
.pkg_info ul {

}
.pkg_info li {
	width: 240px;
	height: 48px;
	margin-bottom: 25px;
}
.pkg_info li:last-child { margin-bottom: 0; }
.pkg_info li a {
	display: block;
	height: 48px;
	text-decoration: none;
	padding-left: 23px;
	box-sizing: border-box;
	background: #2e0907;
	font-size: 26px;
	line-height: 48px;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    position: relative;
    letter-spacing: 0.05em;
    transition: all .3s ease;
}
.pkg_info li a:hover {
	animation: blink 0.15s steps(7) forwards;
}
.pkg_info li a:before {
	content: "";
	width: 16px;
	height: 31px;
	background: url(../images/arw_s.png) no-repeat center;
	position: absolute;
	top: 50%;
	margin-top: -15.5px;
	right: 8px;
	transition: all .1s ease;
}
.pkg_info li a:hover:before {
	right: 15px;
}
.pkg_img {
	width: 192px;
}
.pkg_img img {
	display: block;
	width: 100%;
	height: auto;
}
.topbnr{
	display: block;
	width: 560px;
	height: auto; 
	margin: 0 auto;
}
.topbnr img{
	width: 100%;
}
#dlc_list_btn {
	width: 320px;
	height: 65px;
	margin: auto;
	position: relative;
	overflow: hidden;
}
#dlc_list_btn a {
	display: block;
	height: 65px;
	border: 1px solid rgba(255,255,255,.5);
	box-sizing: border-box;
	font-size: 20px;
	line-height: 65px;
	text-align: center;
	text-decoration: none;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    background: #000;
    letter-spacing: 0.05em;
}
#dlc_list_btn a:hover {
	animation: blink 0.15s steps(7) forwards;
}
#dlc_list_btn:before, #dlc_list_btn:after {
	content:'';
	width: 40px;
	height: 40px;
	background: url(../images/r_frame.png) no-repeat center;
	position: absolute;
	z-index: 10;
	transition: all .1s linear;
}
#dlc_list_btn:before {
	top: -8px;
	left: -8px;
}
#dlc_list_btn:after {
	bottom: -8px;
	right: -8px;
	transform: rotate(180deg);
}
#dlc_list_btn:hover:before {
	top: 0px;
	left: 0px;
}
#dlc_list_btn:hover:after {
	bottom: 0px;
	right: 0px;
}

/*=================== OVER VIEW ====================*/
#ovText {
	width: 560px;
	margin: auto;
	padding-bottom: 30px;
	padding-top: 55px;
}
#ovText p {
	font-size: 24px;
	line-height: 35px;
	letter-spacing: 0.05em;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
#overview .contIn { position: relative; }
#overview .contIn:before {
	content: "";
	width: 250px;
	height: 336px;
	background: url(../images/sp/ov1.png) no-repeat center;
	position: absolute;
	top: 10px;
	left: 0;
	z-index: -1;
}
#overview .contIn:after {
	content: "";
	width: 240px;
	height: 330px;
	background: url(../images/sp/ov2.png) no-repeat center;
	position: absolute;
	bottom: -150px;
	right: 0;
	z-index: -1;
}



/*=================== STORY ====================*/
#story .contIn {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
section#story h2 {
	width: 240px;
	height: 35px;
	margin-top: -50px;
	margin-bottom: 70px;
}
section#story h2:before {
	width: 200px;
	height: 17px;
	background: url(../images/brush.png) no-repeat center;
	top: auto;
	left: 55%;
	bottom: -20px;
}
section#story h2 span {
	font-size: 35px;
}
#story_img_box {
	width: 100%;
	height: 426.66px;
	position: relative;	
}
#story_img_boxIn {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	ms-flex-item-align: start;
    align-self: flex-start;
    width: 100%;
}
#si_list {
	position: relative;
	height: 426.66px;
}
#si_list li {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
#si_list li.active {
	opacity: 1;
	transition: all 1s ease;
}
.storyImg {
	width: auto;
	height: 100%;
	overflow: hidden;
}
#si1 {
	background-image: url(../images/story/1.png);
}
#si2 {
	background-image: url(../images/story/2.png);
}
#si3 {
	background-image: url(../images/story/3.png);
}
#si4 {
	background-image: url(../images/story/4.png);
}
#si5 {
	background-image: url(../images/story/5.png);
}
#list_counter {
	height: 80px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#list_counter li {
	width: 40px;
	height: 4px;
	background: #fff;
	margin: 0 7px;
	position: relative;
	overflow: hidden;
}
#list_counter li span {
	position: absolute;
	top: 0;
	left: 100%;
	right: 0;
	bottom: 0;
	background: #cb0000;
}
#list_counter li.active span {
	animation-name: owlContUp;
	animation-duration: 4s;
	animation-timing-function:linear;
}
@keyframes owlContUp {
    0% {
        left: 0;
    }
    100% {
        left: 100%;
    }
}

#story_text {
	width: 560px;
	margin: auto;
}
#story_textIn {
	width: 560px;
	margin: auto;
}
#story_text p {
	padding-top: 50px;
	padding-bottom: 50px;
	font-size: 24px;
	line-height: 35px;
	letter-spacing: 0.05em;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
#si_list .owl-controls {
	position: absolute;
}

/*=================== CHARACTER ====================*/
#chara_thumb {
	width: 100%;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 30px;
}
#chara_thumb li {
	width: calc((100% / 3) - 3px);
	height: 120px;
	overflow: hidden;
	position: relative;
	background: #000;
	transition: all .3s ease;
	margin: 1.5px;
}
#chara_thumb li:hover { background: #CB0000; }
#chara_thumb li a:before, #chara_thumb li a:after {
	content:'';
	width: 40px;
	height: 40px;
	background: url(../images/r_frame.png) no-repeat center;
	position: absolute;
	z-index: 10;
	transition: all .1s linear;
}
#chara_thumb li a:before {
	top: 0px;
	left: 0px;
}
#chara_thumb li a:after {
	bottom: 0px;
	right: 0px;
	transform: rotate(180deg);
}

#chara_thumb li a {
	display: block;
	height: 120px;
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 10;
}
#chara_thumb li:hover a,
#chara_thumb li.on a  {
	animation: blink 0.15s steps(7) forwards;
}
#chara_thumb li:before,
#chara_thumb li:after {
    content: '';
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #CB0000;
    transform: skewX(-45deg);
    transition: all .1s linear;
}
#chara_thumb li:before { left: -110%; }
#chara_thumb li:after { left: 110%; }
#chara_thumb li:hover:before,
#chara_thumb li.on:before {
	left: -50px;
}
#chara_thumb li:hover:after,
#chara_thumb li.on:after {
	left: 50px;
}
#chara_thumb li:nth-child(1) a {
	background-image: url(../images/character/chara_thumb1.png);
}
#chara_thumb li:nth-child(2) a {
	background-image: url(../images/character/chara_thumb2.png);
}
#chara_thumb li:nth-child(3) a {
	background-image: url(../images/character/chara_thumb3.png);
}
#chara_thumb li:nth-child(4) a {
	background-image: url(../images/character/chara_thumb4.png);
}
#chara_thumb li:nth-child(5) a {
	background-image: url(../images/character/chara_thumb5.png);
}

#c_main {
	position: relative;
}
.arw_l, .arw_r {
	width: 70px;
	height: 77px;
	position: absolute;
	top: 600px;
	z-index: 1000;
}
.arw_l {
	left: 0;
}
.arw_r {
	right: 0;
}
.arw_l a, .arw_r a {
	display: block;
	height: 77px;
	background-repeat: no-repeat;
	background-position: center;
}
.arw_l a {
	background-image: url(../images/arw_l.png);
}
.arw_r a {
	background-image: url(../images/arw_r.png);
}
.arw_l a:hover, .arw_r a:hover {
	transform: scale(1.1);
}
.chara_voice {
	width: 640px;
	margin: auto;
	padding-bottom: 40px;
}
.chara_voice li {
	font-size: 32px;
	line-height: 64px;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
}
.cv1:before {
	content: "";
	width: 567px;
	height: 17px;
	background: url(../images/brush2.png) no-repeat center;
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.cv2:before, .cv2:after {
	content: "";
	width: 300px;
	height: 8px;
	background: url(../images/sp/brush.png) no-repeat center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.cv2:before { top: 40px; }
.cv2:after { bottom: 17px; }

#chara_list {
	padding-top: 30px;
	position: relative;
}
#chara_list>li {
	width: 640px;
	touch-action: manipulation;
}
.charaWrap {
	width: 640px;
	margin: auto;
}
.charaWrap h4 {
	font-size: 50px;
	line-height: 100px;
	text-align: center;
	letter-spacing: 0.05em;
	position: relative;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
.charaWrap h4:before {
	content: "";
	width: 174px;
	height: 140px;
	background: url(../images/b_bg2.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-52%, -40%);
	z-index: -1;
}
.c_img {
	height: 750px;
	position: relative;
}
.c_img img {
	position: absolute;
	top: 0;
	right: -80px;
	transform: scale(0.8);
}
#ch4 .c_img img {
	right: -155px;
}
#ch5 .c_img img {
	right: -155px;
	top: -50px;
}

.c_disc {
	padding-left: 40px;
	box-sizing: border-box;
}

.c_disc p {
	width: 560px;
	font-size: 24px;
	line-height: 35px;
	letter-spacing:  0.05em;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    padding: 10px 0;
}

/*=================== SYSTEM ====================*/
#system_listWrap {
	position: relative;
	/*padding-bottom: 100px;*/
	margin-bottom: 30px;
}
#system_listWrapBG {
	position: absolute;
	top: -145px;
	left: 0;
	right: 0;
	bottom: 0;
	background-color:rgba(51,0,0,0.7);
	border-top: 2px solid #cb0000;
	z-index: -1;
}
#system_list {
	position: relative;
}
#system_list .owl-controls{ display: none; }
#system_list li {
	width: 320px;
	margin: 0 40px;
	touch-action: manipulation;
}
#system_list li a {
	display: block;
	text-decoration: none;
}
#system_list li a.cs {
	pointer-events: none;
}
.sl_thumb {
	width: 320px;
	height: 180px;
	overflow: hidden;
	position: relative;
}
.sl_thumbIn {
	border: 1px solid rgba(255,255,255,.8);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.cs .sl_thumbIn {
	background-position: center top -20px;
	background-color: #000;
}
.sl_thumbIn:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.4);
	transition: all .3s ease;
}
#system_list li a:hover .sl_thumbIn:before {
	opacity: 0;
}
.sl_text{
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: center;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    padding: 10px;
}
.sl_thumbIn .play {
	width: 214px;
	height: 92px;
	background: url(../images/sp/play.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.cs .sl_thumbIn .play { display: none; }
.cs .sl_thumb:before, .cs .sl_thumb:after { display: none; }

.sl_thumb:before, .sl_thumb:after {
	content:'';
	width: 40px;
	height: 40px;
	background: url(../images/r_frame.png) no-repeat center;
	position: absolute;
	z-index: 10;
	transition: all .1s linear;
}
.sl_thumb:before {
	top: 0px;
	left: 0px;
}
.sl_thumb:after {
	bottom: 0px;
	right: 0px;
	transform: rotate(180deg);
}
#sArwL.arw_l {
	left: 82px;
}
#sArwR.arw_r {
	right: 82px;
}
#sArwL, #sArwR {
	top: 360px;
}
.sl_cs {
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: center;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	opacity: .5;
}
/*=================== GALLARY ====================*/
#g_listWrap {
	position: relative;
}
#g_list li {
	width: 640px;
	height: 359.38px;
	position: relative;
	overflow: hidden;
	touch-action: manipulation;
}
#g_list li a {
	display: block;
	height: 359.38px;
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#g_list li a img {
	display: block;
	width: 100%;
	height: auto;
}
#g_list li:not(.has_yt) a { pointer-events: none; }
.has_yt a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.4);
	pointer-events: none;
}
.has_yt:before, .has_yt:after {
	content:'';
	width: 108px;
	height: 108px;
	background: url(../images/r_frame_xl.png) no-repeat center;
	position: absolute;
	z-index: 10;
	transition: all .1s linear;
}
.has_yt:before {
	top: -2px;
	left: 0px;
}
.has_yt:after {
	bottom: -2px;
	right: 0px;
	transform: rotate(180deg);
}
.has_yt p {
	width: 214px;
	height: 92px;
	background: url(../images/sp/play.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#gArwL, #gArwR {
	bottom: 25px;
	top: auto;
}
#gArwL { left: 30px; }
#gArwR { right: 30px; }
#g_list .owl-controls {
	margin-top: 0 !important;
	padding: 30px 0;
}
#g_list .owl-dots {
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 70px;
	overflow: hidden;
}
#g_list .owl-dots .owl-dot span {
	display: block;
	width: 30px;
    height: 4px;
    background: #fff;
    margin: 0 7px;
    position: relative;
    overflow: hidden;
}
@keyframes owlContUp2 {
    0% {
        right: 100%;
    }
    100% {
        right: -20%;
    }
}
#g_list .owl-dots .owl-dot.active span:before{
	content: "";
	position: absolute;
    top: 0;
    left: 0;
    right: 100%;
    bottom: 0;
    background: #cb0000;
    animation-name: owlContUp2;
    animation-duration: 5s;
    animation-timing-function: linear;
}
/*=================== FOOTER =====================*/
footer {
	height: 380px;
	position: relative;
	background: url(../images/footer_bg.png) no-repeat center top / cover;
	padding-top: 135px;
	padding-bottom: 50px;
	box-sizing:border-box;
	margin-top: 50px;
}
#d3p {
	width: 167px;
	height: 64px;
	margin: auto;
}
#d3p a {
	display: block;
	height: 64px;
	background: url(../images/D3P.png) no-repeat center;
}
#ft_ps { padding-top: 30px; }

#ft_ps img {
	display: block;
	margin: auto;
}
#footerText {
	width: 560px;
	margin: auto;
	padding-top: 10px;
	font-size: 12px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: center;
}
#CR {
	padding-top: 5px;
	font-size: 12px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: center;
}

/*==============  MODAL  =============*/
#movieModal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,.8);
	z-index: 6000;
	display: none;
}
#movieModalIn {
	width: 640px;
	height: 360px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#movieModalIn iframe {
	width: 100%;
	height: 100%;
}
.modalClose {
	width: 75px;
	position: absolute;
	top: 40px;
	right: 40px;
	z-index: 100;
}
.modalClose a {
	display: block;
	height: 77px;
	background: url(../images/close.png) no-repeat center;
	transition: all .3s ease;
}
.modalClose p {
	font-size: 12px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: center;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
.modalClose a:hover {
	transform: scale(1.1);
}

.oneModalClose {
	width: 75px;
	position: absolute;
	top: 40px;
	right: 40px;
	z-index: 100;
}
.oneModalClose a {
	display: block;
	height: 77px;
	background: url(../images/close.png) no-repeat center;
	transition: all .3s ease;
}
.oneModalClose p {
	font-size: 12px;
	line-height: 30px;
	letter-spacing: 0.05em;
	text-align: center;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
.oneModalClose a:hover {
	transform: scale(1.1);
}
/******************************************
 * bgm
 *****************************************/
 #bgmWrap {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2000;
  display: none;
 }

 #bgmWrap h4 {
 	width: 142px;
	font-size: 26px;
	line-height: 50px;
	letter-spacing: 0.05em;
	text-align: center;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
    position: relative;
    margin-left: auto;
    box-sizing: border-box;
    margin-bottom: 20px;
}
#bgmWrap h4:before {
 	width: 233px;
 	height: 1px;
 	position: absolute;
 	right: 0;
 	bottom: 5px;
 	content: "";
 	background: url(../images/sp/under_r.png) no-repeat center ;
}
.bgm {
  width: 640px;
  overflow: hidden;
  height: 120px;
  position: relative;
  z-index: 100;
}
#bgm:before {
	content: '';
    width: 40px;
    height: 40px;
    background: url(../images/r_frame.png) no-repeat center;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    pointer-events: none;
}
#bgm {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000;
  	border: 1px solid rgba(255,255,255,.5);
  	padding-top: 35px;
  	padding-bottom: 35px;
  	padding-left: 40px;
  	padding-right: 20px;
}
#bgm .ui {
  position: relative;
  height: 100%;
  padding: 0 30px 0 120px;
}
#bgm .status {
  position: absolute;
  top: 0;
  left: 0;
  width: 55px;
  height: 50px;
}
#bgm .status a {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: left center;
}
#bgm .status a.on {
  display: none;
  background-image: url(../images/sp/sound_on.png);
}
#bgm .status.play a.on {
  display: block;
}
#bgm .status a.off {
  background-image: url(../images/sp/sound_off.png);
}
#bgm .status.play a.off {
  display: none;
}
#bgm .status-eq {
  position: absolute;
  bottom: 10px;
  left: 65px;
  width: 40px;
  height: 40px;
  background: url(../images/bg-bgm-eq.gif) no-repeat 0 0 / 100% auto;
}
#bgm .status-eq:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/icon-bgm-eq.gif) no-repeat 0 0 / 100% auto;
  opacity: 0;
  transition: opacity .1s ease; 
}
#bgm .status.play + .status-eq:before {
  opacity: 1;
}
#bgm .arrow {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
#bgm .arrow a {
  position: absolute;
  display: block;
  right: 0;
  width: 40px;
  height: 30px;
  background: url(../images/sp/bgm_arw.png) no-repeat center;
}
#bgm .arrow .prev a {
  top: -23px;
}
#bgm .arrow .next a {
  bottom: -23px;
  transform: rotate(180deg);
}
#bgm .bgmIndex {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
#bgm .bgmtitle {
  line-height: 48px;
  font-size: 22px;
  overflow: hidden;
  pointer-events: none;
}
#bgm .bgmtitle span {
  position: relative;
  left: 0;
  display: inline-block;
  white-space: nowrap;
}
#bgm .bgmtitle span b {
  font-weight: normal;
  position: relative;
  left: 0;
}
#bgm .bgmtitle span em {
  font-weight: bold;
  padding-left: .5em; 
  color: #f00;
}




/*=============== Check Birth Day ================*/
#BDC {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: rgba(0,0,0,1);
	z-index: 88888;
}
#form {
	width: 520px;
	height: 240px;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#form h3 {
	font-size: 20px;
	line-height: 48px;
	letter-spacing: 0.05em;
	text-align: center;
}
#form ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 20px 0;
}
#form li {
	position: relative;
	margin-right: 50px;
}
#form li:before {
	content: "";
	width: 50px;
	height: 50px;
	background: url(../images/slash_l.png) no-repeat center / 70% auto;
	position: absolute;
	top: 0;
	right: -50px;
}
#form li:last-child { margin-right: 0; }
#form li:last-child:before { display: none; }

#form input {
	font-family: trajan-pro-3, serif;
	border: 1px solid rgba(255,255,255,.5);
	height: 50px;
	font-size: 20px;
	line-height: 50px;
	text-align: center;
	background: #000;
	color: #fff;
	letter-spacing: 0.05em;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
#form input::placeholder {
	font-size: 20px;
	line-height: 50px;
	font-family: trajan-pro-3, serif;
	color: #999999;
	letter-spacing: 0.05em;
	text-align: center;
}
#dd, #mm{width: 80px;}
#yy {width: 120px;}
#enter {
	display: block;
	width: 240px;
	height: 50px;
	margin: 20px auto;
	position: relative;
	background: #000;
	overflow: hidden;
	border: none;
	padding: 0;
	cursor: pointer;
}
#enter:before, #enter:after {
    content: '';
    width: 40px;
    height: 40px;
    background: url(../images/r_frame.png) no-repeat center;
    position: absolute;
    z-index: 10;
    transition: all .1s linear;
}
#enter:before {
	top: -5px;
	left: -5px;
}
#enter:after {
	bottom: -5px;
	right: -5px;
	transform: rotate(180deg);
}
#enter:hover:before, #enter:focus:before {
	top: 0;
	left: 0;
}
#enter:hover:after, #enter:focus:after {
	bottom: 0;
	right: 0;
}
#enter:hover, #enter:focus {
	animation: blink 0.15s steps(7) forwards;
}
#enter p {
	display: block;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(255,255,255,.5);	
	color: #fff;
	font-size: 20px;
	line-height: 50px;
	text-align: center;
	letter-spacing: 0.05em;
	box-sizing: border-box;
}
#caoution {
	font-size: 20px;
	line-height: 32px;
	text-align: center;
	letter-spacing: 0.05em;
}

#loading {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	pointer-events: none;
}
#lb, #rb {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
}
.on #lb, .on #rb {
	opacity: 1;
	transition: opacity 1s ease;
	transition-delay: 1s;
}
#lb {
	background: url(../images/sp/lb.png) no-repeat left top;
}
#rb {
	background: url(../images/sp/rb.png) no-repeat right bottom;
}
#loadingIn {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#loadingIn:before, #loadingIn:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	z-index: -1;
	transition: all 0.3s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#loadingIn:before {
	top: 0;
	bottom: 50%;
	background: #000 url(../images/ptn_set.png) center bottom;
}
#loadingIn:after {
	top: 50%;
	bottom: 0;
	background: #000 url(../images/ptn_set.png) center top;
}
#loadingIn.fade:before { bottom: 100%; }
#loadingIn.fade:after { top: 100%; }

#ld_line {
	position: absolute;
	top: 52.1%;
	left: 50%;
	width: 100%;
	height: 3px;
	transform: translate(-50%,-50%);
}
#ld_line:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/sp/loading_bar.png) no-repeat center / cover;
	animation: hl 2s linear 0s;
}
@keyframes hl { 0% {
	 right: 100%;
	}
	 100% {
	 right: 0%;
	}
}
#ld_counter {
	font-size: 20px;
	line-height: 50px;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 64%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
}
#ld_logo {
	width: 508px;
	height: 178px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#ld_logo p {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/logo_m.png) no-repeat center;
	opacity: 0;
}
.on #ld_logo p {
	opacity: 1;
	transition: opacity 2s ease;
}
#ld_logo p.blink {
	animation: blink 0.15s steps(7) forwards;
}
#loading_hs {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999999;
	background: #000;
}
#overview {
	padding-bottom: 0;
	z-index: 50;
}
#system, #overview, #story {
	background-color: rgba(51,0,0,0.7);
}

/*=============== DLC ================*/
.oneModal {
	background: url(../images/ptn_set.png);
	width: 100%;
	height: 100%;
	position: relative;
	overflow: auto;
	display: none;
	z-index: 9999;
}
.oneModalIn { display: none;width: 560px;margin:auto; }
#ModalWrap {
	position: relative;
	bottom: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin:auto;
	overflow: auto;
	z-index: -10;
}
#ModalWrap section{
	padding-top: 160px;
    padding-bottom: 0;
    position: relative;
    z-index: -10;
}
.modalin {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#dlc{
	position: relative;	
}
#dlc article{
	width: 560px;
	margin:auto;
	padding-bottom: 50px;
	padding-top: 30px;
	display: block;
}
.buy-content-flex figure img{
	width: 100%;
}
.buy-content-flex figure{
	margin:0;
}

/* accordion */
.dlc-acc-block.accordion dt {
  font-size: 24px;
  cursor: pointer;
  background: url("../images/dlc/arrow02.png") no-repeat right 15px center / 5%;
  padding: 0.5rem 1rem;
  border: 1px solid #fff;
}
.dlc-acc-block.accordion dt.active{
  background: url("../images/dlc/arrow01.png") no-repeat right 15px center / 5%;
}
.dlc-acc-block.accordion dt span {
  display: block;
  background: #fff;
  padding: 10px 40px 10px 0;
}
.dlc-acc-block.accordion dd {
  display: none;
  line-height: 1.5;
  margin-top: 10px;
}
.dlc-acc-block.accordion dd span {
  font-size: 22px;
  display: block;
  margin-bottom: .5rem;
  background: #420303;
  padding: .5rem;
}
.dlc-mt {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .dlc-detail .buy-content-title {
    padding: .5rem 1.2rem;
    background-size: cover;
  }
  .dlc-detail .buy-content-title span {
    line-height: 1.5;
  }
  .dlc-mt {
    margin-top: 2rem;
  }
}


/******************************************
 * buyページ
 *****************************************/
.buy-detail {
  max-width: 1160px;
  margin: 0 auto;
}
.buy-detail-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.buy-content-wrap {
  margin:auto;
  padding: 40px;
  background: rgba(0, 0, 0, .75);
}
.buy-content-wrap-02 + .buy-content-wrap-02 {
  border-top: 1px solid #828080;
}
.buy-btn-list-02 {
  display: flex;
  justify-content: space-between;
  margin: 30px 0 20px;
  padding: 0 1em;
}
.buy-text-01,
.buy-text-02,
.buy-text-03 {
  margin-bottom: 30px;
}
.buy-text-03 p,
.buy-limied-text p {
  margin-bottom: 10px;
  margin-left: 0.5em;
  text-indent: -0.5em;
}
.buy-text-03 p:before {
  content: "*";
  display: inline-block;
  width: 0.5em;
  text-indent: 0;
}
.buy-limied-text p:before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
.buy-shop-name,
.aka {
  color: #ff0000;
}
.buy-limied-flex {
  margin-top: 30px;
  margin-bottom: 30px;
}

/* link btn image */
.buy-btn-list-01 li a {
  display: block;
}
.buy-btn-list-01 li a span {
  display: block;
  width: 330px;
  height: 48px;
  overflow: hidden;
  background: no-repeat center bottom / 100% auto;
}
.buy-btn-list-01 li a img {
  opacity: 0;
  transition: opacity .3s ease;
}
.buy-btn-list-01 li a:hover img {
  opacity: 1;
}

/* link btn */
.buy-linkbtn {
  position: relative;
}
.buy-linkbtn a {
  position: relative;
  width: 295px;
  line-height: 50px;
  text-align: center;
  z-index: 0;
  display: block;
  transition: all .3s ease;
  font-size: 18px;
  margin-right: auto;
  margin-left: auto;
}
.buy-linkbtn a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: skewX(-30deg);
  z-index: -1;
  border: 1px solid #fff;
}
.buy-linkbtn a:hover,
.buy-linkbtn.current > a {
  text-shadow:
    0 0 10px #f1f3aa,
    0 0 10px #f1f3aa;
}
.buy-linkbtn a:hover:before,
.buy-linkbtn.current > a:before {
  background: #950404;
  transform: skewX(-30deg);
  border: 1px solid #950404;
  transition: all .3s ease;
}
.buy-linkbtn > a .arrow-nav:before,
.buy-linkbtn.current > a .arrow-nav:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/buy/arrow.png);
  background-repeat: no-repeat;
  background-position: right 35px center;
  background-size: 5%;
}
.buy-linkbtn ol {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 99;
  margin-top: 5px;
}
.buy-linkbtn ol li {
  margin-top: 2px;
}
.buy-linkbtn ol li a:hover {
  border: none !important;
}
.buy-linkbtn ol li a:before {
  background: rgba(0, 0, 0, 0.6);
  border: none !important;
}

/* title */
.buy-detail-list .about-content-ttl .en:after {
  background: #a40000;
  background: -moz-linear-gradient(left, rgba(164,0,0,0) 0%, rgba(164,0,0,1) 8%, rgba(164,0,0,1) 92%, rgba(164,0,0,0) 100%);
  background: -webkit-linear-gradient(left, rgba(164,0,0,0) 0%,rgba(164,0,0,1) 8%,rgba(164,0,0,1) 92%,rgba(164,0,0,0) 100%);
  background: linear-gradient(to right, rgba(164,0,0,0) 0%,rgba(164,0,0,1) 8%,rgba(164,0,0,1) 92%,rgba(164,0,0,0) 100%);
}
.buy-content-title {
  background: url(../images/dlc/dlc-title-bg.png) no-repeat center center / 100% auto;
  padding-left: 30px;
}
.buy-sub-title.sub-shadow {
  text-shadow:
    0 0 8px rgba(254, 255, 232, 0.5),
    0 0 8px rgba(254, 255, 232, 0.5);
}
.buy-red-title {
  background: #950404;
  padding: 15px;
  margin-bottom: 30px;
}
.buy-text-block-02 .buy-sub-title {
  margin-bottom: 10px;
}
.buy-limited-title {
  color: #ff0000;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .buy-text-01{
  	font-size:22px;
  }
  .buy-text-02 p,
  .buy-text-03 p{
  	font-size:22px;
  }
  .buy-detail-nav {
    margin-bottom: 3rem;
  }
  .buy-content-wrap {
    padding: 2rem;
  }
  .buy-content-inner + .buy-content-inner {
    margin-top: 3rem;
  }
  .buy-content-wrap-02 + .buy-content-wrap-02 {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .buy-btn-list-01 {
    margin-top: 2rem;
  }
  .buy-btn-list-01 li + li {
    margin-top: 1.5rem;
  }
  .buy-shop-name {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
  .buy-text-block-02 + .buy-text-block-02 {
    margin-top: 2.5rem;
  }
  .buy-text-block {
    margin-top: 2rem;
  }
  .buy-btn-list-02 {
    margin: 1.5rem 0 1rem;
  }
  .buy-text-01,
  .buy-text-02 {
    margin-bottom: 2rem;
  }
  .buy-text-03 p,
  .buy-limied-text p {
    margin-bottom: .5rem;
  }
  .buy-limied-flex {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .buy-limied-flex li + li {
    margin-top: 1rem;
  }

  /* link btn image */
  .buy-btn-list-01 li a span {
    width: 13rem;
    height: calc(48 / 330 * 13rem);
    margin-right: auto;
    margin-left: auto;
  }

  /* link btn */
  .buy-linkbtn {
    margin-top: 10px;
  }
  .buy-linkbtn:nth-child(-n + 2) {
    margin-top:0;
  }
  .buy-linkbtn a {
    width: 13rem;
    line-height: 2rem;
    font-size: .8rem;
  }
  .buy-btn-list-02 .buy-linkbtn a {
    width: 10rem;
  }
  .buy-linkbtn > a .arrow-nav:before,
  .buy-linkbtn.current > a .arrow-nav:before {
    background-position: right 2rem center;
  }

  /* title */
  .buy-content-title {
    padding-left: 1.5rem;
  }
  .buy-content-title span {
    font-size: 30px;
    letter-spacing: .1em;
    line-height: 2.5;
  }
}
/* == dlc__nav == */
#dic__nav{
	width: 100%;
	height: 260px;
	position: relative;
	margin-right: 0 auto;
	margin-top: 50px;
}
#dlc__nav ul{
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}
#dlc__nav li{
	width: 273px;
    height: 76px;
    border: 1px #fff solid;
    margin-top: 10px;
    margin-right: 10px;
    text-align: center;
    line-height: 76px;
    font-weight: bold;
}
#dlc__nav li:nth-child(2n + 0){
	margin-right: 0;
}
#dlc__nav li a{
    width: 275px;
    height: 80px;
    display: block;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    text-decoration: none;
}

.mb30{
	padding-left: 0;
	text-align: center;
	margin-bottom: 50px;
	margin-top: 30px;
}
.buy-content-category{
	padding-top: 20px;
	scroll-behavior: smooth;
}

.pagetop{
	height: 40px;
	width: 82px;
	position: fixed;
	bottom: 40px;
	right: 20px;
	z-index: 100;
}
.pagetop a{
	display: block;
	width: 82px;
	height: 40px;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(../images/arw_t.png) no-repeat;
	transition: all .3s ease-in-out;
}
.pagetop a:hover{
	display: block;
	width: 82px;
	height: 40px;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(../images/arw_t.png) no-repeat;
	animation: blink 0.15s steps(7) forwards;
}