@charset "utf-8";

img {
	-webkit-backface-visibility: hidden;
}
main {
    display: block;
}
.fax a{
	pointer-events: none;
    text-decoration: none;
}
.wpcf7-list-item {
	display: inline-block;
	white-space: nowrap;
}
/* -------------------------------------
  カレンダー修正・最終安定版
-------------------------------------- */
.multiple-calendar .schedule-note {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    display: block !important;
    line-height: 1.3;
}


/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
#kengaku {
	width:1100px;
	margin-left:auto;
	margin-right:auto;
}
h3.calendar-title {
	font-size: 32px;
	padding-top: 70px;
	color: #595857;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 45px;
	border-bottom: 2px solid #000;
	padding-bottom: 15px;
}
.alpha {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 80px;
}
.alpha h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
	text-align: center;
}
.alpha h5 {
	font-weight: bold;
}
.alpha h5+p {
	margin-bottom: 40px;
}
.alpha h5+p+p {
	margin-bottom: 20px;
}
.calendar-caption {
	padding-bottom: 8px;
}
.monthly-calendar table {
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 1px solid #000;
}
.monthly-calendar table thead th {
	background-color: #F1BB3E;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	height: 58px;
}
.multiple-calendar table {
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 1px solid #000;
}
.multiple-calendar table thead th {
	background-color: #F1BB3E;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	height: 58px;
}
.week-row td {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	padding-top: 15px;
	padding-bottom: 15px;
}
.week-row td a {
	color: #000;
}
.sat .day-number,
.sat .calendar-daylink,
.week-title.sat
{
	color: #0067B1!important;
}
.sun .day-number,
.sun .calendar-daylink,
.week-title.sun
{
	color: #D02D26!important;
}
.monthly-prev a,
.monthly-next a {
	color: #000;
	padding-top: 10px;
	display: block;
}
.schedule-note {
padding-bottom: 10px;
}





.mtssb-timetable-link {
	margin-left: auto;
    margin-right: auto;
}
.monthly-calendar.day-calendar table {
	border-left: 0px solid #000;
	border-top: 0px solid #000;
	border-right: 0px solid #000;
}
.monthly-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-name {
	display: none;
}
.monthly-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-date {
	font-size: 32px;
	padding-top: 70px;
	color: #595857;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 45px;
	border-bottom: 2px solid #000;
	padding-bottom: 15px;
}
.monthly-calendar.day-calendar .mtssb-timetable-link tr .day-right .calendar-mark.vacant .booking-timelink {
	color: #000;
}
.monthly-calendar.day-calendar .mtssb-daily-action button {
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 80px;
	height: 70px;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 240px;
	cursor: pointer;
}
.monthly-calendar.day-calendar .mtssb-timetable-link tr th,
.monthly-calendar.day-calendar .mtssb-timetable-link tr td
{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 21px;
}
.multiple-calendar.day-calendar table {
	border-left: 0px solid #000;
	border-top: 0px solid #000;
	border-right: 0px solid #000;
}
.multiple-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-name {
	display: none;
}
.multiple-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-date {
	font-size: 32px;
	padding-top: 70px;
	color: #595857;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 45px;
	border-bottom: 2px solid #000;
	padding-bottom: 15px;
}
.multiple-calendar.day-calendar .mtssb-timetable-link tr .day-right .calendar-mark.vacant .booking-timelink {
	color: #000;
}
.multiple-calendar.day-calendar .mtssb-daily-action button {
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 80px;
	height: 70px;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 240px;
	cursor: pointer;
}
.multiple-calendar.day-calendar .mtssb-timetable-link tr th,
.multiple-calendar.day-calendar .mtssb-timetable-link tr td
{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 21px;
}






