@charset "utf-8";
/* CSS Document */
/* @import "https://fonts.googleapis.com/earlyaccess/notosansjapanese.css";
@import "https://fonts.googleapis.com/css?family=Asap+Condensed";
@import "https://fonts.googleapis.com/css?family=Oswald";
@import "https://fonts.googleapis.com/icon?family=Material+Icons"; */

body {
	font-family: "Meiryo UI", Meiryo, Arial, sans-serif;
	/*font-family: "Noto Sans Japanese", sans-serif;*/
	vertical-align: baseline;
	color: #111;
	box-shadow: 0 -120px 0 #FFF;
	background-color: #F8F7E9;
}
input, textarea, select {
	font-family: "Meiryo UI", Meiryo, Arial, sans-serif;
	/*font-family: "Noto Sans Japanese", sans-serif;*/
}
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}
a {
	color: #3496E7;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
ul,ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
dl,dt,dd {
	margin: 0;
	padding: 0;
}
/* Typography
-----------------------------------------------*/
body {
	font-size: 15px;
	letter-spacing: 2px;
}
h1, h2, h3, h4, h5 ,h6 {
	font-weight: normal;
}
h1 {
	font-size: 20px;
	font-weight: 600;
}
h2 {
	font-size: 30px;
	text-align: center;
	font-weight: 600;
	padding: 0px;
	margin: 0 0 60px;
}
h2 small {
	font-family: 'Oswald', sans-serif;
	display: block;
	font-size: 20px;
	font-weight: 800;
	color: #666;
	margin: 10px auto 0;
	padding-top: 10px;
	border-top: 1px solid #DDD;
	width: 60%;
}
h2.white-txt {
	color: #FFF;
}
h2.white-txt small {
	color: #DDD;
}
h3 {
	font-size: 26px;
	text-align: center;
	font-weight: 600;
	margin: 0;
	padding-top: 18px;
	padding-bottom: 18px;
	color: #3496E7;
}
h4 {
	font-size: 16px;
	display: block;
	color: #A8106B;
	margin-bottom: 14px;
	font-weight: 400;
	margin-top: 0;
}
h5 {
	margin: 0 0 20px;
	font-size: 15px;
}
p {
	margin: 0 0 1em;
	line-height: 1.6;
}
small {
	font-size: 95%;
}
big {
	font-size: 120%;
}
b {
	font-size: 150%;
	font-weight: bold;
}
hr {
	width: 100%;
	height: 0;
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
	border: none;
	border-bottom: 1px solid #DDDBD1;
}


/* Layout
-----------------------------------------------*/
.wrap {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
}
.container {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 1020px;
	margin: 0 auto;
	overflow: hidden;
}
/* .container *:last-child,
[class*=col-] *:last-child,
.container-fluid *:last-child {
	margin-bottom: 0;
} */
.row {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 0 20px;
	/* overflow: hidden; */
}
.row::after {
	content: '';
	display: block;
	clear: both;
}
.row-no-offset {
	margin-left: -10px;
	margin-right: -10px;
}
/* .row:last-child {
	margin-bottom: 0;
}
.row.last-child {
	margin-bottom: 0;
} */
.row [class*=col-lg-] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 10px;
	/* overflow: hidden; */
	float: left;
}
.col-lg-1 {
	width: 8.3333333333%;
}
.col-lg-2 {
	width: 16.6666666667%;
}
.col-lg-3 {
	width: 25%;
}
.col-lg-4 {
	width: 33.3333333333%;
}
.col-lg-5 {
	width: 41.6666666667%;
}
.col-lg-6 {
	width: 50%;
}
.col-lg-7 {
	width: 58.3333333333%;
}
.col-lg-8 {
	width: 66.6666666667%;
}
.col-lg-9 {
	width: 75%;
}
.col-lg-10 {
	width: 83.3333333333%;
}
.col-lg-11 {
	width: 91.6666666667%;
}
.col-lg-12 {
	width: 100%;
}
.col-lg-b20 {
	width: 20%;
}
.col-lg-b40 {
	width: 40%;
}
.col-lg-offset-1 {
	margin-left: 8.3333333333%;
}
.col-lg-offset-2 {
	margin-left: 16.6666666667%;
}
.col-lg-offset-3 {
	margin-left: 25%;
}
.col-lg-offset-4 {
	margin-left: 33.3333333333%;
}
.col-lg-offset-5 {
	margin-left: 41.6666666667%;
}

