@charset "utf-8";

.am-ec__period-date {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
}
.am-ec__period-date__month {
	font-size: 20px !important;
	line-height: 1 !important;
	font-weight: 500 !important;
}
.am-ec__period-date__day::after {
	content: "日";
}
.el-dialog__header {
	height: auto !important;
}
.amelia-v2-booking #amelia-container .am-eli__description-btn {
	text-decoration: underline !important;
	font-weight: bold !important;
}

@media only screen and (max-width: 850px) {
	.am-ec {
		--am-fs-ec-title: 26px !important;
	}
	.amelia-v2-booking #amelia-container .am-ec__info-availability,
	.amelia-v2-booking #amelia-container .am-ec__info-capacity__number,
	.amelia-v2-booking #amelia-container .am-ec__info-capacity__text {
		font-size: 24px !important;
	}
	.am-button {
		font-size: 24px !important;
	}
	.am-ec__period-date {
		font-size: 20px !important;
	}
	.am-ec__period-date__month {
		font-size: 20px !important;
		font-weight: 500 !important;
	}
	.am-ec__period-date__day {
		font-size: 20px !important;
		font-weight: 500 !important;
	}
	.am-ec__period-time {
		font-size: 18px !important;
	}
	.amelia-v2-booking #amelia-container .am-ec__period {
		padding-top: 8px !important;
	}
	.amelia-v2-booking #amelia-container .am-ec__period-date__day {
		margin-right: 0 !important;
	}
	.amelia-v2-booking #amelia-container .am-ec__period-date__month {
		line-height: 1 !important;
	}
	.amelia-v2-booking #amelia-container .am-eli .am-eli__main .el-tabs__item {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-eli .am-eli__timetable-title {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-eli .am-eli__timetable-main>* {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-eli__description-title {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-eli__description-text {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-el__header-inner {
		height: auto !important;
	}
	.amelia-v2-booking #amelia-container .am-el__header-inner__title {
		font-size: 26px !important;
	}
	.amelia-v2-booking #amelia-container .am-elfci__form .am-elfci__item {
		width: 100% !important;
	}
	.amelia-v2-booking #amelia-container .el-form-item__label, #amelia-app-backend-new #amelia-container .el-form-item__label {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-input-wrapper .am-input .el-input__inner {
		font-size: 24px !important;
		line-height: 1.5 !important;
	}
	.amelia-v2-booking #amelia-container .am-input-wrapper .am-input .el-input__wrapper {
		height: 60px !important;
	}
	.amelia-v2-booking #amelia-container .am-button {
		height: 50px !important;
	}
	.amelia-v2-booking #amelia-container .am-el__header-inner .am-heading-prev {
		height: 24px !important;
	}
	.amelia-v2-booking #amelia-container .m-phone-number-input {
		height: 60px !important;
	}
	.amelia-v2-booking #amelia-container .m-phone-number-input__country-flag {
		bottom: 24px !important;
	}
	.amelia-v2-booking #amelia-container .m-phone-number-input__input .m-input-wrapper-input input {
		font-size: 24px !important;
		padding-top: 30px !important;
	}
	.amelia-v2-booking #amelia-container .m-phone-number-input__input .m-input-wrapper-input label {
		font-size: 18px !important;
	}
	.amelia-v2-booking #amelia-container .el-form-item__error, #amelia-app-backend-new #amelia-container .el-form-item__error {
		font-size: 20px !important;
		padding-top: 10px !important;
	}
	.amelia-v2-booking #amelia-container .el-form-item, #amelia-app-backend-new #amelia-container .el-form-item {
		margin-bottom: 40px !important;
	}
	.amelia-v2-booking #amelia-container .am-payments__heading {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-pei__segment-info span {
		font-size: 20px !important;
	}
	.amelia-v2-booking #amelia-container .am-pei__segment-sub p {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-pei__info-total, .amelia-v2-booking #amelia-container .am-pei__info-deposit, .amelia-v2-booking #amelia-container .am-pei__info-remaining {
		font-size: 26px !important;
	}
	.amelia-v2-booking #amelia-container .am-pei__segment-sub {
		gap: 0 20px;
	}
	.amelia-v2-booking #amelia-container .am-pei__segment-open .am-pei__segment-sub {
		padding-top: 15px !important;
		margin-top: 15px !important;
	}
	.amelia-v2-booking #amelia-container .am-payments__sentence p {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-congrats__main-heading {
		font-size: 26px !important;
		line-height: 1.5 !important;
		margin-bottom: 10px !important;
	}
	.amelia-v2-booking #amelia-container .am-congrats__info-title {
		font-size: 26px !important;
	}
	.am-congrats__info-item__label {
		font-size: 24px !important;
	}
	.am-congrats__info-item__value {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-atc-event>p {
		font-size: 24px !important;
	}
	.amelia-v2-booking #amelia-container .am-atc-event-cals-card p {
		font-size: 20px !important;
	}
	.amelia-v2-booking #amelia-container .am-ec {
		margin-bottom: 30px !important;
	}
}

