/* **************************************************************** *
 * @desc@ 共通
 * @edit@ 2024/04/26
 * **************************************************************** */

* {
	box-sizing: border-box;
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 1.8rem;
	line-height: 2em;
	font-family: "Roboto", sans-serif;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

a {
	outline: none;
	color: #0036ff;
	text-decoration: underline;
	transition: all 0.4s;
}

a:hover {
	opacity: 0.7;
}

h1,
h2,
h3,
h4,
p,
dl,
dt,
dd,
strong,
em {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	font-style: inherit;
}

ul,
ol,
dl,
dt,
dd {
	list-style: none;
	margin: 0;
	padding: 0;
}

li {
	list-style: inherit;
	margin: 0;
	padding: 0;
}

img {
	outline: none;
	max-width: 100%;
	font-size: 1px !important;
	line-height: 0 !important;
	vertical-align: middle;
}

strong,
em {
	font-weight: inherit;
	font-style: inherit;
}

hr {
	outline: none;
	position: relative;
	z-index: 1;
	margin: 40px 0;
	border: #d0a900 solid 1px;
	width: 100%;
	height: 0;
}

hr.dash {
	border-width: 1px 0 0;
	border-color: #d0a900;
}

.bold {
	font-weight: bold !important;
}

.normal {
	font-weight: normal !important;
}

.under {
	text-decoration: underline;
}

.dis {
	text-decoration: line-through;
}

.indent {
	text-indent: 1em;
}

.mgtHp {
	margin-top: 18px !important;
}

.mgt1p {
	margin-top: 50px !important;
}

.mgt2p {
	margin-top: 80px !important;
}

.mgb1p {
	margin-bottom: 50px !important;
}

.fsS {
	font-size: 0.75em !important;
	line-height: 1.8em !important;
}

.fsL {
	font-size: 1.2em !important;
	line-height: 2em !important;
}

.center {
	text-align: center !important;
}

.left {
	text-align: left !important;
}

.right {
	text-align: right !important;
}

.iblock {
	display: inline-block;
	vertical-align: baseline;
}

.block {
	display: block;
	vertical-align: baseline;
}

.wbreak {
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

a.url {
	display: inline-block;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

.emLine01 {
	display: inline-block;
	padding: 0.1em 0.3em;
	background: rgba(255, 255, 0, 0.4);
	line-height: 1.2em;
	vertical-align: baseline;
}

.w1 {
	width: 1em !important;
}

.w2 {
	width: 2em !important;
}

.w3 {
	width: 3em !important;
}

.w4 {
	width: 4em !important;
}

.w5 {
	width: 5em !important;
}

.w6 {
	width: 6em !important;
}

.w7 {
	width: 7em !important;
}

.w8 {
	width: 8em !important;
}

.w9 {
	width: 9em !important;
}

.w10 {
	width: 10em !important;
}

.w11 {
	width: 11em !important;
}

.w12 {
	width: 12em !important;
}

.w13 {
	width: 13em !important;
}

.w14 {
	width: 14em !important;
}

.w15 {
	width: 15em !important;
}

.w16 {
	width: 16em !important;
}

.w17 {
	width: 17em !important;
}

.w18 {
	width: 18em !important;
}

.w19 {
	width: 19em !important;
}

.w20 {
	width: 20em !important;
}

.w21 {
	width: 21em !important;
}

.w22 {
	width: 22em !important;
}

.w23 {
	width: 23em !important;
}

.w24 {
	width: 24em !important;
}

.w25 {
	width: 25em !important;
}

.w26 {
	width: 26em !important;
}

.w27 {
	width: 27em !important;
}

.w28 {
	width: 28em !important;
}

.w29 {
	width: 29em !important;
}

.w30 {
	width: 30em !important;
}

.ctrlAllow {
	-webkit-user-select: text !important;
	-moz-user-select: text !important;
	user-select: text !important;
}

.com_color {
	color: #fff !important;
}

.loading {
	width: 100vw;
	height: 100%;
	transition: all 1s;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	opacity: 1;
	visibility: visible;
}

.loading.is-active {
	opacity: 0;
	visibility: hidden;
}

.loading-animation {
	width: 100vw;
	height: 100%;
	transition: all 1s;
	background-color: #fff;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
}

.loading-animation img {
	max-width: 400px;
	width: 100%;
}

.loading-animation.is-active {
	opacity: 1;
	visibility: visible;
}

.js-scroll {
	opacity: 0;
	transform: translateY(50px); /* 下から20px上にずらす */
	transition: opacity 0.3s ease, transform 0.3s ease; /* フェードインとスライドインのアニメーション設定 */
}

.js-scroll.is-active {
	opacity: 1;
	transform: translateY(0); /* 元の位置に戻す */
}

#Nv {
	box-sizing: border-box;
	overflow: hidden;
	position: fixed;
	right: 96px;
	top: 0px;
	z-index: 10000;
	border-radius: 70px;
	width: 70px;
	background: url(../img/_common/bg_pattern.png) fixed;
	background-color: #ba2636;
	font-size: 2em;
	line-height: 1em;
	letter-spacing: 0.15em;
	text-indent: 0.1em;
	font-weight: bold;
	transition: all 0.2s;
	font-family: "rough-love", sans-serif;
	font-weight: 400;
}

#Nv > ul {
	opacity: 0;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	height: 70px;
	transition: all 0.2s;
	position: relative;
	z-index: 1000;
	text-align: right;
	padding-right: 50px;
	padding-top: 0;
}

#Nv > ul > li {
	position: relative;
	z-index: 1;
	margin: 0 5px;
}

#Nv > ul > li a,
#Nv > ul > li span {
	display: block;
	position: relative;
	z-index: 1;
	padding: 0 10px;
	color: #fff;
	text-decoration: none !important;
	transition: all 0.4s;
}

#Nv > ul > li.cur a {
	color: #fff;
}

#Nv > ul > li.current a {
	color: #d0a900;
}

#NvWrapper .oc {
	display: block;
	position: fixed;
	z-index: 10020;
	background: #d0a900;
	line-height: 0;
	vertical-align: bottom;
	cursor: pointer;
	transition: all 0.2s;
	top: 0px;
	right: 0px;
	width: 100px;
	height: 100px;
	box-shadow: none;
}