.col-lg-1 *:last-child,
.col-lg-2 *:last-child,
.col-lg-3 *:last-child,
.col-lg-4 *:last-child,
.col-lg-5 *:last-child,
.col-lg-6 *:last-child,
.col-lg-7 *:last-child,
.col-lg-8 *:last-child,
.col-lg-9 *:last-child,
.col-lg-10 *:last-child,
.col-lg-11 *:last-child,
.col-lg-12 *:last-child {
	margin-bottom: 0;
}
.row-nopadding>[class*=col-] {
	padding: 0;
}
.row-nomargin,
.container>.row-nomargin,
.container>.row-nomargin:last-child {
	margin: 0;
}
/* mt mb pt pb
-----------------------------------------------*/
.mb-10 {
	margin-bottom: 10px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-30 {
	margin-bottom: 30px;
}
.mb-40 {
	margin-bottom: 40px;
}
/* Align
-----------------------------------------------*/
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.center-middle {
	display: table;
	width: 100%;
	height: 100%;
}
.center-middle>.inner {
	display: table-cell;
	width: 100%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.fl{
	float: left;
}
.fr{
	float: right;
}
.clear{
	clear: both;
}

/* Border
-----------------------------------------------*/
.border-r {
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #DDD;
}

/* Text
-----------------------------------------------*/
.text-color-green {
	color: #72B584;
}
.text-color-red {
	color: #E6441C;
}
.text-color-blue {
	color: #688EC9;
}
.text-color-pink {
	color: #EB3664;
}
.text-color-purple {
	color: #B12E58;
}
.text-line-through {
	text-decoration: line-through;
}

.error-block {
	padding: 5px 0;
	text-align: center;
}
.error-color-red {
	margin: 5px auto;
	padding: 2px;
	background-color: #E6441C;
	color: #FFF;
	font-size: 14px;
}

/* Buttons
-------------------------------------------- */
.btn {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	max-width: 100%;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	border: none;
	text-align: center;
}
.btn.nodisplay {
	display: none;
}
.btn small {
	font-size: 11px;
}
.btn-lg {
	position: relative;
	width: 300px;
	padding: 16px;
	-webkit-transition: none;
	transition: none;
	font-size: 17px;
	border-radius: 4px;
}
.btn-md {
	position: relative;
	width: 140px;
	padding: 12px;
	border-radius: 4px;
	font-size: 16px;
	font-weight: bold;
}
.btn-sm {
	position: relative;
	width: 90px;
	padding: 12px;
	border-radius: 4px;
	font-size: 16px;
	font-weight: bold;
}
.btn-red {
	color: #FFF;
	background-color: #E02000;
}
.btn-lg.btn-red {
	box-shadow: 0 5px 0 #990000;
}
.btn-form.btn-red {
	box-shadow: 0 5px 0 #990000;
}
.btn-md.btn-red, .btn-pay.btn-red, .btn-sm.btn-red {
	box-shadow: 0 3px 0 #990000;
}
.btn-orange {
	color: #FFF;
	background-color: #EC7255;
}
.btn-lg.btn-orange {
	box-shadow: 0 5px 0 #9B2D11;
}
.btn-md.btn-orange, .btn-sm.btn-orange {
	box-shadow: 0 3px 0 #9B2D11;
}
.btn-pink {
	color: #FFF;
	background-color: #F66;
}
.btn-lg.btn-pink {
	box-shadow: 0 5px 0 #D90000;
}
.btn-md.btn-pink, .btn-sm.btn-pink {
	box-shadow: 0 3px 0 #D90000;
}
.btn-green {
	color: #FFF;
	background-color: #66D215;
}
.btn-green2 {
	color: #FFF;
	background-color: #64BC0C;
	width: 120px !important;
	margin-right: auto;
	margin-left: auto;
}
.btn-lg.btn-green {
	box-shadow: 0 5px 0 #12A32F;
}
.btn-lg.btn-green2 {
	box-shadow: 0 5px 0 #12A32F;
}
.btn-md.btn-green, .btn-sm.btn-green {
	box-shadow: 0 3px 0 #12A32F;
}
.btn-blue {
	color: #FFF;
	background-color: #688EC9;
}
.btn-lg.btn-blue {
	box-shadow: 0 5px 0 #31558A;
}
.btn-md.btn-blue, .btn-sm.btn-blue {
	box-shadow: 0 3px 0 #31558A;
}
.btn-gray {
	color: #222;
	background-color: #EEE;
}
.btn-lg.btn-gray {
	box-shadow: 0 5px 0 #CCC;
}
.btn-md.btn-gray, .btn-sm.btn-gray {
	box-shadow: 0 3px 0 #CCC;
}

.btn-gold {
	color: #FFF;
	background-color: #9D881A;
}
.btn-lg.btn-gold {
	box-shadow: 0 5px 0 #7B6A0E;
}
.btn-md.btn-gold,
.btn-sm.btn-gold {
	box-shadow: 0 3px 0 #7B6A0E;
}

.btn-lg:disabled {
	top: 3px;
	box-shadow: none;
}
.btn-md:disabled, .btn-sm:disabled {
	top: 2px;
	box-shadow: none;
}

.btn-lg:active {
	top: 3px;
	box-shadow: none;
}
.btn-md:active, .btn-sm:active {
	top: 2px;
	box-shadow: none;
}

.btn-contact {
	background-image: url(../images/_temp/icon_contact.webp);
	background-position: 15px center;
	background-repeat: no-repeat;
	background-size:30px 24px;
}
.btn-reserve {
	background-image: url(../images/_temp/icon_reserve.webp);
	background-position: 15px center;
	background-repeat: no-repeat;
	background-size:28px 24px;
}
/*pre-line*/
.pre-line {
	white-space: pre-line;
}

/* Common table
-----------------------------------------------*/
.common-table {
	width: 100%;
	margin: 0 auto 20px;
}
.common-table th,
.common-table td {
	padding: 10px;
	border: 1px solid #9B9B9B;
}

/*Visible
-----------------------------------------------*/
.visible-sm,
.visible-md {
	display: none !important;
}
.line-add-friends {
	display: none !important;
}

/* head-menu */
#nav-menu {
	display: block;
}
.menu-icon {
	display: block;
	float: left;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	margin-bottom: 5px;
}
.menu-icon span {
	display: block;
	width: 30px;
	height: 1px;
	background: #fff;
	margin-bottom: 7px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.menu-icon span.bar1 {
}
.menu-icon span.bar3 {
	margin-bottom: 2px;
}
.menu-icon.active {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.menu-icon.active .bar1 {
	-webkit-transform: rotate(0deg) translateY(8px);
	-moz-transform: rotate(0deg) translateY(8px);
	-ms-transform: rotate(0deg) translateY(8px);
	-o-transform: rotate(0deg) translateY(8px);
	transform: rotate(0deg) translateY(8px);
}
.menu-icon.active .bar2 {
	opacity: 0;
}
.menu-icon.active .bar3 {
	-webkit-transform: rotate(-90deg) translateX(8px);
	-moz-transform: rotate(-90deg) translateX(8px);
	-ms-transform: rotate(-90deg) translateX(8px);
	-o-transform: rotate(-90deg) translateX(8px);
	transform: rotate(-90deg) translateX(8px);
}
#wrap {
	width: 100%;
	height: 100%;
}
#head-menu.active nav#nav-menu {
	background: #FFF;
	height: 100%;
	z-index: 999;
	box-shadow: -7px 0 2px rgba(0,0,0,0.3);
	overflow: auto;
	font-weight: 550;
}
#head-menu.active nav#nav-menu .menu-btn {
	opacity: 1;
	padding: 20px 0;
}
#head-menu.active nav#nav-menu .menu-btn a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: inherit;
	font-size: 14px;
}
#head-menu.active nav#nav-menu .menu-btn-top {
	border: 2px solid #DDD;
	color: #444;
}
#head-menu.active nav#nav-menu .menu-btn-contact {
	border: 2px solid #DDD;
	color: #444;
}
#head-menu.active nav#nav-menu .menu-title {
	opacity: 1;
	border-top: 1px solid #DDD;
	text-align: center;
	font-size: 15px;
	line-height: 1.2;
	padding: 20px 0;
}
#head-menu.active nav#nav-menu .menu-title small {
	font-family: 'Oswald', sans-serif;
	font-size: 10px;
}
#head-menu.active nav#nav-menu .menu-list-container {
	opacity: 1;
	text-align: left;
}
#head-menu.active nav#nav-menu .menu-list-container ul {
	width: 92%;
	margin: 0 4%;
	border-top: 1px solid #DDD;
}
#head-menu.active nav#nav-menu .menu-list-container li {
	border: 1px solid #DDD;
	border-top: none;
	line-height: 0.8em;
	float: left;
	width: calc(50% - 2px);
}
#head-menu.active nav#nav-menu .menu-list-container li:nth-child(2n) {
	border-left: none;
	width: calc(50% - 1px);
}
#head-menu.active nav#nav-menu .menu-list-container li a {
	display: block;
	padding: 15px 4%;
	background: url(../images/_temp/nav_sp_rarrow.webp) right 12px top 12px no-repeat;
	font-size: 13px;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #333;
}
#head-menu.active nav#nav-menu .menu-list-container li a:hover {
	background-color: #D2E9FF;
}
#head-menu.active nav#nav-menu .menu-list-container li.category a {
	padding: 15px 5%;
}
#nav-menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 530px;
	height: 80px;
	z-index: 999;
	overflow: hidden;
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0);
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}
#nav-menu .menu-icon-container {
	cursor: pointer;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 999;
	padding-top: 15px;
	padding-right: 16px;
	padding-bottom: 12px;
	padding-left: 16px;
	background-color: #3496E7;
}
#nav-menu .menu-icon-container .menu-text {
	font-family: 'Oswald', sans-serif;
	font-size: 8px;
	display: block;
	color: #FFF;
	text-align: center;
	margin: 0px;
	padding: 0px;
	font-weight: normal;
	letter-spacing: 3px;
}
#nav-menu .menu-btn-top {
	position: absolute;
	top: 20px;
	right: 305px;
	width: 180px;
	display: none;
}
#nav-menu .menu-btn-contact {
	position: absolute;
	top: 20px;
	right: 105px;
	width: 180px;
	display: none;
}
#nav-menu .menu-list-container {
	position: absolute;
	top: 110px;
	width: 100%;
	display: none;
}
#nav-menu .menu-list-container .basic {
	padding: 0 20px;
}
#nav-menu .menu-title {
	width: 100%;
}

