@charset "utf-8";

/* TOP
-----------------------------------*/
#top #mainVisual{
	position: relative;
}
#top #mainVisual .swiper-pagination{
	line-height: 1;
	bottom: 32px;
}
#top #mainVisual .swiper-pagination .swiper-pagination-bullet{
	border-radius: 0;
	width: 48px;
	height: 2px;
	background: #888;
	margin: 0 3px;
}
#top #mainVisual .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
	background: #E3E3E3;
}
#top #mainVisual .copyright{
	position: absolute;
	color: #FFF;
	width: 100vh;
	text-align: center;
	bottom: 0;
	z-index: 9997;
	height: 0;
	left: 0;
	transform: rotate(-90deg);
	transform-origin: left center;
}
#top #mainVisual .copyright span{
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.16em;
	display: block;
	transform: rotate(180deg);
	padding-bottom: 15px;
}
#top #mainVisual .txt{
	position: absolute;
	max-width: 366px;
	bottom: 11.7188vw;
	right: 16.4062vw;
	z-index: 10;
}
#top #imageBloc{
	overflow: hidden;
}
#top #lead{
	padding: 156px 0 200px 0;
}
#top #lead .box{
	max-width: 1360px;
	width: 100%;
	margin: 0 100px 200px auto;
	position: relative;
	padding-left: 20px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#top #lead .box .txt{
	max-width: 440px;
	width: 100%;
	padding-right: 20px;
	flex-shrink: 0;
	font-size: 15px;
	line-height: 32px;
}
#top #lead .box .txt p{
	margin-bottom: 32px;
}
#top #lead .box .txt p:last-child{
	margin-bottom: 0;
}
#top #lead .box .image{
	width: 760px;
	aspect-ratio: 760 / 506;
}
#top #lead .slider{
	overflow: hidden;
	display: flex;
}
#top #lead .slider ul{
	display: flex;
	gap: 0 40px;
	width: 2720px;
	animation: ticker 30s linear infinite;
	padding-right: 40px;
}
@keyframes ticker{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(-100%);
	}
}
#top #lead .slider ul li{
	width: 386px;
	aspect-ratio: 386 / 257;
}
#top #lead .slider ul li:nth-child(odd){
	margin-bottom: 37px;
}
#top #lead .slider ul li:nth-child(even){
	margin-top: 37px;
}
#top #rooms{
	padding-bottom: 200px;
}
#top #rooms .box01{
	max-width: 1580px;
	width: 100%;
	position: relative;
	margin: 0 auto -160px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#top #rooms .box01 .image{
	width: 1234px;
}
#top #rooms .box01 .right{
	width: 286px;
	margin-bottom: 73px;
	padding: 0 20px;
	flex-shrink: 0;
}
#top #rooms .box01 .right h2{
	font-size: 10px;
	line-height: 15px;
	padding-top: 15px;
	position: relative;
	margin-bottom: 48px;
}
#top #rooms .box01 .right h2:before{
	content: "";
	width: 16px;
	height: 2px;
	top: 0;
	left: 0;
	position: absolute;
	background: #ACACAC;
}
#top #rooms .box01 .right h2 span{
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	letter-spacing: 0.1em;
	font-size: 20px;
	font-weight: 300;
	line-height: 33px;
	margin-bottom: 4px;
	color: #666;
	display: block;
}
#top #rooms .box01 .right .txt{
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.18em;
}
#top #rooms .box01 .right .txt p{
	margin-bottom: 32px;
}
#top #rooms .box01 .right .txt p:last-child{
	margin-bottom: 0;
}
#top #rooms .wrap{
	background: #F1F1F1;
	padding-top: 360px;
	padding-bottom: 250px;
}
#top #rooms .wrap ul{
	display: flex;
	justify-content: space-between;
	gap: 0 80px;
	max-width: 1478px;
	width: 100%;
	margin: 0 auto 156px auto;
	padding: 0 20px;
}
#top #rooms .wrap ul li{
	max-width: 426px;
	width: 100%;
}
#top #rooms .wrap ul li .image{
	margin-bottom: 20px;
}
#top #rooms .wrap ul li h2{
	font-size: 10px;
	line-height: 15px;
	padding-top: 15px;
	position: relative;
	margin-bottom: 32px;
}
#top #rooms .wrap ul li h2:before{
	content: "";
	width: 16px;
	height: 2px;
	top: 0;
	left: 0;
	position: absolute;
	background: #ACACAC;
}
#top #rooms .wrap ul li h2 span{
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	font-size: 18px;
	font-weight: 300;
	line-height: 29px;
	margin-bottom: 5px;
	color: #666;
	display: block;
}
#top #rooms .wrap ul li .txt{
	font-size: 14px;
	line-height: 28px;
}
#top #rooms .wrap ul li:nth-child(1) .txt{
	letter-spacing: 0.12em;
}
#top #rooms .wrap ul li:nth-child(2) .txt{
	letter-spacing: 0.15em;
}
#top #rooms .wrap ul li:nth-child(3) .txt{
	letter-spacing: 0.08em;
}
#top #rooms .wrap .box02{
	max-width: 960px;
	margin: 0 auto;
}
#top #rooms .wrap .box02 .image{
	margin-bottom: 48px;
}
#top #rooms .wrap .box02 .btm{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#top #rooms .wrap .box02 .btm h2{
	font-size: 10px;
	line-height: 15px;
	padding-top: 15px;
	position: relative;
	margin-bottom: 32px;
}
#top #rooms .wrap .box02 .btm h2:before{
	content: "";
	width: 16px;
	height: 2px;
	top: 0;
	left: 0;
	position: absolute;
	background: #ACACAC;
}
#top #rooms .wrap .box02 .btm h2 span{
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 300;
	line-height: 33px;
	margin-bottom: 4px;
	color: #666;
	display: block;
	letter-spacing: 0.1em;
}
#top #rooms .wrap .box02 .btm .txt{
	letter-spacing: 0.08em;
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 40px;
	margin-right: 10px;
}
#top #rooms .box03{
	position: relative;
	z-index: 1;
}
#top #rooms .box03:after{
	content: "";
	background: #FCFCFC;
	max-width: 75vw;
	height: 774px;
	width: 100%;
	position: absolute;
	top: 120px;
	left: 0;
	z-index: -1;
}
#top #rooms .box03 .bloc{
	margin-top: -120px;
	max-width: 1580px;
	width: 100%;
	position: relative;
	z-index: 2;
	margin: -120px 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#top #rooms .box03 .bloc .right{
	order: 1;
	width: 286px;
	padding: 20px;
	background: #fcfcfc;
	flex-shrink: 0;
}
#top #rooms .box03 .bloc .right h2{
	font-size: 10px;
	line-height: 15px;
	padding-top: 15px;
	position: relative;
	margin-bottom: 44px;
}
#top #rooms .box03 .bloc .right h2:before{
	content: "";
	width: 16px;
	height: 2px;
	top: 0;
	left: 0;
	position: absolute;
	background: #ACACAC;
}
#top #rooms .box03 .bloc .right h2 span{
	font-family: "Poppins", sans-serif;
	letter-spacing: 0.1em;
	font-size: 20px;
	font-weight: 300;
	line-height: 33px;
	margin-bottom: 4px;
	color: #666;
	display: block;
}
#top #rooms .box03 .bloc .right .txt{
	letter-spacing: 0.2em;
	font-size: 16px;
	line-height: 32px;
}
#top #rooms .box03 .bloc .right .txt p{
	margin-bottom: 32px;
}
#top #rooms .box03 .bloc .right .txt p:last-child{
	margin-bottom: 0;
}
#top #rooms .box03 .bloc .image{
	order: 2;
	width: 1234px;
}
#top #news{
	position: relative;
	z-index: 2;
	background: #F1F1F1;
	padding: 118px 0;
}
#top #news h2{
	font-family: "Poppins", sans-serif;
	text-align: center;
	letter-spacing: 0.1em;
	font-size: 24px;
	line-height: 40px;
	font-weight: 400;
	margin-bottom: 43px;
}
#top #news ul{
	max-width: 800px;
	width: 100%;
	margin: 0 auto 24px auto;
	border-top: 1px solid #ccc;
}
#top #news ul li{
	border-bottom: 1px solid #ccc;
}
#top #news ul li a,
#top #news ul li span{
	padding: 24px 0;
	display: flex;
	align-items: center;
	width: 100%;
	font-size: 12px;
	line-height: 17px;
}
#top #news ul li a .date,
#top #news ul li span .date{
	width: 97px;
}
#top #news ul li a h3,
#top #news ul li span h3{
	width: calc(100% - 97px);
}

