@charset "utf-8";

/* ------------------------------
- reset
------------------------------ */
html,
body,
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,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	font-weight: inherit;
}

* {
	box-sizing: border-box;
	line-height: 1;
}

:root,
html,
body {
	color: #000;
	width: 100%;
	font-family: "游ゴシック", "YuGothic", ' Yu Gothic', "メイリオ", "ヒラギノ角ゴ Pro W3", sans-serif;
}

html {
	height: 100%;
}

li {
	list-style-type: none;
}

a {
	color: #000;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
}

a:hover {
	opacity: .8;
}

p {
	color: #000;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

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

@media only screen and (max-width: 750px) {
	p {
		/* font-size: 12px; */
	}
}

/* ------------------------------
- utility
------------------------------ */
.cf {
	zoom: 1;
}

.cf:before,
.cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}

.visible-sm,
.visible-xs {
	display: none;
}

.visible-md {
	display: inherit;
}

@media only screen and (max-width: 1000px) {

	.visible-md,
	.visible-xs {
		display: none;
	}

	.visible-sm {
		display: inherit;
	}
}

@media only screen and (max-width: 640px) {

	.visible-md,
	.visible-sm {
		display: none;
	}

	.visible-xs {
		display: inherit;
	}
}

/* ------------------------------
- header
------------------------------ */
header {
	position: relative;
	z-index: -1;
}

header h1 {
	width: 100%;
}

.mv_text_area {
	width: 1004px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 65px;
}

@media only screen and (max-width: 1000px) {
	.mv_text_area {
		width: 95%;
		bottom: 35px;
	}
}

@media only screen and (max-width: 640px) {
	.mv_text_area {
		width: 89.68%;
		bottom: 25px;
	}
}

/* ------------------------------
- footer
------------------------------ */
footer {
	text-align: center;
	background: #ededed;
	padding: 70px 0;
}

footer h2 {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 35px;
}

footer p {
	line-height: 2;
	font-weight: bold;
	font-size: 14px;
}

footer p.copyright {
	margin-top: 40px;
}

@media only screen and (max-width: 640px) {
	footer {
		padding: 15% 0 5%;
	}

	footer h2 {
		font-size: 16px;
		margin-bottom: 8%;
	}

	footer p {
		font-size: 13px;
	}

	footer p.copyright {
		margin-top: 10%;
	}
}

/* ------------------------------
- mv
------------------------------ */
.mv {
	background: #fff20e;
	padding: 15px 0 0;
	position: relative;
}

.mv_heading_head {
	padding-bottom: 15px;
}

.mv_heading_head h2 {
	max-width: 861px;
	width: 83.7%;
	margin: 0 auto;
}

.mv_heading_foot {
	background: #ef4343;
	position: relative;
	padding: 21px 0;
	margin: 70px 0 15px;
}

.mv_heading_foot figure {
	position: absolute;
	top: -51%;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 36.6%;
	max-width: 366px;
}

.mv_heading_foot h4 {
	max-width: 572px;
	margin: 0 auto;
	width: 57.2%;
}

.mv_moreover {
	width: 93.75%;
	max-width: 1006px;
	margin: 30px auto;
}

.finish {
	position: absolute;
	top: 7vw;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 40;
	max-width: 890px;
	width: 89%;
	background: #ef4343;
	text-align: center;
	border-radius: 10px;
	padding: 50px 0;
}

.finish p {
	width: 62.4%;
	max-width: 555px;
	display: inline-block;
}

@media only screen and (max-width: 640px) {
	.mv_heading_head {
		padding-bottom: 10px;
	}

	.mv_heading_head h2 {
		width: 95.625%;
	}

	.mv_heading_foot {
		padding: 4% 0;
		margin: 7% 0 2.5%;
	}

	.mv_heading_foot figure {
		position: absolute;
		top: -17%;
		left: 50%;
		width: 86.09375%;
		max-width: 551px;
	}

	.mv_heading_foot h4 {
		width: 77.34375%;
	}

	.mv_moreover {
		width: 85.625%;
		max-width: 548px;
		margin: 5% auto;
	}

	.finish {
		top: 14vw;
		left: 50%;
		max-width: 890px;
		width: 89%;
		padding: 40px 0;
	}

	.finish p {
		width: 75%;
		display: inline-block;
	}
}

/* ------------------------------
- main_content
------------------------------ */
.about,
.junior,
.riyou {
	margin: 0 auto;
	max-width: 1162px;
}

.about {
	margin-top: -30px;
	z-index: 10;
}

.junior {
	margin-top: 70px;
}

.riyou {
	margin-top: -20px;
	margin-bottom: 60px;
}

.app_text {
	margin-top: -1px;
}

@media only screen and (max-width: 1000px) {

	.about,
	.riyou {
		margin: 0 auto;
		max-width: 95%;
	}
	.about{
		margin-top: -20px;
	}

	.riyou {
		margin-top: -15px;
		margin-bottom: 20px;
	}

}

@media only screen and (max-width: 640px) {

	.about {
		margin-top: -10px;
	}

	.junior {
		margin-top: 30px;
		width: 90.9%;
	}

	.riyou {
		margin-top: -10px;
		margin-bottom: 20px;
	}
}

/* ------------------------------
- main_content _contact_area
------------------------------ */
.contact_area {
	background: #facc82;
	padding: 30px 0 40px;
}