#NvWrapper .oc .ocBars {
	width: 80px;
	height: 80px;
	fill: #ba2636;
	pointer-events: all;
	cursor: pointer;
}

#NvWrapper .oc .ocBars .bar {
	opacity: 1;
	transform-origin: 62px 65px;
	transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;
}

#NvWrapper .oc .ocBars .bar:nth-of-type(1) {
	transform: translateY(-18px) rotate(0);
}

#NvWrapper .oc .ocBars .bar:nth-of-type(3) {
	transform: translateY(18px) rotate(0);
}

#NvWrapper .oc:hover {
	opacity: 1;
}

#NvWrapper.show #Nv {
	width: calc(100% - 192px);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

#NvWrapper.show #Nv > ul {
	opacity: 1;
}

#NvWrapper.show .oc {
	box-shadow: none;
}

#NvWrapper.show .oc .ocBars .bar:nth-of-type(1) {
	transform: translateY(0) rotate(45deg);
}

#NvWrapper.show .oc .ocBars .bar:nth-of-type(2) {
	opacity: 0;
}

#NvWrapper.show .oc .ocBars .bar:nth-of-type(3) {
	transform: translateY(0) rotate(-45deg);
}

/*★★★▼ここから2025年追加▼★★★*/

body {
	background: url("../img/_common/bg_pattern.png") fixed;
	background-color: #ba2636;
	color: #fff;
}

#Wrap {
	position: relative;
	transition: all 0.2s; /*background: #ba2636;*/
	color: #fff;
	z-index: 0;
}

#Wrap::before {
	content: "";
	position: fixed; /* 画面に固定 */
	top: 0;
	left: 0;
	right: 0;
	height: 100px;
	background: inherit; /* body と同じ背景を描画 */
	pointer-events: none; /* クリックは下に貫通 */
	z-index: 900; /* コンテンツより上 / ヘッダーより下 */
}

section > .inner {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
	padding: 0 40px;
	z-index: 0;
	position: relative; /*▼黒縁タイトル*/ /*▼リード文*/ /*▼蛍光緑or黒文字タイトル*/
}

section > .inner > h1 {
	position: relative;
	font-family: "rough-love", sans-serif;
	color: #d0a900;
	font-size: 5em;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: left;
}

section > .inner > h1::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 5px;
	background-color: #fff;
	margin-left: 5px;
	top: -20px;
}

section > .inner .lead {
	text-align: justify;
	margin: 50px 0 70px;
	font-size: 1.2em;
	line-height: 2;
}

section > .inner > h2 {
	text-align: left;
	font-size: 4.5em;
	line-height: 1;
	margin-bottom: 45px;
}

section > .inner > h2.green_en {
	font-family: "rough-love", sans-serif;
	font-weight: 400;
	color: #d0a900;
}

section > .inner > h2.green_jp {
	color: #d0a900;
	font-weight: bold;
	font-size: 2em;
}

section > .inner > h2.black_en {
	font-family: "rough-love", sans-serif;
	font-weight: 400;
	color: #322c28;
}

section > .inner > h2.black_jp {
	color: #322c28;
	font-weight: bold;
}

/*▼リンク初期設定*/

a {
	text-decoration: none;
	transition: 0.2s;
}

a:hover {
	opacity: 1;
}

/*▼字下げ*/

ul { /*▼字下げ(中黒のみ)*/
}

ul.def {
	font-size: inherit;
	line-height: inherit;
	text-align: left;
}

ul.def > li {
	position: relative;
	z-index: 1;
	padding-left: 1em;
	text-indent: -1em;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.7em;
	line-height: 1.5;
	margin-bottom: 8px;
}

ul.disc > li {
	position: relative;
	z-index: 1;
	padding-left: 1em;
	text-indent: inherit;
}

ul.disc > li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

/*▼テーブル*/

table.def {
	border-width: 0 0 1px;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.4);
	width: 100%;
	font-size: 0.9em;
	line-height: 1.6em;
	margin-bottom: 30px;
}

table.def tr {
	border-top: 1px #333 solid;
	border-bottom: 1px #333 solid;
}

table.def th,
table.def td {
	text-align: left;
}

table.def th {
	position: relative;
	z-index: 1;
	padding: 15px 15px 15px 0;
	font-weight: 400;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #d0a900;
}

table.def th::before {
	content: "";
	border-top: 3px solid #d0a900;
	width: 10px;
	margin-right: 10px;
}

table.def td {
	padding: 15px 0;
}

table.def td span {
	color: #d0a900;
}

table.def td figure {
	margin: 20px 0;
	width: 50%;
}

table.def td figure figcaption {
	background: #d0a900;
	color: #ba2636;
	text-align: center;
	font-weight: bold;
	padding: 12px 0;
	font-size: 1.4em;
	line-height: 1;
}

table.def td figure p {
	text-align: center;
	font-size: 1.2em;
	padding: 10px 10px 0px;
}

/*▼青背景タイトル*/

h3 {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 35px;
}

h3 span {
	background: #322c28;
	color: #d0a900;
	font-weight: bold;
	text-align: left;
	position: relative;
	font-size: 1.8em;
	padding: 12px 20px 10px 12px;
	display: inline-block;
	letter-spacing: 0.03em;
}

h3::before {
	content: "";
	background: url("../img/_common/cap_repeat.png") no-repeat center center;
	width: 28px;
}

/*▼主に青背景タイトルの下の文で使う*/

.note_com {
	text-align: justify;
	line-height: 1.8;
	margin-bottom: 35px;
}

.note_com span {
	color: #d0a900;
}

/*▼ボタン*/

.button {
	display: block;
	width: 100%;
	margin: auto;
	font-weight: bold;
	border: 1px solid #d0a900;
	color: #d0a900;
	font-size: 1.4em;
	position: relative;
}

.button::before {
	content: "";
	background: url("../img/_common/arrow_left.svg") no-repeat center center;
	background-size: contain;
	width: 14px;
	height: 20px;
	position: absolute;
	top: calc(50% - 10px);
	left: 40px;
}

.button::after {
	content: "";
	background: url("../img/_common/arrow_right.svg") no-repeat center center;
	background-size: contain;
	width: 14px;
	height: 20px;
	position: absolute;
	top: calc(50% - 10px);
	right: 40px;
}