/* Subpage Common
-----------------------------------*/
.inner{
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
#mainvisual_sub{
	margin-bottom: 120px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	max-width: 1600px;
	padding-left: 40px;
	margin-left: auto;
}
#mainvisual_sub h1{
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.1em;
	padding-top: 32px;
	padding-right: 40px;
	min-width: 255px;
	position: relative;
}
#mainvisual_sub h1:after{
	content: "";
	width: 32px;
	height: 2px;
	top: 0;
	left: 0;
	position: absolute;
	background: #C3C3C3;
}
#mainvisual_sub h1 span{
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 200;
	line-height: 67px;
	margin-bottom: 20px;
	letter-spacing: 0;
}
#mainvisual_sub .image{
	max-width: 1200px;
	margin-left: auto;
}

/* Facilities
-----------------------------------*/
#facilities #facility{
	margin-bottom: 160px;
}
#facilities #facility .box{
	margin-bottom: 160px;
}
#facilities #facility .box h2{
	display: flex;
	align-items: flex-start;
	margin-bottom: 61px;
	font-size: 24px;
	line-height: 1;
}
#facilities #facility .box h2 span{
	display: block;
	width: 64px;
	height: 64px;
	background: #ACACAC;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	flex-shrink: 0;
	letter-spacing: 0.1em;
	font-family: "Poppins", sans-serif;
	font-weight: 400;
}
#facilities #facility .box h2 p{
	max-width: 848px;
	width: 100%;
	margin-left: 48px;
	font-size: 16px;
	line-height: 30px;
	margin-top: -2px;
}
#facilities #facility .box .image{
	width: 100%;
	max-width: 800px;
	margin: 0 auto 62px auto;
}
#facilities #facility .box .image ul{
	display: flex;
	align-items: center;
	margin-top: 16px;
}
#facilities #facility .box .image ul li{
	font-size: 12px;
	line-height: 17px;
	font-weight: 400;
	margin-right: 40px;
}
#facilities #facility .box .image ul li:last-child{
	margin-right: 0;
}
#facilities #facility .box .info{
	padding: 40px 48px;
	background: #F1F1F1;
}
#facilities #facility .box .info ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 52px 6.4814%;
}
#facilities #facility .box .info ul li{
	max-width: 46.7593%;
	width: 100%;
	font-size: 14px;
	line-height: 23px;
}
#facilities #facility .box .info ul li .image{
	margin-bottom: 17px;
}
#facilities #facility .box .info ul li h3{
	margin-bottom: 6px;
	font-family: "Poppins", sans-serif;
	font-weight: 300;
}
#facilities #facility .box .info ul li p{
	font-weight: 400;
}
#facilities #equipment{
	background: #F1F1F1;
	padding: 80px 0 120px 0;
}
#facilities #equipment h2{
	font-size: 24px;
	line-height: 30px;
	margin-bottom: 40px;
	padding-bottom: 24px;
	border-bottom: 1px solid #e3e3e3;
}
#facilities #equipment .box{
	padding-bottom: 40px;
	border-bottom: 1px solid #e3e3e3;
	margin-bottom: 40px;
}
#facilities #equipment .box:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#facilities #equipment .box h3{
	font-size: 18px;
	line-height: 30px;
	margin-bottom: 27px;
}
#facilities #equipment .box .txt{
	font-size: 16px;
	font-weight: 400;
}
#facilities #equipment .box .txt ul{
	display: inline;
	font-size: 0;
}
#facilities #equipment .box .txt ul li{
	display: inline;
	font-size: 16px;
}
#facilities #equipment .box .txt ul li:after{
	content: " ｜ ";
}
#facilities #equipment .box .txt ul li:last-child:after{
	display: none;
}
#facilities #equipment .box table{
	width: 100%;
}
#facilities #equipment .box table th,
#facilities #equipment .box table td{
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	padding-bottom: 18px;
}
#facilities #equipment .box table tr:last-child th,
#facilities #equipment .box table tr:last-child td{
	padding-bottom: 0;
}
#facilities #equipment .box table th{
	width: 100px;
}
#facilities #equipment .box table th span{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
#facilities #equipment .box table th span:after{
	content: "：";
}
#facilities #equipment .box table td{
	font-weight: 400;
	padding-left: 4px;
}
#facilities #equipment .box table td ul{
	display: inline;
	font-size: 0;
}
#facilities #equipment .box table td ul li{
	display: inline;
	font-size: 16px;
}
#facilities #equipment .box table td ul li:after{
	content: " ｜ ";
}
#facilities #equipment .box table td ul li:last-child:after{
	display: none;
}

/* Filming Locations
-----------------------------------*/
#filming-locations #location{
	padding-bottom: 160px;
}
#filming-locations #location h2{
	font-size: 24px;
	line-height: 35px;
	margin-bottom: 64px;
}
#filming-locations #location h3{
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 32px;
}
#filming-locations #location .txt01{
	font-size: 16px;
	line-height: 32px;
	margin-bottom: 88px;
}
#filming-locations #location .box{
	max-width: 800px;
	width: 100%;
	margin: 0 auto 88px auto;
}
#filming-locations #location .box:last-of-type{
	margin-bottom: 0;
}
#filming-locations #location .box h4{
	font-size: 18px;
	line-height: 26px;
	font-weight: bold;
	margin-bottom: 24px;
}
#filming-locations #location .box .table01{
	width: 100%;
	margin-bottom: 48px;
}
#filming-locations #location .box .table01 > tbody > tr > th,
#filming-locations #location .box .table01 > tbody > tr > td{
	border: 1px solid #acacac;
	padding: 20px 32px;
	font-size: 16px;
	line-height: 28px;
	text-align: left;
}
#filming-locations #location .box .table01 > tbody > tr > th{
	background: #EEE;
	width: 215px;
}
#filming-locations #location .box .table01 > tbody > tr > td{
	background: #FFF;
}
#filming-locations #location .box .table01 > tbody > tr > td table{
	font-size: 16px;
	line-height: 28px;
	text-align: left;
}
#filming-locations #location .box .table01 > tbody > tr > td table th{
	display: flex;
	justify-content: space-between;
}
#filming-locations #location .box .table01 > tbody > tr > td table th:after{
	content: "：";
}
#filming-locations #location .box .table01 > tbody > tr > td table td{
	padding-left: 4px;
}
#filming-locations #location .box .btn{
	max-width: 280px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
}
#filming-locations #location .box .btn a{
	border-radius: 40px;
	border: 1px solid #707070;
	line-height: 62px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: color 0.2s;
}
#filming-locations #location .box .btn a:after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 0;
	height: 100%;
	background: #111;
	transition: width 0.2s, border-color 0.2s;
}
#filming-locations #location .box .btn a:hover{
	color: #FFF;
	border-color: #111;
}
#filming-locations #location .box .btn a:hover:after{
	width: 100%;
}
#filming-locations #location .box .table02{
	width: 100%;
	margin-bottom: 14px;
}
#filming-locations #location .box .table02 th,
#filming-locations #location .box .table02 td{
	border: 1px solid #acacac;
	padding: 20px 32px;
	text-align: center;
	vertical-align: middle;
}
#filming-locations #location .box .table02 thead th{
	background: #EEE;
	font-size: 16px;
	line-height: 24px;
}
#filming-locations #location .box .table02 tbody th,
#filming-locations #location .box .table02 tbody td{
	background: #FFF;
	font-size: 18px;
	line-height: 26px;
}
#filming-locations #location .box .table02 tbody th{
	width: 218px;
}
#filming-locations #location .box .table02 tbody td ul{
	display: flex;
	justify-content: center;
	align-items: center;
}
#filming-locations #location .box .table02 tbody td ul li:first-child{
	border-right: 1px solid #acacac;
	margin-right: 24px;
	padding-right: 24px;
}
#filming-locations #location .box .notice{
	font-size: 14px;
	line-height: 24px;
	font-weight: 400;
}
#filming-locations #location .box .table03 th,
#filming-locations #location .box .table03 td{
	font-size: 16px;
	line-height: 28px;
	text-align: left;
	vertical-align: top;
}
#filming-locations #location .box .table03 th{
	display: flex;
	justify-content: space-between;
	width: 68px;
}
#filming-locations #location .box .table03 th:after{
	content: "：";
}
#filming-locations #location .box .table03 td{
	padding-left: 4px;
}