#nav-menu .menu-btn-top.active {
	display: block;
}
#nav-menu .menu-btn-contact.active {
	display: block;
}
#nav-menu .menu-list-container.active {
	display: block;
}

/* ID
-----------------------------------------------*/
#logo {
	margin: 0;
	position: absolute;
	left: 20px;
	top: 20px;
	z-index: 100;
	width: 200px;
	height: 70px;
    display: flex;
    align-items: center;
}
#logo .logo-text {
    fill:#424242;
}
#logo.video-bg .logo-text {
    fill:#fff;
}
#video-block-home {
	width: 100%;
	height: 95vh;
}
#video-block-home ::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	background-image: url(../images/category/_common/bg_video.webp);
	background-size: 4px 4px;
	background-repeat: repeat;
}
#video-block {
	width: 100%;
	height: 95vh;
}
#top-movie {
	position: relative;
	height: 95vh;
	z-index: 0;
	background-color: #000;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
#top-movie::before {
	/* background-color: rgba(0,0,0,0); */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	background-image: url(../images/category/_common/bg_video.webp);
	background-size: 4px 4px;
	background-repeat: repeat;
}
#top-movie .video-background {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}
#top-movie #top-movie-btn {
	width: 100%;
	position: absolute;
	top: 63%;
	margin: 0 auto;
	text-align: center;
}
#top-movie #top-movie-txt {
	width: 100%;
	position: absolute;
	top: 25%;
	color: #FFF;
	font-size: 82px;
	font-weight: bold;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	left: auto;
	right: auto;
	text-align: center;
	letter-spacing: 2px;
}
#top-movie #top-movie-txt span {
	width: 830px;
	top: 70%;
	font-size: 30px;
	margin-top: 45px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFF;
	display: block;
	padding-top: 50px;
	margin-right: auto;
	margin-left: auto;
	line-height: 150%;
}
#top-movie div {
	width: 100%;
}
#main {
	padding: 70px 0;
}
#footer {
	clear: both;
	position: relative;
	padding: 20px 0;
	font-size: 12px;
	font-weight: bold;
	background-color: #FFF;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #DDD;
	letter-spacing: 0px;
}
#footer .footer-nav {
	margin-top: 15px;
}
#footer a,
#footer a:hover {
	color: #5588D5;
	text-decoration: none;
}
#gotop {
	position: absolute;
	right: 20px;
	bottom: 12px;
	height: 60px;
	width: 60px;
}
/*TOP*/
#about-us {
	background: url(../images/index/about_bg.webp) no-repeat;
	background-size: cover;
	padding-top: 70px;
	padding-bottom: 70px;
}
#about-us p {
	font-size: 22px;
	line-height: 1.8em;
	text-align: center;
	font-weight: bold;
	padding-right: 171px;
	padding-left: 171px;
}
#news {
	background: #222;
	color: #FFF;
	font-size: 14px;
	padding: 20px;
}
#plan-category{
	background: #FFF;
	padding-right: 50px;
	padding-left: 50px;
}
#plan-category .row {
	display: flex;
	flex-wrap: wrap;
}
#plan-category .col-lg-3 {
	border: 1px solid #DDD;
	margin-right: -1px;
	margin-bottom: -1px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	display: flex;
	flex-direction: column;
}
#plan-category .col-lg-3 img {
	margin-bottom: 15px;
}
#plan-category .col-lg-3 a {
	text-decoration: none;
}
#plan-category .col-lg-3 span {
	display: block;
}
#plan-category .col-lg-3 .plan-title {
	font-size: 24px;
	margin-bottom: 3px;
	color: #0085B2;
	font-weight: bold;
}
#plan-category .col-lg-3 .plan-title-small {
	font-family: 'Oswald', sans-serif;
	font-size: 11px;
	color: #555;
	font-weight: 600;
	padding-bottom: 15px;
	letter-spacing: 1px;
}
#plan-category .col-lg-3 .plan-description {
	font-size: 14px;
	text-align: left;
	line-height: 150%;
}
#instagram {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #DDD;
	background-color: #FFF;
	padding-top: 60px;
	padding-bottom: 40px;
	padding-right: 40px;
	padding-left: 40px;
}
#instagram h2 {
	width: 200px;
	margin-right: auto;
	margin-left: auto;
}
#instagram #instafeed {
	width: 100%;
}
#instagram #instafeed li {
	width: 20%;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	padding-top: 0;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
}
#instagram #instafeed li img {
	margin-bottom: 0px;
	height: 30vh;
	width: 100%;
	object-fit: cover;
}
.btn-block {
	padding-bottom: 10px;
}