/* ────────────────────── *
 *                                              *
 * 基本設定                                     *
 *                                              *
 * ────────────────────── */
@font-face {
    font-family: 'Source Han Serif Medium';
    font-style: normal;
    font-weight: 400;
	src: url("SourceHanSerifJP-Medium.eot?")  format('eot'),
	   url("SourceHanSerifJP-Medium.woff2") format('woff2'),
	   url("SourceHanSerifJP-Medium.woff")  format('woff'),
	   url("SourceHanSerifJP-Medium.otf")   format('opentype');
}
body {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
h1{
	background: #1491e1;
	font-size: 11px;
	color: #fff;
	padding: 5px;
	line-height: 1.4;
}
header.header {
	min-width: 680px;
	position: relative;
	height: 120px;
	display: flex;
	justify-content: space-between;
}
header.header #header-r{
	padding-top: 18px;
	display: flex;
	gap: 10px;
}
header.header .h-contact a{
	border-radius: 15px;
	border: 1px solid #0093d2;
	display: block;
	color: #0093d2;
	font-size: 22px;
	text-align: center;
	padding: 0 30px;
	line-height: 3.7;
	box-sizing: border-box;
}
header.header .h-contact a:hover{
	border-radius: 15px;
	border: 1px solid #0093d2;
	color: #fff;
	background: #0093d2;
}
header.header p#btn-menu {
	display: block;
	width: 80px;
	height: 80px;
	background: #fff;
	border: 1px solid #635d54;
	border-radius: 15px;
	top: 18px;
	right: 25px;
}
ul#nav{
	width: 100%;
	padding-top: 0;
	position: absolute;
	right: 0;
	top: 120px;
	display: none;
	z-index: 9999;
}
ul#nav li{
	width: 100%;
	box-sizing: border-box;
	background: url(../image/common/menu-arrow.png) no-repeat 97% center #231815;
	background-size: 12px 12px;
	display: inline-block;
	position: relative;
	font-size: 30px;
	margin-left: 0px;
	padding: 0;
	height: auto;
	clear: both;
	border-bottom: 1px solid #555;
	text-align: left;
}
ul#nav li:nth-child(even){
	border-right: none;
}
ul#nav li a{
	color: #fff;
	padding: 35px 0 35px 30px;
	display: block;
}
ul#nav li a span{
	border-left: none;
}
ul#nav li:last-child a span{
	border-right: none;
}

#menuButton {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 0;
  width: 80px;
  height: 80px;
  cursor: pointer;
}

#menuButton span,
#menuButton::before,
#menuButton::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left:0;
  right: 0;
  width: 60px;
  height: 6px;
  margin: auto;
  background: #635d54;
}
#menuButton span {
  overflow: hidden;
  z-index: 1;
  color: #000;
}
#menuButton::before {
  z-index: 2;
  transform: translate(0, -20px);
  -webkit-transform: translate(0, -20px);
  content: "";
}
#menuButton::after {
  z-index: 2;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  content: "";
}
#menuButton span {
  opacity: 1;
  transition: opacity 150ms 50ms;
  -webkit-transition: opacity 150ms 50ms;
}
#menuButton::before,
#menuButton::after {
  transition: transform 200ms;
  -webkit-transition: transform 200ms;
}
#menuButton.active span {
  opacity: 0;
  transition: opacity 150ms;
  -webkit-transition: opacity 150ms;
}
#menuButton.active::before {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#menuButton.active::after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.caution {
	text-align: center;
	padding: 10px 20px;
	background: #264687;
	color: #fff;
}
.caution p {
	line-height:1.5;
	font-size: 28px;
}

