@charset "UTF-8";

@font-face {
  font-family: "Noto Sans JP";
  src: url("https://www.capcom-games.com/common/font/SourceHanSansJP-VF.otf.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}
@font-face {
  font-family: "NotoSerifCJKjp";
  src: url("https://www.capcom-games.com/common/font/SourceHanSerifJP-VF.otf.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}
@font-face {
  font-family: "Cinzel";
  src: url("https://www.residentevil.com/common/font/Cinzel-VariableFont_wght.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}

/* ==========================================================================
   Reset
   ========================================================================== */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
	display: block;
}

ul,
ol {
	list-style-type: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img,
input,
select,
textarea {
	vertical-align: middle;
}

a {
	text-decoration: none;
}

/*! normalize.css  github.com/necolas/normalize.css */

html {
	-ms-text-size-adjust: 100%;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 1 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
	margin: 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
	background-color: transparent;
	/* 1 */
	-webkit-text-decoration-skip: objects;
	/* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none;
	/* 1 */
	text-decoration: underline;
	/* 2 */
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	/* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
	font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
	font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
	background-color: #ff0;
	color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
	display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
	display: none;
	height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
	border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
	overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: sans-serif;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 1 */
	margin: 0;
	/* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
	/* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
	/* 1 */
	text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	/* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	display: inline-block;
	/* 1 */
	vertical-align: baseline;
	/* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
	-webkit-appearance: textfield;
	/* 1 */
	outline-offset: -2px;
	/* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
	display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
	display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
	display: none;
}

/* Base
----------------------------------------------------------------- */

html {
	font-size: 62.5%;
	/*10px*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	-webkit-font-feature-settings: palt;
	font-feature-settings: palt;
	/* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
	word-wrap: break-word;
	overflow-y: scroll;
}

.hk html,
.cn html {
	font-family: sans-serif;
}

html.hk,
html.cn {
	font-family: sans-serif;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
	html {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	text-decoration: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	color: #fff;
}

body {
	font-family: 'Noto Sans JP';
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
	background: #000;
	color: #fff;
}

table {
	word-break: break-all;
}

img {
	font-size: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	text-indent: 0.01px;
	text-overflow: '';
}

select::-ms-expand {
	display: none;
}

/* ==========================================================================
   footer
   ========================================================================== */
#title_footer {
  background-color: #000;
  border-top: 1px solid #444;
}
#title_footer .title-footer-menu ul li a span::before {
  color: #e60012;
}
#title_footer .title-footer-legal a {
  color: #e60012;
}

/* ==========================================================================
   Utility
   ========================================================================== */

.u-page-wrap {
	overflow: hidden;
	width: 100%;
}

@media only screen and (max-width: 960px) {
	.u-pc-only {
		display: none;
	}
}

.u-textblurAnim {
	-webkit-animation: blur 1s ease forwards;
	animation: blur 1s ease forwards;
}

@-webkit-keyframes blur {
	0% {
		text-shadow: 0 0 4em #fff;
		opacity: 0;
		letter-spacing: .4em;
	}
	100% {
		opacity: 1;
		text-shadow: 0 0 0px #000;
		letter-spacing: .16em;
	}
}

@keyframes blur {
	0% {
		text-shadow: 0 0 4em #fff;
		opacity: 0;
		letter-spacing: .4em;
	}
	100% {
		opacity: 1;
		text-shadow: 0 0 0px #000;
		letter-spacing: .16em;
	}
}

.u-inactive {
	opacity: .5;
	pointer-events: none;
}

.u-pc-only-inline {
	display: inline;
}

@media only screen and (max-width: 960px) {
	.u-pc-only-inline {
		display: none;
	}
}

@media only screen and (min-width: 960px) {
	.u-tablet-only {
		display: none;
	}
}

@media only screen and (max-width: 600px) {
	.u-tablet-only {
		display: none;
	}
}

@media only screen and (max-width: 600px) {
	.u-tabletAndpc {
		display: none;
	}
}

.u-sp-only {
	display: none;
}

@media only screen and (max-width: 960px) {
	.u-sp-only {
		display: block;
	}
}

.u-txac {
	text-align: center;
}

.u-clearfix:after {
	content: "";
	clear: both;
	display: block;
}

/* ==========================================================================
   Components
   ========================================================================== */

.c-selectLang {
	border-top: solid #444 1px;
	background: #000;
	text-align: center;
	padding: 1em 0;
	font-size: 1.26vw;
}

@media only screen and (max-width: 960px) {
	.c-selectLang {
		font-size: 2.375vw;
	}
}

@media only screen and (max-width: 600px) {
	.c-selectLang {
		font-size: 14px;
	}
}

.c-selectLang a {
	position: relative;
	color: #fff;
}

.c-selectLang a:before {
	content: "";
	background: url(../images/selectLang-icon.png) center no-repeat;
	background-size: contain;
	content: '';
	display: block;
	height: 1em;
	width: 1em;
	position: absolute;
	top: 52%;
	left: -1.5em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/*gdpr message*/

#Gdpr.messageBox {
	background: rgba(0, 0, 0, .8);
	bottom: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: fixed;
	right: 0;
	padding: 4vw;
	width: 100%;
	z-index: 999999;
}

#Gdpr.messageBox .text {
	color: #ccc;
	font-size: 3.75vw;
	line-height: 1.25;
	margin-bottom: 1em;
}

#Gdpr.messageBox .text .privacyPolicy {
	color: #fff;
	display: inline-block;
	margin-left: 1em;
	position: relative;
	text-decoration: none;
}

#Gdpr.messageBox .text .privacyPolicy:after {
	border-bottom: solid #ccc 1px;
	bottom: -2px;
	content: '';
	display: block;
	position: absolute;
	width: 100%;
}

#Gdpr.messageBox .text .privacyPolicy:hover {
	border-bottom: none;
	opacity: 1;
}

#Gdpr.messageBox .linkBox {
	margin: 0 auto;
	text-align: center;
	width: 60%;
}