.button a {
	display: block;
	padding: 30px 10px;
	color: #d0a900;
}

.button a:hover { /*animation: blink-animation-button 0.1s infinite;*/
}

.button a.link_off {
	pointer-events: none;
}

/*@keyframes blink-animation-button {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.3;
  }
}*/

/*▼カミングスーン*/

.soon {
	background: #d0a900;
	color: #000;
	padding: 90px 40px 80px;
	margin: 80px 0 50px;
}

.soon .tit {
	font-family: "rough-love", sans-serif;
	font-weight: 400;
	font-size: 3.5em;
	margin-bottom: 30px;
	line-height: 1;
}

.soon .txt {
	font-size: 1.1em;
}

/*▼線付きのボックス　※主にイベントのアコーディオン内で使用*/

.borderBox {
	padding: 2px;
	text-align: left; /*▼番号順付きリスト*/ /*▼イラストレーター様お名前枠*/
}

.borderBox .body {
	position: relative;
	z-index: 1;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 1em 0 1em;
}

.borderBox table {
	width: 100%;
	font-size: 0.9em;
	line-height: 1.4em;
}

.borderBox table tr th,
.borderBox table tr td {
	border-top: 1px solid #d0a900;
	padding: 0.9em 0;
}

.borderBox table tr:first-child th,
.borderBox table tr:first-child td {
	border: none;
}

.borderBox table tr:last-child th,
.borderBox table tr:last-child td {
	border-bottom: 1px solid #d0a900;
}

.borderBox table th {
	color: #d0a900;
}

.borderBox table td {
	padding-right: 1.5em;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}

.borderBox table td ul li a {
	color: #0036ff;
	text-decoration: underline;
}

.borderBox table td ul li a:hover {
	opacity: 0.8;
}

.borderBox ol {
	counter-reset: ol-def-item;
	font-size: 0.8em;
	line-height: 1.8em;
}

.borderBox ol > li {
	position: relative;
	z-index: 1;
	border-top: 1px solid #333;
	padding: 1.5em 40px 1.5em 50px;
	font-size: 1.1em;
}

.borderBox ol > li:not(.note)::before {
	counter-increment: ol-def-item;
	content: counter(ol-def-item);
	overflow: hidden;
	position: absolute;
	left: 0;
	top: calc(50% - 0.7em);
	z-index: 1;
	color: #d0a900;
	background: #ba2636;
	font-size: 1.5em;
	font-family: "ethnocentric", sans-serif;
	font-weight: 400;
	width: 35px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.borderBox ol > li.note {
	color: #322c28;
	font-size: 1.2em;
	line-height: 1.6em;
	font-weight: 700;
	padding-left: 0;
	padding-top: 15px;
}

.borderBox .nameBox > dl {
	background-color: #ba2636;
	padding: 15px 0;
	min-width: 340px;
	color: #d0a900;
	width: 35%;
	margin: 0;
	text-align: center;
}

.borderBox .nameBox > dl > dt {
	font-size: 1em;
	line-height: 1.4em;
	font-weight: 700;
}

.borderBox .nameBox > dl > dd {
	font-size: 1.4em;
	line-height: 1.4em;
	font-weight: 700;
}

/*▼スマホ左上固定ロゴ*/

.top-logo_sp {
	position: fixed;
	top: 20px;
	left: 20px;
	z-index: 9999;
	width: 220px;
}

/*▼	PCヘッダー(今回、headerはPCにのみ設定注意)*/

header {
	z-index: 1; /* background: #000;*/
	position: fixed;
	width: 100%;
	z-index: 9999;
	top: 0;
}

header .nav_pc {
	max-width: 1600px;
	width: 100%;
	position: relative;
	margin: 0 auto;
}

header .nav_pc .Header-Logo_top {
	position: absolute;
	top: 65px;
	left: 40px;
	width: 550px;
	transition: all 0.4s ease;
}

header .nav_pc .Header-Logo_top.isSmall {
	width: 200px;
	top: 22px;
}

header .nav_pc .Header-Logo {
	position: absolute;
	width: 200px;
	top: 22px;
	left: 40px;
}

header .nav_pc ul {
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 30px 30px 40px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

header .nav_pc ul li a {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	color: #fff;
	padding-right: 30px;
}

header .nav_pc ul li a:hover {
	color: #d0a900;
}

header .nav_pc ul li.current a {
	color: #d0a900;
}

header .nav_pc ul li.current a:hover {
	cursor: default;
}

#Page_tit {
	margin: 97px 0 300px;
	position: relative;
}

#Page_tit .tit_img {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
}

#Page_tit .tit_img::after {
	content: "";
	background: url(../img/_common/bg_header_pattern.png) center repeat;
	clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
	height: 450px;
	max-width: 1200px;
	width: 100%;
	position: absolute;
	top: 0;
	z-index: 999;
}

#Page_tit .tit_img img {
	clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
	height: 450px;
	width: auto;
	-o-object-fit: cover;
	object-fit: cover;
	z-index: 999;
}

#Page_tit .tit_txt {
	font-family: "rough-love", sans-serif;
	font-weight: 400;
	background: #d0a900;
	color: #ba2636;
	display: inline-block;
	font-size: 5em;
	padding: 20px 35px 5px;
	line-height: 1;
	position: absolute;
	left: 0;
	bottom: -60px;
	z-index: 1000;
}

.parallax-container {
	overflow: hidden;
	position: relative;
	height: 400px; /* 必要に応じて調整 */
}

.parallax {
	max-width: 100%;
	height: auto;
	position: absolute;
	top: 0;
}

.appear_bg {
	background: url(../img/_common/bg_pattern.png) fixed;
	background-color: #ba2636;
}

.appear {
	background: #d0a900;
	display: block;
	content: "";
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	animation-name: PageAnime-rtl;
}

.main {
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	margin: 100px auto 0;
	z-index: 10;
}

.main .txt {
	position: absolute;
	z-index: 1;
	top: 100px;
	left: 50px;
}

.main .txt ul {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-top: 130px;
}

.main .txt ul li {
	margin-bottom: 20px;
}

.wrap_slider {
	height: 800px;
}

.wrap_slider .slider { /*▼プログレスバー　※後でディスプレイnone外す*/
}

.wrap_slider .slider li div {
	height: 1450px;
	background-repeat: no-repeat;
	background-position: top right;
}