.content-form th {
	background-color: #F6D32B;
	text-align: left;
}
.content-form #booking-reservation-fieldset {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
}
.content-form table {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr th {
	vertical-align: middle;
	padding-left: 15px;
}
.content-form #booking_client-fieldset,
.content-form #booking-option-fieldset,
.content-form #booking-message-fieldset
{
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	margin-top: -5px!important;
}
.content-form  th {
	vertical-align: middle;
	padding-left: 15px;
	border: none!important;
}
.content-form  tr {
	padding: 0px!important;
	margin: 0px!important;
	border-bottom: none;
}
.content-form  th {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	vertical-align: middle;
	padding-left: 15px!important;
}
.content-form td {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	text-align: left;
	padding-left: 15px!important;
	border: 1px solid #ccc;
	padding-top: 10px!important;
	padding-bottom: 10px!important;
}
#booking-form form table tr td {
	border: none;
	text-align: left;
	padding-left: 15px;
	border: 1px solid #ccc;
	padding-top: 10px;
	padding-bottom: 10px;
}
#booking-form form table tr td select {
	border: 1px solid #ddd;
}
#booking-form form #booking-message-fieldset legend {
	display: none;
}
.content-form td input[type="text"] {
	border: 1px solid #ccc;
}
#booking-form form #action-button button {
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 70px;
	height: 70px;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 240px;
	cursor: pointer;
}
.check-questionnaire {
	width: 45%;
	display: inline-block;
}
.option-note.questionnaire {
	width: 100%;
	display: block;
}

.info-message.booking-completed {
	height: 40vh;
	padding-top: 150px;
	font-size: 20px;
}



/*
ご予約確認画面
*/
.content-form {
	margin-top: 80px;
}
.content-form th {
	background-color: #F6D32B;
	text-align: left;
}
.content-form #booking-reservation-fieldset {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
}
.content-form table {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr th {
	vertical-align: middle;
	padding-left: 15px;
}
.content-form #booking_client-fieldset,
.content-form #booking-option-fieldset,
.content-form #booking-message-fieldset
{
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	margin-top: -5px!important;
}
.content-form  th {
	vertical-align: middle;
	padding-left: 15px;
	border: none!important;
}
.content-form  tr {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form  th {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	vertical-align: middle;
	padding-left: 15px!important;
}
.content-form  legend+p {
	display: none;
}

.content-form td {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	text-align: left;
	padding-left: 15px!important;
	border: 1px solid #ccc;
	padding-top: 10px!important;
	padding-bottom: 10px!important;
}
.content-form td input[type="text"] {
	border: 1px solid #ccc;
	padding-left: 10px;
	height: 35px;
}
.content-form .subscription.button {
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 50px;
	height: 70px;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 240px;
	cursor: pointer;
}

#subscription-cancel-button {
	height: 50px!important;
	line-height: 40px!important;
	border-radius: 5px;
	margin-top: 0px;
	font-size: 20px;
	margin: 10px;
}
.subscription-header {
	height: 70px!important;
	line-height: 70px!important;
}
#kengaku legend {
	font-size: 20px;
	margin-bottom: 10px;
}
.content-form #booking_client-fieldset {
	margin-top: 50px!important;
}



.sp {
	display: none;
}
img {
	width: 100%;
	height: auto;
}
a img {
  transition: 0.5s;
}
a img:hover {
  opacity: 0.6;
}
header {
	position: fixed;
	height: 100px;         /* 100px */
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	z-index: 99999;
}
header .inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
	min-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	height: 100px;         /* 100px */
	align-items: center;
}

/* 274px */
header h1,
header .logo {
	width: 274px;         /* 274px */
	padding-left: 20px;
}

header .inner nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .inner div {
	text-align: right;
}

header .inner div p a {
	font-size: 16px;     /* 16px */
	color: #003850;
	text-decoration: none;
	display: block;
	margin-bottom: 15px; /* 15px */
	margin-right: 20px;  /* 20px */
}
header .inner div p a:hover {
	color: #F1BB3E;
}

header .inner div ul {
	display: flex;
}