#Gdpr.messageBox .linkBox #acceptBtn {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	background: #000;
	border: solid #fff 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 3.75vw;
	line-height: 1.5;
	padding: 2.5vw 5vw;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
	-webkit-transition: background .25s ease, color .25s ease;
	transition: background .25s ease, color .25s ease;
	width: 100%;
}

#Gdpr.messageBox .linkBox #acceptBtn:active {
	background: #fff;
	color: #000;
}

#Gdpr.messageBox.active {
	-webkit-animation: BottomToTop .5s ease;
	animation: BottomToTop .5s ease;
}

#Gdpr.messageBox.disable {
	-webkit-animation: TopToBottom .5s ease;
	animation: TopToBottom .5s ease;
}

/*** PC ***/

@media only screen and (min-width: 1023px) {
	#Gdpr.messageBox {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		padding: 2vw;
		width: 100%;
	}
	#Gdpr.messageBox .text {
		font-size: 87.5%;
		margin-bottom: 0;
	}
	#Gdpr.messageBox .linkBox {
		margin: 0 0 0 1em;
		width: auto;
	}
	#Gdpr.messageBox .linkBox #acceptBtn {
		font-size: 87.5%;
		padding: .5vw 2vw;
	}
	#Gdpr.messageBox .linkBox #acceptBtn:hover {
		background: #fff;
		color: #000;
		opacity: 1;
	}
}

/*** animation ***/

@-webkit-keyframes BottomToTop {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes BottomToTop {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@-webkit-keyframes TopToBottom {
	0% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
}

@keyframes TopToBottom {
	0% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
}

@media only screen and (max-width: 960px) {
	.hk #sns .snsList,
	.cn #sns .snsList {
		width: 30%;
	}
	.hk #sns .snsList li:nth-child(1),
	.cn #sns .snsList li:nth-child(1) {
		width: 26.42487%;
	}
	.hk #sns .snsList li:nth-child(2),
	.cn #sns .snsList li:nth-child(2) {
		width: 26.42487%;
	}
	.hk #sns .snsList li:nth-child(3),
	.cn #sns .snsList li:nth-child(3) {
		width: 26.42487%;
	}
}

.global-portal #sns {
	background: none;
	margin-bottom: 3vw;
}

#sns {
	border-top: none;
	border-bottom: none;
	padding-top: 1.4vw;
	padding-bottom: 1.16667vw;
	text-align: center;
	background: #000;
}

@media only screen and (max-width: 960px) {
	#sns {
		padding: 4vw 0;
	}
}

#sns .listTtl {
	color: #ccc;
	font-size: 1.25vw;
	margin-bottom: 1.49775vw;
	text-align: center;
}