.wrap_slider .slider li .mv01 {
	background-image: url("../img/top/01.png");
}

.wrap_slider .slider li .mv02 {
	background-image: url("../img/top/02.png");
}

.wrap_slider .slider li .mv03 {
	background-image: url("../img/top/03.png");
}

.wrap_slider .slider li .mv04 {
	background-image: url("../img/top/04.png");
}

.wrap_slider .slider li img {
	width: 100%;
	height: auto;
}

.wrap_slider .slider .slick-dots {
	display: none !important;
	bottom: -40px;
	right: 40px;
	display: flex;
	justify-content: space-between;
	max-width: 600px;
	width: 100%;
}

.wrap_slider .slider .slick-dots li {
	width: calc(20% - 5px);
	height: 5px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	background: #ccc;
	overflow: hidden;
}

.wrap_slider .slider .slick-dots li:not(:last-child) {
	margin-right: 10px;
}

.wrap_slider .slider .slick-dots li.slick-active button::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background-color: #080ae4;
	animation: progress 6.8s linear 0s forwards; /* ▲ここでアニメーションのスピードをスライドの秒数に合わせて調整をする */
	z-index: 1;
}

#introduction {
	margin-top: 300px;
	position: relative;
	z-index: 11;
}

#introduction .inner ul {
	display: flex;
}

#introduction .inner ul li:nth-child(-n+2) {
	margin-right: 60px;
}

.tab-nav {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto 50px;
	padding: 0 40px;
}

.tab-nav ul {
	display: flex;
}

.tab-nav ul > li {
	transition: all 0.3s;
	width: 33.3333333333%;
	flex: 1 1;
	order: -1;
	position: relative; /*background-color: #000;*/
	color: #d0a900;
	font-size: 2.5em;
	line-height: 1em;
	border-top: 1px solid #d0a900;
	border-bottom: 1px solid #d0a900;
	border-right: 1px solid #d0a900;
	padding: 30px 10px 20px;
	font-family: "rough-love", sans-serif;
	font-weight: 400;
}

.tab-nav ul > li:first-of-type {
	border-left: 1px solid #d0a900;
}

.tab-nav ul > li:not(.cur) {
	cursor: pointer;
}

.tab-nav ul > li.cur,
.tab-nav ul > li:hover {
	background-color: #d0a900;
	color: #322c28;
}

.tab-nav ul > li.cur {
	background-color: #d0a900;
	color: #322c28;
}

.tab-nav ul > li.cur::after {
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 15px;
	background-color: #d0a900;
	content: "";
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.tab-contents {
	position: relative;
	z-index: 1;
}

.tab-contents > section:not(.cur) {
	display: none;
}

.Place_cont {
	background: rgba(0, 0, 0, 0.1);
	padding: 100px 0px 120px;
}

.Place_cont h3 {
	margin-top: 100px;
}

.Place_cont .map_button {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	position: absolute;
	top: 4px;
	right: 40px;
	max-width: 320px;
	width: 100%;
	font-size: 1.6em;
}

.Place_cont .map_button::before {
	content: "";
	background: url(../img/info/arrow_left_map.png) no-repeat center center;
	width: 10px;
	height: 14px;
	position: absolute;
	top: calc(50% - 6px);
	left: 25px;
}

.Place_cont .map_button::after {
	content: "";
	background: url(../img/info/arrow_right_map.png) no-repeat center center;
	width: 10px;
	height: 14px;
	position: absolute;
	top: calc(50% - 6px);
	right: 25px;
}

.Place_cont .map_button a {
	padding: 12px 10px;
}

.Event_cont {
	background: rgba(0, 0, 0, 0.2);
	padding: 100px 0px 120px;
}

.Event_cont .inner .cau {
	color: rgba(255, 255, 255, 0.7);
	text-align: left;
	margin-top: 10px;
	font-size: 0.8em;
}

.Campaign_cont {
	padding: 100px 0px 120px;
	background: rgba(0, 0, 0, 0.1);
}

summary {
	list-style: none;
}

summary::-webkit-details-marker {
	display: none;
}

.accordion {
	height: var(--acc-height--closed, auto);
	transition: height 0.25s;
	box-sizing: border-box;
}

.accordion.is-opened {
	height: var(--acc-height--opened, auto);
}

.accordion h1 {
	background-color: #ead9ab !important;
	margin-top: 15px;
}

.accordion + .accordion {
	margin-top: 25px;
}

.accordion__title {
	box-sizing: border-box;
	opacity: 1 !important;
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 5px 40px 5px 35px;
	max-width: 1020px;
	width: 100%;
	min-height: 80px;
	background: #d0a900;
	color: #ba2636 !important;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.2em;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	text-decoration: none;
	text-shadow: none !important;
	cursor: pointer;
	transition: all 0.4s;
}

.accordion__title .ruby {
	position: relative;
}

.accordion__title .ruby::before {
	content: "ヒロイックサーガ";
	position: absolute;
	font-size: 14px;
	top: -22px;
	left: calc(50% - 62px);
}

.accordion__title::before {
	content: "＋";
	position: absolute;
	right: 23px;
	top: 22px;
	font-size: 30px; /* @include mq(){
	  &::after {
	    border-radius: 60px;
	    width: 120px;
	    height: 120px;
	  }
	 }*/
}

.accordion__content {
	padding-bottom: 0px;
}

.accordion__content .cont_inner {
	padding: 65px 40px 70px;
	background: #fff;
	color: #000; /*▼画像エリア*/ /*▼文字のみコンテンツ*/ /*▼プロローグ*/ /*▼※後日詳細公開というテキスト*/
}

.accordion__content .cont_inner .event_lead {
	text-align: justify;
	font-weight: bold;
	font-size: 1.1em;
}

.accordion__content .cont_inner .gift {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.accordion__content .cont_inner .gift figure {
	margin: 0px 0;
	width: 48.5%;
}

.accordion__content .cont_inner .gift figure figcaption {
	background: #d0a900;
	color: #ba2636;
	text-align: center;
	font-weight: bold;
	padding: 12px 0;
	font-size: 1.2em;
	line-height: 1;
}

.accordion__content .cont_inner .gift figure p {
	text-align: center;
	font-size: 1em;
	padding: 10px 0px 0px;
}

.accordion__content .cont_inner .normal_cont {
	font-size: 1.1em;
}

.accordion__content .cont_inner .normal_cont span {
	font-weight: bold;
}

.accordion__content .cont_inner ul.def li {
	line-height: 1.8em;
	margin-bottom: 0px;
	color: #000;
}

.accordion__content .cont_inner .prologue {
	text-align: justify;
}

.accordion__content .cont_inner .wait {
	text-align: left;
	margin-top: 20px;
	font-size: 0.8em;
}

.accordion.is-opened > .accordion__title::before {
	content: "ー";
	position: absolute;
	right: 25px;
	top: 22px;
	font-size: 26px;
}

.sleeve {
	display: flex;
	flex-wrap: wrap;
}

.sleeve img {
	display: block;
	width: 25%;
}

#Attention {
	text-align: left;
	padding: 200px 0px 0px;
}

#Attention > .inner > h1 {
	font-family: "rough-love", sans-serif;
	color: #d0a900;
}