/* カテゴリページ
-----------------------------------------------*/
#category-top-movie {
	position: relative;
	height: 95vh;
	z-index: 0;
	padding-bottom: 10px;
	background-color: #000;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
#category-top-movie::before {
	/* background-color: rgba(0,0,0,0); */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: ' ';
	background-image: url(../images/category/_common/bg_video.webp);
	background-size: 4px 4px;
	background-repeat: repeat;
}
#category-top-movie .video-background {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}
#category-top-movie #category-top-contents{
	position: absolute;
	top: 28%;
}
#category-top-movie #category-top-movie-btn {
	text-align: right;
	outline: none;
	float: left;
	width: 230px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-top: 50px;
	padding-left: 50px;
}
#category-top-movie #category-top-movie-btn a {
	outline:none;
}
#category-top-movie #category-top-movie-btn a img {
	outline:none;
}
#category-top-movie #category-top-movie-txt {
	font-family: 'Asap Condensed', sans-serif;
	text-align: center;
	color: #FFF;
	font-size: 90px;
	margin-top: 0;
	margin-bottom: 0;
	width: 770px;
	float: left;
}
#category-top-movie #category-top-movie-txt div {
	font-size: 70px;
}
#category-top-movie #category-top-movie-txt h1 {
	display: block;
	font-size: 28px;
	font-weight: 600;
	margin-top: 10px;
}
#category-top-movie #category-top-movie-txt span.description {
	display: block;
	font-weight: 600;
	font-size: 22px;
	margin-top: 45px;
	padding-top: 50px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFF;
}
.category-description {
	width: 600px;
	margin: 0 auto;
	font-weight: 600;
	font-size: 23px;
}

.vimeo {
  position: relative;
  height: 0;
  padding: 30px 0 56.25%;
  overflow: hidden;
}
.vimeo iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#pankuzu {
	position: relative;
	margin-top: 100px;
	height: 30px;
	background-color: #222;
	line-height: 30px;
	padding-left: 40px;
	font-size: 13px;
	font-weight: normal;
	color: #FFF;
}
#pankuzu a {
	text-decoration: none;
	color: #0CF;
}
#pankuzu span {
	margin-right: 5px;
	margin-left: 5px;
}
.youtube {
	position: relative;
	padding-top: 45%;
	overflow: hidden;
	height: 0;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #222;
	border-bottom-color: #222;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}



#experience-report {
	padding-top: 60px;
}
#experience-report #experience-report-block {
	margin-top: 60px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-bottom: 30px;
	width: 90%;
}
#experience-report #experience-report-block .col-lg-4 {
	text-align: center;
	padding-top: 0;
	padding-right: 10px;
	padding-left: 10px;
}
#experience-report #experience-report-block .col-lg-4 img {
	display: block;
	margin-bottom: 10px;
}
#experience-report #experience-report-block .col-lg-4 span {
	display: block;
	text-align: left;
	font-size: 16px;
	padding-bottom: 40px;
}

#plan-map {
	padding-top: 60px;
	padding-right: 0;
	padding-left: 0;
	background-color: #FFF;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #DDD;
}
#plan-map .map {
	text-align: center;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

#plan-try {
	padding-top: 60px;
	padding-right: 0;
	padding-left: 0;
	background-color: #FFF;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #DDD;
}
#plan-try-yoyaku {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
}
#plan-try-yoyaku .map {
	text-align: center;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
#plan-try-yoyaku .col-lg-3 {
	border: 1px solid #DDD;
	margin-right: -1px;
	padding: 10px;
	margin-bottom: -1px;
	display: flex;
	flex-direction: column;
}
#plan-try-yoyaku .col-lg-3 a {
	text-decoration: none;
}
#plan-try-yoyaku .col-lg-3 span {
	display: block;
}
#plan-try-yoyaku .plan-photo {
	margin-bottom: 20px;
}
#plan-try-yoyaku .plan-photo img {
	width: 100%;
	height: auto;
	display: block;
}

#plan-try-yoyaku .plan-position {
	background: url(../images/category/_common/position.webp) 10px center no-repeat;
	padding-left: 25px;
	margin-bottom: 13px;
	font-weight: bold;
	background-size: 12px 18px;
	font-size: 16px;
	color: #666;
}
#plan-try-yoyaku .plan-position b {
	color: #D93600;
	text-decoration: none;
	font-weight: 600;
	font-size: 20px;
	line-height: 20px;
	margin-right: 10px;
}
#plan-try-yoyaku .plan-tag {
	font-weight: bold;
	margin-left: 10px;
	margin-right: 0px;
	margin-bottom: 10px;
	font-size: 12px;
	color: #FFF;
	padding-top: 2px;
	padding-right: 5px;
	padding-bottom: 2px;
	padding-left: 5px;
	text-align: center;
	line-height: 1.4em;
	background-color: #F66;
	border: 2px solid #F66;
	border-radius: 4px;
	letter-spacing: 0px;
}
#plan-try-yoyaku .plan-terms {
	font-weight: bold;
	margin-left: 0px;
	margin-right: 10px;
	margin-bottom: 10px;
	font-size: 12px;
	color: #666;
	padding-top: 2px;
	padding-right: 5px;
	padding-bottom: 2px;
	padding-left: 5px;
	text-align: center;
	line-height: 1.4em;
	border: 2px solid #666;
	border-radius: 4px;
	letter-spacing: 0px;
}
#plan-try-yoyaku .plan-detail {
	display: inline-block;
	margin-top: 3px;
	margin-right: 8px;
}
#plan-try-yoyaku .plan-name {
	font-size: 19px;
	line-height: 1.3em;
	font-weight: bold;
	padding-top: 0;
	padding-right: 10px;
	padding-bottom: 12px;
	padding-left: 10px;
}
#plan-try-yoyaku .plan-name a {
	color: #333;
}
#plan-try-yoyaku .plan-price {
	color: #333;
	font-weight: bold;
	padding-top: 0;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
}
#plan-try-yoyaku .plan-price b {
	font-size: 22px;
	color: #D93600;
}
#plan-try-yoyaku b span.plan-price-range {
	font-size: 12px;
	display: inline-block;
}

#yoyaku-plan-list {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
}

#yoyaku-plan-list .plan-card {
	width: 25%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	border: 1px solid #DDD;
	margin-right: -1px;
	padding: 10px;
	margin-bottom: -1px;
	display: flex;
	flex-direction: column;
}

#yoyaku-plan-list .plan-card a {
	text-decoration: none;
}

#yoyaku-plan-list .plan-photo {
	margin-bottom: 20px;
}