@media only screen and (max-width: 960px) {
	#sns .listTtl {
		font-size: 3.75vw;
	}
}

#sns > div {
	width: 100%;
}

#sns img {
	width: 100%;
}

#sns .snsList {
	margin-bottom: 2.77778vw;
	width: 16%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
}

@media only screen and (max-width: 960px) {
	#sns .snsList {
		width: 50%;
	}
}

#sns .snsList li:nth-child(1) {
	width: 17.61658%;
}

#sns .snsList li:nth-child(2) {
	width: 17.61658%;
}

#sns .snsList li:nth-child(3) {
	/*margin-right: -1vw;*/
	/*margin-left: -1vw;*/
	width: 17.61658%;
}

#sns .snsList li:nth-child(4) {
	width: 17.61658%;
}

@media only screen and (min-width: 960px) {
	#sns .snsList a {
		-webkit-transition: .3s ease;
		transition: .3s ease;
	}
	#sns .snsList a:hover {
		opacity: .5;
	}

	.hk #sns .snsList,
	.cn #sns .snsList {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.hk #sns .snsList li:nth-child(2),
	.cn #sns .snsList li:nth-child(2) {
		margin-right: 8%;
		margin-left: 8%;
	}
}

/* ==========================================================================
   Global
   ========================================================================== */

html.js-modal-open {
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}

html.js-modal-open::-webkit-scrollbar {
	display: none;
}

.g-adult-bnr {
	width: 40vw;
	margin: 3.6vw auto 0;
	font-size: 0;
}

.g-adult-bnr img {
	width: 100%;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	border: 1px solid #666;
	-webkit-transition: .5s ease;
	transition: .5s ease;
}

@media only screen and (min-width: 960px) {
	.g-adult-bnr img:hover {
		border-color: #bd000f;
	}
}

@media only screen and (max-width: 960px) {
	.g-adult-bnr {
		width: 100%;
		margin-top: 0;
	}
}

.g-sp-nav-border {
	width: 100%;
	height: 11.38888vw;
	position: absolute;
	left: 0;
	bottom: 0;
}

.g-drawer-wrap {
	overflow-y: scroll;
	z-index: 100;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: none;
	opacity: 0;
	padding: 10.9375vw 0;
	-webkit-transition: .4s ease-in;
	transition: .4s ease-in;
	background: rgba(19, 19, 19, .9);
}

@media only screen and (max-width: 960px) {
	.g-drawer-wrap {
		padding: 2.5vw 5.555vw 4vw;
	}
}

.g-drawer-wrap {
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}

.g-drawer-wrap::-webkit-scrollbar {
	display: none;
}

.g-burger-trigger-wrap {
	display: block;
}

.g-burger-trigger {
	display: block;
}

.g-drawer-wrap.is-open {
	display: block;
	z-index: 998;
	opacity: 1;
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-animation-name: drawer-open;
	animation-name: drawer-open;
	-webkit-animation-duration: .2s;
	animation-duration: .2s;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-timing-function: ease-in;
	animation-timing-function: ease-in;
}

.g-drawer.is-open {
	display: block;
	z-index: 998;
}