#Attention > .inner .lead {
	font-size: 1.3em;
}

#Attention .body {
	font-size: 0.6em;
	line-height: 2.4em;
}

#Attention .body hr.dash {
	border-color: #333;
}

#Attention .body > section {
	position: relative;
	z-index: 1;
	font-size: 1.3em;
}

#Attention .body > section::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 1px;
}

#Attention .body > section > h1 {
	position: relative;
	z-index: 1;
	margin-bottom: 10px;
	padding-left: 28px;
	min-height: 20px;
	color: #d0a900;
	font-size: 1.8em;
	line-height: 1em;
	letter-spacing: 0.14em;
	font-weight: 700;
}

#Attention .body > section > h1::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	z-index: 1;
	width: 20px;
	height: 20px;
	background: transparent url("../img/info/icon_attention.svg") center/contain no-repeat;
}

#Attention .body > section p {
	margin-bottom: 5px;
}

#Attention .body > section ul.def li {
	color: #fff;
	font-size: 1em;
	line-height: 2.4;
	margin-bottom: 4px;
}

#Goods {
	padding-bottom: 60px;
}

body.modal {
	overflow: hidden;
}

#Popup {
	display: none;
}

#Modal {
	overflow: hidden;
	display: flex;
	justify-content: ceter;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 58000;
	width: 100%;
	height: 100%;
	background: url(../img/_common/bg_pattern.png) fixed;
	background-color: #ba2636; /*&::before {
	  content: "";
	  background: url(../img/bg_pattern.png) center center;
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  left: 0;
	  top: 0;
	  opacity: 0.4;
	}*/
}

#Modal > div {
	box-sizing: border-box;
	opacity: 0;
	overflow: auto;
	position: relative;
	z-index: 10;
	width: 100%;
	padding: 125px 40px;
	max-height: 100%;
	transition: all 0.4s ease-out;
	transform: translateY(-2%);
}

#Modal > div.show {
	opacity: 1;
	transform: translateY(0);
}

#Modal .close {
	position: fixed;
	right: 35px;
	top: 30px;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4em;
	font-weight: bold;
	color: #000;
	transition: 0.2s;
}

#Modal .close:hover {
	opacity: 0.6;
	cursor: pointer;
}

#Modal .close img {
	width: 50px;
	cursor: pointer;
}

#Modal .pictBox {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 800px;
}

#Modal .inlineBox {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 20;
	margin: 0 auto;
	padding: 50px 90px;
	max-width: 1200px;
}

#Modal .inlineBox.detail .box {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto;
	max-width: 1020px;
	text-align: left;
}

#Modal .inlineBox.detail .box .new_icon {
	position: absolute;
	top: 30px;
	left: 40px;
	color: #ba2636;
	background: #d0a900;
	padding: 12px 28px;
	font-size: 1.3em;
	font-weight: bold;
	z-index: 999;
	border-radius: 50%;
	transform: rotate(-20deg);
}

#Modal .inlineBox.detail .box .pic {
	overflow: hidden;
	position: relative;
	margin-right: 40px;
	width: 460px;
	text-align: center;
}

#Modal .inlineBox.detail .box .desc {
	margin-top: -0.5em;
	width: calc(100% - 500px);
}

#Modal .inlineBox.detail .box .pic img {
	opacity: 0;
	position: relative;
	left: 0;
	top: 0;
	z-index: 500;
	transition: all 0.4s;
}

#Modal .inlineBox.detail .box .pic img:not(:first-child) {
	position: absolute;
}

#Modal .inlineBox.detail .box .pic img.cur {
	opacity: 1;
	z-index: 510;
}

#Modal .inlineBox.detail .box .pic > span {
	bottom: 5px;
	z-index: 510;
	line-height: 0;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
}

#Modal .inlineBox.detail .box .pic > span > span {
	display: inline-block;
	margin-left: 10px;
	border-radius: 100%;
	width: 14px;
	height: 14px;
	background: url("../img/goods/slidemark_off.png");
	vertical-align: middle;
	cursor: pointer;
	transition: all 0.4s;
	background-repeat: no-repeat;
	background-size: contain;
}

#Modal .inlineBox.detail .box .pic > span > span.cur {
	background: url("../img/goods/slidemark_on.png");
	cursor: default;
	background-repeat: no-repeat;
	background-size: contain;
}

#Modal .inlineBox.detail .box .desc > h1 {
	margin: 15px 0 30px;
	color: #fff;
	font-size: 1.5em;
	line-height: 1.6em;
	font-weight: bold;
}

#Modal .inlineBox.detail .box .desc > h1 .list {
	display: none !important;
}

#Modal .inlineBox.detail .box .desc > h1 span {
	display: block;
	font-size: 0.7em;
}

#Modal .inlineBox.detail .box .desc .icons {
	display: flex;
	flex-flow: row mowrap;
}

#Modal .inlineBox.detail .box .desc .icons > li {
	padding: 8px 18px 10px 17px;
	background: #322c28;
	color: #d0a900;
	font-size: 1em;
	line-height: 1em;
	font-weight: bold;
}

#Modal .inlineBox.detail .box .desc .price {
	font-size: 1.65em;
	line-height: 1em;
	font-weight: bold;
	color: #fff;
}

#Modal .inlineBox.detail .box .desc .price span {
	display: inline-block;
	font-size: 0.6em;
	line-height: 1.2em;
	verticla-align: baseline;
}

