@charset "UTF-8";

.modal-content {
	background: ;
}
html {
	overflow-x: auto;
}
a:hover img {
	opacity: 0.8;
}
/* パララックス */
.inV {
	transform: translate(0, 40px);
	-webkit-transform: translate(0, 40px);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
}
.inV2 {
	transition-delay: 0.8s;
}
.inVright {
	transform: translate(40px, 0);
	-webkit-transform: translate(40px, 0);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
}
.inVleft {
	transform: translate(-40px, 0);
	-webkit-transform: translate(-40px, 0);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
}
.inVopen {
	transform: scale(.5);
	-webkit-transform: scale(.5);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
	transition-delay: 0.8s;
}
.inValpha {
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
	transition-delay: 0.8s;
}
.inSc,
.inVp,
.inVsc {
	transform: scale(.8);
	filter: alpha( opacity=0 );
	opacity: 0;
	transition: .3s;
	transition-delay: 1s;
}
.inAnime {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	filter: alpha(opacity=100);
	opacity: 1.0;
	-moz-opacity: 1.0;
}
.zoom {
	opacity: 0;
}
.zoom.is-animated {
	animation: zoom 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
@keyframes zoom {
	0% {
		opacity: 0;
		transform: scale(1);
	}
	50% {
		transform: scale(1.2);
	}
	65% {
		transform: scale(0.9);
	}
	100% {
		transform: scale(1);
	}
	20%,
	100% {
		opacity: 1;
	}
}

main,
nav {
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
}
header {
	top: 0;
}
.header {
	position: relative;
}
#navi1,
#navi2 {
	background: #F2E8CB;
	z-index: 999;
	position: relative;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	transition: 0.25s;
	display: flex;
}
#navi1 ul,
#navi2 ul {
	width: 940px;
	display: flex;
	margin: 0 auto;
	justify-content: space-between;
}
#navi1 li,
#navi2 li {
	width: 290px;
}
#navi1 a,
#navi2 a {
	text-decoration: none;
	display: block;
}
#navi1 a:hover,
#navi2 a:hover {
	opacity: 0.8;
}
#navi2 {
	display: none;
}
#navi2.fixed {
	display: block;
	position: fixed;
	top: 0;
}
main a:hover {
	opacity: 0.8 !important;
}
body {
	overflow-x: clip;
}
h1 {
	background: #F2E8CB;
}
h1 span {
	width: 1200px;
	height: 560px;
	margin: 0 auto;
	padding: 115px 0;
	display: block;
	background: url("../images/bg_main.png") center top;
	text-align: center;
}
h1 span img:last-child {
	margin-top: 13px;
}
.lead {
	padding: 50px 0;
	color: #c84129;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	background: url("../images/bg_lead.png") center no-repeat;
}
article {
	background: url("../images/bg_article.gif") center top;
	padding: 105px 0 50px;
}
section {
	margin-bottom: 100px;
}
#recommend {
	background: url("../images/bg_recommend00.png") center top repeat-y;
	padding: 5px 0;
	position: relative;
}
#event {
	background: url("../images/bg_event00.png") center top repeat-y;
	padding: 5px 0;
	position: relative;
}
#campaign {
	background: url("../images/bg_campaign00.png") center top repeat-y;
	padding: 5px 0;
	position: relative;
}
#recommend .illust01,
#recommend .illust02,
#recommend .illust03,
#event .illust01,
#event .illust02,
#event .illust03,
#campaign .illust01,
#campaign .illust02,
#campaign .illust03 {
	width: max-content;
	z-index: 5;
}
#recommend .illust01 {
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#recommend .illust02 {
	position: absolute;
	top: 890px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#recommend .illust03 {
	position: absolute;
	bottom: -60px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#event .illust01 {
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#event .illust02 {
	position: absolute;
	top: 1620px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#event .illust03 {
	position: absolute;
	bottom: -60px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#campaign .illust01 {
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#campaign .illust02 {
	position: absolute;
	top: 1200px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
#campaign .illust03 {
	position: absolute;
	bottom: -125px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 0;
}
.contents {
	width: 820px;
	margin: 0 auto;
	position: relative;
	/*z-index: 10;*/
}
.contents > div {
	margin: 0 auto 30px;
	background: #fff;
	padding-bottom: 40px;
}
h2 {
	text-align: center;
	padding-top: 58px;
	margin-top: -58px;
}
.detail {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: 740px;
}
#campaign .detail {
	width: 600px;
	margin: 30px auto 35px;
}
.detail > div {
	width: 370px;
}
#campaign .detail > div {
	width: 100%;
}
.detail > p {
	width: 335px;
}