@-webkit-keyframes drawer-open {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0.4;
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes drawer-open {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0.4;
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

.g-drawer {
	display: none;
	width: 100%;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.g-drawer * {
	color: #fff;
}

.g-drawer .amp-modify {
	margin: 0 .4em;
	font-size: .9em;
}

@media all and (max-width: 360px) {
	.g-drawer {
		padding: 2vw 0;
	}
}

.g-drawer-ttl {
	font-size: 1.5625vw;
	color: #fff;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom: 2em;
}

.hk .g-drawer-ttl,
.cn .g-drawer-ttl {
	font-family: sans-serif;
}

@media only screen and (max-width: 960px) {
	.g-drawer-ttl {
		font-size: 4.4444vw;
	}
}

.g-drawer__list {
	width: 88%;
	margin: 0 auto;
}

@media only screen and (min-width: 960px) {
	.g-drawer__list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

@media only screen and (min-width: 960px) {}

@media only screen and (max-width: 960px) {
	.g-drawer__list .g-drawer__item {
		float: left;
		margin-right: 4%;
		margin-bottom: 5%;
	}
	.g-drawer__list .g-drawer__item:nth-of-type(2n) {
		margin-right: 0;
	}
}

@media only screen and (max-width: 960px) {
	.g-drawer__list {
		width: 100%;
	}
	.g-drawer__list:after {
		content: "";
		display: table;
		clear: both;
	}
}

.g-drawer__item {
	width: 19%;
}

.g-drawer__item img {
	border: 1px solid #666666;
	width: 100%;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}

@media only screen and (min-width: 960px) {
	.g-drawer__item img:hover {
		color: #bd000f;
		border-color: #bd000f;
		-webkit-box-shadow: 0px 0px 20px 2px rgba(189, 0, 15, .3);
		box-shadow: 0px 0px 20px 2px rgba(189, 0, 15, .3);
	}
	.g-drawer__item img:hover:after {
		opacity: 1;
	}
}

@media only screen and (max-width: 960px) {
	.g-drawer__item {
		width: 48%;
	}
}

.g-drawer-topBtn-wrap {
	text-align: center;
}

.g-drawer-topBtn {
	text-align: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	background: rgba(230, 0, 18, .7);
	border: 1px solid #e60012;
	border-radius: 5px;
	z-index: 100;
	margin-top: 3.6vw;
	padding: .91em 1.83em .91em 1.25em;
	font-size: 1.25vw;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.g-drawer-topBtn span {
	line-height: 1;
	white-space: nowrap;
}

@media only screen and (min-width: 960px) {
	.g-drawer-topBtn:hover {
		background: #e60000;
	}
}

@media only screen and (max-width: 960px) {
	.g-drawer-topBtn {
		width: 33.333%;
		font-size: 3.3333vw;
		margin-top: 6vw;
	}
}

.nav-top-arrow {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 11.5%;
	margin-right: 7.5%;
}

.g-header-bg {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 4;
	height: 6vw;
	width: 100%;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .8)), color-stop(50%, rgba(0, 0, 0, .6)), to(rgba(0, 0, 0, 0)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .6) 50%, rgba(0, 0, 0, 0) 100%);
	background: linear-gradient(to bottom, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .6) 50%, rgba(0, 0, 0, 0) 100%);
}

@media only screen and (max-width: 960px) {
	.g-header-bg {
		height: 10vw;
	}
}


.g-buy-now {
	text-align: center;
	display: inline-block;
	background: rgba(230, 0, 18, .7);
	border: 1px solid #e60012;
	border-radius: 0 0 5px 5px;
	position: fixed;
	z-index: 100;
	top: 0;
	right: 1.875vw;
	padding: .3vw 2vw .6vw;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}

@media only screen and (min-width: 960px) {
	.g-buy-now:hover {
		background: #e60000;
	}
}

@media only screen and (max-width: 960px) {
	.g-buy-now {
		top: 0;
		right: 0;
		border-radius: 0 0 0 5px;
	}
}

.g-buy-now__text {
	font-family: 'Cinzel', serif;
	font-size: 1.5625vw;
	line-height: 1;
	margin-top: .1em;
	margin-bottom: .3em;
}

@media only screen and (max-width: 960px) {
	.g-buy-now__text {
		font-size: 4.074vw;
	}
}

.g-buy-now__text--ja {
	font-size: .729vw;
}

@media only screen and (max-width: 960px) {
	.g-buy-now__text--ja {
		font-size: 2.037vw;
	}
}

.g-burger-square {
	display: inline-block;
	width: 6px;
	height: 6px;
	background: #fff;
}

@media only screen and (max-width: 480px) {
	.g-burger-square {
		width: 4px;
		height: 4px;
	}
}

.g-lineUp-text {
	cursor: pointer;
}

.g-trigger-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: fixed;
	z-index: 899;
	top: 30px;
	left: 30px;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}

.g-trigger-wrap.is-open {
	top: 0;
	left: 0;
	z-index: 999;
	background: #fff;
	width: 66px;
	height: 66px;
	max-width: 66px;
	max-height: 66px;
}

.g-trigger-wrap.is-open .g-lineUp-text {
	display: none;
}

.g-trigger-wrap.is-open .g-burger-trigger {
	width: 100%;
	height: 100%;
}

@media only screen and (max-width: 960px) {
	.g-trigger-wrap.is-open {
		width: 13.8888vw;
		height: 13.8888vw;
	}
}