#yoyaku-plan-list .plan-photo img {
	width: 100%;
	height: auto;
	display: block;
}

#yoyaku-plan-list .plan-position {
	background: url(../images/category/_common/position.webp) 10px center no-repeat;
	padding-left: 25px;
	margin-bottom: 13px;
	font-weight: bold;
	background-size: 12px 18px;
	font-size: 16px;
	color: #666;
}

#yoyaku-plan-list .plan-tag-terms {
	display: flex;
}

#yoyaku-plan-list .plan-tag-terms>.plan-tag,
#yoyaku-plan-list .plan-tag-terms>.plan-terms {
	flex: 0 0 calc(50% - 10px);
	box-sizing: border-box;
	font-weight: bold;
	margin: 0 5px 10px;
	padding: 5px 2px;
	text-align: center;
	line-height: 1.4em;
	font-size: 12px;
	border-radius: 4px;
	letter-spacing: 0px;
}

#yoyaku-plan-list .plan-tag {
	color: #FFF;
	background-color: #F66;
	border: 2px solid #F66;
}

#yoyaku-plan-list .plan-terms {
	color: #666;
	border: 2px solid #666;
}

#yoyaku-plan-list .plan-name {
	font-size: 19px;
	line-height: 1.3em;
	font-weight: bold;
	padding: 0 10px 12px;
	flex-grow: 1;
	display: flex;
	align-items: center;
}

#yoyaku-plan-list .plan-name a {
	color: #333;
}

#yoyaku-plan-list .plan-price {
	color: #333;
	font-weight: bold;
	padding: 0 10px 20px;
}

#yoyaku-plan-list .plan-price b {
	font-size: 22px;
	color: #D93600;
}

#yoyaku-plan-list b span.plan-price-range {
	font-size: 12px;
	display: inline-block;
}


#faq {
	padding-top: 60px;
	padding-right: 0;
	padding-left: 0;
	background-color: #FFF;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #DDD;
	padding-bottom: 60px;
}
#faq-block {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 10px;
	padding-left: 10px;
}
#faq-block .faq-q {
	background-image: url(../images/category/_common/bg_faq_q.fw.webp);
	background-size: 40px 40px;
	padding-left: 55px;
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 20px;
}
#faq-block .faq-a {
	background-image: url(../images/category/_common/bg_faq_a.fw.webp);
	background-size: 40px 40px;
	padding-left: 55px;
	background-repeat: no-repeat;
	padding-top: 10px;
	padding-bottom: 25px;
	margin-bottom: 15px;
	margin-top: 15px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EEE;
	line-height: 20px;
}


/* プラン詳細ページ
-----------------------------------------------*/

#attention {
	display: inline-block;
	overflow: hidden;
	position: fixed;
	z-index: 900;
	background-color: rgba(255,0,0,0.8);
	top: 0px;
	width: 540px;
	padding: 20px;
	color: #FFF;
	left: 50%;
	-ms-transform: translate(-50%);
	-webkit-transform : translate(-50%);
	transform : translate(-50%);
	line-height: 22px;
}


/*　上部の料金部分　*/

#plan-header {
	position: relative;
	height: 190px;
	background-size: 100% 190px;
	color: #FFF;
	text-align: center;
	border-bottom: 10px solid #222;
	background-color: #000;
	background-image: url(../images/category/_common/plan-header_bg.webp);
	background-repeat: no-repeat;
}
#plan-header.reserve {
	height: 0;
}
#plan-header div {
	width: 100%;
}
#plan-header h1 {
	height: 170px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
	margin: 0px;
	padding: 0px;
	font-size: 30px;
	font-weight: 550;
}
#plan-header .page-tag {
	position: absolute;
	top: 28px;
	font-size: 20px;
	font-weight: bold;
}
#plan-header .page-title {
	position: absolute;
	top: 50px;
	font-size: 44px;
	font-weight: bold;
}
#plan-header .page-icon {
	position: absolute;
	top: 125px;
	z-index: 100;
}

#plan-price {
	padding-top: 40px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
#plan-price .contents{
	background: #222;
	color: #FFF;
}
#plan-price .plan-id {
	padding: 12px;
	background: #688EC9;
	text-align: center;
	color: #FFF;
	margin-bottom: 20px;
}
#plan-price .plan-description div {
	padding-top: 3px;
	padding-bottom: 3px;
}
#plan-price .plan-price-content {
	line-height: 21px;
}
#plan-price .col-lg-4/*, #plan-detail .col-lg-8*/ {
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #E1E1E1;
	display: table-cell;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 8px;
	padding-left: 20px;
}
#plan-price .col-lg-4 b {
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
}
#plan-price .col-lg-4:last-child {
	border: none;
}
#plan-price .title {
	padding: 12px;
	border: 1px solid #FFF;
	text-align: center;
	color: #FFF;
	margin-bottom: 20px;
}
#plan-price .title span {
	font-size: 12px;
}
#plan-price .plan-price-content [class*=col-lg-], #plan-price .plan-description [class*=col-lg-] {
	margin-bottom: 10px;
}
#plan-price .plan-price-content .price-delete {
	text-decoration: line-through;
}


/*お問い合わせ＆予約ボタン*/
#plan-price .plan-btn .col-lg-12 {
	margin-bottom: 18px;
	width: 100%;
}
#plan-price .plan-btn .col-lg-12:last-child {
	margin-bottom: 0;
}

#reserve-area {
	display: block;
	overflow: hidden;
	margin: 0 auto 40px;
	width: 800px;
}


#plan-detail {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
	width: 90%;
}

#plan-detail #photoBox {
}
#plan-detail #photoBox .col-lg-6 {
	display: block;
	position: relative;
	padding: 0px;
}


@keyframes slide1 {
	0% {opacity: 0;}
	10% {opacity: 1;}
	25% {opacity: 1;}
	35% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes slide2 {
	0% {opacity: 0;}
	25% {opacity: 0;}
	35% {opacity: 1;}
	50% {opacity: 1;}
	60% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes slide3 {
	0% {opacity: 0;}
	50% {opacity: 0;}
	60% {opacity: 1;}
	75% {opacity: 1;}
	85% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes slide4 {
	0% {opacity: 0;}
	75% {opacity: 0;}
	85% {opacity: 1;}
	100% {opacity: 1;}
}


#slide1,#slide2,#slide3,#slide4 {
	-webkit-animation-duration: 28s;	/*実行する時間。「s」は秒の事。*/
	animation-duration: 25s;			/*同上*/
	-webkit-animation-iteration-count:infinite;	/*実行する回数。「infinite」は無限に繰り返す意味。*/
	animation-iteration-count:infinite;			/*同上*/
	width: 100%;
}

#slide1 {
	-webkit-animation-name: slide1;		/*上で設定しているキーフレーム（keyframes）の名前*/
	animation-name: slide1;				/*同上*/
	position: relative;
	left: 0px;
	top: 0px;
	height: auto;
}

#slide2 {
	-webkit-animation-name: slide2;		/*上で設定しているキーフレーム（keyframes）の名前*/
	animation-name: slide2;				/*同上*/
	position: absolute;
	left:0px;
	top:0px;
	height: auto;
}

