@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,700..900;1,14..32,700..900&family=Noto+Sans+JP:wght@500..900&family=Roboto:wght@400..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
body {
		font-family: "Roboto", "Noto Sans JP", sans-serif;
		font-size: 16px;
		position: relative;
		color: #000;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
body {
		background: #000;
}
body.isStart {
		background-repeat: repeat-y;
		background-position: center center;
		background-size: 3000px;
		background-image: url("../images/wht_bg_pc.png");
}
@media(max-width: 1439px) {
		body.isStart {
				background-size: 2000px;
				background-image: url("../images/wht_bg_mid.png");
		}
}
@media(max-width: 767px) {
		body.isStart {
				background-size: 100%;
				background-image: url("../images/wht_bg_sp.png");
				font-size: 15px;
		}
}
@media(max-width: 767px) {
		html.mainLock {
				overflow: hidden
		}
}
h1, h2, h3, h4, h5, p, li, dt, dd, span.jp {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.container {
		overflow: hidden
}
.global_nav {
		height: 90px;
		background: #000;
}
.global_nav.extra {
		border-bottom: 1px solid #505050;
}
.global_nav ul {
		display: flex;
		justify-content: space-between;
		max-width: 1440px;
		margin: 0 auto;
		height: 100%;
		border-left: 1px solid #505050;
}
.global_nav.extra ul {
		max-width: 1080px;
		margin: 0 auto;
}
.global_nav li {
		list-style: none;
		width: 25%;
		box-sizing: border-box;
		border-right: 1px solid #505050;
}
.global_nav.extra ul li {
		width: 33.3%;
}
.global_nav li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
		width: 100%;
		color: #fff;
		text-decoration: none;
		box-sizing: border-box;
		padding-top: 2px;
		transition: background 0.1s, color 0.1s;
}
.global_nav li a span {
		display: block;
		text-align: center;
}
.global_nav span.en {
		font-family: "Inter", sans-serif;
		font-optical-sizing: auto;
		font-weight: 600;
		font-style: italic;
		font-size: 24px;
		line-height: 1.5;
		letter-spacing: 0;
}
.global_nav span.jp {
		font-size: 14px;
		font-weight: 600;
}
@media (hover: hover) {
		.global_nav li a:hover {
				background: #FFF100;
				color: #000;
		}
}
@media(max-width: 1680px) {
		.global_nav {
				height: 70px;
		}
		.global_nav span.en {
				font-family: "Inter", sans-serif;
				font-optical-sizing: auto;
				font-weight: 600;
				font-style: italic;
				font-size: 20px;
				line-height: 1;
				letter-spacing: 0;
		}
		.global_nav span.jp {
				font-size: 13px;
		}
}
@media(max-width: 767px) {
		.global_nav {
				display: none
		}
}
/* ============= */
.hd_group_center {
		display: flex;
		justify-content: center;
		margin: 0 0 60px;
		text-align: center;
}
.hd_group {
		display: flex;
		flex-direction: column-reverse;
}
.hd_group .en {
		font-family: "Inter", sans-serif;
		font-optical-sizing: auto;
		font-weight: 600;
		font-style: italic;
		font-size: 64px;
		line-height: 1;
		margin: 0 0 5px;
}
.hd_group .jp {
		font-weight: 500;
		font-size: 16px;
}
.hd_group .en span {
		display: inline-block;
		position: relative;
}
.hd_group .en span::before, .hd_group .en span::after {
		content: '';
		display: block;
		position: absolute;
		width: 41px;
		height: 48px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 41px;
		top: calc(50% - 24px);
}
.hd_group .en span::before {
		background-image: url("../images/hd_gr_l.png");
		left: -70px;
}
.hd_group .en span::after {
		background-image: url("../images/hd_gr_r.png");
		right: -65px;
}
@media(max-width: 960px) {
		.hd_group .en {
				font-size: 58px;
		}
		.hd_group .jp {
				font-size: 14px;
		}
}
@media(max-width: 767px) {
		.hd_group_center {
				margin: 0 0 40px;
		}
		.hd_group .en {
				font-size: 40px;
				margin: 0 0 5px;
		}
		.hd_group .jp {
				font-size: 14px;
		}
		.hd_group .en span::before, .hd_group .en span::after {
				width: 29px;
				height: 34px;
				background-size: 29px;
				top: calc(50% - 15px);
		}
		.hd_group .en span::before {
				background-image: url("../images/hd_gr_l_sp.png");
				left: -38px;
		}
		.hd_group .en span::after {
				background-image: url("../images/hd_gr_r_sp.png");
				right: -38px;
		}
}
/* =========== */
.blkBg, .loading_base {
		background-repeat: repeat-y;
		background-position: center 0;
		background-size: 3000px;
		background-image: url("../images/blk_bg_pc.png");
		position: relative;
}
@media(max-width: 1439px) {
		.blkBg, .loading_base {
				background-size: 2000px;
				background-image: url("../images/blk_bg_mid.png");
		}
}
@media(max-width: 767px) {
		.blkBg, .loading_base {
				background-size: 100%;
				background-position: 0 0;
				background-image: url("../images/blk_bg_sp.png");
		}
}
/* ============== */
@media(min-width: 768px) {
		br.spbr {
				display: none
		}
		.spObj {
				display: none
		}
}
@media(max-width: 767px) {
		.pcObj {
				display: none
		}
		br.pcbr {
				display: none
		}
}
.notes ul {
		list-style: none;
		font-weight: 500;
		font-size: 90%;
}
.notes li {
		line-height: 1.5;
		margin: 0 0 3px
}
.product_col .notes ul li, .campaign_notes_gr .notes ul li, .campaign_item .notes ul li, .present_mid .notes ul li {
		text-align: center;
}
@media(max-width: 767px) {
		.notes ul {
				margin-left: 1em;
				font-size: 14px;
		}
		.product_col .notes ul li, .campaign_notes_gr .notes ul li, .campaign_item .notes ul li, .present_mid .notes ul li {
				text-align: left;
				line-height: 1.6;
				position: relative;
		}
		.product_col .notes ul li span, .campaign_notes_gr .notes ul li span, .campaign_item .notes ul li span, .present_mid .notes ul li span {
				display: block;
				position: absolute;
				top: 0;
				left: -1em
		}
}
.anchor {
		margin-top: -80px;
		padding-top: 80px;
		height: 1px;
		pointer-events: none;
		position: relative;
		z-index: -1
}