.detail > div p:last-child {
	margin-top: 0.5em;
	font-size: 1.8rem;
	font-weight: 700;
}
.detail > div th {
	font-size: 1.7rem;
	line-height: 1.8;
	vertical-align: top;
	white-space: nowrap;
}
.detail > div {
	font-size: 1.8rem;
	line-height: 1.8;
}
.detail > div th span {
	background: #EE9F00;
	color: #fff;
	width: 100%;
	display: inline-block;
	padding: 0 1em;
	margin: 0 0 0.5em;
	letter-spacing: 0.125em;
	transform: rotateZ(0.03deg);
}
#event .detail > div th span {
	background: #D96D6C;
}
#campaign .detail > div th span {
	background: #9FAB2F;
}
.detail > div th span.space {
	letter-spacing: 1em;
	padding-right: 0;
}
.detail > div th span.no_space {
	padding: 0 0.25em;
}
.detail > div td {
	padding: 0 0 0.5em 0.5em;
	line-height: 1.4;
	vertical-align: middle;
	font-weight: 700;
}
.detail > div td span,
.detail > div p span {
	font-size: 1.4rem;
	font-weight: 700;
	display: inline-block;
	line-height: 1.4;
}
.flex2 .detail > div p span {
	margin-top: 0.5em;
}
.link {
	margin-top: 30px;
	text-align: center;
}
/* hello room */

.movie_new {
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	margin: 15px 15px 0;
	padding: 15px 0;
}
.movie-scroll {
	height: 1.4rem;
	text-align: center;
	animation: lrslide 4s infinite;
	margin: 20px auto 10px;
	width: 95%;
}
#recommend .movie-scroll {
	text-align: center;
}
.room {
	background: #F7DACE;
}
.top_link {
	text-align: center;
	height: 120px;
	background: repeating-linear-gradient(90deg, rgba(182, 0, 5, 1), rgba(182, 0, 5, 1) 50px, rgba(199, 0, 11, 1) 0, rgba(199, 0, 11, 1) 100px);
}
.contents section {
	padding-top: 0;
	margin-top: 0;
	padding-bottom: 0;
}


@keyframes lrslide {
	0% {
		transform: translate(5px, 0px);
	}

	25% {
		transform: translate(-5px, 0px);
	}

	50% {
		transform: translate(5px, 0px);
	}

	75% {
		transform: translate(-5px, 0px);
	}

	100% {
		transform: translate(5px, 0px);
	}
}
.movie-scroll img {
	height: 100%;
}
.xp-block__wrap {
	background: #fff;
	padding: 10rem 0 5rem 0;
	width: 100%;
}
.xp-block {
	background: #fff;
	padding: 0 50px 10px 40px;
}
#recommend .xp-block__wrap,
#recommendt .xp-block {
	background: none;
}
#recommend .xp-list {
	width: 740px;
	margin: 0 auto;
	padding: 0;
}
.xp-list ul {
	padding: 0 0 2rem;
	color: #000;
}
.xp_thumbnails li {
	position: relative;
}
.xp_post {
	width: 20rem !important;
}
.xp_thumbnail img {
	width: 100% !important;
}
img.xp_staff_info_image {
	border: 1px solid #7e7d7d;
	bottom: 13%;
	height: 50px !important;
	margin: 0 auto;
	position: absolute;
	width: 50px !important;
}
div.xp_staff_info_card {
	margin-top: 45px;
}

