@charset "utf-8";
:root{
	--vw-min:1240;
}
.isVer{
	text-align: center;
	display: table;
	margin: 0 auto 60px;
	padding:0 66px;
	position: relative;
	color: #fff;
}
@media screen and (max-width:768px){
	.isVer {
		margin-bottom:6.4vw;
		padding:0 50px;
	}
}
.isVer:before{
	content: "";
	background: url(../../../images/deco01_l.png) no-repeat 0 0 / 100%;
	width: 41px;
	height: 81px;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width:768px){
	.isVer:before{
		width: 36px;
		height: 71px;
	}
}
.isVer:after{
	content: "";
	background: url(../../../images/deco01_r.png) no-repeat 0 0 / 100%;
	width: 41px;
	height: 81px;
	position: absolute;
	top: 0;
	right: 0;
}
@media screen and (max-width:768px){
	.isVer:after{
		width: 36px;
		height: 71px;
	}
}
.isVer > span{
	line-height: 1;
	text-shadow: 0px 0px 10px #2e89e4;
	font-size: 42px;
	margin-bottom:0;
	height: 81px;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 768px) {
	.isVer > span {
		min-height:71px;
		letter-spacing: 0.08em;
		height:auto;
		padding-bottom:0.1em;
	}
}
.isVer.is-ruby > span {
	margin-top:-12px;
}
@media screen and (max-width:768px){
	.isVer.is-ruby > span {
		margin-top:-0.25em;
	}
}
.isVer > span > span {
	font-size: 42px;
	flex-shrink: 0;
}
@media screen and (max-width:768px){
	.isVer > span > span {
		font-size:8vw;
	}
}
.shimetsuMainWrap {
	position: relative;

}
.shimetsuMainWrap__nav {
	display: none;
}
@media screen and (max-width:768px){
	.shimetsuMainWrap__nav {
		z-index:500;
		display: flex;
		position: absolute;
		left:4vw;
		right:4vw;
		top:0;
		bottom:0;
		justify-content: space-between;
		align-items: center;
		pointer-events: none;
	}
	.shimetsuMainWrap__item {
		width: 12vw;
	}
	.shimetsuMainWrap__item a {
		display: flex;
		width:100%;
		height:12vw;
		background:#000;
		border-radius: 50%;
		justify-content: center;
		align-items: center;
		pointer-events: auto;
		transition:opacity 0.3s ease;
	}
	.shimetsuMainWrap__item a.is-disabled {
		opacity:0;
		pointer-events: none;
	}
	.shimetsuMainWrap__item--toLeft:before{
		content:'';
		box-sizing: border-box;
		display: block;
		width:4.2vw;
		height:4.2vw;
		margin-left:2.2vw;
		border-left:1px solid #fff;
		border-bottom:1px solid #fff;
		transform:scaleY(.5) rotate(45deg);
	}
	.shimetsuMainWrap__item--toRight:before{
		content:'';
		box-sizing: border-box;
		display: block;
		width:4.2vw;
		height:4.2vw;
		margin-left:-3vw;
		border-right:1px solid #fff;
		border-top:1px solid #fff;
		transform:scaleY(.5) rotate(45deg);
	}
}
.shimetsuMain {
	height:700px;
	background: url(../img/t_bg.jpg) no-repeat center bottom / cover;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width:768px){
	.shimetsuMain {
		height:180.6666vw;
		background: url(../img/t_bg.jpg) no-repeat right bottom / auto 100%;
		display:block;
		width:100%;
		overflow: auto;
	}
}
.shimetsuMain__text {
	height:506px;
	width:100%;
	margin-bottom:40px;
}
@media screen and (max-width:768px){
	.shimetsuMain__text {
		padding:17.0666vw 22vw 0;
		height:auto;
		width:max-content;
		margin-bottom:0;
	}
}
.shimetsuMain__text img {
	height:506px;
	width:auto;
	display: block;
	margin:0 auto;
	pointer-events: none;
	filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.6));
}
@media screen and (max-width:768px){
	.shimetsuMain__text img {
		height:130.9333vw;
	}
}
.shimetsuListsWrap {
	padding-top: 80px;
}
@media screen and (max-width:768px){
	.shimetsuListsWrap {
		padding-top:4.2vw;
		padding-bottom:12.6666vw;
	}
}
.shimetsuLists {
	display: flex;
	flex-wrap: wrap;
	width:990px;
	margin:0 auto;
	justify-content: center;
}
@media screen and (max-width:768px){
	.shimetsuLists {
		width:88vw;
	}
}
.shimetsuItem {
	width:240px;
	margin:0 3px 30px;
}
@media screen and (max-width:768px){
	.shimetsuItem {
		width:40vw;
		margin:0 1vw 2vw;
	}
}
.shimetsuItemMap {
	width:100%;
	margin:0 3px 50px;
}
@media screen and (max-width:768px){
	.shimetsuItemMap {
		width:100%;
		margin:0 1vw 10vw;
	}
}
.shimetsuItem__link {
	display: block;
	height:100%;
	border:2px solid #204b9f;
	background: #000;
	text-decoration: none;
}
.shimetsuItem__thumb {
	padding-top:246px;
	position: relative;
	background: #204b9f;
	overflow: hidden;
}
@media screen and (max-width:768px){
	.shimetsuItem__thumb {
		padding-top:83.1081%;
	}
}
.shimetsuItem__thumb img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit: cover;
	transition:all 1s ease;
}
@media screen and (hover:hover){
	.shimetsuItem__link:hover .shimetsuItem__thumb img {
		transform:scale(1.1);
	}
}