.contact_inner,
.contact_box {
	display: flex;
}

.contact_inner,
.contact_btm_text {
	max-width: 997px;
	margin: 0 auto;
}

.contact_inner {
	-webkit-box-pack: justify;
	justify-content: space-between;

}

.contact_box {
	width: 55%;
}

.contact_box .img {
	width: 150px;
}

.contact_text_area {
	padding-left: 42px;
}

.contact_text_area .top_text {
	color: #4c4948;
	font-size: 20px;
	font-weight: bold;
}

.contact_text_area .tel a {}

.contact_text_area .tel .small {
	text-align: right;
}

.contact_inner .time {
	padding-top: 2%;
}

.contact_btm_text {
	margin-top: 60px;
	color: #4c4948;
	line-height: 1.2;
}

@media only screen and (max-width: 1000px) {

	.contact_inner,
	.contact_btm_text {

		max-width: 95%;
		margin: 0 auto;
	}

	.contact_text_area {
		padding-left: 5%;
	}

	.contact_box {
		width: 50%;
	}

	.contact_inner .time {
		width: 45%;
	}

	.contact_btm_text {
		margin-top: 20px;
		line-height: 1.3;
	}

}

@media only screen and (max-width: 640px) {
	.contact_area {
		padding: 20px 0 30px;
	}

	.contact_inner {
		-webkit-box-pack: center;
		justify-content: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		margin: 0 auto;
		width: 91.5625%;
	}

	.contact_box {
		width: 100%;
		-webkit-box-pack: justify;
		justify-content: space-between;
	}

	.contact_box .img {
		width: 15%;
	}

	.contact_text_area {
		padding-left: 0;
		width: 80%;
	}

	.contact_btm_text {
		margin-top: 30px;
		max-width: 91.5625%;
		font-size: 14px;
	}
}

/* ------------------------------
- periodsubmit_btnwrap
------------------------------ */
.period {
	text-align: center;
	padding: 34px 0;
}

.mv_period {
	background: #013f98;
}

.maincv_period {
	background: #fff20e;
}

.period P {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}

.mv_period p {
	color: #fff20e;
}

.maincv_period p {
	color: #013f98;
}

.period img {
	max-width: 366px;
	width: 36.6%;
}

@media only screen and (max-width: 640px) {
	.period {
		padding: 6% 0;
	}

	.period P {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 3%;
	}

	.period img {
		width: 270px;
	}
}

/* ------------------------------
- nav
------------------------------ */
.nav {
	max-width: 1010px;
	width: 100%;
	margin: 0 auto;
	padding: 0 5px;
	position: relative;
}

.main_nav {
	margin: 30px auto 40px;
}

.nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.nav ul li {
	width: 33%;
}

.nav ul li a {
	display: block;
	position: relative;
}

.main_nav ul li a::after {
	content: '';
	background: url(../images/nav_icon_arrow.png) no-repeat center/contain;
	width: 24.55%;
	height: 13.515%;
	display: block;
	position: absolute;
	bottom: -7%;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

.nav ul li h3 {
	text-align: center;
	padding: 12px 0;
}

.mv_nav ul li h3 {
	background: #fff;
}

.main_nav ul li h3 {
	background: #fff20e;
}

.mv_nav ul li h3 img {
	width: 74.687%;
}

.main_nav ul li h3 img {
	width: 70.236%;
}

@media only screen and (max-width: 640px) {
	.nav {
		padding: 0 2.34375%;
	}

	.main_nav {
		margin: 30px auto 40px;
	}

	.nav ul li {
		width: 32.5%;
	}

	.nav ul li a {
		display: block;
		position: relative;
	}

	.main_nav ul li a::after {
		content: '';
		background: url(../images/nav_icon_arrow.png) no-repeat center/contain;
		width: 24.55%;
		height: 13.515%;
		display: block;
		position: absolute;
		bottom: -7%;
		left: 50%;
		-webkit-transform: translate(-50%, 0);
		-ms-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}

	.nav ul li h3 {
		text-align: center;
		padding: 12px 0;
	}

	.mv_nav ul li h3 {
		background: #fff;
	}

	.main_nav ul li h3 {
		background: #fff20e;
	}

	.mv_nav ul li h3 img {
		width: 93%;
	}

	.main_nav ul li h3 img {
		width: 90%;
	}
}

/* ------------------------------
- cv_btn
------------------------------ */
.cv_btn {
	max-width: 1006px;
	margin: 30px auto 40px;
	width: 93.75%;
}

.mv_cv_btn {
	padding: 0;
}

@media only screen and (max-width: 640px) {
	.cv_btn {
		margin: 5% auto;
		width: 91.5625%;
	}
}

/* ------------------------------
- attention
------------------------------ */
.attention {
	background: #fff;
	padding: 0 5px;
	margin: 25px 0;
}

.form .attention {
	padding: 0;
	background: none;
}

.attention_inner {
	background: #f73333;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	border-radius: 10px;
	padding: 31px 5%;
}

.attention_inner h2,
.form .attention_inner h6 {
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 1.3;
}

.attention_inner p {
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
}

@media only screen and (max-width: 640px) {
	.attention {
		padding: 0;
		margin: 7% 0;
	}

	.form .attention {
		padding: 0;
		background: none;
	}

	.attention_inner {
		width: 91.5625%;
		border-radius: 10px;
		padding: 7%;
	}

	.form .attention_inner {
		width: 100%;
	}

	.attention_inner h2,
	.form .attention_inner h6 {
		font-size: 18px;
		margin-bottom: 15px;
	}
}

/* ------------------------------
- what
------------------------------ */
.what {
	background: #013f98;
	padding: 50px 38px;
	;
}

.what h2 {
	width: 55.7%;
	max-width: 557px;
	margin: 0 auto 40px;
}

.what_img,
.what_text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 928px;
	margin: 0 auto;
}