@media only screen and (max-width: 960px) {
	.g-trigger-wrap {
		top: 10px;
		left: 10px;
	}
}

.g-lineUp-text {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.3028vw;
	margin-left: .8em;
}

.hk .g-lineUp-text,
.cn .g-lineUp-text {
	font-family: sans-serif;
}

@media only screen and (max-width: 960px) {
	.g-lineUp-text {
		font-size: 3.3333vw;
	}
}

.g-burger-trigger {
	position: relative;
	height: 100%;
	width: 26px;
	height: 26px;
}

@media only screen and (max-width: 480px) {
	.g-burger-trigger {
		width: 18px;
		height: 18px;
	}
}

.g-burger-trigger .g-burger-square {
	position: absolute;
	opacity: 1;
	-webkit-transition: .3s ease;
	transition: .3s ease;
}

.g-burger-trigger .g-burger-square:nth-of-type(1) {
	top: 0;
	left: 0;
}

.g-burger-trigger .g-burger-square:nth-of-type(2) {
	top: 0;
	left: 10px;
}

.g-burger-trigger .g-burger-square:nth-of-type(3) {
	top: 0;
	right: 0;
}

.g-burger-trigger .g-burger-square:nth-of-type(4) {
	top: 10px;
	left: 0;
}

.g-burger-trigger .g-burger-square:nth-of-type(5) {
	top: 10px;
	left: 10px;
}

.g-burger-trigger .g-burger-square:nth-of-type(6) {
	top: 10px;
	right: 0;
}

.g-burger-trigger .g-burger-square:nth-of-type(7) {
	top: 20px;
	left: 0;
}

.g-burger-trigger .g-burger-square:nth-of-type(8) {
	top: 20px;
	left: 10px;
}

.g-burger-trigger .g-burger-square:nth-of-type(9) {
	top: 20px;
	right: 0;
}

@media only screen and (max-width: 480px) {
	.g-burger-trigger .g-burger-square:nth-of-type(2) {
		top: 0;
		left: 7px;
	}
	.g-burger-trigger .g-burger-square:nth-of-type(4) {
		top: 7px;
		left: 0;
	}
	.g-burger-trigger .g-burger-square:nth-of-type(5) {
		top: 7px;
		left: 7px;
	}
	.g-burger-trigger .g-burger-square:nth-of-type(6) {
		top: 7px;
		right: 0;
	}
	.g-burger-trigger .g-burger-square:nth-of-type(7) {
		top: 14px;
		left: 0;
	}
	.g-burger-trigger .g-burger-square:nth-of-type(8) {
		top: 14px;
		left: 7px;
	}
	.g-burger-trigger .g-burger-square:nth-of-type(9) {
		top: 14px;
		right: 0;
	}
}

.g-burger-trigger .g-burger-square:nth-of-type(1) {
	-webkit-transition-delay: 0.04s;
	transition-delay: 0.04s;
}

.g-burger-trigger .g-burger-square:nth-of-type(2) {
	-webkit-transition-delay: 0.08s;
	transition-delay: 0.08s;
}

.g-burger-trigger .g-burger-square:nth-of-type(3) {
	-webkit-transition-delay: 0.12s;
	transition-delay: 0.12s;
}

.g-burger-trigger .g-burger-square:nth-of-type(4) {
	-webkit-transition-delay: 0.16s;
	transition-delay: 0.16s;
}

.g-burger-trigger .g-burger-square:nth-of-type(5) {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.g-burger-trigger .g-burger-square:nth-of-type(6) {
	-webkit-transition-delay: 0.24s;
	transition-delay: 0.24s;
}

.g-burger-trigger .g-burger-square:nth-of-type(7) {
	-webkit-transition-delay: 0.28s;
	transition-delay: 0.28s;
}

.g-burger-trigger .g-burger-square:nth-of-type(8) {
	-webkit-transition-delay: 0.32s;
	transition-delay: 0.32s;
}

.g-burger-trigger .g-closeBtn {
	opacity: 0;
	width: 42px;
	max-width: 42px;
	height: 2px;
	background: #b2000e;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: .4s ease;
	transition: .4s ease;
	-webkit-transition-delay: .2s;
	transition-delay: .2s;
}

@media only screen and (max-width: 960px) {
	.g-burger-trigger .g-closeBtn {
		width: 8.3333vw;
	}
}

.g-burger-trigger.is-open .g-burger-square {
	opacity: 0;
}

.g-burger-trigger.is-open .g-closeBtn {
	opacity: 1;
}

.g-burger-trigger.is-open .g-closeBtn:nth-of-type(10) {
	-webkit-transform: translate(-50%, -50%) rotate(-225deg);
	transform: translate(-50%, -50%) rotate(-225deg);
}

.g-burger-trigger.is-open .g-closeBtn:nth-of-type(11) {
	-webkit-transform: scaleX(1) translate(-50%, -50%) rotate(405deg);
	transform: scaleX(1) translate(-50%, -50%) rotate(405deg);
}

html.js-modal-open {
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}

html.js-modal-open::-webkit-scrollbar {
	display: none;
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.g-modal-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .9);
	opacity: 0;
	width: 100%;
	z-index: 900;
	overflow-y: scroll;
	-ms-overflow-style: scrollbar;
	overflow-x: hidden;
}