.shimetsuItem__linkMap {
	display: block;
	height:100%;
	background: #000;
	text-decoration: none;
}
.shimetsuItem__thumb__map {
	padding-top:164px;
	position: relative;
	background: #204b9f;
	overflow: hidden;
}
.shimetsuItem__thumb__map img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	object-fit: cover;
	transition:all 1s ease;
}
@media screen and (hover:hover){
	.shimetsuItem__linkMap:hover .shimetsuItem__thumb__map img {
		transform:scale(1.1);
	}
}
@media screen and (max-width:768px){
	.shimetsuItem__thumb__map {
		padding-top:85px;
	}
	.shimetsuItem__thumb__map img {
		height:85px;
	}

}


.shimetsuItem__title {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color:#fff;
	font-size:20px;
	padding:12px;
}
@media screen and (max-width:768px){
	.shimetsuItem__title {
		font-size:3vw;
		padding:1.6vw;
	}
}
.mapModal {
	position: fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
	z-index:5000;
	background:rgba(0,0,0,.85);
	display: none;
}
.mapModalin {
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	overflow: auto;
}
.mapModalCom {
	padding:80px 0;
	width:1020px;
	margin:0 auto;
	min-height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 768px){
	.mapModalCom {
		padding:12.8vw 0;
		width:96vw;
	}
}
.mapModalCont h2 {
	text-align: center;
	font-size:32px;
	margin-bottom:1em;
	text-decoration: underline;
}
.mapModalCont h2.topArrow {
	position: relative;
}
.mapModalCont h2.topArrow:before {
	content:'▲';
	position: absolute;
	left:50%;
	top:0.8em;
	text-decoration: none;
	transform: translateX(-50%);
}
@media screen and (max-width:768px){
	.mapModalCont h2 {
		font-size:4.8vw;
	}
}
.mapModalCont h2:not(:first-child){
	padding-top:3em;
}
.mapModalImg {
	margin-bottom:30px;
}
@media screen and (max-width:768px){
	.mapModalImg {
		margin-bottom:4vw;
	}
}
.mapModalImg img {
	width:100%;
	height:auto;
}
.mapModalDesc {
	font-size:24px;
	text-align: center;
}
@media screen and (max-width:768px){
	.mapModalDesc {
		font-size:3.6vw;
	}
}
#mapModal .modalClose {
	right:0;
	top:0;
}
@media screen and (max-width:768px){
	#mapModal .modalClose {
		left:unset;
		bottom:unset;
	}
}
.timetable {
	width:1020px;
	margin:0 auto;
	padding-bottom:0;
	font-feature-settings: "palt";
	word-break: break-all;
}
@media screen and (max-width:768px){
	.timetable {
		width:92vw;
		padding-top:0;
		padding-bottom:0;
	}
}
.timetable__block {
	position: relative;
	padding-bottom:30px;
}
.timetable__block:last-child {
	padding-bottom:0;
}
.timetable__block:before {
	content:'';
	position: absolute;
	left:115px;
	top:45px;
	bottom:0;
	width: 1px;
	background:#d9d280;
}
@media screen and (max-width:768px){
	.timetable__block {
		padding-top:10vw;
		padding-bottom:4vw;
	}
	.timetable__block:before {
		left:3.3vw;
		top:9.5vw;
		bottom:0;
	}
}
.timetable__block.notline:before {
	display: none;
}
.timetable__time {
	width:230px;
	position: absolute;
	font-weight: 700;
	font-size:26px;
	left:0;
	top:0;
	color:#d9d280;
	text-align: center;
}
.timetable__time.empty {
	padding-top:8px;
	font-size:20px;
	color:#CCC;
}
@media screen and (max-width:768px){
	.timetable__time {
		width:100%;
		font-size:4.2vw;
		text-align: left;
		padding-left:10vw;
	}
	.timetable__time.empty {
		font-size:3.2vw;
		margin-left:-0.5em;
		padding-top:1vw;
	}
	.timetable__time:before {
		content:'';
		position: absolute;
		width:3vw;
		height:3vw;
		background:#d9d280;
		left:1.78vw;
		top:50%;
		margin-top:-1.5vw;
		transform:rotate(45deg);
	}
	.timetable__time:after {
		content:'';
		position: absolute;
		left:5vw;
		top:calc(50% - 0.5px);
		width:3vw;
		height:1px;
		background:#d9d280;
	}
}
.timetable__time small {
	display: inline-block;
	line-height:0.8;
	vertical-align: middle;
	font-size:20px;
	padding-bottom:2px;
	margin-left:0.25em;
}
@media screen and (max-width:768px){
	.timetable__time small {
		font-size:3.2vw;
		padding-bottom:2px;
		margin-left:0.25em;
	}
}
.timetable__conts {
	padding-left:230px;
	padding-bottom:36px;
}
.timetable__block:last-child .timetable__conts:last-child {
	padding-bottom:64px;
}
@media screen and (max-width:768px){
	.timetable__block:last-child .timetable__conts:last-child {
		padding-bottom:6.4vw;
	}
}
@media screen and (max-width:768px){
	.timetable__conts {
		padding-left:10vw;
		padding-bottom:8vw;
		padding-top:0;
	}
}
.timetable__contsTitle {
	font-size:26px;
	font-weight: 700;
}
@media screen and (max-width:768px){
	.timetable__contsTitle {
		font-size:4.2vw;
		margin-bottom:1vw;
	}
}
.timetable__contsTitle.new:before {
	content:'NEW';
	display: inline-block;
	font-size:12px;
	padding:2px;
	background:#F00;
	color:#FFF;
	line-height:1;
	vertical-align: middle;
	margin-right: 10px;
}
@media screen and (max-width:768px){
	.timetable__contsTitle.new:before {
		font-size:2.6666vw;
		padding:1px;
		margin-right:0.5em;
	}
}
.timetable__contsDesc {
	font-size:20px;
}
@media screen and (max-width:768px){
	.timetable__contsDesc {
		font-size:3.6vw;
	}
}
@media screen and (max-width:768px){
	.map__caution {
		text-align: center;
		font-size:3.2vw;
		padding:5vw 0 7vw;
	}
}