/* Access
-----------------------------------*/
#access #info{
	padding-top: 40px;
	margin-bottom: 80px;
}
#access #info h2{
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 26px;
	font-weight: bold;
}
#access #info table{
	width: 100%;
	margin-bottom: 50px;
}
#access #info table th,
#access #info table td{
	font-size: 16px;
	font-weight: 400;
	line-height: 36px;
	text-align: left;
	vertical-align: top;
}
#access #info table th{
	width: 136px;
}
#access #info table td{
	letter-spacing: 0.02em;
}
#access #info .iframe{
	width: 100%;
	margin-bottom: 42px;
	filter: grayscale(100%);
}
#access #info .iframe iframe{
	width: 100%;
	height: 480px;
}
#access #info .btn{
	max-width: 280px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
}
#access #info .btn a{
	border-radius: 40px;
	border: 1px solid #707070;
	line-height: 62px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: color 0.2s;
}
#access #info .btn a:after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 0;
	height: 100%;
	background: #111;
	transition: width 0.2s, border-color 0.2s;
}
#access #info .btn a:hover{
	color: #FFF;
	border-color: #111;
}
#access #info .btn a:hover:after{
	width: 100%;
}
#access #car{
	margin-bottom: 160px;
}
#access #car h2{
	display: flex;
	align-items: center;
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 48px;
}
#access #car h2 .ico{
	width: 40px;
	margin-right: 20px;
	flex-shrink: 0;
}
#access #car h2 .minutes{
	font-size: 16px;
	line-height: 24px;
	margin-left: 24px;
}
#access #car .wrap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
#access #car .wrap .left{
	max-width: 400px;
	width: 100%;
}
#access #car .wrap .left .txt01{
	font-size: 16px;
	line-height: 28px;
	margin-bottom: 32px;
	letter-spacing: 0.08em;
}
#access #car .wrap .left .detail{
	font-size: 12px;
	line-height: 31px;
	width: 108px;
	border: 1px solid #a1a1a1;
	margin-bottom: 15px;
	text-align: center;
	letter-spacing: 0.08em;
}
#access #car .wrap .left .txt02{
	font-size: 14px;
	line-height: 30px;
	letter-spacing: 0.08em;
}
#access #car .wrap .image{
	max-width: 448px;
	width: 100%;
}
#access #car .list01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 48px 6.6666%;
	margin-bottom: 115px;
}
#access #car .list01:last-of-type{
	margin-bottom: 0;
}
#access #car .list01 li{
	max-width: 46.6667%;
	width: 100%;
}
#access #car h4{
	text-align: center;
	font-size: 18px;
	line-height: 26px;
	padding-bottom: 12px;
	border-bottom: 1px solid #707070;
	margin-bottom: 60px;
}
#access #car .list02{
	padding-bottom: 80px;
	border-bottom: 1px solid #707070;
}
#access #car .list02 li{
	display: flex;
	align-items: center;
	margin-bottom: 70px;
}
#access #car .list02 li:last-child{
	margin-bottom: 0;
}
#access #car .list02 li .image{
	max-width: 448px;
	width: 100%;
	flex-shrink: 0;
}
#access #car .list02 li .txt{
	padding-left: 64px;
	font-size: 16px;
	line-height: 25px;
	font-weight: 500;
}
#access #train{
	margin-bottom: 130px;
}
#access #train h2{
	display: flex;
	align-items: center;
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 48px;
}
#access #train h2 .ico{
	width: 40px;
	margin-right: 20px;
	flex-shrink: 0;
}
#access #train h2 .minutes{
	font-size: 16px;
	line-height: 24px;
	margin-left: 24px;
}
#access #train .wrap{
	display: flex;
	justify-content: space-between;
}
#access #train .wrap .left{
	max-width: 400px;
	width: 100%;
}
#access #train .wrap .left .txt01{
	font-size: 16px;
	line-height: 28px;
	margin-bottom: 32px;
	letter-spacing: 0.08em;
}
#access #train .wrap .left .detail{
	font-size: 12px;
	line-height: 31px;
	width: 108px;
	border: 1px solid #a1a1a1;
	margin-bottom: 15px;
	text-align: center;
	letter-spacing: 0.08em;
}
#access #train .wrap .left .txt02{
	font-size: 14px;
	line-height: 30px;
	letter-spacing: 0.08em;
}
#access #train .wrap .left h4{
	font-size: 20px;
	line-height: 29px;
	margin: 56px 0 15px 0;
}
#access #train .wrap .image{
	max-width: 448px;
	width: 100%;
}
#access #locations{
	padding-bottom: 180px;
}
#access #locations h2{
	display: flex;
	align-items: center;
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 30px;
}
#access #locations .txt01{
	font-size: 16px;
	line-height: 28px;
	margin-bottom: 64px;
	font-weight: 400;
}
#access #locations ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 54px 6.6666%;
}
#access #locations ul:last-of-type{
	margin-bottom: 0;
}
#access #locations ul li{
	max-width: 46.6667%;
	width: 100%;
}
#access #locations ul li .image{
	margin-bottom: 12px;
}
#access #locations ul li h3{
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 8px;
}
#access #locations ul li .txt{
	font-size: 14px;
	line-height: 22px;
	font-weight: 400;
}

/* Contact
-----------------------------------*/
#contact{
	padding-top: 120px;
	padding-bottom: 160px;
}
#contact h1{
	font-size: 24px;
	line-height: 35px;
	margin-bottom: 32px;
	text-align: center;
}
#contact .box{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
#contact #mailformpro{
	text-align: center;
}
#contact table{
	width: 100%;
	margin-bottom: 40px;
}
#contact table th,
#contact table td{
	border: 1px solid #ccc;
	padding: 15px;
	text-align: left;
	vertical-align: middle;
	font-size: 13px;
	font-weight: 500;
}
#contact table th{
	background: #ececec;
	width: 160px;
}
#contact table th span{
	color: #d90000;
	padding-left: 3px;
}
#contact table td input,
#contact table td textarea{
	width: 100%;
	font-size: 14px;
	padding: 5px;
	box-shadow: none;
}
#contact table td a{
	text-decoration: underline;
}
#contact table td label{
	width: max-content;
	display: flex;
	align-items: center;
	font-weight: bold;
}
#contact table td input[type="checkbox"]{
	width: auto;
	margin-right: 5px;
}
#contact table td textarea{
	min-height: 200px;
}
#contact table td div.mfp_err{
	padding-left: 0;
	background: none;
}
#contact .mfp_element_submit,
#contact .mfp_element_reset,
#contact .mfp_element_button,
#contact button.mfp_next,
#contact button.mfp_prev{
	text-shadow: none;
	box-shadow: none;
	background: #111;
	border: 2px solid #111;
	color: #FFF;
	width: 400px;
	margin: 0 auto;
	padding: 10px;
	transition: color 0.2s, background 0.2s;
}
#contact .mfp_element_button{
	max-width: 290px;
}
#contact .mfp_element_submit:hover,
#contact .mfp_element_reset:hover,
#contact .mfp_element_button:hover,
#contact button.mfp_next:hover,
#contact button.mfp_prev:hover{
	background: #FFF;
	color: #111;
}
#contact div#mfp_phase_confirm h4{
	font-size: 22px;
	line-height: 36px;
	margin-bottom: 20px;
}
#contact .thanks{
	text-align: left;
	font-size: 14px;
	line-height: 24px;
}