#slide3 {
	-webkit-animation-name: slide3;		/*上で設定しているキーフレーム（keyframes）の名前*/
	animation-name: slide3;				/*同上*/
	position: absolute;
	left:0px;
	top:0px;
	height: auto;
}

#slide4 {
	-webkit-animation-name: slide4;		/*上で設定しているキーフレーム（keyframes）の名前*/
	animation-name: slide4;				/*同上*/
	position: absolute;
	left:0px;
	top:0px;
	height: auto;
}

#plan-detail #plan-intro {
	background-color: rgba(255,255,255,0.8);
	position: relative;
}
@media only screen and (min-width: 480px) {
#plan-detail #plan-intro:before {
    content: "";
    display: block;
    padding-top: 100%; /* 1:1 */
}
#plan-detail #plan-intro .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%; /* calc(100% - 140px) */
	height: 100%;
	padding-right: 70px;
	padding-left: 70px;
}
}

#plan-detail #plan-title {
	font-size: 2.8vmax;
	text-align: center;
	font-weight: bold;
	padding-top: 60px;
	padding-bottom: 50px;
	line-height: 140%;
}
#plan-detail #plan-title2 {
	font-size: 2.2vmax;
	text-align: center;
	font-weight: bold;
	padding-top: 60px;
	padding-bottom: 50px;
	line-height: 140%;
}
#plan-detail #plan-subtitle {
	font-size: 1.45vmax;
	text-align: center;
	font-weight: bold;
	padding-bottom: 30px;
	line-height: 160%;
}
#plan-detail #plan-discription {
	padding-top: 35px;
	padding-bottom: 20px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #DDD;
	font-size: 1vmax;
	font-weight: bold;
	margin-right: auto;
	margin-left: auto;
}


#plan-detail #plan-point {
	padding-bottom: 40px;
	margin-right: auto;
	margin-left: auto;
}
#plan-detail .plan-point {
	padding-right: 0px;
	padding-left: 0px;
}
#plan-detail .plan-point .col-lg-3 {
	margin-bottom: 10px;
}
#plan-detail .plan-point .col-lg-3 img {
	margin-bottom: 10px;
	width: 100%;
}
#plan-detail .plan-point .col-lg-3 span {
	display: block;
}


/*基本情報*/
#plan-contents {
	margin-bottom: 20px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
#plan-contents .plan-info {
	background: #FFF;
	margin-bottom: 20px;
}
#plan-contents .plan-info .plan-info-title {
	padding: 20px 30px;
	background: linear-gradient(-130deg, #70FCB6, #68D2FB) fixed;
	font-size: 26px;
	color: #FFF;
}
#plan-contents .plan-info .plan-info-title span {
	font-size: 16px;
}
#plan-contents .plan-info .plan-info-content {
	border-bottom: 1px solid #DDD;
	margin-bottom: 0;
}
#plan-contents .plan-info .plan-info-content:last-child {
	border-bottom: none;
}
#plan-contents .plan-info .plan-info-content [class*=col-lg-] {
	padding: 20px;
}
#plan-contents .plan-info .plan-info-content .col-lg-4 {
	font-weight: bold;
}
#plan-contents .plan-info .plan-info-content .col-lg-8 {
	color: #555;
}
#plan-contents .plan-info .plan-info-content .cancel-text table td {
	padding: 10px;
	border: 1px solid #DDD;
}
#plan-contents .plan-info .facility .col-lg-4 {
	border-bottom: 1px solid #DDD;
	padding: 20px;
	font-weight: bold;
	background-color: #F5F5F5;
	line-height: 22px;
}
#plan-contents .plan-info .facility .col-lg-2 {
	border-bottom: 1px solid #DDD;
	padding: 20px;
	color: #444;
	line-height: 22px;
}
#plan-contents .note {
	padding-bottom: 20px;
}

/*アクセス情報*/
.access-info {
	padding-top: 25px;
	padding-bottom: 5px;
}
.access-info .access-info-addr {
	display: block;
	margin-bottom: 25px;
	font-size: 19px;
}
.access-info .access-info-addr span {
	font-size: 13px;
}
.access-info .access-info-addr b {
	font-size: 14px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #DDD;
	padding-top: 25px;
	display: block;
	margin-top: 25px;
	color: #C33;
}
.access-info .access-info-mapcode {
	border: 2px solid #72B584;
	text-align: center;
}
.access-info .access-info-mapcode-a {
	background: #72B584;
	color: #FFF;
	font-size: 22px;
	line-height: 1em;
	padding: 10px 0;
}
.access-info .access-info-mapcode-a small {
	font-size: 14px;
}
.access-info .access-info-mapcode-b {
	font-size: 24px;
	padding: 15px 0;
}
.access-info .access-info-comments {
	display: block;
}
.google-map {
	width: 100%;
	height: 530px;
}

.basic {
	background: #FFF;
	padding: 40px;
}
.terms {
	background: #FFF;
	padding: 40px;
	font-size: 15px;
}
.terms p {
	line-height: 28px;
}
.terms p span {
	display: block;
}

.company-info {
	background: #FFF;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
}
.company-info-item {
	margin: 0;
	border-bottom: 1px solid #DDD;
	font-weight: bold;
	font-size: 16px;
	padding: 0px;
}
.company-info-item:last-child {
	border-bottom: none;
}
.company-info-item [class*=col-]{
	padding: 40px;
}
.company-info-item .col-lg-9 {
	color: #666;
}


#contact-line {
	padding: 60px 0 60px;
	background: #72B584;
}
#contact-line .contact-line-info {
	padding: 60px;
	background: #FFF;
}
#contact-line .contact-line-info .contact-line-txt:last-child {
	margin-bottom: 0;
}
#contact-line .contact-line-info .contact-line-id {
	border: 2px solid #72B584;
	text-align: center;
	font-size: 24px;
}
#contact-line .contact-line-info .contact-line-id-a {
	background: #72B584;
	color: #FFF;
	padding: 15px 0;
}
#contact-line .contact-line-info .contact-line-id-b {
	padding: 15px 0;
}