.what_img li,
.what_text li {
	width: 32.328%;
	background: #fff;
}

.what_text {
	margin-top: 10px;
}

.what_text li {
	padding: 30px 20px;
}

.what_text li h3 {
	line-height: 1.5;
	font-size: 17px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
}

.what_text li p {
	font-size: 16px;
	line-height: 1.6;
}

@media only screen and (max-width: 640px) {
	.what {
		padding: 10% 4.21875%;
	}

	.what h2 {
		width: 95.0511%;
		margin: 0 auto 10%;
	}

	.what_text {
		margin-top: 10px;
		display: block;
	}

	.what_text li {
		padding: 5% 7%;
		width: 100%;
	}

	.what_text li+li {
		margin-top: 3%;
	}

	.what_text li h3 {
		font-size: 16px;
		text-align: left;
		margin-bottom: 10px;
	}

	.what_text li p {
		font-size: 14px;
	}
}

/* ------------------------------
- effect01
------------------------------ */
.effect01 {
	padding: 30px 0;
}

.effect01_heading h2 {
	background: #013f98;
	float: right;
	width: 53.84%;
	padding: 33px;
}

.effect01_heading h2 img {
	width: 436px;
	max-width: 436px;
}

.effect01_img {
	width: 80.5%;
	max-width: 805px;
	margin: 40px auto;
}

.effect01_text {
	background: #fff20e;
	width: 53.84%;
	padding: 33px;
}

.effect01_text h2 {
	width: 460px;
	float: right;
	max-width: 460px;
}

@media only screen and (max-width: 1000px) {
	.effect01_heading h2 img {
		width: 93.6%;
	}

	.effect01_text h2 {
		width: 98%;
	}
}

@media only screen and (max-width: 640px) {
	.effect01 {
		padding: 8% 0;
	}

	.effect01_heading h2 {
		width: 87.65625%;
		padding: 6%;
	}

	.effect01_heading h2 img {
		width: 95%;
	}

	.effect01_img {
		width: 91.5625%;
		margin: 7% auto;
	}

	.effect01_text {
		width: 87.65625%;
		padding: 6%;
	}

	.effect01_text h2 {
		width: 100%;
	}
}

/* ------------------------------
- effect02
------------------------------ */
.effect02 {
	background: #013f98;
	padding: 40px 0;
}

.effect02 h2 {
	width: 51.5%;
	max-width: 515px;
	margin: 0 auto 35px;
}

.loopSliderWrap {
	top: 0;
	left: 0;
	height: 125px;
	overflow: hidden;
	position: absolute;
}

.loopSlider {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	height: 125px;
	text-align: left;
	position: relative;
}

.effect02_list ul {
	height: 100%;
	float: left;
	overflow: hidden;
}

.effect02_list ul li {
	background: #fff;
	width: 195px;
	height: 125px;
	float: left;
	text-align: center;
	/* padding: 28px 0; */
	float: left;
	display: inline;
	overflow: hidden;
	display: table;
	border: 2px solid #013f98;
}

.effect02_list ul li span {
	display: table-cell;
	height: 125px;
	width: 98%;
	vertical-align: middle;
}

.effect02_list ul li img {
	width: 70.77%;
}

.effect02_text {
	width: 46.3%;
	max-width: 463px;
	margin: 30px auto 0;
}

.loopSliderWrap:after {
	content: "";
	display: none;
	clear: none;
}

@media only screen and (max-width: 1000px) {
	.effect02_list ul li {
		width: 150px;
	}

	.loopSliderWrap,
	.loopSlider,
	.effect02_list ul li,
	.effect02_list ul li span {
		height: 115px;
	}
}

@media only screen and (max-width: 640px) {
	.effect02 {
		padding: 8% 0;
	}

	.effect02 h2 {
		width: 79.84375%;
		margin: 0 auto 7%;
	}

	.effect02_list ul li {
		width: 30.46875%;
		/* padding: 3.5% 0; */
	}

	.effect02_list ul li img {
		width: 70.77%;
	}

	.effect02_text {
		width: 72.34375%;
		margin: 7% auto 0;
	}

	.effect02_list ul li {
		width: 150px;
	}

	.loopSliderWrap,
	.loopSlider,
	.effect02_list ul li,
	.effect02_list ul li span {
		height: 115px;
	}
}

/* ------------------------------
- maincv
------------------------------ */
.maincv {
	background: #fff;
	padding: 25px 0 0;
}

.maincv_head {
	max-width: 800px;
	width: 80%;
	margin: 0 auto;
}

.maincv_heading_try {
	margin-top: -3%;
	background: #fff20e;
	border-radius: 10px;
}