.bg-blue{
	background: url(../image/common/bg-blue.png) ;
	padding: 30px 0;
}
.btn-g a{
	width: 470px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	font-size: 26px;
	border-radius: 15px;
	margin: 0 auto;
	padding: 25px 15px;
	color: #fff;
	background: url(../image/common/btn-arrow.png) no-repeat 55px center #3aa48f;
}
.btn-bk a{
	width: 470px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	font-size: 26px;
	border-radius: 15px;
	margin: 0 auto;
	padding: 25px 15px;
	color: #fff;
	background: url(../image/common/btn-arrow.png) no-repeat 55px center #888;
}
/*  お問い合わせ
-------------------------------------------------------*/
.contact{
	width: 740px;
	box-sizing: border-box;
	padding: 40px 40px 0;
	margin: 0 auto 25px;
	background: url(../image/pic-contact.jpg) no-repeat right bottom #fff;
}
.contact dl{
	padding-bottom: 20px;
}
.contact dt{
	font-size: 32px;
	margin-bottom: 20px;
	line-height: 1.5;
    font-family: "YuMincho","Yu Mincho",'Source Han Serif Medium',"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.contact dt span{
	font-size: 44px;
	display: block;
	margin-left: -20px;
}
.contact dd {
	display: flex;
	gap: 0 20px;
}
.contact dd.full {
	display: block;
	margin-top: 20px;
}
.contact dd a{
	width: 240px;
	margin: 0;
	padding-left: 20px;
	background-position: 30px center;
}
.contact dd.full a{
	width: 500px;
}

#submenu{
	font-size: 0;
	width: 740px;
	margin: 0 auto 25px;
	display: flex;
	justify-content: space-between;
}
#submenu li{
	font-size: 22px;
	text-align: center;
	background: #fff;
	padding-bottom: 20px;
}
#submenu li a{
	color: #000;
	display: block;
	padding: 20px 30px;
	box-sizing: border-box;
}
#submenu li:nth-child(4) a,
#submenu li:nth-child(5) a,
#submenu li:nth-child(6) a{
	padding: 0;
}
#submenu li a img.z-img{
	width: 170px;
}
#submenu li:last-of-type{
	margin-right: 0px;
}
#sns {
	font-size: 0;
	width: 740px;
	margin: 0 auto 25px;
	display: flex;
	justify-content: space-between;
}
#sns li {
	width: 166px;
	background: #fff;
	overflow: hidden;
}
#sns li a{
	display: block;
	z-index: 5555;
	position: relative;
}
#sns li:last-of-type {
	display: block;
	z-index: 0;
}
.f-about{
	width: 740px;
	margin: 0 auto;
	color: #fff;
	font-size: 17px;
	line-height: 1.7;
}

footer{
	background: url(../image/common/bg-footer.jpg) no-repeat center center / cover;
	background-attachment: fixed;
	padding: 30px 0;
}
footer ul{
	background: #fff;
	width: 740px;
	margin: 0 auto 30px;
	padding: 15px;
	box-sizing: border-box;
	font-size: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
}
footer ul li{
	margin-right: 15px;
	font-size: 18px;
	vertical-align: top;
	line-height: 1.6;
}
footer ul li:last-child{
	margin-right: 0px;
	padding-top: 15px;
}
footer #copy{
	text-align: center;
	color: #fff;
	font-size: 13px;
}
@media only screen and (min-width: 0px) and (max-width: 850px) {
#mainvisual,
footer{
	background-attachment: scroll!important;
	background-size: cover;
}
}