#contact-form {
	padding: 60px 0 60px;
	background: #69BCE0;
}
#contact-form .contact-form-place {
	padding: 60px;
	background: #FFF;
}

#contact-form .contact-form-place .contact-form-table {
	width: 540px;
	margin-top: 30px;
	margin-right: auto;
	margin-bottom: 20;
	margin-left: auto;
}
#contact-form .contact-form-place .contact-form-item {
	padding: 20px 0;
	margin-bottom: 0;
	border-bottom: 1px solid #DDD;
}
.contact-txt {
	font-size: 20px;
	margin-bottom: 20px;
}
.contact-txt .hidden {
	display: none !important;
}

#reserve {
	background: #FFF;
	padding-top: 70px;
	padding-right: 0px;
	padding-bottom: 70px;
	padding-left: 0px;
}
.reserve-table {
	width: 600px;
	margin: 0 auto;
}
#reserve .cancel-on-reserve-page .col-lg-12 {
	display: flex;
    justify-content: center;
    align-items: center;
}
#reserve .cancel-on-reserve-page table td {
	padding: 10px;
	border: 1px solid #DDD;
    color: red;
    font-weight: bold;
    font-size: 20px;
}
#reserve .reserve-form {
	margin-bottom: 60px;
}
#reserve .reserve-form p {
	padding-top: 20px;
	padding-right: 10px;
	padding-left: 10px;
	font-weight: bold;
}
#reserve .reserve-form-item {
	padding: 20px 0;
	margin-bottom: 0;
	border-bottom: 1px solid #DDD;
	font-size: 20px;
}
#reserve .reserve-form-item.special-item {
	padding: 10px 0;
}
#reserve .reserve-form-item .th {
	font-weight: bold;
}
#reserve .reserve-form-item .th.profile {
	margin-bottom: 10px;
}
#reserve .reserve-form-item.th-gray {
	background: #EEE;
}
#reserve .reserve-form-item .pd15 {
	padding: 15px 10px;
}
#reserve .reserve-form-item .pd10 {
	padding-bottom: 10px;
}

#reserve .reserve-form-item .form-number {
	font-size: 40px;
	font-weight: bold;
}
#reserve .reserve-form-item #special-bikou {
	font-weight: bold;
	color: #EB3664;
	line-height: 1.8;
	padding-top: 8px;
	padding-bottom: 5px;
	font-size: 85%;
}
#reserve .thanks {
	padding-bottom: 130px;
	padding-top: 50px;
	text-align: center;
}
#middle-num {
	display: none;
}
#infant-num {
	display: none;
}

.grayscale{
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    filter: gray;
}
.h-title {
	font-size: 34px;
	text-align: center;
	padding-bottom: 60px;
	font-weight: bold;
}

/* Mypage
-------------------------------------------- */
.mypage-inner-block {
	width: 600px;
	margin: 0 auto;
}
.mypage-info-table {
	width: 100%;
	margin: 0 auto 40px;
}

.mypage-info-table th,
.mypage-info-table td {
	padding: 6px 12px;
	border: 1px solid #9B9B9B;
}

.mypage-info-table th {
	width: 33%;
	background: #F1F1F1;
}
.mypage-category-list {
	margin-bottom: 40px;
}
.mypage-category-list-item {
	border: 1px solid #999;
	margin: -1px 0 0 -1px;
}
.mypage-category-list-item a {
	display: block;
	color: #000;
	text-decoration: none;
	overflow: hidden;
}
.mypage-category-list-item a:hover,
.mypage-category-list-item a:active {
	background: #F5F5F5;
}
.mypage-category-list-item span {
	display: inline-block;
}
.mypage-category-list-item span.img {
	width: 22%;
}
.mypage-category-list-item span.img img {
	max-width: 100%;
	max-height: 100%;
}
.mypage-category-list-item span.tit {
	box-sizing: border-box;
	width: 78%;
	padding-left: 10px;
	font-size: 13px;
}

.mypage-function-list {
	margin-bottom: 40px;
}
.mypage-function-list-item {
	border: 1px solid #999;
	margin: -1px 0 0 -1px;
}
.mypage-function-list-item a {
	display: block;
	padding: 20px 0;
	text-align: center;
	color: #000;
	font-size: 16px;
	text-decoration: none;
}
.mypage-function-list-item a small {
	color: #848484;
	font-size: 11px;
}
.mypage-function-list-item a:hover,
.mypage-function-list-item a:active {
	background: #F5F5F5;
}

.mypage-reserves-list {
	margin-bottom: 40px;
}
.mypage-reserves-list .col-lg-6 {
	padding-bottom: 20px;
}
.mypage-reserves-list-item {
	position: relative;
	padding: 20px;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	background: #F0F0F0;
	margin-bottom: 20px;
}
.mypage-reserves-list-item::after {
	content: '';
	display: block;
	clear: both;
}
.mypage-reserve .reserve-detail {
	text-decoration: none;
	color: inherit;
}
.mypage-reserve span {
	display: block;
}
.mypage-reserve span.status {
	box-sizing: border-box;
	width: 120px;
	height: 20px;
	padding: 4px;
	margin-bottom: 15px;
	text-align: center;
	color: #FFF;
	font-size: 12px;
	line-height: 12px;
}
.mypage-reserve span.status.request {
	background: #D2B417;
}
.mypage-reserve span.status.confirm {
	background: #119736;
}
.mypage-reserve span.status.cancel {
	background: #979797;
}
.mypage-reserve span.reserveid {
	position: absolute;
	top: 22px;
	right: 20px;
	font-size: 12px;
}
.mypage-reserve span.shopname {
	color: #797979;
	font-size: 12px;
}
.mypage-reserve span.planname {
	margin-bottom: 10px;
	font-size: 16px;
}
.mypage-reserve span.planimage {
	float: left;
	width: calc(40% - 5px);
	margin-right: 5px;
}
.mypage-reserve .reserveinfo {
	float: left;
	width: 60%;
	margin-bottom: 14px;
}
.mypage-reserve .reserveinfo th,
.mypage-reserve .reserveinfo td {
	padding: 5px;
	font-size: 12px;
}
.mypage-reserve .reserveinfo th {
	width: 35%;
	vertical-align: text-top;
	text-align: left;
	font-weight: normal;
	color: #5B360A;
}
.mypage-reserve .reserveinfo td {
	width: 65%;
}