.maincv_heading_try img {
	max-width: 495px;
	margin: 0 auto;
	display: block;
	width: 63%;
	padding: 42px 0;
}

.maincv_getsugaku {
	border-bottom: 2px solid #000;
	padding: 40px 0 50px;
}

.maincv_getsugaku img {
	max-width: 584px;
	margin: 0 auto;
	display: block;
}

.maincv_heading_imadake {
	margin: 30px 0;
}

.maincv_themepark {
	background: #fff20e;
	border-radius: 10px;
	padding: 10px 0;
}

.maincv_themepark img {
	width: 87.5%;
	margin: 0 auto;
}

.maincv_present {
	padding: 30px 0 40px;
	border-bottom: 2px solid #000;
}

.maincv_cast {
	max-width: 480px;
	margin: 30px auto 40px;
	width: 60%;
}

@media only screen and (max-width: 640px) {
	.maincv {
		padding: 7% 0 0;
	}

	.maincv_head {
		width: 91.5625%;
	}

	.maincv_heading_try {
		margin-top: -3%;
		background: #fff20e;
		border-radius: 10px;
	}

	.maincv_heading_try img {
		width: 84.5%;
		padding: 7% 0;
	}

	.maincv_getsugaku {
		padding: 7% 0;
	}

	.maincv_getsugaku img {
		max-width: 584px;
		margin: 0 auto;
		display: block;
	}

	.maincv_heading_imadake {
		margin: 7% 0;
	}

	.maincv_themepark {
		padding: 3% 0;
	}

	.maincv_themepark img {
		width: 95%;
	}

	.maincv_present {
		padding: 7% 0;
	}

	.maincv_cast {
		margin: 7% auto;
		width: 85%;
	}
}

/* ------------------------------
- sns
------------------------------ */
.sns {
	margin: 50px 0;
}

.sns ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 61%;
	margin: 0 auto 30px;
	max-width: 610px;
}

.sns_text {
	text-align: center;
}

@media only screen and (max-width: 640px) {
	.sns {
		margin: 7% 0;
	}

	.sns ul {
		width: 91.562%;
		margin: 0 auto 5%;
	}

	.sns li {
		width: 33%;
	}

	.sns_text {
		width: 91.562%;
		margin: 0 auto;
		font-size: 14px;
		text-align: left;
		line-height: 1.3;
	}
}

/* ------------------------------
- themepark
------------------------------ */
.themepark {
	background: #013f98;
	padding: 90px 0 40px;
}

.themepark_heading {
	max-width: 563px;
	margin: 0 auto 20px;
	width: 56.3%;
}

.themepark_lead {
	max-width: 800px;
	width: 90%;
	margin: 0 auto 40px;
}

.themepark_lead p {
	background: #fff;
	color: #013f98;
	padding: 5%;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
}

.themepark_point {
	max-width: 880px;
	width: 90%;
	width: 100%;
	margin: 0 auto 55px;
	padding: 0 40px;
	overflow: hidden;
}

.themepark_point_heading {
	margin: 0 auto 30px;
}

.safari .themepark_point_heading {
	width: 40%;
}

.themepark .themepark_point_heading,
.hawaiians .themepark_point_heading {
	width: 40%;
}

.themepark_point_content {
	padding-top: 12.5%;
}

.themepark_point_slider {
	background: #fff;
}

.themepark_point_slider h4 {
	font-size: 28px;
	font-weight: bold;
	padding: 40px;
	line-height: 1.3;
}

.themepark_point_slider img {
	width: 105%;
	margin-left: -2.5%;
}

.themepark_point_slider p {
	padding: 40px;
	font-size: 16px;
	line-height: 1.8;
}

.themepark_info {
	max-width: 800px;
	width: 90%;
	margin: 0 auto;
}

.themepark_info_heading {
	width: 29.375%;
	margin: 0 auto 30px;
}

.themepark_info_content {
	background: #fff;
	padding: 40px 0;
}

.themepark_info_content_heading {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 40px;
}

.themepark_info_img {
	width: 105%;
	margin-left: -2.5%;
}

.themepark_info_table {
	max-width: 570px;
	width: 90%;
	margin: 50px auto 0;
}

.themepark_info_table th,
.themepark_info_table td {
	font-size: 16px;
	text-align: left;
	padding: 20px 5px;
	line-height: 2;
	border-bottom: 1px solid #d4d4d4;
}

.themepark_info_table tr:last-child th,
.themepark_info_table tr:last-child td {
	border-bottom: none;
}

.themepark_info_table th {
	font-weight: bold;
	width: 22%;
}

.themepark_info_table td .subtable {
	width: 100%;
	display: table;
}

.themepark_info_table td .subtable .subhead,
.themepark_info_table td .subtable .subcontent {
	display: table-cell;
	font-size: 16px;
	line-height: 2;
}

.themepark_info_table td .subtable .subhead {
	font-weight: bold;
	width: 110px;
}

.themepark_info_table strong {
	font-weight: bold;
}

.themepark_info_table .desc {
	line-height: 2;
}

.themepark_info_table_innerwrap {
	display: table;
	width: 100%;
}

.themepark_info_table_ex td span,
.themepark_info_table_inner dt,
.themepark_info_table_inner dd {
	font-size: 16px;
	line-height: 2;
	display: table-cell;
}

.themepark_info_table_ex td span:nth-child(1) {
	width: 100px;
}