@media only screen and (max-width: 960px) {
	.g-modal-wrapper {
		-ms-overflow-style: none;
		overflow: -moz-scrollbars-none;
	}
	.g-modal-wrapper::-webkit-scrollbar {
		display: none;
	}
}

.g-modal-wrapper.is-active {
	-webkit-animation: fadeIn .4s ease 0s 1 forwards;
	animation: fadeIn .4s ease 0s 1 forwards;
}

.g-modal-wrapper .modal-close {
	position: fixed;
	z-index: 100;
	top: 26px;
	right: 30px;
	width: 21.2132px;
	height: 21.2132px;
}

.g-modal-wrapper .modal-close .modal-close__line {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform-origin: center center;
	transform-origin: center center;
}

.g-modal-wrapper .modal-close .modal-close__line:first-of-type {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}

.g-modal-wrapper .modal-close .modal-close__line:last-of-type {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

.g-modal-wrapper .modal-close__line {
	display: block;
	width: 2px;
	height: 30px;
	background: #fff;
}

.g-modal-wrapper .modal-close__clickArea {
	display: block;
	width: 21.2132px;
	height: 21.2132px;
}

.g-modal-wrapper .modal-content {
	height: auto;
	position: relative;
	z-index: 3;
	display: none;
	margin: 10vh 0 30vh;
}

.g-modal-wrapper .modal-content.is-active {
	display: block;
}

.g-modal-wrapper .modal-content.modal-content--center {
	height: 100%;
	margin: 0;
}

.g-modal-wrapper .modal-content.modal-content--center.is-active {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	width: 100%;
}

.g-modal-wrapper .modal-youtube {
	width: 72vw;
	height: 40.5vw;
}

@media only screen and (max-width: 960px) {
	.g-modal-wrapper .modal-youtube {
		width: 90vw;
		height: 57.85711vw;
	}
}

@media only screen and (max-width: 600px) {
	.g-modal-wrapper .modal-close {
		top: 3.125vw;
		right: 2.6041vw;
	}
}

.us footer {
	border-top: solid #444 1px;
}

.ecrmLink {
	border: solid 1px white;
	text-decoration: none;
	color: white;
	display: block;
	margin: 0 auto;
	padding: 1.4em 1% 1.4em 1%;
	line-height: 1.4em;
	background: black;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 400px;
	text-align: center;
	margin-top: 16px;
}

.ecrmLink p {
	color: white;
	font-family: 'Noto Sans Japanese';
	font-size: 1.1vw;
	font-weight: 500;
	line-height: 1.4em;
	text-align: center;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.ecrmLink span {
	-webkit-transform: translateY(-50%) rotate(135deg);
	transform: translateY(-50%) rotate(135deg);
	position: absolute;
	right: 7%;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: solid 2px #ffffff;
	border-left: solid 2px #ffffff;
	display: block;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

@media only screen and (min-width: 960px) {
	.ecrmLink:hover {
		border: solid 1px #960000;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	.ecrmLink:hover p {
		color: #960000;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	.ecrmLink:hover span {
		border-top: solid 2px #960000;
		border-left: solid 2px #960000;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
}

@media only screen and (max-width: 600px) {
	.ecrmLink {
		width: 88.889vw;
		padding-top: 1em;
		padding-bottom: 1em;
	}
	.ecrmLink p {
		font-size: 12px;
	}
}
