﻿@charset "UTF-8";

/* =====================
  GLOBAL
  ===================== */

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
	height: 100vh;
	overflow-x: hidden;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	color: #4a4b4c;
  font-family: "Noto Sans TC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
img {
	max-width: 100%;
	height: auto;
}
a {
	transition: all 0.3s ease 0s;
	text-decoration: none;
}
a:hover {
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
	@media (width <= 450px) {
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
	}
}
a.cover {
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}
a.cover:hover {
	background: rgba(256,256,256,0.4);
}

/* =====================
  UTILITIES
  ===================== */

.bold { font-weight: 700; }
.wrapper .inner .basic_text > a { color: #077f9c; }
.inline-block { display: inline-block; }
.mar_t_10 { margin-top: 10px; }
.mar_t_20 { margin-top: 20px; }
.mar_t_30 { margin-top: 30px; }
.mar_t_40 { margin-top: 40px; }
.mar_b_0  { margin-bottom: 0px; }
.mar_b_5  { margin-bottom: 5px; }
.mar_b_10  { margin-bottom: 10px; }
.mar_b_20  { margin-bottom: 20px; }
.mar_b_30  { margin-bottom: 30px; }
.mar_b_40  { margin-bottom: 40px; }
.mar_b_50  { margin-bottom: 50px; }
.mar_b_60  { margin-bottom: 60px; }
.mar_b_70  { margin-bottom: 70px; }
.mar_b_80  { margin-bottom: 80px; }
.mar_b_90  { margin-bottom: 90px; }
.mar_b_100 { margin-bottom: 100px; }
.mar_b_110 { margin-bottom: 110px; }
.mar_b_120 { margin-bottom: 120px; }
.mar_b_130 { margin-bottom: 130px; }
.mar_b_140 { margin-bottom: 140px; }
.mar_b_150 { margin-bottom: 150px; }
.mar_b_160 { margin-bottom: 160px; }
.mar_b_170 { margin-bottom: 170px; }
.mar_b_180 { margin-bottom: 180px; }
.mar_b_200 { margin-bottom: 200px; }
.f_l { float: left; }
.f_r { float: right; }
.basic_text {
	word-break: keep-all;
	text-align: center;
	font-size: 16px;
	line-height: 2;
	color: #585745;
}
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-left  { text-align: left; }
.pc_on {
	display: block;
	@media (width <= 770px) {
		display: none;
	}
}
img.pc_on {
	display: inline-block;
	@media (width <= 770px) {
		display: none;
	}
}
.sp_on {
	display: none;
	@media (width <= 770px) {
		display: block;
	}
}
img.sp_on {
	display: none;
	@media (width <= 770px) {
		display: inline-block;
	}
}
.relative {
	position: relative;
}
.center_center {
	width: 80%;
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%, -57%);
	-ms-transform: translate(-50%, -57%);
	-webkit-transform: translate(-50%, -57%);
	transform: translate(-50%, -57%);
}
.center_center_2 {
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%, -20%);
	-ms-transform: translate(-50%, -20%);
	-webkit-transform: translate(-50%, -20%);
	transform: translate(-50%, -20%);
}
.inner {
	max-width: 100%;
	width: 1400px;
	margin: auto;
	padding: 150px 30px 110px;
}
.flex {
	display: flex;
}
.modal_2_3_1 span.mini {
	font-size: 12px;
	text-align: left;
	line-height: 1.8;
	color: #FFF;
	vertical-align: middle;
	display: inline-block;
	padding-bottom: 4px;
}
span.mini .red { color: #E01115; }
span.biglink {
	font-size: 1.22em;
	color: #eb7373;
	text-decoration: underline;
}

/* =====================
  HEADER
  ===================== */

header {
	background-image: url("../images/common/pc/header_bg.png");
	background-size: cover;
	padding: 20px 20px 30px;
	position: fixed;
	height: 124px;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	@media (width <= 770px) {
		padding: 12px 20px 12px;
		height: 68px;
	}
}
header >.flex {
	justify-content: space-between;
	align-items: center;
	height: 100%;
	@media (width <= 770px) {
		justify-content: center;
		width: 100%;
	}
}
header ul.flex {
	justify-content: center;
	align-items: center;
	gap: 10px;
	@media (width <= 1100px) {
		flex-wrap: wrap;
		padding-top: 10px;
	}
}
header ul.flex li {
	padding: 0 5px;
}
header .logo {
	padding-right: 20px;
	@media (width <= 770px) {
		padding-right: 0px;
	}
}
header .logo img {
	@media (width <= 770px) {
		height: 44px;
		width: auto;
	}
}
header .menu {
	padding-left: 20px;
	position: relative;
	z-index: 1;
	@media (width <= 770px) {
		padding-left: 0px;
		position: absolute;
		top: 12px;
		right: 10px;
	}
}
header .menu span { display: inline-block; }
header .menu span.open {
	background-image: url("../images/common/pc/menu_off.png");
	background-size: 100%;
}
header .menu span img { transition: all 0.3s ease 0s; }
header .menu span.open img { opacity: 0; }
header .menu img {
	@media (width <= 770px) {
		height: 44px;
		width: auto;
	}
}
header .menu_area {
	@media (width <= 770px) {
		display: none;
	}
}

/* =====================
  GLOBAL MENU
  ===================== */

.global_menu {
	position: absolute;
	width: 510px;
	background-image: url("../images/common/pc/glonavi_bg.png");
	background-repeat: repeat;
	padding: 17px 15px;
	top: 0;
	right: 0;
	display: none;
	@media (width <= 770px) {
		width: 100%;
		padding: 80px 12px 60px;
	}
}
.global_menu_inner {
	padding: 135px 20px 85px;
	border-radius: 20px;
	background: #fff;
	@media (width <= 770px) {
		padding: 85px 20px 15px;
	}
}
.global_menu_inner ul li a {
	font-size: 26px;
	font-weight: 700;
	color: #827157;
	@media (width <= 450px) {
		font-size: 18px;
	}
}
.global_menu_inner ul li {
	text-align: center;
	padding-bottom: 46px;
	margin-bottom: 30px;
	background-image: url("../images/common/pc/glonavi_wave.png");
	background-repeat: repeat-x;
	background-position: left bottom;
}

/* =====================
  MENU ANCHOR (SP)
  ===================== */

.menu_anchor {
	@media (width <= 770px) {
		width: 88%;
		position: absolute;
		margin: 0 auto;
		left: 0;
		right: 0;
		z-index: 100;
	}
}
.menu_anchor.scrolled {
	@media (width <= 770px) {
		top: 80px;
		position: fixed;
	}
}
.menu_anchor .current {
	@media (width <= 770px) {
		border-radius: 10px;
		background: #827157;
		padding: 12px 15px 13px;
	}
}
.menu_anchor .current p {
	@media (width <= 770px) {
		font-size: 18px;
		color: #fff;
		text-align: center;
		margin-bottom: 5px;
	}
}
.menu_anchor .current img {
	@media (width <= 770px) {
		height: 30px;
		width: auto;
	}
}
.menu_anchor .current .arrow {
	@media (width <= 770px) {
		margin-bottom: -30px;
		text-align: center;
	}
}
.menu_anchor .current .arrow.open img {
	@media (width <= 770px) {
		opacity: 0;
	}
}
.menu_anchor .current .arrow img {
	@media (width <= 770px) {
		text-align: center;
		opacity: 1;
	}
}
.menu_anchor .current .arrow span {
	@media (width <= 770px) {
		background-image: url("../images/common/sp/menu_anchor_top.png");
		background-size: 100%;
		display: inline-block;
	}
}
.menu_anchor .menu_list {
	@media (width <= 770px) {
		border-radius: 0 0 10px 10px;
		background: #827157;
		padding: 60px 15px 35px;
		-moz-transform: translate(0, -30px);
		-ms-transform: translate(0, -30px);
		-webkit-transform: translate(0, -30px);
		transform: translate(0, -30px);
		display: none;
		z-index: -1;
		position: relative;
	}
}
.menu_anchor .menu_list ul li {
	@media (width <= 770px) {
		text-align: center;
	}
}
.menu_anchor .menu_list ul li p {
	@media (width <= 770px) {
		display: inline-block;
		padding: 12px 0;
		border-bottom: 1px solid #fff;
	}
}
.menu_anchor .menu_list ul li a {
	@media (width <= 770px) {
		font-size: 18px;
		color: #fff;
	}
}

/* =====================
  WRAPPER
  ===================== */

.wrapper {
	padding-top: 124px;
	@media (width <= 770px) {
		padding-top: 68px;
	}
}
.wrapper .main {
	position: relative;
	@media (width >= 1921px) {
		overflow: hidden;
		background-image: url("../images/main/main_bg_pc.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
}
.wrapper .main img {
	width: 100%;
	@media (width <= 770px) {
		max-width: 100%;
	}
}
.wrapper .main::after {
	content: "";
	z-index: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	background-image: url("../images/gaiyo/pc/gaiyo_bg_top.png");
	background-size: auto;
	background-position: left bottom;
	background-repeat: no-repeat;
	@media (width >= 1921px) {
		background-image: url("../images/gaiyo/pc/gaiyo_bg_top.png");
		background-size: auto;
		background-position: left bottom;
		background-repeat: repeat-x;
	}
	@media (width <= 770px) {
		background-image: url("../images/gaiyo/sp/gaiyo_bg_top.png");
		background-size: 100%;
		background-position: left bottom;
		background-repeat: no-repeat;
	}
}

/* =====================
  AREA 1
  ===================== */

.wrapper .area_1 {
	background-image: url("../images/taiken/pc/taiken_bg_top.png"),url("../images/gaiyo/pc/gaiyo_bg.png");
	background-size: auto,auto;
	background-position: left bottom,left bottom;
	background-repeat: no-repeat,repeat-y;
	@media (width >= 1921px) {
		background-image: url("../images/taiken/pc/taiken_bg_top.png"),url("../images/gaiyo/pc/gaiyo_bg.png");
		background-size: auto,auto;
		background-position: left bottom,left bottom;
		background-repeat: repeat-x,repeat;
	}
	@media (width <= 770px) {
		background-image: url("../images/taiken/sp/taiken_bg_top.png"), url("../images/gaiyo/sp/gaiyo_bg.png");
		background-size: 100%,100%;
		background-position: left bottom,left bottom;
		background-repeat: no-repeat,repeat-y;
	}
}
.wrapper .area_1 .inner {
	padding: 0 3% 129px;
	width: calc(1404px + 6%);
	position: relative;
	@media (width <= 770px) {
		padding: 0 6% 200px;
		width: 100%;
	}
	@media (width <= 450px) {
		padding: 0 6% 150px;
		width: 100%;
	}
}
.wrapper .area_1 .inner figure {
	-moz-transform: translate(0, 0px);
	-ms-transform: translate(0, 0px);
	-webkit-transform: translate(0, 00px);
	transform: translate(0, -10px);
	margin-top: -40px;
	@media (width <= 770px) {
		-moz-transform: translate(0, 0px);
		-ms-transform: translate(0, 0px);
		-webkit-transform: translate(0, 0px);
		transform: translate(0, 0px);
		margin-top: 0px;
		text-align: center;
		margin-bottom: 50px;
	}
	@media (width <= 450px) {
		margin-top: -30px;
	}
}
.wrapper .area_1 .inner .basic_text,
.wrapper .area_2 .inner .basic_text {
	padding: 25px;
	border-radius: 50px;
	background: #fff;
	font-size: 24px;
	line-height: 1.7;
	text-align: center;
	color: #eb7373;
	font-weight: 700;
	margin-bottom: 0px;
	margin-top: 60px;
	@media (width <= 770px) {
		font-size: 4.2vw;
		line-height: 1.8;
		border: 2px solid #eb7373;
		padding: 40px;
		border-radius: 30px;
		max-width: 100%;
		margin: 40px auto 0;
	}
	@media (width <= 450px) {
		font-size: 15px;
		padding: 20px;
	}
}

/* =====================
  AREA 2
  ===================== */

.wrapper .area_2 {
	background-image: url("../images/ticket/pc/ticket_bg_top.png"), url("../images/taiken/pc/taiken_bg.png");
	background-size: auto, auto;
	background-position: left bottom, left bottom;
	background-repeat: repeat-x, repeat;
	@media (width <= 770px) {
		background-image: url("../images/ticket/sp/ticket_bg_top.png"), url("../images/taiken/sp/taiken_bg.png");
		background-size: 100%, 100%;
		background-position: left bottom, left bottom;
		background-repeat: no-repeat, repeat-y;
	}
}
.wrapper .area_2 .inner {
	padding: 0 3% 200px;
	width: calc(1300px + 6%);
	position: relative;
	@media (width <= 770px) {
		padding: 0 8% 140px;
		width: 100%;
	}
	@media (width <= 450px) {
		padding: 0 8% 70px;
		width: 100%;
	}
}
.wrapper .area_2 .inner h2 {
	margin-bottom: 60px;
	text-align: center;
	@media (width <= 770px) {
		margin-bottom: 70px;
	}
	@media (width <= 450px) {
		margin-bottom: 35px;
	}
}
.wrapper .area_2 .inner .line_3 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 -12px;
	position: relative;
	@media (width <= 770px) {
		display: block;
		margin: 0;
	}
}
.wrapper .area_2 .inner .line_3 .child {
	margin: 0 12px 25px;
	width: calc(33.33% - 24px);
	background: #f8f8f0;
	border-radius: 50px;
	padding: 20px 15px 90px;
	position: relative;
	@media (width <= 770px) {
		margin: 0 auto 25px;
		width: 470px;
		max-width: 100%;
		border-radius: 30px;
		padding: 20px 15px 120px;
	}
	@media (width <= 450px) {
		margin: 0 0px 25px;
		width: 100%;
		border-radius: 30px;
		padding: 20px 15px 90px;
	}
}
.wrapper .area_2 .inner .line_3 .child a {
	cursor: pointer;
	position: absolute;
	left: 50%;
	bottom: 25px;
	-moz-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}
.wrapper .area_2 .inner .line_3 .child .title {
	margin-bottom: 20px;
	@media (width <= 770px) {
		margin-bottom: 25px;
		text-align: center;
	}
}
.wrapper .area_2 .inner .line_3 .child .description {
	word-break: keep-all;
	text-align: center;
	font-size: 18px;
	line-height: 1.8;
	padding: 0 10px;
	color: #827157;
	font-weight: 600;
	@media (width <= 770px) {
		font-size: 25px;
	}
	@media (width <= 450px) {
		font-size: 14px;
	}
}
.wrapper .area_2 .inner .line_3 .child .description span.bold {
	font-size: 18px;
	text-align: left;
	line-height: 1.8;
	padding: 0 10px;
	color: #827157;
	font-weight: 700;
	@media (width <= 770px) {
		display: block;
		font-size: 25px;
		text-align: center;
		padding: 0;
	}
	@media (width <= 450px) {
		font-size: 14px;
		text-align: left;
	}
}
.wrapper .area_2 .inner .line_3 .child .description span.mini {
	font-size: 12px !important;
	text-align: left;
	line-height: 1.8;
	color: #8A8580 !important;
	vertical-align: middle;
	display: inline-block;
	padding-bottom: 4px;
	@media (width <= 450px) {
		font-size: 10px;
		padding: 0 0px;
		color: #827157;
	}
}
.taiken_chara {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: min(-200px, -10.42vw);
	margin-inline: -3%;
	@media (width <= 770px) {
		justify-content: center;
		gap: 4%;
		margin-top: 20px;
		margin-inline: 0;
	}
	.chara01 {
		width: min(256px, 13.33vw);
		@media (width <= 770px) {
			width: min(175px, 29.2vw);
		}
	}
	.chara02 {
		width: min(273px, 14.22vw);
		@media (width <= 770px) {
			width: min(194px, 32.27vw);
		}
	}
	img {
		width: 100%;
	}
}

/* =====================
  AREA 3
  ===================== */

.wrapper .area_3 {
	background-image: url("../images/ticket/pc/ticket_bg.png");
	background-size: auto;
	background-position: left top;
	background-repeat: repeat-y;
	@media (width >= 1921px) {
		background-image: url("../images/ticket/pc/ticket_bg.png");
		background-size: auto;
		background-position: left top;
		background-repeat: repeat;
	}
	@media (width <= 770px) {
		background-image: url("../images/ticket/sp/ticket_bg.png");
		background-size: 100%;
		background-position: left top;
		background-repeat: repeat-y;
	}
}
.wrapper .area_3 .inner {
	padding: 30px 3% 200px;
	width: calc(1300px + 6%);
	position: relative;
	@media (width <= 770px) {
		padding: 60px 6% 120px;
		width: 100%;
	}
	@media (width <= 450px) {
		padding: 30px 6% 60px;
		width: 100%;
	}
}
.wrapper .area_3 .inner h2 {
	margin-bottom: 50px;
	text-align: center;
	@media (width <= 770px) {
		margin-bottom: 30px;
	}
}
.wrapper .area_3 .inner .ticket_area {
	padding: 60px 30px;
	background: #f8f8f0;
	border-radius: 3vw;
	@media (width <= 770px) {
		text-align: center;
		max-width: 100%;
		width: 583px;
		margin: 0 auto;
		padding: 50px 0px;
		background: #f8f8f0;
		border-radius: 5vh 5vh 0 0;
	}
	@media (width <= 450px) {
		padding: 30px 0px;
	}
}
.wrapper .area_3 .inner .ticket_area .ticket_catch {
	word-break: keep-all;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	color: #827157;
	line-height: 1.5;
	text-shadow: 
		2px  2px 1px #FFF,
		-2px  2px 1px #FFF,
		2px -2px 1px #FFF,
		-2px -2px 1px #FFF,
		2px  0px 1px #FFF,
		0px  2px 1px #FFF,
		-2px  0px 1px #FFF,
		0px -2px 1px #FFF;
	@media (width <= 770px) {
		font-size: 26px;
	}
	@media (width <= 450px) {
		font-size: 18px;
	}
}
.wrapper .area_3 .inner .ticket_area .flex {
	margin-top: 50px;
	margin-inline: auto;
	max-width: 1000px;
	gap: 24px;
	@media (width <= 770px) {
		margin-top: 30px;
		flex-wrap: wrap;
		gap: 20px;
	}
}
.wrapper .area_3 .inner .ticket_area .flex .ticket_box {
	width: 50%;
	@media (width <= 770px) {
		width: 100%;
		padding: 0 5%;
	}
}
.wrapper .area_3 .inner .ticket_area .flex .ticket_box .ticket_name {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	background: #827157;
	color: #fff;
	padding: 0.4em 0.8em;
	border-radius: 16px;
	margin-bottom: 10px;
	@media (width <= 1200px) {
		font-size: 20px;
		border-radius: 12px;
	}
	@media (width <= 770px) {
		font-size: 24px;
	}
	@media (width <= 450px) {
		font-size: 20px;
	}
}
.wrapper .area_3 .inner .ticket_area .flex .ticket_box .info {
	margin-top: 10px;
	.info_item {
		text-align: left;
		padding: 18px 0;
		display: flex;
		gap: 10px;
		position: relative;
		&::after {
			content: "";
			display: inline-block;
			width: 100%;
			height: 2px;
			background-image: radial-gradient(circle, #827157 1px, transparent 1px), radial-gradient(circle, #827157 1px, transparent 1px), radial-gradient(circle, #827157 1px, transparent 1px), radial-gradient(circle, #827157 1px, transparent 1px);
			background-position: left top, right top, left bottom, left top;
			background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
			background-size: 12px 2px, 2px 12px, 12px 2px, 2px 12px;
			position: absolute;
			bottom: 0;
			left: 0;
		}
	}
	dt, dd {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.2;
		color: #827157;
		@media (width <= 1200px) {
			font-size: 18px;
		}
		@media (width <= 770px) {
			font-size: 22px;
		}
		@media (width <= 450px) {
			font-size: 18px;
		}
	}
	dt {
		flex-grow: 1;
		.txt_small {
			font-size: 0.6em;
			font-weight: 500;
			color: #827157;
		} 
	}
	dd {
		flex-shrink: 0;
	}
}

.wrapper .area_3 .inner .ticket_area .description{
	margin-bottom:60px;
	text-align:center;
}

.wrapper .area_3 .inner .ticket_btn {
	text-align: center;
	margin-top: 50px;
	@media (width <= 770px) {
		margin-top: 30px;
		padding: 0 5%;
	}
	img {
		@media (width <= 770px) {
			width: calc(508px * 0.7);
		}
	}
}
.wrapper .area_3 .inner .ticket_txt {
	word-break: keep-all;
	text-align: center;
	color: #eb7373;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 40px;
	@media (width <= 770px) {
		font-size: 26px;
		margin-top: 24px;
		padding: 0 5%;
	}
	@media (width <= 450px) {
		font-size: 18px;
	}
}

/* =====================
  AREA 5
  ===================== */

.wrapper .area_5 {
	background: #827157;
	padding: 160px 0;
	@media (width <= 770px) {
		padding: 70px 0;
	}
	@media (width <= 450px) {
		padding: 50px 0;
	}
}
.wrapper .area_5 .inner {
	padding: 0 3%;
	width: calc(1300px + 6%);
	position: relative;
	@media (width <= 770px) {
		padding: 0 6%;
		width: 100%;
	}
	+.inner {
		margin-top: 100px;
		@media (width <= 770px) {
			margin-top: 80px;
		}
		@media (width <= 450px) {
			margin-top: 50px;
		}
	}
}
.wrapper .area_5 .inner h2 {
	font-size: 60px;
	line-height: 1.4;
	padding-bottom: 60px;
	margin-bottom: 60px;
	background-image: url("../images/about/pc/title_bg.png");
	background-size: auto;
	background-position: left bottom;
	background-repeat: repeat-x;
	color: #fff;
	font-weight: 700;
	text-align: center;
	@media (width <= 770px) {
		font-size: 32px;
		padding-bottom: 40px;
		margin-bottom: 50px;
		background-size: auto 12px;
	}
	@media (width <= 450px) {
		font-size: 24px;
		padding-bottom: 24px;
		margin-bottom: 30px;
		background-size: auto 8px;
	}
}
.wrapper .area_5 .inner .flex {
	@media (width <= 770px) {
		display: block;
	}
}
.wrapper .area_5 .inner figure {
	width: 33%;
	@media (width <= 770px) {
		width: 100%;
		text-align: center;
		margin-bottom: 50px;
	}
	@media (width <= 450px) {
		margin-bottom: 30px;
	}
}
.wrapper .area_5 .inner .text {
	width: 67%;
	padding-left: 5%;
	@media (width <= 770px) {
		width: 100%;
		padding-left: 0%;
	}
	>* {
		&:first-child {
			margin-top: 0;
		}
	}
}
.wrapper .area_5 .inner .text h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #FFF;
	margin-top: 50px;
	margin-bottom: 10px;
	@media (width <= 770px) {
		font-size: 24px;
	}
	@media (width <= 450px) {
		font-size: 16px;
		margin-top: 30px;
	}
}
.wrapper .area_5 .inner .text p {
	font-size: 18px;
	line-height: 2.1;
	color: #FFF;
	@media (width <= 770px) {
		font-size: 20px;
	}
	@media (width <= 450px) {
		font-size: 14px;
	}
	+p {
		margin-top: 10px;
	}
}
.wrapper .area_5 .inner .text .text-right {
	padding-top: 35px;
	text-align: right;
	@media (width <= 770px) {
		padding-top: 50px;
		text-align: center;
	}
	@media (width <= 450px) {
		padding-top: 25px;
	}
}
.wrapper .area_5 .inner .text .text-right img {
	@media (width <= 770px) {
		width: 68%;
	}
}

/* =====================
  AREA 6
  ===================== */

.wrapper .area_6 {
	background-image: url("../images/q_a/pc/q_a_bg.png");
	background-size: auto;
	background-repeat: repeat-y;
	@media (width >= 1921px) {
		background-size: 100%;
	}
	@media (width <= 770px) {
		background-size: auto;
	}
}
.wrapper .area_6 .inner {
	padding: 140px 3% 0px;
	width: calc(1300px + 6%);
	position: relative;
	@media (width <= 770px) {
		padding: 60px 10% 100px;
		width: 100%;
	}
	@media (width <= 450px) {
		padding: 30px 10% 50px;
		width: 100%;
	}
}
.wrapper .area_6 .inner h2 {
	margin-bottom: 100px;
	text-align: center;
	@media (width <= 770px) {
		margin-bottom: 70px;
	}
	@media (width <= 450px) {
		margin-bottom: 35px;
	}
}
.wrapper .area_6 .inner .question {
	display: flex;
	align-items: center;
	padding-bottom: 45px;
	background-image: url("../images/q_a/pc/q_a_wave.png");
	background-size: auto;
	background-repeat: repeat-x;
	background-position: left bottom;
	margin-bottom: 20px;
	@media (width <= 770px) {
		align-items: start;
		padding-bottom: 30px;
		background-size: auto 7px;
		margin-bottom: 80px;
		position: relative;
	}
	@media (width <= 450px) {
		padding-bottom: 15px;
		margin-bottom: 20px;
	}
}
.wrapper .area_6 .inner .question .icon {
	width: 80px;
	text-align: left;
	@media (width <= 770px) {
		width: 100px;
	}
	@media (width <= 450px) {
		width: 50px;
	}
}
.wrapper .area_6 .inner .question .plus {
	width: 100px;
	text-align: right;
	@media (width <= 770px) {
		width: 68px;
		text-align: center;
		display: inline-block;
		position: absolute;
		bottom: 3px;
		left: 50%;
		-moz-transform: translate(-50%, 50%);
		-ms-transform: translate(-50%, 50%);
		-webkit-transform: translate(-50%, 50%);
		transform: translate(-50%, 50%);
	}
	@media (width <= 450px) {
		width: 34px;
	}
}
.wrapper .area_6 .inner .question .plus span img {
	opacity: 1;
	transition: all 0.3s ease 0s;
}
.wrapper .area_6 .inner .question .plus.on span img { opacity: 0; }
.wrapper .area_6 .inner .question .plus span {
	background-image: url("../images/q_a/pc/q_a_icon_minus.png");
	background-size: 100%;
	display: inline-block;
	@media (width <= 770px) {
		background-image: url("../images/q_a/sp/q_a_icon_minus.png");
	}
}
.wrapper .area_6 .inner .question .text {
	width: calc(100% - 180px);
	font-size: 24px;
	line-height: 2.7;
	color: #fff;
	@media (width <= 770px) {
		width: calc(100% - 100px);
		font-size: 32px;
		line-height: 1.7;
		padding-left: 10px;
	}
	@media (width <= 450px) {
		width: calc(100% - 50px);
		font-size: 16px;
	}
}
.wrapper .area_6 .inner .answer_wrap .hide_box { display: none; }
.wrapper .area_6 .inner .answer {
	display: flex;
	align-items: center;
	transition: all 0.3s ease 0s;
	@media (width <= 770px) {
		align-items: start;
	}
}
.wrapper .area_6 .inner .answer_wrap {
	margin-bottom: 85px;
	@media (width <= 770px) {
		margin-bottom: 70px;
	}
	@media (width <= 450px) {
		margin-bottom: 35px;
	}
}
.wrapper .area_6 .inner .answer_wrap.last {
	margin-bottom: 0px;
	@media (width <= 770px) {
		margin-bottom: 50px;
	}
}
.wrapper .area_6 .inner .answer .icon {
	width: 80px;
	text-align: left;
	@media (width <= 770px) {
		width: 100px;
	}
	@media (width <= 450px) {
		width: 50px;
	}
}
.wrapper .area_6 .inner .answer .text {
	width: calc(100% - 80px);
	font-size: 24px;
	line-height: 2.7;
	color: #fff;
	@media (width <= 770px) {
		width: calc(100% - 100px);
		font-size: 32px;
		line-height: 1.7;
		padding-left: 10px;
		color: #eb7373;
		font-weight: 700;
	}
	@media (width <= 450px) {
		width: calc(100% - 50px);
		font-size: 16px;
	}
}

/* =====================
  FOOTER
  ===================== */

footer {
	padding: 100px 3% 20px;
	@media (width <= 770px) {
		padding: 80px 3%;
	}
	@media (width <= 450px) {
		padding: 50px 3%;
	}
}
footer .flex {
	@media (width <= 770px) {
		justify-content: center;
	}
}
footer .copy {
	color: #7e7e7e;
	font-size: 20px;
	padding-top: 10px;
	@media (width <= 770px) {
		font-size: 28px;
		padding-top: 50px;
		text-align: center;
	}
	@media (width <= 450px) {
		font-size: 20px;
		padding-top: 30px;
	}
}
.copy_nintendo {
	color: #666666;
	font-size: 18px;
	padding-bottom: 10px;
	@media (width <= 770px) {
		padding-bottom: 30px;
	}
}

/* =====================
  PAGE TOP LINK
  ===================== */

.page_top_link {
	position: fixed;
	bottom: 50px;
	right: 3%;
	@media (width <= 770px) {
		display: none;
	}
	@media (width <= 450px) {
		display: block;
		position: fixed;
		bottom: 50px;
		right: 3%;
	}
}
.page_top_link.bottom {
	position: fixed;
	bottom: 250px;
	right: 3%;
}