#Modal .inlineBox.detail .box .desc .spec {
	margin-top: 30px;
	font-size: 0.8em;
	line-height: 1.6em;
}

#Modal .inlineBox.detail .box .desc .spec > dl {
	border-width: 0 0 1px;
	border-style: solid;
	border-color: #000;
	padding-bottom: 15px;
	font-size: 1.1em;
}

#Modal .inlineBox.detail .box .desc .spec > dl > dt {
	border-width: 1px 0 0;
	border-style: solid;
	border-color: #000;
	padding: 10px 0 0;
	color: #d0a900;
	font-weight: bold;
}

#Modal .inlineBox.detail .box .desc .spec > dl > dt:not(:first-child) {
	margin-top: 10px;
}

#Modal .inlineBox.detail .box .desc .spec > dl > dd {
	color: #fff;
}

#Modal .inlineBox.detail .box .desc .spec > dl > dd .list_def > li {
	padding-left: 1em;
	text-indent: -1em;
}

#Modal .inlineBox.detail .box .desc .copy {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.6em;
	line-height: 1.2em;
	text-align: right;
	margin-top: 15px;
}

.Itemlist {
	padding: 120px 0 100px;
	background: rgba(0, 0, 0, 0.1);
}

.lineup {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	justify-content: space-between;
}

.lineup > article {
	position: relative;
	z-index: 100;
	box-sizing: border-box;
	width: 31%; /*background: #000;*/
	font-size: 0.85em;
	line-height: 1.6em;
	text-align: left;
	cursor: pointer;
	transition: 0.3s; /*border: 1px #000 solid;*/
	margin-bottom: 50px;
}

.lineup > article .pic,
.lineup > article h1,
.lineup > article .bottom {
	transition: all 0.4s;
}

.lineup > article:hover {
	transform: translateY(-5px);
}

.lineup .pic {
	overflow: hidden;
	text-align: center;
	transition: all 0.4s;
	padding-bottom: 30px;
	background: #fff;
	margin-bottom: 0;
}

.lineup h1 {
	padding: 14px 15px;
	color: #ba2636;
	background: #d0a900;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.6em;
}

.lineup h1 span {
	display: none;
}

.lineup .icons > li {
	padding: 8px 10px 8px;
	background: #322c28;
	color: #d0a900;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}

.lineup .price {
	margin-top: 1em;
	margin-bottom: 0.5em;
	line-height: 1em;
	font-size: 1.1em;
	font-weight: 700;
}

.lineup .price span {
	display: inline-block;
	font-size: 0.75em;
	line-height: 1.2em;
	verticla-align: baseline;
}

/*▼横のアイテムと下の位置をそろえる*/

#item01 > div > h1,
#item03 > div > h1,
#item04 > div > h1 {
	min-height: 82.4px;
}

.dots-class button {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	border: none;
	background-color: transparent;
}

.dots-class {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.dots-class li {
	margin-right: 10px;
	cursor: pointer;
	position: relative;
}

.dots-class li::before {
	content: "";
	display: inline-block;
	background-image: url("../img/goods/slidemark_off.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 14px;
	padding-top: 14px;
	transition: background-image 0.2s ease;
}

.dots-class li.slick-active::before {
	background-image: url("../img/goods/slidemark_on.png");
}

.dots-class li:last-child {
	margin-right: 0;
}

#Movie {
	width: 100vw;
	margin-left: calc(50% - 50vw - 10px);
}

ul.movie {
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	text-align: center;
}

ul.movie > li {
	opacity: 0;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	transition: all 0.4s;
}

ul.movie > li:first-child {
	position: relative;
}

ul.movie > li.cur {
	opacity: 1;
	z-index: 10;
}

ul.movie a {
	opacity: 1 !important;
	overflow: hidden;
	display: block;
	position: relative;
	left: 0;
	top: 0;
	width: 100%;
	height: 360px;
}

ul.movie a::before,
ul.movie a::after {
	position: absolute;
}

ul.movie a::before {
	content: "";
	border-radius: 100%;
	width: 100px;
	height: 100px;
	top: calc(50% - 50px);
	left: calc(50% - 50px);
	z-index: 5;
	background: transparent url("../img/goods/btn_play.png") center/contain no-repeat;
}

ul.movie a::after {
	content: "Promotion Movie";
	top: calc(50% + 60px);
	left: 50%;
	transform: translateX(-50%);
	font-size: 2em;
	line-height: 2em;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	font-weight: 500;
	color: #ba2636;
	text-align: center;
	z-index: 4;
	font-family: "Roboto", sans-serif;
	font-weight: bold;
}

ul.movie a > span {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

ul.movie a > span::before,
ul.movie a > span::after {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 100%;
}

ul.movie a > span::before {
	z-index: 2;
	opacity: 0.8;
	background-color: #d0a900;
}

ul.movie a > span::after {
	z-index: 3;
	opacity: 0.8;
	background: url(../img/bg_dot.png) center repeat;
	transition: opacity 0.4s;
}

ul.movie a img {
	position: relative;
	z-index: 1;
	transition: all 0.4s;
	width: 100%;
}

ul.movie a:hover img {
	transform: scale(1.02);
}

#Supply {
	padding: 180px 0px 100px; /*background: #141414;*/
}

#Supply .banner_img a {
	transition: 0.2s;
}

#Supply .banner_img a:hover {
	opacity: 0.8;
}

#Collaboration_item {
	padding: 0 0px 120px; /*.collab-campaign_cont {
	  margin-top: 100px;
	}*/
}

#Collaboration_item .inner .img a:hover {
	opacity: 0.8;
}

#Collaboration_item .inner .url {
	text-align: left;
	margin-top: 20px;
	color: #595959;
}

#Collaboration_campaign {
	padding: 150px 0px 100px;
	background: #141414;
}

#Collaboration_campaign .inner .lead {
	margin-bottom: 40px;
}

footer {
	padding: 0 40px;
}

footer .inner {
	max-width: 1600px;
	width: 100%;
	margin: 200px auto 60px;
	border-radius: 50px;
	background: rgba(50, 44, 40, 0.2);
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 50px 70px;
}

footer .inner .left {
	z-index: 1;
}

footer .inner .left .share {
	display: flex;
	align-items: center;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 0.8em;
}