.mypage-reserve .meet-place{
	width: 100%;
	clear: both;
}

.mypage-reserve .mapcode{
	border: 2px solid #ADADAD;
	text-align: center;
	color: #000000;
	font-size: 12px;
	font-weight: 400;
	padding: 8px 0;
	word-wrap: break-word;
}
.mypage-reserve .icon-map{
	margin: 20px 0 16px;
}
.mypage-reserve .meet-place .text{
	background: #FFFFFF;
	font-size: 11px;
}
.mypage-reserve .meet-place .text span{
	display: block;
	background: #DA4835;
	line-height: 40px;
	text-align: center;
	font-size: 14px;
	color: #FFFFFF;
}
.mypage-reserve .meet-place .text ul{
	padding: 16px 14px 16px 26px;
}
.mypage-reserve .meet-place .text li{
	list-style-type: disc;
	line-height: 180%;
}
.mypage-reserve-plan,
.mypage-reserve-confirmation,
.mypage-reserve-shop{
	margin-bottom: 40px;
	padding-bottom: 20px;
}
.confirlist{
	padding-bottom: 0px;
	margin-bottom: 20px;
}
.mypage-reserve-shop .text{
	margin-top: 20px;
}
.mypage-reserve .reserveinfo-all{
	float: none;
	width: 100%;
}
.mypage-reserve .reserveinfo-all th{
	width:25%;
}
.mypage-reserve .reserveinfo-all td{
	width:75%;
}
.mypage-reserve .reserveinfo-all td table{
	width: 100%;
}
.mypage-reserve .reserveinfo-all td table td{
	width: 33%;
	line-height: 160%;
}
.mypage-reserve-info .status{
	float: left;
}
.icon-help{
	float: left;
	margin-left: 10px;
}
.status-block {
	display: inline-block;
	position: relative;
}
.status-block::after {
	content: '';
	display: block;
	clear: both;
}
.status-block-text {
	box-sizing: border-box;
	position: absolute;
	top: -100px;
	left: 120px;
	width: 300px;
	height: 100px;
	padding: 8px;
	border: 1px solid #000;
	background: #F8F7E9;
}

.message-list {
	margin-bottom: 40px;
}
.message-list::after {
	content: '';
	display: block;
	clear: both;
}
.message-list-item {
	box-sizing: border-box;
	width: 100%;
}
.message-list-item.detail {
	width: 500px;
}
.message-list-item .mname{
	color: #797979;
	width: 75%;
	height: 20px;
	overflow: hidden;
	font-size: 12px;
	float: left;
}
.message-list-item .mtime{
	font-size: 11px;
	float: right;
}

.message-list-item .minfo,.message-list-item .minfos{
	clear: both;
	font-size: 16px;
	padding-top: 10px;
	line-height: 160%;
}
.message-list-item .minfo{
	/* height: 20px; */
	overflow: hidden;
	line-height: normal;
}
.message-list-item .minfo a{
	color: #117797;
}
.message-list-item.fr{
	background: #FAF8EE;
}

.mypage-reserve .reserve-form{
	box-sizing: border-box;
	position: relative;
	padding: 20px;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	background: #FAF8EE;
	margin-top: 10px;
}
.mypage-reserve .reserve-form::after {
	content: '';
	display: block;
	clear: both;
}
.back{
	background: url("../images/reserve/back.webp") no-repeat;
	padding-left: 26px;
	color: #117797;
	font-size: 16px;
	font-weight: bold;
	line-height: 16px;
	display: block;
	margin-bottom: 20px;
}
.back a{
	color: #117797;
}


/* Pagination
-------------------------------------------- */
#pagination {
	width: 100%;
	margin-bottom: 40px;
}
.pagination {
	margin: 0 auto;
	width: max-content;
}
.pagination li {
	display: inline-block;
	margin-right: 12px;
	cursor: pointer;
	background: #FFF;
	border: 1px solid #ddd;
	color: #337ab7;
	font-size: 16px;
}
.pagination li a,
.pagination li a:hover,
.pagination li span {
	padding: 15px 20px;
	display: block;
	color: #337ab7;
	text-decoration: none;
}
.pagination li.active a,
.pagination li.active a:hover,
.pagination li.active span {
	color: #FFF;
	background-color: #337ab7;
	border-color: #337ab7;
}

/* Forms
-------------------------------------------- */
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
input[type=date],
textarea,
select {
	/* display: inline-block; */
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 13px;
	border: 2px solid #666;
	background: #FFF;
}
textarea {
	min-height: 300px;
	resize: vertical;
}
.textalert{
	font-weight: bold;
	color: #E33;
}

/* Error
-------------------------------------------- */
.error {
	padding-top: 20px;
	padding-bottom: 40px;
	padding-right: 10px;
	padding-left: 10px;
}

/* Lang Switch
-------------------------------------------- */
#lang-switch {
	position: absolute;
	left: 50%;
	top: 30px;
	line-height: 20px;
	transform: translateX(-50%);
	z-index: 100;
}

.language-switcher {
	position: relative;
	display: inline-block;
}

.current-lang {
	box-sizing: border-box;
	height: 40px;
	background-color: #fff;
	color: #333;
	border: 2px solid #3496E7;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 14px;
	cursor: pointer;
}

.current-lang:hover {
	background-color: #3496E7;
	color: #fff;
	border-color: #3496E7;
}

.current-lang .arrow {
	vertical-align: middle;
	font-size: 18px;
}


.dropdown-menu {
	position: absolute;
	top: 100%;
	right: 0;
	background-color: #fff;
	border: 1px solid #3496E7;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	margin-top: 8px;
	z-index: 1000;
	min-width: 100px;
}

.lang-option {
	display: block;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	padding: 8px 16px;
	font-size: 14px;
	transition: background-color 0.3s, color 0.3s;
	border-bottom: 1px solid #eee;
}

.lang-option:last-child {
	border-bottom: none;
}

.lang-option:hover {
	background-color: #3496E7;
	color: #fff;
}

/* Vspopup
-------------------------------------------- */
.vs-popup--content {
	height: 100%;
}

/* 予約フォーム */
.final-price-notice {
    text-align: center;
    color: #666;
    font-size: 14px;
    line-height: 1.5;
}

.final-price-notice::before {
    content: "※ ";
    color: #ff6b6b;
    font-weight: bold;
}

.final-price-notice::after {
    content: " ※";
    color: #ff6b6b;
    font-weight: bold;
}

#reserve .gather-time-block p{
    text-align: center;
    color:red;
    font-size: 18px;
    padding-top:0px;
}