/* Law
-----------------------------------*/
#law{
	padding-top: 120px;
	padding-bottom: 160px;
}
#law .box{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
#law .box h1{
	font-size: 24px;
	line-height: 35px;
	margin-bottom: 64px;
}
#law .box table{
	width: 100%;
}
#law .box table th,
#law .box table td{
	text-align: left;
	vertical-align: top;
	padding: 24px 0;
	border-bottom: 1px solid #e1e1e1;
	font-size: 14px;
	line-height: 26px;
}
#law .box table th{
	width: 200px;
	font-weight: 500;
}
#law .box table td{
	font-weight: 400;
}

/* Notification
-----------------------------------*/
#notification{
	padding-top: 120px;
	padding-bottom: 160px;
}
#notification .box{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
#notification .box h1{
	font-size: 24px;
	line-height: 35px;
	margin-bottom: 64px;
}
#notification .box table{
	width: 100%;
}
#notification .box table th,
#notification .box table td{
	text-align: left;
	vertical-align: top;
	padding: 24px 0;
	border-bottom: 1px solid #e1e1e1;
	font-size: 14px;
	line-height: 26px;
}
#notification .box table th{
	width: 200px;
	font-weight: 500;
}
#notification .box table td{
	font-weight: 400;
}

/* Terms
-----------------------------------*/
#terms{
	padding-top: 120px;
	padding-bottom: 160px;
}
#terms .bloc{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
#terms .bloc h1{
	font-size: 24px;
	line-height: 35px;
	margin-bottom: 64px;
}
#terms .bloc .wrap{
	margin-bottom: 64px;
	font-size: 14px;
	line-height: 24px;
}
#terms .bloc .wrap:last-of-type{
	margin-bottom: 0;
}
#terms .bloc .wrap h2{
	font-size: 20px;
	line-height: 24px;
	margin-bottom: 32px;
	font-weight: bold;
}
#terms .bloc .wrap h3{
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 20px;
	font-weight: bold;
}
#terms .bloc .wrap h4{
	font-size: 14px;
	line-height: 24px;
	font-weight: bold;
}
#terms .bloc .wrap .box{
	margin-bottom: 32px;
}
#terms .bloc .wrap:last-of-type .box{
	margin-bottom: 0;
}
#terms .bloc .wrap .box p,
#terms .bloc .wrap .box ol{
	margin-bottom: 16px;
}
#terms .bloc .wrap .box hr{
	margin: 32px 0;
}
#terms .bloc .wrap .box table th,
#terms .bloc .wrap .box table td{
	padding: 17px 30px;
	border: 1px solid #888;
	vertical-align: middle;
	font-size: 14px;
}
#terms .bloc .wrap .box table th{
	background-color: #eee;
}

/* Corporation
-----------------------------------*/
#corporation #mainvisual_corporation{
	width: 100%;
	aspect-ratio: 1920 / 853;
	background-image: url(../images/pages/mainvisual_corporation.jpg);
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: center;
}
#corporation #mainvisual_corporation .box{
	color: #FFF;
}
#corporation #mainvisual_corporation .box .txt01{
	font-size: 18px;
	line-height: 26px;
	margin-bottom: 55px;
	letter-spacing: 0.32em;
}
#corporation #mainvisual_corporation .box h1{
	font-size: 22px;
	line-height: 32px;
	letter-spacing: 0.4em;
	margin-bottom: 160px;
}
#corporation #mainvisual_corporation .box h1 span{
	display: block;
	font-size: 48px;
	line-height: 43px;
	margin-bottom: 49px;
	letter-spacing: 0.28em;
	font-family: "Poppins", sans-serif;
	font-weight: 200;
}
#corporation #mainvisual_corporation .box .logo{
	max-width: 109px;
	margin: 0 auto 138px auto;
}
#corporation #lead{
	padding: 160px 0;
	background-image: url(../images/pages/img_corporation_lead.png);
	background-color: #F8F8F8;
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 1290px auto;
}
#corporation #lead h2{
	font-size: 24px;
	line-height: 32px;
	margin-bottom: 80px;
	letter-spacing: 0.08em;
}
#corporation #lead .txt{
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.03em;
}
#corporation #lead .txt p{
	margin-bottom: 32px;
}
#corporation #lead .txt p:last-child{
	margin-bottom: 0;
}
#corporation #features{
	background: #F1F1F1;
	padding: 136px 0 160px 0;
}
#corporation #features h2{
	font-size: 48px;
	line-height: 36px;
	margin-bottom: 91px;
	letter-spacing: 0.16em;
	font-family: "Poppins", sans-serif;
	font-weight: 200;
}
#corporation #features h3{
	font-size: 24px;
	line-height: 44px;
	letter-spacing: 0.08em;
	margin-bottom: 75px;
}
#corporation #features .wrap .box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 120px;
}
#corporation #features .wrap .box:last-child{
	margin-bottom: 0;
}
#corporation #features .wrap .box .txt{
	max-width: 480px;
	width: 100%;
}
#corporation #features .wrap .box:nth-child(odd) .txt{
	order: 1;
}
#corporation #features .wrap .box:nth-child(even) .txt{
	order: 2;
}
#corporation #features .wrap .box .txt h4{
	border-bottom: 1px solid #e3e3e3;
	margin-bottom: 44px;
	font-size: 14px;
	line-height: 20px;
	padding-bottom: 16px;
}
#corporation #features .wrap .box:nth-child(even) .txt h4{
	padding-left: 80px;
}
#corporation #features .wrap .box .txt h4 span{
	display: block;
	font-size: 28px;
	line-height: 36px;
	margin-bottom: 8px;
	letter-spacing: 0.04em;
	font-family: "Poppins", sans-serif;
	font-weight: 200;
}
#corporation #features .wrap .box:nth-child(even) .txt p{
	padding-left: 80px;
	max-width: 480px;
}
#corporation #features .wrap .box .txt p{
	font-size: 16px;
	line-height: 32px;
	max-width: 400px;
}
#corporation #features .wrap .box .image{
	max-width: 480px;
	width: 100%;
}
#corporation #features .wrap .box:nth-child(odd) .image{
	order: 2;
}
#corporation #features .wrap .box:nth-child(even) .image{
	order: 1;
}
#corporation #recommend{
	width: 100%;
	aspect-ratio: 1920 / 640;
	background-image: url(../images/pages/img_corporation_recommend.jpg);
	background-size: cover;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	flex-direction: column;
}
#corporation #recommend .box{
	background: #fff;
	border-radius: 16px;
	padding: 64px 110px 56px 110px;
	margin-bottom: -97px;
}
#corporation #recommend .box h2{
	font-size: 24px;
	line-height: 32px;
	margin-bottom: 35px;
	text-align: center;
}
#corporation #recommend .box ul{
	font-size: 16px;
	line-height: 40px;
}
#corporation #recommend .box ul li:before{
	content: "・";
}
#corporation #facility{
	background: #F8F8F8;
	padding: 256px 0 160px 0;
}
#corporation #facility h2{
	font-size: 24px;
	line-height: 32px;
	margin-bottom: 61px;
	letter-spacing: 0.08em;
}
#corporation #facility ul{
	display: flex;
	flex-wrap: wrap;
	gap: 72px 3.125%;
	margin-bottom: 88px;
}
#corporation #facility ul li{
	max-width: 31.25%;
	width: 100%;
}
#corporation #facility ul li .image{
	margin-bottom: 14px;
}
#corporation #facility ul li .txt{
	font-size: 14px;
	line-height: 24px;
	font-weight: 400;
}
#corporation #facility .btn{
	max-width: 280px;
	width: 100%;
	margin: 0 auto 88px auto;
	text-align: center;
	font-size: 14px;
	font-weight: 400;
}
#corporation #facility .btn a{
	border-radius: 40px;
	border: 1px solid #707070;
	line-height: 62px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: color 0.2s;
	z-index: 1;
}
#corporation #facility .btn a:after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 0;
	height: 100%;
	background: #111;
	transition: width 0.2s, border-color 0.2s;
}
#corporation #facility .btn a:hover{
	color: #FFF;
	border-color: #111;
}
#corporation #facility .btn a:hover:after{
	width: 100%;
}
#corporation #facility .box h4{
	font-size: 18px;
	line-height: 26px;
	margin-bottom: 24px;
	font-weight: bold;
}
#corporation #facility .box .table03 th,
#corporation #facility .box .table03 td{
	font-size: 16px;
	line-height: 28px;
	text-align: left;
	vertical-align: top;
}
#corporation #facility .box .table03 th{
	display: flex;
	justify-content: space-between;
	width: 68px;
}
#corporation #facility .box .table03 th:after{
	content: "：";
}
#corporation #facility .box .table03 td{
	padding-left: 4px;
}