header .inner div ul li a {
	font-size: 16px;      /* 16px */
	color: #003850;
	text-decoration: none;
	display: block;
	padding-left: 18px;   /* 18px */
	padding-right: 18px;  /* 18px */
	border-left: 1px solid #003850; /* 1px */
	height: 14px;         /* 14px */
	line-height: 12px;    /* 12px */
}
header .inner div ul li a:hover {
	color: #F1BB3E;
}

header .inner div ul li:last-child a {
	border-right: 1px solid #003850; /* 1px */
	margin-right: 20px;   /* 20px */
}

/* 黄色 / 濃紺のボタン部分 */
header .inner div+ul {
	display: flex;
}

header .inner div+ul li a {
	display: block;
	background-color: #F1BB3E;
	height: 100px;          /* 100px */
	width: 180px;          /* 180px */
	text-align: center;
	line-height: 100px;     /* 100px */
	color: #003850;
	text-decoration: none;
	font-size: 16px;       /* 16px */
	transition: 0.3s;
}
header .inner div+ul li a:hover {
	opacity: 0.7;
	transition: 0.3s;
}

header .inner div+ul li:last-child a {
	background-color: #003951;
	color: #fff;
}





main {
	padding-top: 100px;
}
.r_btn a {
	display: block;
	width: 1088px;
	margin-left: auto;
	margin-right: auto;
	background-color: #F1BB3E;
	height: 100px;
	border: 6px solid #003752;
	margin-top: 90px;
	transition: 0.3s;
}
.r_btn a img {
	position: relative;
	top: 28px;
}
.r_btn a:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.r_btn a img:hover {
	opacity: 1;
}





/* =========================
   タイトル帯
========================= */
h1.ttl {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/index/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom 15px; /* 15px */
	background-size: 100% 15px;              /* 高さ10px */
}

h2.ttl {
	width: 80.52vw;              /* 1100px */
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/index/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom 1.098vw; /* 15px */
	background-size: 100% 0.732vw;              /* 高さ10px */
}

h2.ttl img {
	width: 63.71vw;              /* 870px */
}

h2.ttl2 {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/index/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom 15px; /* 15px */
	background-size: 100% 15px;              /* 高さ10px */
}

.ttl3 {
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/course/ttl_bg2.png");
	background-repeat: no-repeat;
	background-position: center bottom 8px; /* 15px */
	background-size: 100% 15px;              /* 高さ10px */
}


/* =========================
   FOOTER
========================= */

footer {
	background-color: #E8EDEF;
	padding-top: 3.66vw;         /* 50px */
	margin-top: 7.32vw;          /* 100px */
}

/* SNSリンク */
footer .sns {
	display: flex;
	justify-content: space-between;
	width: 38.86vw;              /* 531px */
	margin-left: auto;
	margin-right: auto;
	align-items: center;
}

footer .sns li {
	width: 4.61vw;               /* 63px */
}

/* フッター内コンテンツ */
footer .inner {
	width: 84.22vw;              /* 1150px */
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 3.66vw;          /* 50px */
	margin-bottom: 2.197vw;      /* 30px */
}

footer .inner div {
	width: 29.66vw;              /* 405px */
}

footer .inner h2 {
	width: 29.66vw;              /* 405px */
}

footer .inner h2+p {
	font-size: 0.879vw;          /* 12px */
	position: relative;
	left: 3.66vw;                /* 50px */
	top: -1.098vw;               /* -15px */
}

/* メニュー */
footer .inner nav ul {
	display: flex;
}

footer .inner nav ul li a {
	color: #003850;
	text-decoration: none;
	padding-left: 1.465vw;       /* 20px */
	padding-right: 1.465vw;      /* 20px */
	font-size: 1.171vw;          /* 16px */
	border-left: 1px solid #003850;  /* 1pxは px 固定のままが綺麗 */
	line-height: 0.879vw;        /* 12px */
	height: 1.024vw;             /* 14px */
	display: block;
}
footer .inner nav ul li:last-child a {
	border-right: 1px solid #003850; 
}
footer .inner nav ul li a:hover {
	color: #F1BB3E;
}