footer .inner .left .share dt {
	margin-right: 10px;
}

footer .inner .left .share dd ul {
	display: flex;
	align-items: center;
}

footer .inner .left .share dd ul li {
	width: 30px;
	margin-left: 10px;
}

footer .inner .left .share dd ul li a:hover {
	opacity: 0.7;
}

footer .inner .left .contact {
	display: flex;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-weight: 200;
	font-size: 0.75em;
	margin: 40px 0 30px;
}

footer .inner .left .contact li {
	line-height: 1;
}

footer .inner .left .contact li:first-child {
	padding-right: 10px;
	margin-right: 10px;
	border-right: 1px #fff solid;
}

footer .inner .left .contact li a {
	color: #fff;
}

footer .inner .left .contact li a:hover {
	opacity: 0.8;
}

footer .inner .left .copy {
	line-height: 1.75;
	font-size: 0.6em;
	letter-spacing: 0.03em;
}

footer .inner .right {
	z-index: 1;
}

footer .inner .right .banners {
	display: flex;
	flex-wrap: wrap;
	max-width: 500px;
	width: 100%;
	justify-content: space-between;
}

footer .inner .right .banners li {
	width: 48.7%;
	background: #fff;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s;
}

footer .inner .right .banners li:hover {
	opacity: 0.7;
}

footer .inner .right .banners li a {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

footer .inner .right .banners li a img {
	width: 65%;
}

@media screen and (min-width: 961px) {

.w1.pcbreak,
.w2.pcbreak,
.w3.pcbreak,
.w4.pcbreak,
.w5.pcbreak,
.w6.pcbreak,
.w7.pcbreak,
.w8.pcbreak,
.w9.pcbreak,
.w10.pcbreak,
.w11.pcbreak,
.w12.pcbreak,
.w13.pcbreak,
.w14.pcbreak,
.w15.pcbreak,
.w16.pcbreak,
.w17.pcbreak,
.w18.pcbreak,
.w19.pcbreak,
.w20.pcbreak,
.w21.pcbreak,
.w22.pcbreak,
.w23.pcbreak,
.w24.pcbreak,
.w25.pcbreak,
.w26.pcbreak,
.w27.pcbreak,
.w28.pcbreak,
.w29.pcbreak,
.w30.pcbreak {
	width: auto !important;
}

}

@media screen and (min-width: 1080px) {

.sp {
	display: none !important;
}

#NvWrapper {
	display: none;
}

}

@media screen and (max-width:1080px) {

html {
	-webkit-overflow-scrolling: touch;
}

.pc {
	display: none !important;
}

hr {
	border-width: 2px 0 0;
}

.mgtHp {
	margin-top: 23.4px !important;
}

.mgt1p {
	margin-top: 46.8px !important;
}

.mgt2p {
	margin-top: 93.6px !important;
}

.mgb1p {
	margin-bottom: 46.8px !important;
}

#Nv { /*opacity: 0;*/
	display: none;
	overflow: auto;
	display: block;
	position: fixed;
	right: 0;
	top: 0;
	z-index: -1;
	padding: 48px 0 0;
	width: 100%;
	height: 100vh;
	text-align: center;
	border-radius: 0;
}

#Nv > ul {
	flex-flow: row wrap;
	display: block;
	width: auto;
	height: auto;
}

#Nv > ul > li {
	display: block;
	position: relative;
	margin: 140px 0;
	font-size: 1.25em;
	line-height: 1em;
	letter-spacing: 0.05em;
	font-weight: 700;
	vertical-align: middle;
}

#Nv > ul > li a,
#Nv > ul > li span {
	display: inline-block;
	font-size: 1.2em;
}

#NvWrapper.show #Nv {
	top: 100px;
	width: 100%;
	box-shadow: none; /*opacity: 1;*/
	z-index: 10000;
	display: block;
}

body {
	font-size: 2.6rem;
	line-height: 1.8em;
}

section > .inner > h1 {
	font-size: 3.5em;
}

section > .inner .lead {
	font-size: 1em;
}

section > .inner > h2 {
	font-size: 3em;
}

table.def {
	display: block;
	border-width: 0 0 2px;
}

table.def th {
	border-width: 2px 0 0;
	padding: 15px 0 0;
}

table.def th::before {
	content: "-";
	border-top: none;
	width: 10px;
	margin-right: 20px;
}

table.def td {
	border: none;
	padding: 0 0 15px;
}

table.def td figure {
	padding: 0 40px;
	width: 100%;
}

table.def tbody,
table.def tr,
table.def th,
table.def td {
	display: block;
}

h3 span {
	font-size: 1.4em;
}

.button {
	font-size: 1.2em;
}

.borderBox {
	padding: 0;
}

.borderBox table tr:last-child th,
.borderBox table tr:last-child td {
	border-bottom: none;
}

.borderBox ol {
	font-size: 1em;
	line-height: 1.6em;
}

.borderBox ol > li {
	padding: 0.7em 0 0.7em 60px;
	font-size: 1em;
}

.borderBox ol > li:not(.note)::before {
	left: 0px;
	font-size: 1.2em;
	line-height: 1em;
}

.borderBox .nameBox > dl {
	padding: 20px 10px;
	min-width: 260px;
	font-size: 1.2em;
}

.borderBox .nameBox > dl > dt {
	font-size: 0.9em;
	line-height: 1.4em;
}

.borderBox .nameBox > dl > dd {
	font-size: 1.1em;
	line-height: 1.4em;
}

header .nav_pc {
	display: none;
}

#Page_tit {
	margin-top: 100px;
}

#Page_tit .tit_txt {
	font-size: 2.2em;
}

.parallax-container {
	height: 350px;
}

.main .txt {
	top: -340px;
	left: 0;
}

.main .txt ul {
	margin-top: 0;
}

.main .txt ul li {
	margin-bottom: 45px;
}

.wrap_slider {
	margin-top: 440px; /*height: 800px;*/
}

.wrap_slider .slider li div {
	margin-top: 85px;
}

.wrap_slider .slider li .mv01,
.wrap_slider .slider li .mv02,
.wrap_slider .slider li .mv03,
.wrap_slider .slider li .mv04,
.wrap_slider .slider li .mv05 {
	background-size: contain;
	width: 100%; /*height: 800px;*/
}