p.xp_staff_info_name,
p.xp_staff_info_business {
	font-size: 10px;
	line-height: 1.5;
	text-align: center;
}
#recommend .xp-list ul::-webkit-scrollbar {
	width: 1rem;
	height: 1rem;
}
#recommend .xp-list ul::-webkit-scrollbar-track {
	background: #FAE2B2;
	border-radius: 1em;
}
#recommend .xp-list ul::-webkit-scrollbar-thumb {
	background: #EE9F00;
	border-radius: 1em;
}
#recommend {
	scrollbar-color: #FAE2B2 #EE9F00;
	scrollbar-width: thin;
}
.flex2 {
	display: flex;
}
.flex2 .detail {
	flex-direction: column;
	width: 335px;
	justify-content: flex-start;
}
.flex2 .detail > p,
.flex2 .detail > div {
	width: 100%;
}
.flex2 h4 {
	font-size: 3.6rem;
	font-weight: 700;
	color: #d96d6c;
	margin: 0.25em 0;
}
.attension {
	background: #fff;
	font-size: 1.4rem;
}
.attension p {
	width: 950px;
	margin: 0 auto;
	padding-top: 4em;
}

#page_top {
	width: 60px;
	height: 60px;
	text-decoration: none;
	position: fixed;
	right: 0;
	bottom: -60px;
	opacity: 0.6;
	z-index: 100;
}
#page_top i {
	font-weight: 900;
	font-size: 50px;
	color: #333;
}
.center {
	text-align: center;
}
.pc_only {
	display: block;
}
.sp_only {
	display: none;
}
@media (max-width: 768px) {
	.header {
		width: 100vw;
	}
	#navi1 {
		background: none;
	}
	#navi1 ul,
	#navi2 ul {
		width: 90vw;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
		padding: 0;
		justify-content: space-between;
		background: none;
	}
	#navi1 li,
	#navi2 li {
		width: 28vw;
	}
	#navi1 li span,
	#navi2 li span {
		display: block;
		text-align: center;
	}
	h1 {
		margin-top: -28vw;
	}
	body {
		overflow-x: hidden;
	}
	h1 span {
		width: 100vw;
		height: auto;
		padding: 51vw 0 36.75vw;
		background: url("../images/bg_main01_sp.png") center top 13.33vw no-repeat;
		background-size: 100vw;
	}
	h1 span img:last-child {
		margin-top: 2vw;
	}
	.lead {
		padding: 0 0 10.25vw;
		font-size: 4.15vw;
		background: url("../images/bg_lead_sp.png") center top no-repeat;
		background-size: 100vw;
	}
	article {
		padding: 6.67vw 0;
		background: url("../images/bg_article_sp.png") center top repeat-y;
		background-size: 100vw;
	}
	section {
		width: 89.33vw;
		margin: 0 auto 20vw;
	}
#recommend {
	background: url("../images/bg_recommend00.png") center top repeat-y;
	padding: 5px 0;
	position: relative;
}
#event {
	background: url("../images/bg_event00.png") center top repeat-y;
	padding: 5px 0;
	position: relative;
}
#campaign {
	background: url("../images/bg_campaign00.png") center top repeat-y;
	padding: 5px 0;
	position: relative;
}
	#recommend .illust01,
	#recommend .illust02,
	#recommend .illust03,
	#event .illust01,
	#event .illust02,
	#event .illust03,
	#campaign .illust01,
	#campaign .illust02,
	#campaign .illust03 {
		width: 100vw;
		position: absolute;
		top: 0;
		left: -5.335vw;
		transform: initial;
		-webkit-transform: initial;
	}
	#recommend .illust02 {
		position: absolute;
		top: 260vw;
	}
	#recommend .illust03 {
		position: absolute;
		top: auto;
		bottom: -15vw;
	}
	#event .illust02 {
		position: absolute;
		top: 284vw;
	}
	#event .illust03 {
		position: absolute;
		top: auto;
		bottom: -20vw;
	}
	#campaign .illust02 {
		position: absolute;
		top: 240vw;
	}
	#campaign .illust03 {
		position: absolute;
		top: auto;
		bottom: -20vw;
	}
	.contents {
		width: 75.47vw;
	}
	.contents > div {
		margin: 0 auto 6.67vw;
		padding-bottom: 6.67vw;
	}
	h2 {
		text-align: center;
		padding-top: 13.33vw;
		margin-top: -13.33vw;
	}
	.link {
		width: 48vw;
		margin: 5.93vw auto 0;
	}
	#recommend .link {
		margin: 2.5vw auto 0;
	}
	.detail {
		width: 64vw;
		flex-wrap: wrap-reverse;
	}
	.detail > div p,
	.detail > div p:last-child {
		font-size: 3.625vw;
		padding: 0;
		line-height: 1.4;
	}
	.detail > div p span {
		font-size: 2.75vw;
		margin-top: 0.5em;
	}
	.detail table {
		margin: 7.35vw 0 4.75vw;
	}
	.detail > div th span,
	.detail > div td {
		font-size: 3.5vw;
	}
	.detail > div td {
		padding: 0 0 0 0.5em
	}
	.detail > div tr {
		align-items: center;
	}
	.detail > div {
		font-size: 3.25vw;
	}
	.detail > div td span {
		font-size: 2.75vw;
	}
	.t_wrap {
		flex-wrap: wrap;
	}
	.detail > div .t_wrap th span {
		margin-bottom: 0.25em;
	}
	.t_wrap td {
		width: 100%;
	}
	.detail > div .sp_only {
		display: flex !important;
		flex-wrap: wrap;
		margin-bottom: 0.5em;
	}
	.detail > div .sp_only th span {
		margin-bottom: 0;
	}
	.detail > div td.wrap {
		padding-top: 0.5em;
	}
	.detail > div th span.no_space {
		padding: 0.25em 0.125em;
		line-height: 1.3;
	}
	#campaign .contents > div .detail,
	#campaign .contents > div .center {
		padding: 0 5.73vw;
	}
	#campaign .contents > div .detail {
		margin: 0;
	}
	#campaign .contents > div .detail table {
		margin: 6.6vw 0 0
	}
	.detail > div td.multi_line {
		padding-top: 0.5em;
	}
	/* hello room */
	.movie_new {
		font-size: 3.5vw;
		margin: 3.5vw 3.5vw 0;
		padding: 3.5vw 0 0;
	}
	.movie-scroll {
		height: auto;
		margin: 0 auto;
		padding: 3.5vw 0 1.5vw;
	}
	.movie-scroll img {
		width: 31.55vw;
	}
	.xp-block {
		padding: 0 3.5vw 0 1.75vw;
	}
	#movie .xp-block {
		width: 89.33vw;
	}
	#recommend .xp-list {
		width: auto;
	}