/* コピーライト帯 */
footer p small {
	font-size: 1.024vw;          /* 14px */
	color: #fff;
	background-color: #003850;
	display: block;
	font-weight: normal;
	padding-top: 0.366vw;        /* 5px */
	padding-bottom: 0.366vw;     /* 5px */
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
img {
	max-width: 100%;
	height: auto;
	width: auto;
}
.pc {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
header {
	height: 26vw;              /* 100px */
	background-color: #fff;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 99999;
	border-bottom: 2px solid #003850;   /* 2px */
}

header h1,
header .logo {
	width: 70vw;               /* 274px */
	padding-top: 3.428vw;          /* 12px */
	padding-left: 3.428vw;         /* 12px */
}

header .inner {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	justify-content: space-between;
	-webkit-justify-content: space-between;
    -ms-flex-pack: justify;
}

#gnavbtn {
	width: 12.285vw;               /* 43px */
	position: relative;
	right: 4vw;                /* 10px */
	top: 10vw;                     /* 35px */
}

#gnav {
	position: absolute;
	z-index: 1;
	display: none;
	width: 100%;
	background-color: #003951;
	height: 100vh;
}
#gnav ul:first-child li:first-child a {
	padding-top: 7vw;
}
#gnav ul:first-child li a {
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 5vw;
	height: 12vw;
	line-height: 12vw;
	width: 70%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
#gnav ul:first-child li a:hover {
	color: #F1BB3E;
	text-decoration: underline;
}
#gnav ul:last-child {
	margin-top: 15vw;
}
#gnav ul:last-child li a {
	display: block;
	background-color: #F1BB3E;
	width: 86%;
	height: 15vw;
	line-height: 15vw;
	margin-left: auto;
	margin-right: auto;
	text-decoration: none;
	font-size: 5vw;
	color: #003951;
	font-weight: bold;
}
#gnav ul:last-child li+li a {
	margin-top: 4vw;
}
#gnav ul:last-child li+li a {
	background-color: #FFFFFF;
}






main {
	padding-top: 26vw;
}
.r_btn a {
	display: block;
	margin-left: auto;
	margin-right: auto;
	background-color: #F1BB3E;
	height: 17vw;
	border: 4px solid #003752;
	margin-top: 5vw;
	transition: 0.3s;
}
.r_btn a img {
	position: relative;
	top: 5vw;
	width: 50vw;
}
.r_btn a:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.r_btn a img:hover {
	opacity: 1;
}
h1.ttl {
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/index/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom 2vw; /* 15px */
	background-size: 100% 2.5vw;              /* 高さ10px */
	padding-right: 15vw;
	padding-left: 15vw;
}
h2.ttl2 {
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/index/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center bottom 2vw; /* 15px */
	background-size: 100% 2.5vw;              /* 高さ10px */
	padding-right: 15vw;
	padding-left: 15vw;
}

.ttl3 {
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/pc/course/ttl_bg2.png");
	background-repeat: no-repeat;
	background-position: center bottom 2vw; /* 15px */
	background-size: 100% 2.5vw;              /* 高さ10px */
	padding-right: 10vw;
	padding-left: 10vw;
}







/* =========================
   FOOTER
========================= */

footer {
	background-color: #E8EDEF;
	padding-top: 8vw;         /* 50px */
	margin-top: 15vw;          /* 100px */
}

/* SNSリンク */
footer .sns {
	display: flex;
	justify-content: space-between;
	width: 70%;              /* 531px */
	margin-left: auto;
	margin-right: auto;
	align-items: center;
}

footer .sns li {
	width: 9vw;               /* 63px */
}

/* フッター内コンテンツ */
footer .inner {
	margin-top: 3.66vw;          /* 50px */
	margin-bottom: 2.197vw;      /* 30px */
}

footer .inner div {
}

footer .inner h2 {
	width: 74vw;              /* 405px */
	margin-top: 3vw;
	margin-left: auto;
	margin-right: auto;
}