/* 1024px以下の場合 */
@media screen and (max-width: 1024px) {
	/* TOP
	-----------------------------------*/
	#top #mainVisual .swiper-pagination{
		bottom: 8.2051vw;
	}
	#top #mainVisual .swiper-pagination .swiper-pagination-bullet{
		width: 12.3077vw;
		height: 0.5128vw;
		margin: 0 0.7692vw;
	}
	#top #mainVisual .copyright{
		display: none;
	}
	#top #mainVisual .txt{
		max-width: 80.7692vw;
		bottom: auto;
		right: auto;
		left: 4.8718vw;
		top: 59.7436vw;
	}
	#top #lead{
		padding: 19.2308vw 0 30.7692vw 0;
	}
	#top #lead .box{
		max-width: 100%;
		display: block;
		margin: 0 auto 16.4103vw auto;
		right: 0;
		padding: 0 6.1538vw;
	}
	#top #lead .box .txt{
		max-width: 100%;
		font-size: 3.8462vw;
		padding-right: 0;
		font-size: 3.8462vw;
		line-height: 8.2051vw;
		margin-bottom: 16.4103vw;
	}
	#top #lead .box .txt p{
		margin-bottom: 8.2051vw;
	}
	#top #lead .box .txt .ls01{
		letter-spacing: 0.05em;
	}
	#top #lead .box .txt .ls02{
		letter-spacing: -0.01em;
	}
	#top #lead .box .txt .ls03{
		letter-spacing: 0.02em;
	}
	#top #lead .box .image{
		width: 100%;
	}
	#top #lead .slider ul{
		gap: 0 3.0769vw;
		width: 280vw;
		padding-right: 3.0769vw;
	}
	#top #lead .slider ul li{
		width: 44.1026vw;
		aspect-ratio: 172 / 114;
	}
	#top #lead .slider ul li:nth-child(odd){
		margin-bottom: 7.1795vw;
	}
	#top #lead .slider ul li:nth-child(even){
		margin-top: 7.1795vw;
	}
	#top #rooms{
		padding-bottom: 30.7692vw;
	}
	#top #rooms .box01{
		max-width: 100%;
		left: 0;
		display: block;
		margin: 0 auto -30.7692vw auto;
	}
	#top #rooms .box01 .image{
		width: 100%;
	}
	#top #rooms .box01 .right{
		width: 100%;
		max-width: 79.4872vw;
		margin-left: auto;
		margin-top: -16.4103vw;
		background: #FFF;
		padding: 8.2051vw;
		position: relative;
		z-index: 1;
		margin-bottom: 0;
	}
	#top #rooms .box01 .right h2{
		font-size: 2.5641vw;
		line-height: 3.8462vw;
		padding-top: 3.8462vw;
		margin-bottom: 12.3077vw;
	}
	#top #rooms .box01 .right h2:before{
		width: 4.1026vw;
		height: 0.5128vw;
	}
	#top #rooms .box01 .right h2 span{
		font-size: 5.1282vw;
		line-height: 8.4615vw;
		margin-bottom: 1.0256vw;
	}
	#top #rooms .box01 .right .txt{
		font-size: 4.1026vw;
		line-height: 8.2051vw;
	}
	#top #rooms .box01 .right .txt p{
		margin-bottom: 8.2051vw;
	}
	#top #rooms .wrap{
		padding-top: 60.5128vw;
		padding-bottom: 152.5641vw;
	}
	#top #rooms .wrap ul{
		display: block;
		max-width: 100%;
		margin: 0 auto 18.4615vw auto;
		padding: 0;
	}
	#top #rooms .wrap ul li{
		max-width: 87.6923vw;
		margin-bottom: 18.4615vw;
		width: 100%;
	}
	#top #rooms .wrap ul li:last-child{
		margin-bottom: 0;
	}
	#top #rooms .wrap ul li:nth-child(1){
		margin-right: auto;
	}
	#top #rooms .wrap ul li:nth-child(2){
		margin-left: auto;
	}
	#top #rooms .wrap ul li:nth-child(3){
		margin-right: auto;
	}
	#top #rooms .wrap ul li .image{
		margin-bottom: 5.1282vw;
	}
	#top #rooms .wrap ul li h2{
		font-size: 2.5641vw;
		line-height: 3.8462vw;
		padding-top: 3.8462vw;
		margin-bottom: 8.2051vw;
	}
	#top #rooms .wrap ul li:nth-child(1) h2{
		margin-left: 6.1538vw;
	}
	#top #rooms .wrap ul li:nth-child(2) h2{
		margin-right: 6.1538vw;
	}
	#top #rooms .wrap ul li:nth-child(3) h2{
		margin-left: 6.1538vw;
	}
	#top #rooms .wrap ul li h2:before{
		width: 4.1026vw;
		height: 0.5128vw;
	}
	#top #rooms .wrap ul li h2 span{
		font-size: 4.6154vw;
		line-height: 7.4359vw;
		margin-bottom: 1.2821vw;
	}
	#top #rooms .wrap ul li .txt{
		font-size: 3.5897vw;
		line-height: 7.1795vw;
	}
	#top #rooms .wrap ul li:nth-child(1) .txt{
		margin-left: 6.1538vw;
	}
	#top #rooms .wrap ul li:nth-child(2) .txt{
		letter-spacing: 0.16em;
		margin-right: 6.1538vw;
	}
	#top #rooms .wrap ul li:nth-child(3) .txt{
		letter-spacing: 0.085em;
		margin-left: 6.1538vw;
	}
	#top #rooms .wrap .box02{
		margin-right: 0;
		max-width: 87.6923vw;
	}
	#top #rooms .wrap .box02 .image{
		margin-bottom: 5.1282vw;
	}
	#top #rooms .wrap .box02 .btm{
		display: block;
		margin-right: 6.1538vw;
	}
	#top #rooms .wrap .box02 .btm h2{
		font-size: 2.5641vw;
		line-height: 3.8462vw;
		padding-top: 3.8462vw;
		margin-bottom: 8.2051vw;
	}
	#top #rooms .wrap .box02 .btm h2:before{
		width: 4.1026vw;
		height: 0.5128vw;
	}
	#top #rooms .wrap .box02 .btm h2 span{
		font-size: 5.1282vw;
		line-height: 8.4615vw;
		margin-bottom: 1.0256vw;
	}
	#top #rooms .wrap .box02 .btm .txt{
		font-size: 4.1026vw;
		line-height: 8.2051vw;
		margin-bottom: 0;
		margin-right: 0;
	}
	#top #rooms .box03:after{
		display: none;
	}
	#top #rooms .box03 .bloc{
		max-width: 100%;
		margin: -126.9231vw auto 0 auto;
		right: 0;
		display: block;
	}
	#top #rooms .box03 .bloc .right{
		width: 100%;
		max-width: 79.4872vw;
		margin-right: auto;
		background: #FFF;
		padding: 8.2051vw;
		position: relative;
		z-index: 1;
		margin-bottom: 0;
	}
	#top #rooms .box03 .bloc .right h2{
		font-size: 2.5641vw;
		line-height: 3.8462vw;
		padding-top: 3.8462vw;
		margin-bottom: 12.3077vw;
	}
	#top #rooms .box03 .bloc .right h2:before{
		width: 4.1026vw;
		height: 0.5128vw;
	}
	#top #rooms .box03 .bloc .right h2 span{
		font-size: 5.1282vw;
		line-height: 8.4615vw;
		margin-bottom: 1.0256vw;
	}
	#top #rooms .box03 .bloc .right .txt{
		font-size: 4.1026vw;
		line-height: 8.2051vw;
		letter-spacing: 0.18em;
	}
	#top #rooms .box03 .bloc .right .txt p{
		margin-bottom: 8.2051vw;
	}
	#top #rooms .box03 .bloc .image{
		width: 100%;
		margin-bottom: 8.2051vw;
	}
	#top #news{
		padding: 15.8974vw 6.1538vw;
	}
	#top #news h2{
		font-size: 6.1538vw;
		line-height: 9.2308vw;
		margin-bottom: 11.0256vw;
	}
	#top #news ul{
		max-width: 100%;
		margin: 0 auto 6.1538vw auto;
	}
	#top #news ul li a,
	#top #news ul li span{
		padding: 6.1538vw 0;
		display: block;
		font-size: 3.0769vw;
		line-height: 5.1282vw;
	}
	#top #news ul li a .date,
	#top #news ul li span .date{
		width: auto;
		line-height: 2.5641vw;
		margin-bottom: 3.0769vw;
	}
	#top #news ul li a h3,
	#top #news ul li span h3{
		width: auto;
	}

	/* Subpage Common
	-----------------------------------*/
	.inner{
		max-width: 100%;
		padding: 0 6.1538vw;
	}
	#mainvisual_sub{
		margin-bottom: 30.7692vw;
		display: block;
		max-width: 100%;
		padding-left: 0;
		padding-top: 16.4103vw;
	}
	#mainvisual_sub h1{
		font-size: 3.5897vw;
		line-height: 5.1282vw;
		letter-spacing: 0.1em;
		padding-top: 8.2051vw;
		padding-right: 0;
		margin-left: 6.1538vw;
		min-width: auto;
		margin-bottom: 12.3077vw;
	}
	#mainvisual_sub h1:after{
		width: 8.2051vw;
		height: 0.5128vw;
	}
	#mainvisual_sub h1 span{
		font-size: 12.3077vw;
		line-height: 17.1795vw;
		margin-bottom: 5.1282vw;
		letter-spacing: 0;
	}
	#mainvisual_sub .image{
		max-width: 100%;
	}

	/* Facilities
	-----------------------------------*/
	#facilities{

	}
	#facilities #facility{
		margin-bottom: 30.7692vw;
	}
	#facilities #facility .box{
		margin-bottom: 30.7692vw;
	}
	#facilities #facility .box h2{
		display: block;
		margin-bottom: 10.2564vw;
		font-size: 6.1538vw;
	}
	#facilities #facility .box h2 span{
		width: 16.4103vw;
		height: 16.4103vw;
		margin-bottom: 12.3077vw;
	}
	#facilities #facility .box h2 p{
		max-width: 100%;
		margin-left: 0;
		font-size: 4.1026vw;
		line-height: 7.6923vw;
		margin-top: 0;
	}
	#facilities #facility .box .image{
		max-width: 100%;
		margin-bottom: 15.8974vw;
	}
	#facilities #facility .box .image ul{
		flex-wrap: wrap;
		margin-top: 6.1538vw;
		gap: 1.5385vw 0;
	}
	#facilities #facility .box .image ul li{
		font-size: 3.0769vw;
		max-width: 29.7436vw;
		line-height: 4.359vw;
		width: 100%;
		margin-right: 8.2051vw;
	}
	#facilities #facility .box .image ul li:nth-child(even){
		margin-right: 0;
	}
	#facilities #facility .box .info{
		padding: 6.1538vw;
	}
	#facilities #facility .box .info ul{
		display: block;
	}
	#facilities #facility .box .info ul li{
		max-width: 100%;
		margin-bottom: 12.3077vw;
		font-size: 3.5897vw;
		line-height: 5.8974vw;
	}
	#facilities #facility .box .info ul li:last-child{
		margin-bottom: 0;
	}
	#facilities #facility .box .info ul li .image{
		margin-bottom: 3.8462vw;
	}
	#facilities #facility .box .info ul li h3{
		margin-bottom: 1.5385vw;
	}
	#facilities #equipment{
		padding: 12.3077vw 0 30.7692vw 0;
	}
	#facilities #equipment h2{
		font-size: 6.1538vw;
		line-height: 7.6923vw;
		margin-bottom: 10.2564vw;
		padding-bottom: 6.1538vw;
		border-bottom: 1px solid #e3e3e3;
	}
	#facilities #equipment .box{
		padding-bottom: 10.2564vw;
		margin-bottom: 10.2564vw;
	}
	#facilities #equipment .box h3{
		font-size: 4.6154vw;
		line-height: 7.6923vw;
		margin-bottom: 4.1026vw;
	}
	#facilities #equipment .box .txt{
		font-size: 4.1026vw;
		/*line-height: 7.6923vw;*/
	}
	#facilities #equipment .box .txt ul li{
		font-size: 4.1026vw;
	}
	#facilities #equipment .box table th,
	#facilities #equipment .box table td{
		font-size: 4.1026vw;
		/*line-height: 7.6923vw;*/
		padding-bottom: 0;
		display: block;
	}
	#facilities #equipment .box table th{
		width: 100%;
		margin-bottom: 2.5641vw;
	}
	#facilities #equipment .box table th span:after{
		display: none;
	}
	#facilities #equipment .box table td{
		padding-left: 0;
		margin-bottom: 6.6667vw;
	}
	#facilities #equipment .box table tr:last-child td{
		margin-bottom: 0;
	}
	#facilities #equipment .box table td ul li{
		font-size: 4.1026vw;
	}

	/* Filming Locations
	-----------------------------------*/
	#filming-locations{

	}
	#filming-locations #location{
		padding-bottom: 30.7692vw;
	}
	#filming-locations #location h2{
		font-size: 6.1538vw;
		line-height: 8.9744vw;
		margin-bottom: 15.641vw;
	}
	#filming-locations #location h3{
		font-size: 5.1282vw;
		line-height: 9.2308vw;
		margin-bottom: 6.4103vw;
	}
	#filming-locations #location .txt01{
		font-size: 4.1026vw;
		line-height: 8.2051vw;
		margin-bottom: 22.5641vw;
	}
	#filming-locations #location .box{
		max-width: 100%;
		margin-bottom: 22.5641vw;
	}
	#filming-locations #location .box h4{
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin-bottom: 6.1538vw;
	}
	#filming-locations #location .box .table01{
		margin-bottom: 12.3077vw;
	}
	#filming-locations #location .box .table01 > tbody > tr > th,
	#filming-locations #location .box .table01 > tbody > tr > td{
		display: block;
		padding: 4.1026vw 6.1538vw;
		font-size: 4.1026vw;
		line-height: 6.1538vw;
		margin-top: -1px;
	}
	#filming-locations #location .box .table01 > tbody > tr > th{
		width: 100%;
		text-align: center;
	}
	#filming-locations #location .box .table01 > tbody > tr > td{
		font-size: 3.5897vw;
	}
	#filming-locations #location .box .table01 > tbody > tr > td table{
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#filming-locations #location .box .table01 > tbody > tr > td table th,
	#filming-locations #location .box .table01 > tbody > tr > td table td{
		vertical-align: bottom;
	}
	#filming-locations #location .box .table01 > tbody > tr > td table th{
		width: 33.3333vw;
		align-items: flex-end;
	}
	#filming-locations #location .box .table01 > tbody > tr > td table td{
		padding-left: 1.0256vw;
	}
	#filming-locations #location .box .btn{
		max-width: 71.7949vw;
		font-size: 3.5897vw;
	}
	#filming-locations #location .box .btn a{
		border-radius: 10.2564vw;
		line-height: 15.8974vw;
	}
	#filming-locations #location .box .table02{
		margin-bottom: 3.0769vw;
	}
	#filming-locations #location .box .table02 th,
	#filming-locations #location .box .table02 td{
		padding: 4.1026vw 6.1538vw;
	}
	#filming-locations #location .box .table02 thead th{
		font-size: 4.1026vw;
		font-weight: bold;
		line-height: 6.1538vw;
	}
	#filming-locations #location .box .table02 tbody th,
	#filming-locations #location .box .table02 tbody td{
		font-size: 4.1026vw;
		line-height: 6.1538vw;
	}
	#filming-locations #location .box .table02 tbody th{
		width: 28.7179vw;
	}
	#filming-locations #location .box .table02 tbody td ul{
		display: block;
	}
	#filming-locations #location .box .table02 tbody td ul li:first-child{
		border-right: none;
		margin-right: 0;
		padding-right: 0;
		margin-bottom: 1.0256vw;
	}
	#filming-locations #location .box .notice{
		font-size: 3.3333vw;
		line-height: 6.1538vw;
	}
	#filming-locations #location .box .table03 th,
	#filming-locations #location .box .table03 td{
		font-size: 4.1026vw;
		line-height: 7.1795vw;
	}
	#filming-locations #location .box .table03 th{
		width: 17.4359vw;
	}
	#filming-locations #location .box .table03 td{
		padding-left: 1.0256vw;
	}

	/* Access
	-----------------------------------*/
	#access #info{
		padding-top: 0;
		margin-bottom: 30.7692vw;
	}
	#access #mainvisual_sub{
		margin-bottom: 12.3077vw;
	}
	#access #info h2{
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin-bottom: 8.2051vw;
		margin-bottom: 6.9231vw;
	}
	#access #info table{
		margin-bottom: 11.7949vw;
	}
	#access #info table th,
	#access #info table td{
		font-size: 3.5897vw;
		line-height: 5.641vw;
		padding-bottom: 2.5641vw;
	}
	#access #info table th{
		width: 27.1795vw;
	}
	#access #info table td{
		line-height: 5.641vw;
	}
	#access #info .iframe{
		margin-bottom: 10.2564vw;
	}
	#access #info .iframe iframe{
		height: 43.8462vw;
	}
	#access #info .btn{
		max-width: 71.7949vw;
		font-size: 3.5897vw;
	}
	#access #info .btn a{
		border-radius: 10.2564vw;
		line-height: 16.4103vw;
	}
	#access #car{
		margin-bottom: 15.3846vw;
	}
	#access #car h2{
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin-bottom: 8.2051vw;
	}
	#access #car h2 .ico{
		width: 9.2308vw;
		margin-right: 4.1026vw;
	}
	#access #car h2 .minutes{
		font-size: 3.0769vw;
		line-height: 4.359vw;
		margin-left: 4.1026vw;
		letter-spacing: 0.03em;
	}
	#access #car .wrap{
		display: block;
		margin-bottom: 16.4103vw;
	}
	#access #car .wrap .left{
		max-width: 100%;
		margin-bottom: 10.2564vw;
	}
	#access #car .wrap .left .txt01{
		font-size: 4.1026vw;
		line-height: 7.1795vw;
		margin-bottom: 7.4359vw;
		letter-spacing: 0.08em;
	}
	#access #car .wrap .left .detail{
		font-size: 3.0769vw;
		line-height: 7.9487vw;
		width: 27.6923vw;
		letter-spacing: 0.08em;
		margin-bottom: 3.8462vw;
	}
	#access #car .wrap .left .txt02{
		font-size: 3.5897vw;
		line-height: 7.6923vw;
		letter-spacing: 0.08em;
	}
	#access #car .wrap .image{
		max-width: 100%;
	}
	#access #car .list01{
		display: block;
		margin-bottom: 12.3077vw;
	}
	#access #car .list01 li{
		max-width: 100%;
		margin-bottom: 8.2051vw;
	}
	#access #car .list01 li:last-child{
		margin-bottom: 0;
	}
	#access #car h4{
		font-size: 4.1026vw;
		line-height: 5.641vw;
		padding-bottom: 3.0769vw;
		margin-bottom: 10.2564vw;
	}
	#access #car .list02{
		padding-bottom: 15.3846vw;
	}
	#access #car .list02 li{
		display: block;
		margin-bottom: 12.3077vw;
	}
	#access #car .list02 li .image{
		max-width: 100%;
		margin-bottom: 1.0256vw;
	}
	#access #car .list02 li .txt{
		padding-left: 0;
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#access #train{
		margin-bottom: 30.7692vw;
	}
	#access #train h2{
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin-bottom: 8.2051vw;
	}
	#access #train h2 .ico{
		width: 9.2308vw;
		margin-right: 4.1026vw;
	}
	#access #train h2 .minutes{
		font-size: 3.0769vw;
		line-height: 4.359vw;
		margin-left: 4.1026vw;
		letter-spacing: 0.03em;
	}
	#access #train .wrap{
		display: block;
		margin-bottom: 16.4103vw;
	}
	#access #train .wrap .left{
		max-width: 100%;
		margin-bottom: 10.2564vw;
	}
	#access #train .wrap .left .txt01{
		font-size: 4.1026vw;
		line-height: 7.1795vw;
		margin-bottom: 7.4359vw;
		letter-spacing: 0.08em;
	}
	#access #train .wrap .left .detail{
		font-size: 3.0769vw;
		line-height: 7.9487vw;
		width: 27.6923vw;
		letter-spacing: 0.08em;
		margin-bottom: 3.8462vw;
	}
	#access #train .wrap .left .txt02{
		font-size: 3.5897vw;
		line-height: 7.6923vw;
		letter-spacing: 0.08em;
	}
	#access #train .wrap .left h4{
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin: 10.2564vw 0 5.1282vw 0;
	}
	#access #train .wrap .image{
		max-width: 100%;
	}
	#access #locations{
		padding-bottom: 30.7692vw;
	}
	#access #locations h2{
		display: block;
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin-bottom: 8.2051vw;
	}
	#access #locations .txt01{
		font-size: 4.1026vw;
		line-height: 7.1795vw;
		margin-bottom: 16.4103vw;
	}
	#access #locations ul{
		display: block;
	}
	#access #locations ul li{
		max-width: 100%;
		margin-bottom: 12.3077vw;
	}
	#access #locations ul li:last-child{
		margin-bottom: 0;
	}
	#access #locations ul li .image{
		margin-bottom: 3.0769vw;
	}
	#access #locations ul li h3{
		font-size: 4.1026vw;
		line-height: 6.1538vw;
		margin-bottom: 2.0513vw;
	}
	#access #locations ul li .txt{
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}

	/* Contact
	-----------------------------------*/
	#contact{
		padding-top: 16.4103vw;
		padding-bottom: 30.7692vw;
	}
	#contact h1{
		font-size: 6.1538vw;
		line-height: 11.2821vw;
		margin-bottom: 5.1282vw;
	}
	#contact .box{
		max-width: 100%;
	}
	#contact table{
		margin-bottom: 5.1282vw;
	}
	#contact table th,
	#contact table td{
		display: block;
		padding: 3.8462vw;
		font-size: 3.3333vw;
	}
	#contact table th{
		width: 100%;
		border-bottom: none;
		margin-top: -1px;
	}
	#contact table th span{
		padding-left: 0.7692vw;
	}
	#contact table td input,
	#contact table td textarea{
		padding: 2.5641vw;
	}
	#contact table td textarea{
		min-height: 41.0256vw;
	}
	#contact .mfp_element_submit,
	#contact .mfp_element_reset,
	#contact .mfp_element_button,
	#contact button.mfp_next,
	#contact button.mfp_prev{
		border: 0.5128vw solid #111;
		width: 102.5641vw;
		padding: 2.5641vw;
	}
	#contact .mfp_element_button{
		max-width: 49%;
	}
	#contact div#mfp_phase_confirm h4{
		line-height: 10.2564vw;
		margin-bottom: 5.1282vw;
	}
	#contact .thanks_inner{
		max-width: 100%;
		padding: 0 6.1538vw;
	}
	#contact .thanks_inner .title{
		line-height: 9.7436vw;
	}

	/* Law
	-----------------------------------*/
	#law{
		padding-top: 16.4103vw;
		padding-bottom: 30.7692vw;
	}
	#law .box{
		max-width: 100%;
	}
	#law .box h1{
		font-size: 6.1538vw;
		line-height: 11.2821vw;
		margin-bottom: 16.4103vw;
	}
	#law .box table th,
	#law .box table td{
		display: block;
		padding: 0;
		border-bottom: none;
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#law .box table th{
		width: 100%;
		margin-bottom: 4.1026vw;
	}
	#law .box table td{
		margin-bottom: 6.1538vw;
		padding-bottom: 6.1538vw;
		border-bottom: 1px solid #e1e1e1;
	}
	#law .box table tr:last-child td{
		margin-bottom: 0;
	}

	/* Notification
	-----------------------------------*/
	#notification{
		padding-top: 16.4103vw;
		padding-bottom: 30.7692vw;
	}
	#notification .box{
		max-width: 100%;
	}
	#notification .box h1{
		font-size: 6.1538vw;
		line-height: 11.2821vw;
		margin-bottom: 16.4103vw;
	}
	#notification .box table th,
	#notification .box table td{
		display: block;
		padding: 0;
		border-bottom: none;
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#notification .box table th{
		width: 100%;
		margin-bottom: 4.1026vw;
	}
	#notification .box table td{
		margin-bottom: 6.1538vw;
		padding-bottom: 6.1538vw;
		border-bottom: 1px solid #e1e1e1;
	}
	#notification .box table tr:last-child td{
		margin-bottom: 0;
	}

	/* Terms
	-----------------------------------*/
	#terms{
		padding-top: 16.4103vw;
		padding-bottom: 30.7692vw;
	}
	#terms .bloc{
		max-width: 100%;
	}
	#terms .bloc h1{
		font-size: 6.1538vw;
		line-height: 11.2821vw;
		margin-bottom: 16.4103vw;
	}
	#terms .bloc .wrap{
		margin-bottom: 8.2051vw;
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#terms .bloc .wrap h2{
		font-size: 5.1282vw;
		line-height: 6.1538vw;
		margin-bottom: 8.2051vw;
	}
	#terms .bloc .wrap h3{
		font-size: 4.6154vw;
		line-height: 6.1538vw;
		margin-bottom: 5.1282vw;
	}
	#terms .bloc .wrap h4{
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#terms .bloc .wrap .box{
		margin-bottom: 8.2051vw;
	}
	#terms .bloc .wrap .box p,
	#terms .bloc .wrap .box ol{
		margin-bottom: 4.1026vw;
	}
	#terms .bloc .wrap .box hr{
		margin: 8.2051vw 0;
	}
	#terms .bloc .wrap .box table th,
	#terms .bloc .wrap .box table td{
		padding: 4.359vw 7.6923vw;
		font-size: 3.5897vw;
	}

	/* Corporation
	-----------------------------------*/
	#corporation{

	}
	#corporation #mainvisual_corporation{
		aspect-ratio: 390 / 645;
		background-image: url(../images/pages/mainvisual_corporation_sp.jpg);
		position: relative;
		align-items: center;
	}
	#corporation #mainvisual_corporation .box .txt01{
		font-size: 4.1026vw;
		line-height: 6.1538vw;
		margin-bottom: 10.2564vw;
		letter-spacing: 0.2em;
	}
	#corporation #mainvisual_corporation .box h1{
		font-size: 4.1026vw;
		line-height: 6.1538vw;
		letter-spacing: 0.4em;
		margin-bottom: 17.6923vw;
	}
	#corporation #mainvisual_corporation .box h1 span{
		font-size: 8.2051vw;
		line-height: 11.0256vw;
		letter-spacing: 0.28em;
		margin-bottom: 8.4615vw;
	}
	#corporation #mainvisual_corporation .box .logo{
		position: absolute;
		max-width: 22.3077vw;
		width: 100%;
		bottom: 16.9231vw;
		left: 50%;
		transform: translateX(-50%);
		margin-bottom: 0;
	}
	#corporation #lead{
		padding: 29.7436vw 0 30.7692vw 0;
		background-image: url(../images/pages/img_corporation_lead_sp.png);
		background-color: #F8F8F8;
		background-size: contain;
	}
	#corporation #lead h2{
		font-size: 6.1538vw;
		line-height: 11.2821vw;
		margin-bottom: 14.6154vw;
	}
	#corporation #lead .txt{
		font-size: 4.1026vw;
		line-height: 8.2051vw;
		letter-spacing: 0.03em;
	}
	#corporation #lead .txt p{
		margin-bottom: 8.2051vw;
	}
	#corporation #lead .txt .ls01{
		letter-spacing: 0;
	}
	#corporation #lead .txt .ls02{
		letter-spacing: -0.03em;
	}
	#corporation #features{
		background: #F1F1F1;
		padding: 34.6154vw 0 30.7692vw 0;
	}
	#corporation #features h2{
		font-size: 12.3077vw;
		line-height: 9.2308vw;
		margin-bottom: 18.9744vw;
		letter-spacing: 0.16em;
	}
	#corporation #features h3{
		font-size: 6.1538vw;
		line-height: 11.2821vw;
		letter-spacing: 0;
		margin-bottom: 20.5128vw;
	}
	#corporation #features .wrap .box{
		display: block;
		margin-bottom: 20.5128vw;
	}
	#corporation #features .wrap .box .txt{
		max-width: 100%;
		margin-bottom: 8.2051vw;
	}
	#corporation #features .wrap .box .txt h4{
		margin-bottom: 11.2821vw;
		font-size: 3.5897vw;
		line-height: 5.1282vw;
		padding-bottom: 4.1026vw;
	}
	#corporation #features .wrap .box:nth-child(even) .txt h4{
		padding-left: 0;
	}
	#corporation #features .wrap .box .txt h4 span{
		font-size: 7.1795vw;
		line-height: 9.2308vw;
		margin-bottom: 2.0513vw;
		letter-spacing: 0.04em;
	}
	#corporation #features .wrap .box:nth-child(even) .txt p{
		padding-left: 0;
		max-width: 100%;
	}
	#corporation #features .wrap .box .txt .ls01{
		letter-spacing: -0.03em;
	}
	#corporation #features .wrap .box .txt p{
		font-size: 4.1026vw;
		line-height: 8.2051vw;
		max-width: 100%;
	}
	#corporation #features .wrap .box .image{
		max-width: 100%;
	}
	#corporation #recommend{
		aspect-ratio: 390 / 560;
		background-image: url(../images/pages/img_corporation_recommend_sp.jpg);
	}
	#corporation #recommend .box{
		border-radius: 4.1026vw;
		padding: 10.2564vw 6.1538vw;
		margin-bottom: -85.8974vw;
	}
	#corporation #recommend .box h2{
		font-size: 6.1538vw;
		line-height: 9.2308vw;
		margin-bottom: 7.4359vw;
	}
	#corporation #recommend .box ul{
		font-size: 4.1026vw;
		line-height: 7.1795vw;
	}
	#corporation #recommend .box ul li{
		margin-bottom: 5.1282vw;
	}
	#corporation #recommend .box ul li:last-child{
		margin-bottom: 0;
	}
	#corporation #facility{
		padding: 116.6667vw 0 22.5641vw 0;
	}
	#corporation #facility h2{
		font-size: 6.1538vw;
		line-height: 8.2051vw;
		letter-spacing: 0.08em;
		margin-bottom: 16.4103vw;
	}
	#corporation #facility ul{
		display: block;
		margin-bottom: 12.3077vw;
	}
	#corporation #facility ul li{
		max-width: 100%;
		margin-bottom: 12.3077vw;
	}
	#corporation #facility ul li:last-child{
		margin-bottom: 0;
	}
	#corporation #facility ul li .image{
		margin-bottom: 4.1026vw;
	}
	#corporation #facility ul li .txt{
		font-size: 3.5897vw;
		line-height: 6.1538vw;
	}
	#corporation #facility .btn{
		max-width: 71.7949vw;
		margin: 0 auto 22.5641vw auto;
		font-size: 3.5897vw;
	}
	#corporation #facility .btn a{
		border-radius: 10.2564vw;
		line-height: 15.8974vw;
	}
	#corporation #facility .box h4{
		font-size: 4.6154vw;
		line-height: 6.6667vw;
		margin-bottom: 6.1538vw;
	}
	#corporation #facility .box .table03 th,
	#corporation #facility .box .table03 td{
		font-size: 4.1026vw;
		line-height: 7.1795vw;
	}
	#corporation #facility .box .table03 th{
		width: 17.4359vw;
	}
	#corporation #facility .box .table03 td{
		padding-left: 1.0256vw;
	}
}