.xp-list ul {
	padding: 0 0 2rem;
}
	.xp_post {
		width: 30vw !important;
	}
	img.xp_staff_info_image {
		width: 10vw !important;
		height: 10vw !important;
	}
	div.xp_staff_info_card {
		margin-top: 5vw;
	}
	p.xp_staff_info_name,
	p.xp_staff_info_business {
		font-size: 2vw;
	}
	#fair .xp-list ul::-webkit-scrollbar-track,
	#autumn .xp-list ul::-webkit-scrollbar-track {
		margin-left: 1.5vw;
	}
	#recommend .xp-list ul::-webkit-scrollbar {
			width: 2vw;
			height: 2vw;
	}
	#recommend .xp-list ul::-webkit-scrollbar-track {
		margin-left: 1.5vw;
	}
	.flex2 {
		display: block;
	}
	.flex2 .detail {
		width: 64vw;
		margin-bottom: 6.6vw;
	}
	.flex2 .detail table {
		margin: 0 0 4.75vw;
	}
	.flex2 h4 {
		font-size: 5.83vw;
	}
	.attension {
		width: 100vw;
		font-size: 3vw;
	}
	.attension p {
		width: 90vw;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}

}
/* footer */
footer {
	z-index: 9999 !important;
	padding: 25px 0 0;
	background: #fff;
}
.fGroup {
	width: 980px;
	margin: 0 auto;
}
.fGroup:after {
	display: block;
	height: 0;
	/* clearfix */
	clear: both;
	visibility: hidden;
	content: " ";
}
.goHome {
	display: block;
	width: 252px;
	padding: 20px 0;
	margin: 0 auto 40px;
	font-size: 1.8rem;
	line-height: 1;
	color: #0183d3;
	text-align: center;
	border: 2px solid #0183d3;
}
footer hr {
	margin: 0 0 10px;
	border-top: solid 5px #0183d3;
}
footer hr.gray {
	margin: 0 0 20px;
	border-top: solid 1px #707070;
}
footer .copy {
	margin: 0;
}
.fNav {
	margin: 0 auto 30px;
}
.fNav li {
	display: inline-block;
	padding: 0 15px 0 0;
	margin: 0 15px 0 0;
	line-height: 1;
	border-right: solid 1px #707070;
}
.fNav li:last-child {
	padding: 0;
	margin: 0;
	border: none;
}
.fNav li a {
	font-size: 1.2rem;
	color: #000;
}
.fNav:after {
	display: block;
	height: 0;
	/* clearfix */
	clear: both;
	visibility: hidden;
	content: " ";
}
.mlogo {
	width: 182px;
}
.mlogo2 {
	width: 241px;
	margin: 0 auto 10px;
}
.logo a:hover,
.mlogo a:hover,
.mlogo2 a:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}
@media only screen and (max-width: 768px) {
	footer {
		padding: 0;
	}
	.fGroup {
		width: 100%;
		padding: 0;
	}
	.fNav {
		float: none;
		margin: 0 0 20px;
		border-top: solid 1px #707070;
	}
	.fNav li,
	.fNav li:nth-child(5),
	.fNav li:last-child {
		box-sizing: border-box;
		float: left;
		width: 60%;
		height: auto;
		padding: 10px 0;
		margin: 0;
		text-align: center;
		border-right: solid 1px #707070;
		border-bottom: solid 1px #707070;
	}
	.fNav li:nth-child(2),
	.fNav li:nth-child(4),
	.fNav li:last-child {
		width: 40%;
		border-right: none;
	}
	.fNav li:last-child {
		padding: 12px 0;
	}
	#goTop {
		right: 20px;
		bottom: 20px;
		width: 40px;
	}
	#goTop a {
		padding: 10px;
	}
}
.lightbox {
	border: none;
	outline: none;
}