.themepark_info_table_inner {
	display: table-cell;
}

.themepark_info_table_inner dl {
	display: table;
	width: 100%;
}

.themepark_info_table_inner dt,
.themepark_info_table_inner dd {
	display: table-cell;
}

.themepark_info_table_inner dt {
	letter-spacing: -1px;
}

.themepark_info_table_inner dd {
	width: 110px;
	text-align: right;
}

@media only screen and (max-width: 640px) {
	.themepark {
		padding: 10% 0;
	}

	.themepark_heading {
		margin: 0 auto 5%;
		width: 88.0625%;
	}

	.themepark_lead {
		width: 91.5625%;
		margin: 0 auto 10%;
	}

	.themepark_lead p {
		padding: 5%;
		font-size: 14px;
		margin-top: -1px;
	}

	.themepark_point {
		width: 100%;
		margin: 0 auto 10%;
		padding: 0 4.21875%;
	}

	.themepark_point_heading {
		margin: 0 auto 7%;
	}

	.safari .themepark_point_heading {
		width: 40%;
	}

	.themepark .themepark_point_heading,
	.hawaiians .themepark_point_heading {
		width: 80.2047781%;
	}

	.themepark_point_content {
		padding-top: 17vw;
	}

	.themepark_point_slider {
		background: #fff;
	}

	.themepark_point_slider h4 {
		font-size: 20px;
		padding: 7%;
	}

	.themepark_point_slider img {
		width: 105%;
		margin-left: -2.5%;
	}

	.themepark_point_slider p {
		padding: 7%;
		font-size: 14px;
	}

	.themepark_info {
		width: 91.5625%;
	}

	.themepark_info_heading {
		width: 40.102389%;
		margin: 0 auto 7%;
	}

	.themepark_info_content {
		padding: 7% 0;
	}

	.themepark_info_content_heading {
		font-size: 20px;
		margin-bottom: 7%;
	}

	.themepark_info_img {
		width: 105%;
		margin-left: -2.5%;
	}

	.themepark_info_table {
		margin: 0 auto;
	}

	.themepark_info_table th,
	.themepark_info_table td {
		font-size: 14px;
		padding: 5% 1%;
		line-height: 1.8;
	}

	.themepark_info_table th {
		width: 70px;
	}

	.themepark_info_table td {
		word-break: break-all;
	}

	.themepark_info_table td .subtable .subhead,
	.themepark_info_table td .subtable .subcontent {
		font-size: 14px;
		line-height: 1.8;
	}

	.themepark_info_table td .subtable .subhead {
		width: 90px;
	}

	.themepark_info_table_innerwrap {
		display: block;
	}

	.themepark_info_table_ex td span {
		display: block;
		font-weight: bold;
	}

	.themepark_info_table_inner {
		display: block;
	}

	.themepark_info_table_inner dl {
		border-top: 1px dashed #d4d4d4;
	}
}

/* ------------------------------
- slider
------------------------------ */
.themepark_point_slider.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.themepark_point_slider .slick-list {
	overflow: initial;
}

.themepark_point_slider .slick-arrow {
	position: absolute;
}

.themepark_point_slider .slick-prev,
.themepark_point_slider .slick-next {
	width: 4.75%;
	height: 12.643%;
	z-index: 100;
	border: none;
	content: '';
}

.themepark_point_slider .slick-prev:before,
.themepark_point_slider .slick-next:before {
	display: none;
}

.themepark_point_slider .slick-prev,
.themepark_point_slider .slick-prev:hover {
	background: url(../images/themepark_icon_arrow_left.png) no-repeat center/contain;
	left: -4%;
}

.themepark_point_slider .slick-next,
.themepark_point_slider .slick-next:hover {
	background: url(../images/themepark_icon_arrow_right.png) no-repeat center/contain;
	right: -4%;
}

.themepark_point_slider .slick-dots {
	bottom: auto;
	top: -18.8%;
}

.themepark_point_slider .slick-dots::before {
	position: absolute;
	width: 15.75%;
	height: 45.14%;
	background: url(../images/themepark_point.png) no-repeat center/contain;
	content: '';
	left: 0;
	top: 20%;
}

.themepark_point_slider .slick-dots li {
	width: 69px;
	height: 82px;
	margin: 0 1.8%;
}

.themepark_point_slider .slick-dots li button {
	background: url(../images/themepark_bg_point_off.png) no-repeat center/contain;
	width: 100%;
	height: 100%;
	content: '';
	padding: 0;
}

.themepark_point_slider .slick-dots li button:hover {
	position: cursor;
}

.themepark_point_slider .slick-dots li.slick-active button {
	background: url(../images/themepark_bg_point_on.png) no-repeat center/contain;
	content: '';
}

.themepark_point_slider .slick-dots li button:before {
	width: 100%;
	height: 100%;
	opacity: 1;
	content: '';
}

.themepark_point_slider .slick-dots li:nth-child(1) button:before {
	background: url(../images/themepark_no1.png) no-repeat center 35%/39.13%;
}

.themepark_point_slider .slick-dots li:nth-child(2) button:before {
	background: url(../images/themepark_no2.png) no-repeat center 35%/39.13%;
}

.themepark_point_slider .slick-dots li:nth-child(3) button:before {
	background: url(../images/themepark_no3.png) no-repeat center 35%/39.13%;
}