.ttW {
	width:1240px;
	margin:0 auto;
	padding-top:80px;
}
@media screen and (max-width: 768px){
	.ttW {
		width:100%;
		padding-top:12.8vw;
	}
}

.tt__tabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom:60px;
}
@media screen and (max-width:768px){
	.tt__tabs {
		margin-bottom:5vw;
	}
}
.tt__tabs li {
	width:236px;
	height:58px;
	margin:0 5px 10px;
}
@media screen and (max-width:768px){
	.tt__tabs li {
		width:46vw;
		height:10vw;
		margin:0 0.6666vw 1.3333vw;
	}
}
.tt__tabs li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height:58px;
	border:1px solid rgba(255,255,255,.4);
	text-decoration: none;
	font-size:16px;
	color:#FFF;
	background:rgba(0,0,0,.4);
}
@media screen and (max-width:768px){
	.tt__tabs li a {
		height:10vw;
		font-size:3.2vw;
	}
}
.shimetsu__movie {
	padding-top:60px;
	width:990px;
	margin:0 auto;
}
@media screen and (max-width:768px){
	.shimetsu__movie {
		padding-top:0;
		width:96%;
	}
}
.shimetsu__moviein {
	width:100%;
	padding-top:56.25%;
	position: relative;
}
.shimetsu__moviein iframe {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.map__inner {
	width:1200px;
	margin:0 auto;
	position: relative;
	height:auto;
}
@media screen and (max-width:768px){
	.map__inner {
		width:100%;
		overflow: auto;
	}
}
.mapimg {
	position: relative;
	width:1200px;
	transform-origin:left top;
	transition:all 0.1s linear;
}
@keyframes pin {
	0%{
		transform:translateY(0) scale(1.5);
	}
	50%{
		transform:translateY(-10px) scale(1.5);
	}
	100% {
		transform:translateY(0) scale(1.5);
	}
}
.pin {
	position: absolute;
	width:46px;
	height:55px;
}
.pin.is-soon {
	pointer-events: none;
}
.pin:not(.is-soon) {
	animation:pin 2s ease-in-out infinite;
}
.pin1 {
	left:823px;
	top:325px;
}
.pin2 {
	left:811px;
	top:502px;
}
.pin3 {
	left:821px;
	top:582px;
}
.pin4 {
	left:782px;
	top:789px;
}
.pin5 {
	left:741px;
	top:799px;
}
.pin6 {
	left:685px;
	top:799px;
}
.pin7 {
	left:656px;
	top:732px;
}
.pin8 {
	left:620px;
	top:777px;
}
.pin9 {
	left:459px;
	top:753px;
}
.pin10 {
	left:248px;
	top:952px;
}
.pin a {
	display: block;
	height:55px;
	transition:all 0.3s ease;
	background:url(../img/map/icon_pin.png) no-repeat center center / contain;
	transform-origin:center bottom;
	position: relative;
}
/*.pin:not(.is-soon) a:before {
	content:'';
	position: absolute;
	top:-20px;
	right:-20px;
	bottom:-20px;
	left:-20px;
}*/
@media screen and (hover:hover){
	.pin a:hover {
		transform:scale(1.1);
	}
}
.zoom {
	display: none;
}
@media screen and (max-width:768px){
	.zoom {
		width:90%;
		margin: 0 auto;
		padding:3vw 0;
		display: flex;
		justify-content: space-between;
	}
	.zoom li {
		width:48%;
		height:10vw;
	}
	.zoom li a {
		border-radius: 5px;
		height:10vw;
		display: flex;
		justify-content: center;
		align-items: center;
		color:#000;
		background:#e8c100;
		font-size:3.2vw;
		text-decoration: none;
	}
}
.colony {
	position: relative;
	width:1020px;
	margin:0 auto 40px;
}
@media screen and (max-width:768px){
	.colony {
		width:92vw;
		margin:0 auto 4.8vw;
	}
}
.colony:before {
	content:'';
	position: absolute;
	left: 115px;
	height:40px;
	bottom: -40px;
	width: 1px;
	background: #d9d280;
}
@media screen and (max-width:768px){
	.colony:before {
		left: 3.3vw;
		height:4.8vw;
		bottom: -4.8vw;
	}
}
.colony__toggle {
	display: block;
	text-align:center;
	width:1020px;
	border:2px solid #d9d280;
	height:74px;
	margin:0 auto;
	font-size:28px;
	text-decoration: none;
	color:#d9d280;
	font-weight: 700;
	line-height:74px;
	background:#000;
	position: relative;
	transition: all 0.3s ease;
	padding-top:5px;
}
@media screen and (max-width:768px){
	.colony__toggle {
		width:92vw;
		height:14vw;
		font-size:4.8vw;
		line-height: 14vw;
		padding-top:.4vw;
	}
}
@media screen and (hover:hover){
	.colony__toggle:hover {
		background:#d9d280;
		color:#000;
	}
}
.colony__toggle:before {
	content:'';
	position: absolute;
	right:40px;
	top:50%;
	margin-top:-8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	border-top: 16px solid #d9d280;
	border-bottom: 0;
	transition: all 0.3s ease;
}
@media screen and (hover:hover){
	.colony__toggle:hover:before {
		border-top-color:#000;
	}
}
@media screen and (max-width:768px){
	.colony__toggle:before {
		right:5vw;
		margin-top:-1.6vw;
		border-right: 1.6vw solid transparent;
		border-left: 1.6vw solid transparent;
		border-top: 3.2vw solid #d9d280;
	}
}
.colony__toggle + .timetable{
	padding-top:40px;
	display: none;
}
@media screen and (max-width:768px){
	.colony__toggle + .timetable{
		padding-top:6.4vw;
		display: none;
	}
}
.colony__toggle.isopen:before {
	transform:rotate(180deg);
}

.bnr_CP {
	text-align: center;
	margin-bottom: 50px;
}
@media screen and (max-width:768px){
	.bnr_CP {
		margin-bottom: 30px;
	}
}
