@charset "utf-8";

/*----------------------------
	common
------------------------------*/
* {
	box-sizing: border-box;
}
html {
	font-size: 10px;
	color: #111;
}
@media (max-width: 1100px) {
	html {
		font-size: 0.909090vw;
	}
}
@media (max-width: 767px) {
	html {
		font-size: 1.3333vw;
	}
}
body {
	font-size: 1.6rem;
	line-height: 1.666;
}
a {
	color: #111;
	text-decoration: none;
}
a img {
	transition: opacity 0.3s ease-out;
}
a img:hover {
	opacity: 0.7;
}
img {
	max-width: 100%;
	height: auto;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
}

.wrapper {
	margin: 0 auto;
	max-height: 100%; /*for android*/
	/*background: url(../img/bg.gif) repeat top left;*/
	overflow: hidden;
}
.inner {
	max-width: 110rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 3rem;
	padding-right: 3rem;
}
.sp {
	display: none;
}
#pagetop {
	display: none;
	position: fixed;
	bottom: 3rem;
	right: 2rem;
	width: 17.7rem;
	z-index: 99;
}
@media (max-width: 767px) {
	body {
		font-size: 2.4rem;
		line-height: 1.45;
	}
	.inner {
		max-width: 100%;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	#pagetop {
		bottom: 2rem;
		right: 1.6rem;
		width: 17.7rem;
	}
}


/*----------
	header
------------*/
header {
	padding-bottom: 8rem;
	/*background: url(../img/bg_hero.png) no-repeat top center;*/
	background-size: cover;
}
header .inner {
	padding-top: 4.5rem;
	position: relative;
}
header .kumo01 {
	max-width: 32.1rem;
	position: absolute;
	top: 0;
	left: -15rem;
}
header .kumo01 p.kumo {
	margin-top: -5rem;
	text-align: center;
}
header .kumo02 {
	max-width: 26.2rem;
	position: absolute;
	top: 0;
	right: -14rem;
}
header .kumo02 p.kumo{
	margin-top: -4rem;
	text-align: center;
	transform-origin: 50% 0%;
	transform: rotate(-40deg);
}
header h1 {
	margin: 0 auto;
	max-width: 104rem;
}
@media (max-width: 767px) {
	header {
		padding-bottom: 6rem;
		background-size: cover;
	}
	header .inner {
		padding-top: 4rem;
	}
	header .kumo01 {
		max-width: 13.3rem;
		left: 0;
	}
	header .kumo01 p.kumo {
		margin-top: -2rem;
		margin-left: 1.5rem;
		width: 2rem;
	}
	header .kumo02 {
		max-width: 17.2rem;
		top: 0;
		right: -7rem;
	}
	header .kumo02 p.kumo{
		margin: -2rem auto 0;
		width: 2rem;
	}
}

/*----------
	main
------------*/
main .inner {
	padding-bottom: 7rem;
	position: relative;
}
main h2 {
	margin: 2.5rem 0 0 16rem;
	max-width: 83.3rem;
}
main .fukidashi {
	max-width: 18.8rem;
	position: absolute;
	top: -8rem;
	left: 0;
}
@media (max-width: 767px) {
	main .inner {
		padding-left: 2rem;
		padding-right: 2rem;
		padding-bottom: 8rem;
	}
	main h2 {
		margin: 3rem 0 0 12rem;
		max-width: 56rem;
	}
	main .fukidashi {
		max-width: 13rem;
		top: -6rem;
		left: 1.5rem;
	}
}

/* facility */
main .facility {
	margin-top: 4.5rem;
	display: flex;
	justify-content: center;
}
main .facility li {
	margin: 0 2rem;
	max-width: 24.3rem;
	width: 23.3%;
}
main .facility li img {
	transition: transform 0.2s ease;
}
main .facility li a:hover img {
	transform: scale(1.1);
}
@media (max-width: 767px) {
	main .facility {
		margin-top: 6.5rem;
		justify-content: space-between;
	}
	main .facility li {
		margin: 0;
		max-width: 22rem;
		width: 30.9%;
	}
}

/* measures */
.measures {
	margin-top: 9rem;
	padding: 3rem 0 2rem;
	border-top: solid 2px #fff;
	border-bottom: solid 2px #fff;
	color: #fff;
	position: relative;
}
.measures dt {
	display: inline;
	border: solid 2px #fff;
	padding: 0.5rem 1.5rem;
	background: #1c0c29;
	position: absolute;
	top: -2.5rem;
}
.measures dd {
	display: flex;
	justify-content: space-between;
}
.measures dd div {
	width: 30%;
	margin: 0 1.5rem;
	display: flex;
	align-items: center;
}
.measures dd div p:nth-child(1) {
	max-width: 8rem;
}
.measures dd div p:nth-child(2) {
	margin-left: 1rem;
	max-width: 23rem;
	padding-left: 1em;
	text-indent: -1em;
}
@media (max-width: 767px) {
	.measures {
		margin-top: 7.5rem;
		padding: 4rem 0 3rem;
	}
	.measures dt {
		padding: 0.5rem 1.5rem;
		top: -2.5rem;
	}
	.measures dd {
		flex-direction: column;
	}
	.measures dd div {
		width: auto;
		margin: 0 2rem;
		display: flex;
		align-items: center;
	}
	.measures dd div:nth-child(2) {
		margin-top: 1.5rem;
	}
	.measures dd div:nth-child(3) {
		margin-top: 0.4rem;
	}
	.measures dd div p:nth-child(1) {
		width: 7rem;
		max-width: 7rem;
	}
	.measures dd div p:nth-child(2) {
		margin-left: 2rem;
		max-width: 58rem;
	}
}