.themepark_point_slider .slick-dots li:nth-child(4) button:before {
	background: url(../images/themepark_no4.png) no-repeat center 35%/39.13%;
}

@media only screen and (max-width: 900px) {
	.themepark_point_slider .slick-dots li {
		width: 7.668vw;
		height: 9.112vw;
	}
}

@media only screen and (max-width: 640px) {

	.themepark_point_slider .slick-prev,
	.themepark_point_slider .slick-next {
		width: 6.25%;
		height: 10.625%;
	}

	.themepark_point_slider .slick-dots {
		bottom: auto;
		top: -17vw;
		padding-left: 20%;
	}

	.themepark_point_slider .slick-dots::before {
		width: 19%;
		height: 45.14%;
		left: 8%;
		top: 20%;
	}

	.themepark_point_slider .slick-dots li {
		width: 10.78125vw;
		height: 12.8125vw;
	}
}

/* ------------------------------
- mailformpro
------------------------------ */
.mfp_element_checkbox,
.mfp_element_radio {
	display: none;
}

form#mailformpro label {
	margin: 0;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
	vertical-align: middle;
}

.mfp_element_all {
	max-width: 100%;
}

div.mfp_err {
	position: absolute;
	background: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button,
button.mfp_next,
button.mfp_prev {
	border-radius: 0;
	padding: 0;
	border: none;
	background: none;
	background: none;
	background: none;
	background: none;
	text-shadow: none;
}

@media only screen and (max-width: 640px) {}

/* ------------------------------
- form common
------------------------------ */
.form input,
.form button,
.form textarea,
.form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.form input[type=checkbox],
.form input[type=radio] {
	display: none;
}

#form label:hover {
	cursor: pointer;
}

#form label.radio,
#form label.checkbox {
	position: relative;
	padding-left: 60px;
	line-height: 1.5;
}

#form label.radio::before,
#form label.checkbox::before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 28px;
	display: block;
	width: 6px;
	height: 11px;
	margin-top: -9px;
	border-right: 2px solid #d50117;
	border-bottom: 2px solid #d50117;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	z-index: 1;
}

#form label.radio::after,
#form label.checkbox::after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 20px;
	display: block;
	width: 20px;
	height: 20px;
	border: 2px solid #aaaaaa;
	content: '';
	background-color: #fff;
	border-radius: 5px;
	-ms-border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

#form input[type=radio]:checked~.radio:before,
#form input[type=checkbox]:checked~.checkbox:before {
	opacity: 1;
}

#form input[type=text],
#form input[type=email] {
	height: 60px;
	font-size: 16px;
	padding: 0 20px;
	border-radius: 0;
	border: none;
}

#form select {
	width: 100%;
	height: 60px;
	font-size: 16px;
	padding: 0 20px;
	border-radius: 0;
	border: none;
}

#form .select-a {
	width: 100px;
	display: inline-block;
	vertical-align: middle;
}

#form .select select {
	background: #fff url(../images/form_icon_select.png) no-repeat center right 20px / 21px 27px;
}

#form .select-a select {
	background: #fff url(../images/arrow.png) no-repeat center right 10px / 21px 10px;
}

@media only screen and (max-width: 750px) {
	#form select {
		width: 100%;
		height: 50px;
		font-size: 14px;
		padding: 0 5%;
	}

	#form input[type=text],
	#form input[type=email] {
		height: 50px;
		font-size: 14px;
		padding: 0 5%;
	}

	#form .select select {
		background: #fff url(../images/form_icon_select.png) no-repeat center right 5% / 14px;
	}
}

/* ------------------------------
- form
------------------------------ */
.form {
	background: #ededed;
	padding-top: 70px;
}

.form_inner {
	max-width: 800px;
	width: 80%;
	margin: 0 auto;
}

.form h2 {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 50px;
}

.form_attention {
	margin-bottom: 70px;
}

.form_attention h3 {
	font-size: 25px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
}

.form_attention ul li {
	line-height: 2;
	font-size: 16px;
	padding-left: 24px;
	text-indent: -24px;
}

.form_attention ul li span {
	color: #b30c0c;
	border-bottom: 1px solid #b30c0c;
}

.form_heading {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	line-height: 1.8;
	padding-top: 15px;
  padding-bottom: 10px;
}

.form_heading_small{
	font-size: 12px;
	font-weight: normal;
	white-space: nowrap;
	position: absolute;
}

.form_application,
.form_themepark {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 2px solid #bfbfbf;
}

.form_application h4 {
	margin-bottom: 35px;
}

.hisu {
	position: relative;
	display: inline-block;
	padding-right: 55px;
}

.hisu::after {
	content: '必須';
	font-size: 12px;
	background: #e42859;
	color: #fff;
	padding: 6px 9px;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.form_application_list li+li,
.form_themepark_list li+li {
	margin-top: 8px;
}

#form .form_application_list li label.radio,
#form .form_application_list li label.checkbox,
#form .form_themepark_list li label.radio {
	border-radius: 10px;
	background: #FFF;
	padding: 25px 30px 25px 70px;
	width: 100%;
	font-weight: bold;
}

#form .form_themepark_list li label.radio {
	font-size: 20px;
}

.form_application_icon {
	width: 30.715%;
	margin-bottom: 18px;
}