footer .inner h2+p {
	font-size: 3vw;          /* 12px */
}

/* メニュー */
footer .inner nav {
	display: none;
}

/* コピーライト帯 */
footer p small {
	font-size: 2.5vw;          /* 14px */
	color: #fff;
	background-color: #003850;
	display: block;
	font-weight: normal;
	padding-top: 0.366vw;        /* 5px */
	padding-bottom: 0.366vw;     /* 5px */
}





#kengaku {
	width:90%;
	margin-left:auto;
	margin-right:auto;
}
h3.calendar-title {
	font-size: 5vw;
	padding-top: 5vw;
	color: #595857;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 5vw;
	border-bottom: 2px solid #000;
	padding-bottom: 3vw;
}
.alpha {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 10vw;
}
.alpha h4 {
	font-size: 5vw;
	font-weight: bold;
	margin-bottom: 5vw;
	text-align: center;
}
.alpha h5 {
	font-weight: bold;
}
.alpha h5+p {
	margin-bottom: 5vw;
}
.alpha h5+p+p {
	margin-bottom: 3vw;
}
.calendar-caption {
	padding-bottom: 1vw;
}
.monthly-calendar table {
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 1px solid #000;
}
.monthly-calendar table thead th {
	background-color: #F1BB3E;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	height: 15vw;
}
.multiple-calendar table {
	border-left: 2px solid #000;
	border-top: 2px solid #000;
	border-right: 1px solid #000;
}
.multiple-calendar table thead th {
	background-color: #F1BB3E;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	height: 15vw;
}
.week-row td {
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	padding-top: 2vw;
	padding-bottom: 2vw;
}
.week-row td a {
	color: #000;
}
.sat .day-number,
.sat .calendar-daylink,
.week-title.sat
{
	color: #0067B1!important;
}
.sun .day-number,
.sun .calendar-daylink,
.week-title.sun
{
	color: #D02D26!important;
}
.monthly-prev a,
.monthly-next a {
	color: #000;
	padding-top: 2vw;
	display: block;
}
.schedule-note {
padding-bottom: 2vw;
}





.mtssb-timetable-link {
	margin-left: auto;
    margin-right: auto;
}
.monthly-calendar.day-calendar table {
	border-left: 0px solid #000;
	border-top: 0px solid #000;
	border-right: 0px solid #000;
}
.monthly-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-name {
	display: none;
}
.monthly-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-date {
	font-size: 5vw;
	padding-top: 10vw;
	color: #595857;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 5vw;
	border-bottom: 2px solid #000;
	padding-bottom: 3vw;
}
.monthly-calendar.day-calendar .mtssb-timetable-link tr .day-right .calendar-mark.vacant .booking-timelink {
	color: #000;
}
.monthly-calendar.day-calendar .mtssb-daily-action button {
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 10vw;
	height: 15vw;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 80%;
	cursor: pointer;
}
.monthly-calendar.day-calendar .mtssb-timetable-link tr th,
.monthly-calendar.day-calendar .mtssb-timetable-link tr td
{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 4vw;
}
.multiple-calendar.day-calendar table {
	border-left: 0px solid #000;
	border-top: 0px solid #000;
	border-right: 0px solid #000;
}
.multiple-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-name {
	display: none;
}
.multiple-calendar.day-calendar .mtssb-timetable-link caption .mtssb-timetable-date {
	font-size: 5vw;
	padding-top: 10vw;
	color: #595857;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 5vw;
	border-bottom: 2px solid #000;
	padding-bottom: 3vw;
}
.multiple-calendar.day-calendar .mtssb-timetable-link tr .day-right .calendar-mark.vacant .booking-timelink {
	color: #000;
}
.multiple-calendar.day-calendar .mtssb-daily-action button {
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 10vw;
	height: 15vw;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 80%;
	cursor: pointer;
}
.multiple-calendar.day-calendar .mtssb-timetable-link tr th,
.multiple-calendar.day-calendar .mtssb-timetable-link tr td
{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 4vw;
}