/* photospot */
.photospot {
	margin-top: 10rem;
}
.photospot h3 {
	margin: 0 auto;
	max-width: 72.6rem;
}
.photospot .lead {
	margin-top: 3.5rem;
	font-size: 2rem;
	color: #fff;
	text-align: center;
}
.photospot .list {
	margin-top: 5rem;
	display: flex;
	justify-content: space-between;
}
.photospot .list li {
	margin: 0 1.5rem;
	max-width: 31.6rem;
	position: relative;
}
.photospot .list li .btn {
	margin: auto;
	max-width: 29rem;
	position: absolute;
	bottom: 2rem;
	right: 0;
	left: 0;
	cursor: pointer;
}
.photospot .list li .btn .icnMap {
	position: absolute;
	top: -1rem;
	left: 3rem;
	width: 3rem;
}
@media (max-width: 767px) {
	.photospot .lead {
		margin-top: 6rem;
		font-size: 2.8rem;
		text-align: left;
	}
	.photospot .list {
		margin-top: 0;
		flex-direction: column;
	}
	.photospot .list li {
		margin: 5rem auto 0;
		max-width: 61rem;
		/* position: relative; */
	}
	.photospot .list li .btn {
		max-width: 56rem;
		bottom: 3.5rem;
	}
	.photospot .list li .btn .icnMap {
		top: -1.5rem;
		left: 6rem;
		width: 6rem;
	}
}

/* anchorList */
.anchorList {
	margin-top: 13rem;
	display: flex;
	justify-content: center;
}
.anchorList li {
	margin: 0 1.5rem;
	max-width: 41.5rem;
}
@media (max-width: 767px) {
	.anchorList {
		justify-content: space-between;
	}
	.anchorList li {
		margin: 0;
		width: 49%;
		max-width: 34.5rem;
	}
}

/* presentBlock */
.presentBlock {
	margin-top: 13rem;
	padding: 10rem 5rem 9rem;
	border: solid 1rem #e56b22;
	background: #f5a100;
	border-radius: 1rem;
	position: relative;
}
.presentBlock .icon {
	position: absolute;
	top: -7rem;
	left: 50%;
	margin-left: -8rem;
	width: 16rem;
	/*background: url(../img/bg_icon.png) no-repeat top center;*/
	background-size: contain;
	text-align: center;
}
.presentBlock .icon img {
	width: 12.8rem;
	padding-top: 1.4rem;
}
.presentBlock h3 {
	margin: 0 auto;
	max-width: 58.2rem;
}
.presentBlock .bat {
	max-width: 12.5rem;
	position: absolute;
	top: 7rem;
	left: 5.5rem;
}
.presentBlock .dracula {
	max-width: 19.1rem;
	position: absolute;
	top: 5rem;
	right: 3rem;
}
.presentBlock .lead {
	margin-top: 4rem;
	font-size: 2rem;
	text-align: center;
	line-height: 1.5;
}
@media (max-width: 767px) {
	.presentBlock {
		margin-top: 14.5rem;
		padding: 11rem 3rem 9rem;
		border: solid 1.2rem #e56b22;
		border-radius: 2.2rem;
	}
	.presentBlock .icon img {
		width: 13.8rem;
		padding-top: 1.2rem;
	}
	.presentBlock h3 {
		max-width: 56.8rem;
	}
	.presentBlock .bat {
		max-width: 10.5rem;
		top: 20rem;
		left: 3.5rem;
	}
	.presentBlock .dracula {
		max-width: 16.4rem;
		top: 19rem;
		right: 1rem;
	}
	.presentBlock .lead {
		font-size: 2.8rem;
		text-align: left;
	}
}

/* step */
.presentBlock .ttlStep {
	margin: 7rem auto 0;
	max-width: 31.6rem;
}
.presentBlock .step {
	margin: 3rem auto 0;
	max-width: 80rem;
	display: flex;
}
.presentBlock .step li {
	max-width: 27.5rem;
}
.presentBlock .step li:nth-child(3) {
	max-width: 27rem;
}
@media (max-width: 767px) {
	.presentBlock .ttlStep {
		max-width: 34.3rem;
	}
	.presentBlock .step {
		max-width: 100%;
	}
	.presentBlock .step li {
		max-width: 23rem;
	}
	.presentBlock .step li:nth-child(3) {
		max-width: 20.9rem;
	}
}