.form_application_heading {
	display: table;
	width: 100%;
	margin-bottom: 13px;
}

.form_application_heading span {
	display: table-cell;
	font-weight: bold;
	vertical-align: bottom;
}

.form_application_heading .left {
	font-size: 20px;
	width: 210px;
}

.form_application_heading .right {
	font-size: 25px;
}

.form_application_bottom {
	font-size: 12px;
	font-weight: bold;
}

.form_themepark p {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 30px;
}

.form_main h4 {
	font-size: 18px;
	font-weight: bold;
	padding: 25px 0;
}

.form_main_list .form_main_item {
	display: table;
	width: 100%;
	margin: 35px 0;
	position: relative;
}

.form_main_list .form_flex {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.form_head,
.form_content {
	display: table-cell;
}

.form_content.text-r {
	text-align: right;
}

.form_head {
	width: 210px;
}

.form_main_item .item_app {
	width: 88%;
}

.form_content input {
	width: 100%;
}

.check_area .check_item {
	display: block;
	width: 100%;
}

.check_area .check_item+.check_item {
	margin-top: 18px;
}

.check_area.check_area_flex {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.check_area.check_area_flex .check_item {
	width: 50%;
}

.form_address_list li {
	display: table;
	width: 100%;
}

.form_address_list li+li {
	margin-top: 20px;
}

.form_address_head,
.form_address_content {
	display: table-cell;
}

.form_address_head {
	font-weight: bold;
	font-size: 16px;
	width: 130px;
	text-align: center;
	vertical-align: middle;
}

.form_subheading span {
	font-size: 0.7em;
}

.privacy_check {
	text-align: center;
	font-weight: bold;
	margin: 60px 0;
	position: relative;
}

.privacy_check div.mfp_err {
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: -25px;
}

.privacypolicy {
	background: #fff;
	padding: 50px 15%;
	margin-top: 50px;
}

.privacypolicy h5 {
	margin-bottom: 45px;
	font-size: 16px;
	line-height: 1.8;
}

.privacypolicy p {
	font-weight: normal;
	text-align: left;
	font-size: 15px;
	line-height: 1.5;
}

.privacypolicy h6 {
	font-size: 15px;
	line-height: 1.5;
	font-weight: normal;
	margin: 50px 0 20px;
}

.submit_btnwrap button.submit_btn {
	width: 100%;
	font-size: 18px;
	color: #fff;
	background: #008dda;
	height: 75px;
	border-radius: 5px;
	box-shadow: 0 5px #0073b1;
	transition: .2s;
	border: none;
}

.submit_btnwrap button.submit_btn:hover {
	opacity: .8;
}

.submit_btnwrap div {
	width: 100%;
	font-size: 18px;
	color: #fff;
	background: #aaa;
	height: 75px;
	border-radius: 5px;
	box-shadow: 0 5px #666;
	transition: .2s;
	border: none;
	text-align: center;
	padding: 30px 0;
}

div#mfp_overlay_inner {
	padding: 50px;
	max-width: 800px;
	width: 80%;
}

div#mfp_overlay_inner h4 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
}

table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 16px;
	border-top: solid 1px #CCC;
	padding: 20px 20px;
}

table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
	font-weight: bold;
}

table#mfp_confirm_table tr.mfp_colored {
	background: #fff;
}