.footer__sns dd a {
	transition: 0s;
}
.social_list a li {
	pointer-events: none;
}
.social_item:hover {
	opacity: 0.5;
}

.footer {
	overflow: hidden;
	background: #fff;
}

.footer__inner {
	padding: 40px 0 15px;
	margin: 0 auto;
}

.footer .sns__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.footer .sns__list .sns__list-item {
	width: 10.66667%;
}

.footer .sns__list .sns__list-item:not(:first-of-type) {
	margin-left: 4%;
}

.footer .sns__list .sns__list-item a {
	display: block;
}

.footer .sns__list .sns__list-item a img {
	vertical-align: top;
}

.footer .nav__list a {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
		"Hiragino Sans", Meiryo, sans-serif;
	color: #111;
	text-decoration: none;
}

.footer .copyright {
	display: block;
	margin: 0 0 20px;
	font-size: 0.8rem;
	text-align: center;
	letter-spacing: -0.01rem;
}

@media (min-width: 720px) {
	.footer__inner {
		max-width: 1000px;
		padding: 0 0 40px;
		text-align: center;
	}
	.footer .sns__list .sns__list-item {
		width: 48px;
		height: 48px;
	}
	.footer .sns__list .sns__list-item:not(:first-of-type) {
		margin-left: 19px;
	}
	.footer .sns__list .sns__list-item a {
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}
	.footer .sns__list .sns__list-item a:hover {
		opacity: 0.7;
	}

	.footer .nav__list {
		max-width: 800px;
		margin: 25px auto 0;
		font-size: 1.2rem;
		text-align: center;
		display: block;
	}
	.footer .nav__list.detail {
		margin-top: 0;
	}
	.footer .nav__list .nav__list-item {
		display: inline-block;
		margin-bottom: 10px;
		margin-left: 5.33333%;
	}
	.footer .nav__list .nav__list-item:first-of-type,
	.footer .nav__list .nav__list-item:nth-of-type(5) {
		margin-left: 0;
	}
	.footer .copyright {
		font-size: 1.2rem;
		letter-spacing: inherit;
	}
}
@media (max-width: 720px) {
	.footer .nav__list {
		width: 70%;
		margin: 25px auto 20px;
		font-size: 1.1rem;
		text-align: center;
	}
	.footer .nav__list.detail {
		margin-top: 0;
	}
	.footer .nav__list .nav__list-item {
		display: inline-block;
		margin-bottom: 10px;
		margin-left: 5.33333%;
	}
	.footer .nav__list .nav__list-item:first-of-type,
	.footer .nav__list .nav__list-item:nth-of-type(5) {
		margin-left: 0;
	}
	/* .footer .nav__list .nav__list-item:nth-of-type(3),
	.footer .nav__list .nav__list-item:nth-of-type(4) {
		width: 100%;
		margin-left: 0;
		text-align: center;
	} */
}