/* shop */
.presentBlock .ttlShop {
	margin: 7rem auto 0;
	max-width: 60.4rem;
}
.presentBlock .ttlShop + .lead {
	margin: 3rem auto 0;
	max-width: 75rem;
}
.presentBlock .shop {
	margin: 4rem auto 0;
	max-width: 80rem;
	min-height: 26.4rem;
	position: relative;
}
.presentBlock .shop li {
	position: absolute;
}
.presentBlock .shop li:nth-child(1) {
	max-width: 28.9rem;
	top: 4.5rem;
	left: 1rem;
}
.presentBlock .shop li:nth-child(2) {
	max-width: 28.2rem;
	top: 0;
	left: 26.5rem;
}
.presentBlock .shop li:nth-child(3) {
	max-width: 28.7rem;
	top: 5.3rem;
	right: 0.7rem;
}
.presentBlock .subttlShop {
	margin-top: 5rem;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.presentBlock .subttlShop span {
	background: #fee77f;
}
.presentBlock .shopBtnList {
	margin-top: 2rem;
	display: flex;
	justify-content: space-between;
}
.presentBlock .shopBtnList li {
	max-width: 31.2rem;
}
.presentBlock .note {
	margin-top: 0.5rem;
	padding-left: 1em;
	text-indent: -1em;
}
.presentBlock .shopBnrList li {
	margin: 1.5rem auto 0;
	max-width: 67rem;
}
@media (max-width: 767px) {
	.presentBlock .ttlShop {
		max-width: 66.4rem;
	}
	.presentBlock .ttlShop + .lead {
		max-width: 66.7rem;
	}
	.presentBlock .shop {
		max-width: 100%;
		min-height: 23rem;
	}
	.presentBlock .shop li:nth-child(1) {
		max-width: 24.5rem;
		top: 4rem;
		left: 0;
	}
	.presentBlock .shop li:nth-child(2) {
		max-width: 23.5rem;
		top: 0;
		left: 20rem;
	}
	.presentBlock .shop li:nth-child(3) {
		max-width: 23.5rem;
		top: 4.5rem;
		right: 0;
	}
	.presentBlock .subttlShop {
		margin-top: 6rem;
		font-size: 2.8rem;
	}
	.presentBlock .shopBtnList {
		margin-top: 0;
		flex-direction: column;
	}
	.presentBlock .shopBtnList li {
		margin-top: 2.5rem;
		max-width: 62.8rem;
	}
	.presentBlock .note {
		margin-top: 1rem;
	}
	.presentBlock .shopBnrList li {
		margin: 3rem auto 0;
		max-width: 67rem;
	}
}

/* instaBlock */
.instaBlock {
	margin-top: 13rem;
	padding: 10rem 5rem 9rem;
	border: solid 1rem #e56b22;
	background: #f5a100;
	border-radius: 1rem;
	position: relative;
}
.instaBlock .icon {
	position: absolute;
	top: -7rem;
	left: 50%;
	margin-left: -8rem;
	width: 16rem;
	/*background: url(../img/bg_icon.png) no-repeat top center;*/
	background-size: contain;
	text-align: center;
}
.instaBlock .icon img {
	width: 12.8rem;
	padding-top: 1.4rem;
}
.instaBlock h3 {
	margin: 0 auto;
	max-width: 38.1rem;
}
.instaBlock .bat02 {
	max-width: 12.5rem;
	position: absolute;
	top: 7rem;
	left: 13.5rem;
}
.instaBlock .wolf {
	max-width: 14.5rem;
	position: absolute;
	top: 5rem;
	right: 13rem;
}
.instaBlock .lead {
	margin-top: 4rem;
	font-size: 2rem;
	text-align: center;
	line-height: 1.5;
}
.instaBlock .lead span {
	background: #fee77f;
}
.instaBlock .picList {
	margin: 6rem auto 0;
	max-width: 59.8rem;
	position: relative;
}
.instaBlock .picList .imgGhost01 {
	position: absolute;
	bottom: -3rem;
	left: -11rem;
	max-width: 11.7rem;
}
.instaBlock .picList .imgGhost02 {
	position: absolute;
	top: -2rem;
	right: -14rem;
	max-width: 14.7rem;
}
.instaBlock .picList ul {
	display: flex;
	justify-content: center;
}
.instaBlock .picList li {
	margin: 0 1.5rem;
	width: 27rem;
	position: relative;
}
.instaBlock .picList li::before {
	display: block;
	content: "";
	position: absolute;
}
.instaBlock .picList li:nth-child(1) {
	margin-top: 4rem;
}
.instaBlock .picList li:nth-child(1)::before {
	top: -6rem;
	left: -4rem;
	/*background: url(../img/img_star01.png) no-repeat;*/
	background-size: contain;
	width: 15rem;
	height: 8rem;
}
.instaBlock .picList li:nth-child(2)::before {
	bottom: -1rem;
	right: -4rem;
	/*background: url(../img/img_star02.png) no-repeat;*/
	background-size: contain;
	width: 15.5rem;
	height: 5.5rem;
}
.instaBlock .ttlInstaPresent {
	margin: 7rem auto 0;
	max-width: 43rem;
}
@media (max-width: 767px) {
	.instaBlock {
		margin-top: 14.5rem;
		padding: 11rem 3rem 9rem;
		border: solid 1.2rem #e56b22;
		border-radius: 2.2rem;
	}
	.instaBlock .icon img {
		width: 13.8rem;
		padding-top: 1.2rem;
	}
	.instaBlock h3 {
		max-width: 39.9rem;
	}
	.instaBlock .bat02 {
		max-width: 11.5rem;
		top: 10rem;
		left: 1.5rem;
	}
	.instaBlock .wolf {
		max-width: 13.1rem;
		top: 9rem;
		right: 1rem;
	}
	.instaBlock .lead {
		font-size: 2.8rem;
		text-align: left;
	}
	.instaBlock .picList .imgGhost01 {
		display: none;
	}
	.instaBlock .picList .imgGhost02 {
		display: none;
	}
	.instaBlock .ttlInstaPresent {
		margin: 9rem auto 0;
		max-width: 47.5rem;
	}
}

/* ticket */
.instaBlock .subttlTicket {
	margin: 3rem auto 0;
	max-width: 47.8rem;
}
.instaBlock .ticket {
	margin-top: 3.5rem;
	padding: 5rem 4rem;
	background: #fcd15e;
	border-radius: 2rem;
}
.instaBlock .ticket > div {
	display: flex;
	justify-content: space-between;
}
.instaBlock .ticket .box {
	width: 30.8%;
}
.instaBlock .ticket .name {
	margin-top: 1.3rem;
}
.instaBlock .ticket .ticketName {
	margin-top: 0.5rem;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
}
.instaBlock .ticket .memo {
	margin-top: 0.3rem;
	font-size: 1.4rem;
}
.instaBlock .ticket .memo + .memo {
	margin-top: 0.5rem;
}
.instaBlock .ticket .memo a {
	text-decoration: underline;
}
.instaBlock .ticket .notice {
	margin-top: 4rem;
	padding: 2rem 2.5rem;
	border: solid 1px #a1822f;
	border-radius: 1rem;
}
.instaBlock .ticket .notice dt {
	font-weight: bold;
}
.instaBlock .ticket .notice dd {
	margin-top: 1rem;
	font-size: 1.4rem;
}
@media (max-width: 767px) {
	.instaBlock .subttlTicket {
		max-width: 57.5rem;
	}
	.instaBlock .ticket {
		margin-top: 4.5rem;
	}
	.instaBlock .ticket > div {
		flex-direction: column;
	}
	.instaBlock .ticket .box {
		width: 100%;
	}
	.instaBlock .ticket .box + .box {
		margin-top: 6.5rem;
		padding-top: 6.5rem;
		border-top: dotted 0.5rem #5c0675;
	}
	.instaBlock .ticket .name {
		margin-top: 2.5rem;
		font-size: 2.8rem;
	}
	.instaBlock .ticket .ticketName {
		margin-top: 1.5rem;
		font-size: 3.2rem;
		line-height: 1.43;
	}
	.instaBlock .ticket .memo {
		margin-top: 1.5rem;
		font-size: 2.8rem;
	}
	.instaBlock .ticket .memo + .memo {
		margin-top: 1.5rem;
	}
	.instaBlock .ticket .notice {
		padding: 3rem 3.5rem;
		border: solid 0.3rem #a1822f;
	}
	.instaBlock .ticket .notice dt {
		padding-left: 1em;
		text-indent: -1em;
	}
	.instaBlock .ticket .notice dd {
		font-size: 2.4rem;
	}
	.instaBlock .ticket .notice dd ul {
		padding-left: 1em;
		text-indent: -1em;
	}
}

/* hotel */
.instaBlock .subttlHotel {
	margin: 10rem auto 0;
	max-width: 78.5rem;
}
.instaBlock .subttlHotel + .lead {
	font-weight: bold;
	color: #5d0b75;
}
.instaBlock .hotel {
	margin-top: 3.5rem;
	padding: 5rem 6rem;
	background: #fcd15e;
	border-radius: 2rem;
}
.instaBlock .hotel .box + .box {
	margin-top: 4rem;
	padding-top: 4rem;
	border-top: dotted 2px #5d0b75;
}
.instaBlock .hotel .box .name {
	padding-left: 5.3rem;
	/*background: url(../img/icon_star.png) no-repeat left center;*/
	background-size: contain;
	font-size: 2.8rem;
	font-weight: bold;
	color: #5d0b75;
}
.instaBlock .hotel .box .name span{
	font-size: 2.2rem;
}
.instaBlock .hotel .box .info {
	margin-top: 1.5rem;
	display: flex;
	justify-content: space-between;
}
.instaBlock .hotel .box .pic {
	width: 23.7%;
}
.instaBlock .hotel .box .detail {
	width: 72.5%;
}
.instaBlock .hotel .box .room,
.instaBlock .hotel .box .period {
	font-size: 1.8rem;
	display: flex;
	align-items: center;
}
.instaBlock .hotel .box .period {
	margin-top: 1rem;
}
.instaBlock .hotel .box .room span:nth-child(1),
.instaBlock .hotel .box .period span:nth-child(1) {
	padding: 0rem 0.7rem;
	background: #5d0b75;
	color: #fff;
	border-radius: 0.5rem;
	text-align: center;
}
.instaBlock .hotel .box .room span:nth-child(1) {
	width: 3em;
}
.instaBlock .hotel .box .period span:nth-child(1) {
	width: 5em;
}
.instaBlock .hotel .box .room span:nth-child(2),
.instaBlock .hotel .box .period span:nth-child(2) {
	padding-left: 1rem;
	font-weight: bold;
}
.instaBlock .hotel .box .room span:nth-child(2) {
	width: calc(100% - 3em);
}
.instaBlock .hotel .box .period span:nth-child(2) {
	width: calc(100% - 5em);
}
.instaBlock .hotel .box .note {
	margin-top: 0.5rem;
	padding-left: 1em;
	text-indent: -1em;
}
.instaBlock .hotel .box .notDate {
	margin-top: 0.5rem;
}
@media (max-width: 767px) {
	.instaBlock .subttlHotel {
		max-width: 63.7rem;
	}
	.instaBlock .hotel {
		margin-top: 5rem;
		padding: 4rem 4rem;
	}
	.instaBlock .hotel .box + .box {
		margin-top: 6rem;
		padding-top: 6rem;
		border-top: dotted 0.5rem #5d0b75;
	}
	.instaBlock .hotel .box .name {
		padding-left: 6.3rem;
		background-size: 5.4rem 5.8rem;
		font-size: 3.7rem;
		line-height: 1.26;
	}
	.instaBlock .hotel .box .name span {
		font-size: 2.2rem;
	}
	.instaBlock .hotel .box .info {
		margin-top: 2.5rem;
		flex-direction: column;
	}
	.instaBlock .hotel .box .pic {
		width: 100%;
	}
	.instaBlock .hotel .box .detail {
		margin-top: 3rem;
		width: 100%;
	}
	.instaBlock .hotel .box .room,
	.instaBlock .hotel .box .period {
		font-size: 3.2rem;
	}
	.instaBlock .hotel .box .note,
	.instaBlock .hotel .box .notDate {
		margin-top: 1rem;
		font-size: 2.8rem;
	}
}

/* entryBlock */
.instaBlock .ttlEntry {
	margin: 10rem auto 0;
	max-width: 46rem;
}
.instaBlock .entry {
	margin-top: 3rem;
	padding: 8rem 9rem;
	border-radius: 2rem;
	background: #1c1918;
	color: #fff;
}
/* entry ticket */
.instaBlock .entry .subTtlEntryTicket {
	margin: 0 auto;
	max-width: 47rem;
}
.instaBlock .entry h5 + .step {
	margin-top: 4rem;
}
.instaBlock .entry .step {
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-size: 2rem;
}
.instaBlock .entry .step dt {
	max-width: 9rem;
}
.instaBlock .entry .step dd {
	max-width: 59rem;
}
.instaBlock .entry .step dd span {
	color: #47d2c5;
}
.instaBlock .entry .step dd span.follow {
	font-size: 2.4rem;
	font-weight: bold;
}
.instaBlock .entry .step a {
	color: #fff;
	text-decoration: underline;
}
.instaBlock .entry .arrow {
	margin-bottom: 3rem;
	padding-bottom: 5rem;
	/*background: url(../img/icon_entry_arrow.png) no-repeat bottom center;*/
	background-size: 4rem auto;
}
.instaBlock .entry .hashtag {
	text-align: center;
}
.instaBlock .entry .hashtag button {
	margin: 0 auto;
	padding: 1.5rem;
	max-width: 48.6rem;
	background: #36aca1;
	border: solid 2px #05857a;
	border-radius: 1rem;
	font-size: 1.9rem;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	color: #fff;
}
.instaBlock .entry .hashtagCopy {
	margin-top: 1rem;
	font-size: 1.8rem;
	color: #05857a;
	text-align: center;
}
.instaBlock .entry .completed {
	padding: 3rem 2rem;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	position: relative;
}
.instaBlock .entry .completed::before,
.instaBlock .entry .completed::after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	height: 1px;
	width: 100%;
	background: #fff;
}
.instaBlock .entry .completed::before {
	top: 7px;
}
.instaBlock .entry .completed::after {
	bottom: 7px;
}
.instaBlock .entry .completed img {
	padding-top: 0.5rem;
	display: inline-block;
	max-width: 14.7rem;
}
.instaBlock .entry .post {
	margin-top: 5rem;
	padding: 2.5rem 3rem;
	border: solid 3px #fee77f;
	border-radius: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.instaBlock .entry .post > p {
	max-width: 6.3rem;
}
.instaBlock .entry .post > div {
	max-width: 58rem;
	color: #fee77f;
	font-size: 2rem;
}
.instaBlock .entry .post > div:nth-child(2) {
	font-weight: bold;
}
.instaBlock .entry .post a {
	color: #fee77f;
	text-decoration: underline;
}
/* entry hotel */
.instaBlock .iconMore {
	margin: 3rem auto -6rem;
	max-width: 24rem;
}
.instaBlock .entry .subTtlEntryHotel {
	margin: 0 auto;
	max-width: 46.5rem;
}
.instaBlock .entry .instaList {
	margin-top: 4rem;
	padding-bottom: 6rem;
	display: flex;
	justify-content: space-between;
}
.instaBlock .entry .instaList .box {
	margin: 0 2.5rem;
	max-width: 20rem;
}
.instaBlock .entry .instaList .box a {
	display: block;
	color: #fff;
	text-align: center;
}
.instaBlock .entry .instaList .box a > p {
	margin: 0 auto;
	width: 16rem;
	transition: transform 0.2s ease;
}
.instaBlock .entry .instaList .box a > p:hover {
	transform: scale(1.1);
}
.instaBlock .entry .instaList .box a > div p:nth-child(1) {
	margin-top: 1rem;
	text-decoration: underline;
}
.instaBlock .entry .instaList .box a > div p:nth-child(2) {
	font-size: 1.3rem;
}
@media (max-width: 767px) {
	.instaBlock .ttlEntry {
		max-width: 50.2rem;
	}
	.instaBlock .entry {
		padding: 8rem 4rem;
	}
	/* entry ticket */
	.instaBlock .entry .subTtlEntryTicket {
		max-width: 51.8rem;
	}
	.instaBlock .entry .step {
		justify-content: space-between;
		font-size: 2.8rem;
	}
	.instaBlock .entry .step dt {
		max-width: 10.8rem;
		width: 20%;
	}
	.instaBlock .entry .step dd {
		max-width: 42rem;
		width: 75%;
	}
	.instaBlock .entry .step dd span.follow {
		font-size: 3.4rem;
	}
	.instaBlock .entry .arrow {
		margin-bottom: 3rem;
		padding-bottom: 5rem;
		background-size: 6.2rem auto;
	}
	.instaBlock .entry .hashtag button {
		max-width: 100%;
		width: 100%;
		font-size: 2.3rem;
	}
	.instaBlock .entry .hashtagCopy {
		font-size: 2.4rem;
	}
	.instaBlock .entry .completed {
		font-size: 2.4rem;
	}
	.instaBlock .entry .completed img {
		max-width: 18.6rem;
	}
	.instaBlock .entry .post > p {
		max-width: 8.5rem;
		width: 17%;
	}
	.instaBlock .entry .post > div {
		max-width: 37rem;
		width: 80%;
		font-size: 2.4rem;
	}
	/* entry hotel */
	.instaBlock .iconMore {
		max-width: 26.5rem;
	}
	.instaBlock .entry .subTtlEntryHotel {
		max-width: 51.4rem;
	}
	.instaBlock .entry .instaList {
		margin-top: 4rem;
		padding-bottom: 6rem;
		flex-direction: column;
	}
	.instaBlock .entry .instaList .box {
		margin: 0 1.5rem;
		max-width: 100%;
	}
	.instaBlock .entry .instaList .box + .box {
		margin-top: 2.5rem;
	}
	.instaBlock .entry .instaList .box a {
		text-align: left;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.instaBlock .entry .instaList .box a > p {
		margin-left: 0;
		width: 13.3rem;
	}
	.instaBlock .entry .instaList .box a > div {
		width: calc(100% - 15.3rem);
	}
	.instaBlock .entry .instaList .box a > div p:nth-child(1) {
		margin-top: 0;
		font-size: 2.8rem;
	}
	.instaBlock .entry .instaList .box a > div p:nth-child(2) {
		margin-top: 1rem;
		font-size: 2.4rem;
	}
}

/* note */
.instaBlock .note {
	margin-top: 2.5rem;
}
.instaBlock .note dt {
	font-size: 1.8rem;
}
.instaBlock .note dd .txt + ul {
	margin-top: 1rem;
}
.instaBlock .note dd ul {
	text-indent: -1em;
	padding-left: 1em;
}
.instaBlock .note dd .txtRed {
	color: #de0000;
	font-weight: bold;
}
@media (max-width: 767px) {
	.instaBlock .note {
		margin-top: 3.5rem;
	}
	.instaBlock .note dt {
		font-size: 2.8rem;
	}
	.instaBlock .note dd {
		margin-top: 0.5rem;
	}
	.instaBlock .note dd .txt + ul {
		margin-top: 1rem;
	}
}

/* rules */
.instaBlock .rules {
	line-height: 1.7;
	margin-top: 6rem;
}
.instaBlock .rules h4 {
	padding: 1.8rem 2.5rem;
	border-radius: 0.4rem;
	background: #65157c;
	font-size: 2rem;
	line-height: 1.3;
	color: #fff;
	position: relative;
}
.instaBlock .rules h4 + div {
	padding: 3.5rem 3rem;
	font-size: 1.4rem;
}
.instaBlock .rules h4 + div dt {
	font-size: 1.6rem;
}
.instaBlock .rules .rulesList > dt {
	margin-top: 2rem;
	font-weight: bold;
}
.instaBlock .rules .rulesList > dd {
	margin-top: 0.7rem;
}
.instaBlock .rules .rulesList > dd > p + ul {
	margin-top: 0.7rem;
}
.instaBlock .rules .rulesList > dd > ul + p {
	margin-top: 2rem;
}
.instaBlock .rules .numbering {
	counter-reset: li-counter;
}
.instaBlock .rules .numbering > li {
	padding-left: 2.7em;
}
.instaBlock .rules .numbering > li:before {
	content: "（" counter(li-counter) "）";
	counter-increment: li-counter;
	display: block;
	float: left;
	width: 2.7em;
	margin-left: -2.7em;
}
.instaBlock .rules .list > li {
	padding-left: 1em;
	position: relative;
}
.instaBlock .rules .list > li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
@media (max-width: 767px) {
	.instaBlock .rules h4 {
		font-size: 2.6rem;
	}
	.instaBlock .rules h4 + div {
		font-size: 1.8rem;
	}
	.instaBlock .rules h4 + div dt {
		font-size: 2rem;
	}
}

/* contact */
.instaBlock .contact {
	line-height: 1.7;
	margin-top: 4rem;
}
.instaBlock .contact h4 {
	padding: 1.8rem 2.5rem;
	border-radius: 0.4rem;
	background: #65157c;
	font-size: 2rem;
	line-height: 1.3;
	color: #fff;
	position: relative;
}
.instaBlock .contact h4 + div {
	padding: 3.5rem 3rem;
	font-size: 1.6rem;
}
.instaBlock .btnContact {
	margin: 2rem auto 0;
	width: 40rem;
}
.instaBlock .btnContact a {
	display: block;
	padding: 1.2rem;
	font-size: 1.8rem;
	color: #fff;
	text-align: center;
	background: #e56b22;
	border-radius: 0.5rem;
	position: relative;
}
.instaBlock .btnContact a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 5%;
	width: 13px;
	height: 8px;
	margin-top: -4px;
	background: url(../img/icn_arrow.png) no-repeat left center;
	background-size: auto 100%;
	transform: rotate(-90deg);
}
@media (max-width: 767px) {
	.instaBlock .contact h4 {
		font-size: 2.6rem;
	}
	.instaBlock .contact h4 + div {
		font-size: 2.2rem;
	}
	.instaBlock .btnContact {
		width: 80%;
	}
	.instaBlock .btnContact a {
		font-size: 2.4rem;
	}
}

/* slide-toggle */
.instaBlock .slide-toggle .icn {
	background:#fff;
	border-radius:3px;
	display:block;
	width:1.8em;
	height:1.8em;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	margin:auto 0.75em;
}
.instaBlock .slide-toggle .icn:before,
.instaBlock .slide-toggle .icn:after {
	display:block;
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:1em;
	height:4px;
	background:#65157c;
	transition:all .4s;
}
.instaBlock .slide-toggle .icn:before {
	transform:rotate(0deg);
}
.instaBlock .slide-toggle .icn:after {
	transform:rotate(90deg);
}
.instaBlock .slide-toggle .icn.active:before {
	display:none;
}
.instaBlock .slide-toggle .icn.active:after {
	transform:rotate(180deg);
}
.instaBlock .slide-toggle h4 + div {
	display: none;
}

/* social */
.social {
	margin-top: 4rem;
	padding-top: 7.5rem;
	background: #c1a3cb;
	position: relative;
}
.social .inner {
	z-index: 10;
}
.social .inner::before,
.social .inner::after {
	display: block;
	content: "";
	position: absolute;
	z-index: -1;
}
.social .inner::before {
	/*background: url(../img/social_kumo01.png) no-repeat;*/
	background-size: contain;
	width: 28.3rem;
	height: 29.9rem;
	top: -7rem;
	left: -13rem;
}
.social .inner::after {
	/*background: url(../img/social_kumo02.png) no-repeat;*/
	background-size: contain;
	width: 22.2rem;
	height: 22.8rem;
	top: -2rem;
	right: -8.5rem;
}
.social h4 {
	margin: 0 auto 2.5rem;
	max-width: 39rem;
}
#social-hub-wrapper .load-more-button {
	display: block;
	width: 31rem;
	padding: 1.2rem;
	color: #fff;
	background: #64117c;
	font-size: 2rem;
	font-weight: bold;
	border-radius: 0.5rem;
	position: relative;
	border: none;
}
#social-hub-wrapper .load-more-button:active,
#social-hub-wrapper .load-more-button:focus {
	outline: none;
}
#social-hub-wrapper .load-more-button::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 5%;
	width: 13px;
	height: 8px;
	margin-top: -4px;
	background: url(../img/icon_arrow_btm.png) no-repeat left center;
	background-size: auto 100%;
}
#social-hub-wrapper .load-more-button:hover {
	opacity: 0.7;
	transition: opacity .2s ease-out;
}
@media (max-width: 767px) {
	.social .inner::before {
		width: 16rem;
		height: 16rem;
		top: -17rem;
		left: -3rem;
	}
	.social .inner::after {
		background: none;
	}
	.social h4 {
		margin-top: 10rem;
		max-width: 42.1rem;
	}
	#social-hub-wrapper .load-more-button {
		width: 63.7%;
		padding: 1.8rem 1.2rem;
		font-size: 2.6rem;
	}
	#social-hub-wrapper .load-more-button::after {
		width: 18px;
		height: 12px;
		margin-top: -6px;
	}
}