.mfp_element_button {
	width: 45%;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button,
button.mfp_next,
button.mfp_prev {
	width: 45%;
	border-radius: 5px;
	padding: 20px 20px;
	color: #FFF;
	border-bottom: solid 3px #0073b1;
	background: #008dda;
	font-size: 1rem;
	font-weight: bold;
	cursor: pointer;
}

div.mfp_buttons button#mfp_button_cancel {
	background: #DDD;
	color: #000;
	border-bottom: solid 3px #BBB;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover,
button.mfp_next:hover,
button.mfp_prev:hover {
	background: #008dda;
	box-shadow: none;
	opacity: .8;
}

@media only screen and (max-width: 970px) {
	.form_main_item .item_app {
		width: 85%;
	}
}

@media only screen and (max-width: 750px) {
	.form {
		background: #ededed;
		padding-top: 70px;
	}

	.form_inner {
		width: 91.5625%;
		margin: 0 auto;
	}

	.form h2 {
		font-size: 25px;
		margin-bottom: 10%;
	}

	.form_attention {
		margin-bottom: 10%;
	}

	.form_attention h3 {
		font-size: 20px;
		margin-bottom: 10%;
	}

	.form_attention ul li {
		font-size: 14px;
		padding-left: 21px;
		text-indent: -21px;
		line-height: 1.8;
	}

	.form_main_item .item_app {
		width: 100%;
	}

	.form_main_list .form_flex {
		display: block;
	}

	.form_main_list .form_box {
		display: -webkit-box;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
	}

	.check_area.check_area_flex .check_item {
		width: 100%;
	}

	.form_main_list .form_box+.form_box {
		margin-top: 15px;
	}

	.form_heading {
		font-size: 13px;
		margin-bottom: 5%;
	}

	.form_heading_small {
		font-size: 12px;
		font-weight: normal;
		white-space: normal;
		position: static;
		margin: -10px 0 20px;
		line-height: 1.3;
	}

	.form_application,
	.form_themepark {
		margin-bottom: 10%;
		padding-bottom: 10%;
	}

	.form_application h4 {
		margin-bottom: 5%;
	}

	.hisu {
		padding-right: 50px;
	}

	.hisu::after {
		padding: 5px 8px;
	}

	.form_application_list li+li,
	.form_themepark_list li+li {
		margin-top: 3%;
	}

	#form .form_application_list li label.radio,
	#form .form_application_list li label.checkbox,
	#form .form_themepark_list li label.radio {
		padding: 5% 5% 5% 60px;
	}

	#form .form_themepark_list li label.radio {
		font-size: 14px;
	}

	.form_application_icon {
		width: 80%;
		margin-bottom: 5%;
		max-width: 215px;
	}

	.form_application_heading {
		display: block;
		width: 100%;
		margin-bottom: 13px;
	}

	.form_application_heading span {
		display: block;
		font-weight: bold;
		vertical-align: bottom;
	}

	.form_application_heading .left {
		font-size: 16px;
		width: 100%;
		margin-bottom: 3%;
	}

	.form_application_heading .right {
		font-size: 20px;
	}

	.form_application_bottom {
		font-size: 12px;
		font-weight: bold;
	}

	.form_themepark p {
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 30px;
	}

	.form_main h4 {
		font-size: 14px;
		font-weight: bold;
	}

	.form_main_list .form_main_item {
		display: block;
		width: 100%;
		margin: 7% 0;
		position: relative;
	}

	.form_head,
	.form_content {
		display: block;
	}

	.form_content.text-r {
		text-align: left;
	}

	.form_head {
		width: 100%;
	}

	#form .select-a {
		width: 80px;
	}

	#form .select-a select {
		background: #fff url(../images/arrow.png) no-repeat center right 10% / 14px;
	}

	.form_content input {
		width: 100%;
	}

	.check_area input {
		display: block;
		width: 100%;
	}

	.form_address_list li {
		display: table;
		width: 100%;
	}

	.form_address_list li+li {
		margin-top: 7%;
	}

	.form_address_head,
	.form_address_content {
		display: table-cell;
	}

	.form_address_head {
		font-weight: bold;
		font-size: 13px;
		width: 85px;
		text-align: center;
	}

	.form_subheading .form_small_text {
		font-size: 11px;
	}

	.privacy_check {
		margin: 10% 0;
		font-size: 14px;
	}

	.privacy_check div.mfp_err {
		left: 50%;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
		bottom: -25px;
	}

	.privacypolicy {
		padding: 8% 8%;
		margin-top: 5%;
	}

	.privacypolicy h5 {
		margin-bottom: 8%;
		font-size: 14px;
	}

	.privacypolicy p {
		font-size: 13px;
		line-height: 1.5;
	}

	.privacypolicy h6 {
		font-size: 14px;
		margin: 10% 0 5%;
	}

	.submit_btnwrap button.submit_btn {
		font-size: 16px;
		height: 55px;
		font-weight: normal;
	}

	.submit_btnwrap div {
		font-size: 16px;
		height: 55px;
		padding: 20px 0;
	}

	div#mfp_overlay_inner {
		padding: 8% 6%;
		width: 91.5625%;
	}

	div#mfp_overlay_inner h4 {
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 30px;
	}

	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td {
		font-size: 13px;
		padding: 5% 1%;
	}

	table#mfp_confirm_table tr th {
		white-space: unset;
		width: 40%;
		font-weight: bold;
	}

	table#mfp_confirm_table tr.mfp_colored {
		background: #fff;
	}

	.mfp_element_button {
		width: 45%;
	}

	.mfp_element_submit,
	.mfp_element_reset,
	.mfp_element_button,
	button.mfp_next,
	button.mfp_prev {
		width: 49%;
		padding: 20px 20px;
	}

	div.mfp_buttons button#mfp_button_cancel {
		background: #DDD;
		color: #000;
		border-bottom: solid 3px #BBB;
	}

	.mfp_element_submit:hover,
	.mfp_element_reset:hover,
	.mfp_element_button:hover,
	button.mfp_next:hover,
	button.mfp_prev:hover {
		background: #008dda;
		box-shadow: none;
		opacity: .8;
	}
}

/* ------------------------------
- thanks
------------------------------ */
.thanks {
	background: #facc82;
	padding: 7%;
}

.thanks_inner {
	width: 90%;
	box-sizing: border-box;
	border: 1px dotted #BBB;
	padding: 7%;
	max-width: 800px;
	background: #fff;
	margin: 0 auto;
}

.thanks h2 {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 40px;
}

.thanks p {
	font-size: 16px;
	line-height: 1.8;
}

.thanks_btn {
	width: 100%;
	font-size: 18px;
	color: #fff;
	background: #595656;
	border-radius: 5px;
	box-shadow: 0 5px #333;
	transition: .2s;
	padding: 20px;
	display: block;
	text-align: center;
	margin-top: 40px;
}

@media only screen and (max-width: 640px) {
	.thanks {
		padding: 10% 4.21875%;
	}

	.thanks_inner {
		width: 100%;
		padding: 10% 8%;
	}

	.thanks h2 {
		font-size: 16px;
		margin-bottom: 10%;
	}

	.thanks p {
		font-size: 14px;
	}

	.thanks_btn {
		font-size: 14px;
		margin-top: 10%;
	}
}