.content-form th {
	background-color: #F6D32B;
	text-align: left;
}
.content-form #booking-reservation-fieldset {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
}
.content-form table {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr th {
	vertical-align: middle;
	padding-left: 15px;
}
.content-form #booking_client-fieldset,
.content-form #booking-option-fieldset,
.content-form #booking-message-fieldset
{
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	margin-top: -5px!important;
}
.content-form  th {
	vertical-align: middle;
	padding-left: 1vw;
	border: none!important;
}
.content-form  tr {
	padding: 0px!important;
	margin: 0px!important;
	border-bottom: none;
}
.content-form  th {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	vertical-align: middle;
	padding-left: 1vw!important;
	font-size: 3.5vw!important;
}
.content-form td {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	text-align: left;
	padding-left: 1vw!important;
	border: 1px solid #ccc;
	padding-top: 2vw!important;
	padding-bottom: 2vw!important;
}
#booking-form form table tr td {
	border: none;
	text-align: left;
	padding-left: 1vw;
	border: 1px solid #ccc;
	padding-top: 2vw;
	padding-bottom: 2vw;
}
#booking-form form table tr td select {
	border: 1px solid #ddd;
}
#booking-form form #booking-message-fieldset legend {
	display: none;
}
.content-form td input[type="text"] {
	border: 1px solid #ccc;
}
#booking-form form #action-button button {
	font-size: 5vw;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 5vw;
	height: 15vw;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 80%;
	cursor: pointer;
}
.check-questionnaire {
	width: 45%;
	display: inline-block;
}
.option-note.questionnaire {
	width: 100%;
	display: block;
}

.info-message.booking-completed {
	height: 40vh;
	padding-top: 15vw;
	font-size: 5vw;
}



/*
ご予約確認画面
*/
.content-form {
	margin-top: 10vw;
}
.content-form th {
	background-color: #F6D32B;
	text-align: left;
}
.content-form #booking-reservation-fieldset {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
}
.content-form table {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form table tr th {
	vertical-align: middle;
	padding-left: 1vw;
}
.content-form #booking_client-fieldset,
.content-form #booking-option-fieldset,
.content-form #booking-message-fieldset
{
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	margin-top: 0px!important;
}
.content-form  th {
	vertical-align: middle;
	padding-left: 1vw;
	border: none!important;
}
.content-form  tr {
	padding: 0px!important;
	margin: 0px!important;
}
.content-form  th {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	vertical-align: middle;
	padding-left: 1vw!important;
	width: 30vw;
}
.content-form  legend+p {
	display: none;
}

.content-form td {
	padding: 0px!important;
	margin: 0px!important;
	border: none;
	text-align: left;
	padding-left: 15px!important;
	border: 1px solid #ccc;
	padding-top: 2vw!important;
	padding-bottom: 2vw!important;
}
.content-form td input[type="text"] {
	border: 1px solid #ccc;
	padding-left: 1vw;
	height: 8vw;
	width: 90%;
}
.content-form .subscription.button {
	font-size: 4vw;
	font-family: 'Noto Sans JP', sans-serif;
	margin-top: 5vw;
	height: 12vw;
	color: #595857;
	border: 2px solid #C9CACA;
	background-color: #fff;
	width: 80%;
	cursor: pointer;
}

#subscription-cancel-button {
	height: 15vw!important;
	line-height: 15vw!important;
	border-radius: 5px;
	margin-top: 0px;
	font-size: 5vw;
	margin: 10px;
}
.subscription-header {
	height: 15vw!important;
	line-height: 15vw!important;
}

#kengaku legend {
	font-size: 5vw;
	margin-bottom: 10px;
}
.content-form #booking_client-fieldset {
	margin-top: 8vw!important;
}
#subscription-cancel-button {
	width: 30vw!important;
	height: 15vw!important;
	font-size: 4vw;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
.sp.tab {
	display: none;
}
}