/* annotation */
.annotation {
	margin-top: 2rem;
	font-size: 1.6rem;
	color: #fff;
}
@media (max-width: 767px) {
	.annotation {
		margin-top: 3.5rem;
		font-size: 2.4rem;
	}
}

/*----------
	footer
------------*/
footer {
	background: #fff;
	padding: 5.5rem 0;
}
footer .logos {
	display: flex;
	align-items: center;
	justify-content: center;
}
footer .logos li:nth-child(1) {
	max-width: 26.3rem;
}
footer .logos li:nth-child(2) {
	margin-left: 7.8rem;
	margin-right: 11.3rem;
	max-width: 19.8rem;
}
footer .logos li:nth-child(3) {
	max-width: 20.6rem;
}
@media (max-width: 767px) {
	footer .inner {
		padding: 0 3rem;
	}
	footer .logos {
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	footer .logos li:nth-child(1) {
		margin-left: 3rem;
		max-width: 20.2rem;
	}
	footer .logos li:nth-child(2) {
		margin-left: 5rem;
		margin-right: 7.8rem;
		max-width: 15.3rem;
	}
	footer .logos li:nth-child(3) {
		margin-top: 2.5rem;
		margin-left: 3rem;
		max-width: 16rem;
	}
}


/*----------
	modal
------------*/
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: -1;
	background: rgba(0, 0, 0, 0.8);
}
.modal .modalBg {
	width: 100%;
	height: 100%;
	overflow: auto;
}
.modal .modalInner {
	opacity: 0;
	transition: opacity .5s ease-in-out;
	display: flex;
	align-items: center;
}
.modal .close {
	position: absolute;
	top: 2.3rem;
	right: 2.3rem;
	width: 9rem;
	cursor: pointer;
}
.modal .modalBoxWrap {
	position: relative;
	margin: auto;
}
.modal .modalBox {
	display: none;
}
.modal.on {
	opacity: 1;
	z-index: 100;
}
.modal.on .modalInner {
	opacity: 1;
}
.modal .modalBox.on {
	display: block;
}
/*  */
.modalBox .mapTtl {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 13.6rem;
	padding-left: 16.8rem;
}
.modalBox .mapTtl h2 {
	font-size: 3.35rem;
}
.modalBox .mapTtl h2 + p {
	font-size: 1.6rem;
}
.mapContents {
	background: #fff;
	padding: 4rem 6rem 6rem;
}
.mapContents .info {
	background: #eeeeee;
	padding: 3rem;
}
.mapContents .info dt {
	font-size: 2rem;
	font-weight: bold;
}
.mapContents .info dt img {
	display: inline-block;
	max-width: 2rem;
	margin: 0 0.3rem 0.7rem;
}
.mapContents .info dd {
	font-size: 1.6rem;
}
.mapContents .map {
	margin-top: 6rem;
}
.mapContents .map dt {
	font-size: 3.3rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	line-height: 1.2;
}
.mapContents .map dt > span:nth-child(1) {
	margin-right: 1.5rem;
	padding: 1.5rem 2.3rem;
	color: #fff;
}
.mapContents .map dt > span:nth-child(2) span {
	font-size: 2.1rem;
}
.mapContents .map dd {
	margin-top: 1.2rem;
}
.mapContents .map dd + dd {
	margin-top: 6rem;
}
.modalBox.landmark .mapTtl {
	background: #d41750;
	background-image: url(../img/modal_landmark_chara.png);
	background-repeat: no-repeat;
	background-position: top 0 left 5rem;
	background-size: contain;
}
.modalBox.tokyu .mapTtl {
	background: #50a837;
	background-image: url(../img/modal_tokyu_chara.png);
	background-repeat: no-repeat;
	background-position: top 0 left 5rem;
	background-size: contain;
}
.modalBox.markis .mapTtl {
	background: #0090d1;
	background-image: url(../img/modal_markis_chara.png);
	background-repeat: no-repeat;
	background-position: top 0 left 3rem;
	background-size: contain;
}
.modalBox.landmark .mapContents .map dt > span:nth-child(1){
	background: #d41750;
}
.modalBox.tokyu .mapContents .map dt > span:nth-child(1) {
	background: #50a837;
}
.modalBox.markis .mapContents .map dt > span:nth-child(1) {
	background: #0090d1;
}