#introduction {
	margin-top: 0;
}

#introduction .inner ul {
	flex-direction: column;
}

#introduction .inner ul li img {
	width: 70%;
}

#introduction .inner ul li:nth-child(-n+2) {
	margin: 0 0 80px;
}

.tab-nav ul > li {
	font-size: 1.2em;
}

.tab-contents {
	width: 100%;
}

.Place_cont .map_button {
	top: -5px;
	max-width: 300px;
	width: 100%;
}

.Place_cont .map_button a {
	padding: 8px 10px;
}

.Campaign_cont #Campaign01 .borderBox tr {
	display: flex;
	flex-direction: column;
	width: 100%;
	border-top: 1px solid #d0a900;
}

.Campaign_cont #Campaign01 .borderBox tr td {
	border: none;
	padding-top: 0;
}

.accordion__title {
	min-height: 120px;
	font-size: 2.7rem;
	text-align: left;
}

.accordion__title::before {
	right: 31px;
	top: 46px;
	font-size: 55px;
}

.accordion__content .cont_inner .event_lead {
	font-size: 1.05em;
}

.accordion__content .cont_inner .gift {
	flex-direction: column;
}

.accordion__content .cont_inner .gift figure {
	width: 100%;
	padding: 0 0px;
	margin-bottom: 40px;
}

.accordion__content .cont_inner .gift figure p {
	font-size: 0.9em;
}

.accordion.is-opened > .accordion__title::before {
	right: 36px;
	top: 38px;
	font-size: 45px;
}

.sleeve img {
	width: 50%;
}

#Attention > .inner .lead {
	font-size: 1.3em;
}

#Attention .body {
	font-size: 0.8em;
	line-height: 2em;
}

#Attention .body > section {
	margin-top: 50px;
	padding-top: 50px;
	font-size: 1.1em;
}

#Attention .body > section::before {
	height: 2px;
}

#Attention .body > section > h1 {
	margin-bottom: 15px;
	padding-left: 36px;
	min-height: 30px;
	font-size: 1.35em;
	line-height: 1em;
}

#Attention .body > section > h1::before {
	width: 28px;
	height: 28px;
}

#Attention .body > section ul.def {
	margin-top: 15px;
}

#Modal > div {
	padding: 100px 0;
}

#Modal .close {
	right: 20px;
	top: 20px;
	width: 100px;
	height: 100px;
}

#Modal .close img {
	width: auto;
}

#Modal .inlineBox {
	padding: 70px 40px;
}

#Modal .inlineBox.detail .box {
	display: block;
}

#Modal .inlineBox.detail .box .new_icon {
	top: 30px;
	left: 0px;
	padding: 22px 28px;
}

#Modal .inlineBox.detail .box .pic {
	margin: 0 auto;
	width: auto;
	max-width: 670px;
}

#Modal .inlineBox.detail .box .desc {
	margin-top: 50px;
	width: auto;
}

#Modal .inlineBox.detail .box .pic > span > span {
	margin-left: 20px;
	width: 24px;
	height: 24px;
}

#Modal .inlineBox.detail .box .desc > h1 {
	font-size: 1.5em;
	line-height: 1.5em;
	letter-spacing: -0.03em;
}

#Modal .inlineBox.detail .box .desc .spec {
	font-size: 0.9em;
	line-height: 1.6em;
}

#Modal .inlineBox.detail .box .desc .spec > dl > dt {
	padding: 20px 0 5px;
}

#Modal .inlineBox.detail .box .desc .spec > dl > dt:not(:first-child) {
	margin-top: 20px;
}

#Modal .inlineBox.detail .box .desc .copy {
	font-size: 0.7em;
	line-height: 1.2em;
}

.lineup > article {
	padding: 0;
	width: 48%;
	font-size: 0.8em;
}

.lineup h1 {
	font-size: 1.2em;
}

.lineup .icons > li {
	font-size: 0.9em;
	line-height: 1em;
}

.lineup .price {
	margin-top: 20px;
	font-size: 1.2em;
	line-height: 1.2em;
}

#item01 > div > h1,
#item03 > div > h1,
#item04 > div > h1 {
	min-height: inherit;
}

#item01 > div > h1 {
	min-height: 147.8px;
}

#item03 > div > h1 {
	min-height: 107.9px;
}

#Movie {
	margin-left: inherit;
}

ul.movie {
	width: 100%;
}

ul.movie a {
	height: 420px;
}

ul.movie a::before {
	width: 120px;
	height: 120px;
	top: calc(50% - 78px);
}

ul.movie a::after {
	top: calc(50% + 52px);
	left: calc(50% + 14px);
	font-size: 1.4em;
}

ul.movie a:hover img {
	transform: scale(1);
}

footer .inner {
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 80px 40px;
}

footer .inner .left .share {
	justify-content: center;
}

footer .inner .left .share dd ul li {
	width: 70px;
}

footer .inner .left .contact {
	justify-content: center;
	font-size: 0.85em;
}

footer .inner .left .copy {
	text-align: center;
	font-size: 0.65em;
}

footer .inner .left .banners {
	display: flex;
	flex-wrap: wrap;
	max-width: inherit;
	width: 100%;
	justify-content: space-between;
	margin: 50px 0;
}

footer .inner .left .banners li {
	width: 48.7%;
	background: #fff;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s;
}

footer .inner .left .banners li:hover {
	opacity: 0.7;
}

footer .inner .left .banners li a {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

footer .inner .left .banners li a img {
	width: 65%;
}

footer .inner .right .banners {
	display: flex;
	flex-wrap: wrap;
	max-width: inherit;
	width: 100%;
	justify-content: space-between;
	margin: 50px 0;
}

footer .inner .right .banners li {
	width: 48.7%;
	background: #fff;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s;
}

}

@keyframes PageAnime-rtl {

0% {
	transform-origin: right;
	transform: scaleX(1);
}

50% {
	transform-origin: right;
	transform: scaleX(1);
}

50.001% {
	transform-origin: left;
}

100% {
	transform-origin: left;
	transform: scaleX(0);
}

}

@keyframes header_h1 {

0% {
	opacity: 0;
	transform: translateY(30px);
}

50% {
	opacity: 0;
	transform: translateY(30px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}


/*# sourceMappingURL=../map/style.css.map */
