#reserv_area{
	margin-top:-100px;
	padding-top:100px;
}
.reserv_area{
	margin: 0 0 0;
	padding: 0 0 30px;
	position:relative;
	text-align:center;

	min-width: auto;
}


.reserv_inner{
	width: auto;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;

}

.reserv_box{
	width: auto;
	margin: 0px auto 0;
	padding: 0 0 20px;
	position:relative;
	text-align:center;
	background-color:#f4f4f4;
}

h2.h2_reserv {
	margin: 0 auto;
	position: relative;
	padding: 10px 0;
	text-align: center;
	font-size: 13px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:2px;
	color:#000;
	font-family: 'Roboto', sans-serif;

	background-color:#fff;
}

h3.h3_reserv{
	margin: 0px 0 0;
	padding: 20px 0;
	position:relative;
	text-align:center;

	font-size: 13px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:0px;
	color:#444;
}

ul.reserv_list{
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;
	letter-spacing:-.4em;
}

ul.reserv_list li{
	margin: 0 2px 0;
	padding: 0 0;
	position:relative;
	text-align:center;
	display:inline-block;
	width:31.5%;
	height:155px;
	vertical-align:top;
	
	letter-spacing:normal;
	font-size: 10px;
	font-weight:normal;
	line-height: 1.5;
	letter-spacing:0px;
	color:#444;
	
	background-color:#fff;
	border:0px solid #999;
}
ul.reserv_list li:nth-child(1){
	background-color:#d55665;
	color:#fff;
}
ul.reserv_list li:nth-child(1)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -13px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 14px solid #d95368;
}
ul.reserv_list li h4{
	margin: 0 0 20px ;
	padding: 15px 0 0;
	position:relative;
	letter-spacing:normal;
	font-size: 13px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:0px;
	color:#444;
	text-align:center;
}
ul.reserv_list li:nth-child(1) h4{
	color:#fff;
}
ul.reserv_list li h4 img{
	width:38px;
	height:auto;
	vertical-align:top;
	display:block;
	text-align:center;
	margin: 0 auto 5px;
}

ul.reserv_list li strong{
	font-weight:bold;
	font-size: 12px;
}

ul.reserv_list li strong a{
	font-size: 10px;
}

ul.reserv_list li small{
	font-size: 10px;
}

ul.reserv_list li .event_linkArea > a{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index:999;
    background-color:#FFF;
    filter:alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
}



.form_block {
	margin: 0 auto 0;
	padding: 0 0 20px 0;
	position: relative;

	text-align:center;
	width: auto;
}

.form_top{
	margin: -100px auto 30px;
	padding: 100px 0 0;
	position:relative;
	text-align:center;
}

.form_top_txt{
	margin: 0 0 20px 0;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
	font-size: 15px;
	font-weight:normal;
	line-height: 2.0;
	letter-spacing:0px;
	color:#444;
}
.form_top_txt2{
	margin: 0 0 20px 0;
	padding: 0 20px 0;
	position:relative;
	text-align:center;
	font-size: 12px;
	font-weight:normal;
	line-height: 1.6;
	letter-spacing:0px;
	color:#444;
}
.form_top_txt strong{
	font-size: 17px;
	font-weight:bold;
	letter-spacing:0px;
	color:#c30d23;
	margin-bottom:10px;
	display:block;
}


.form_top .secFlow{
	width:auto;
	margin:0 auto;
	font-size:0;
	text-align:center;
}
.form_top .secFlow li{
	width:105px;
	text-align:center;
	letter-spacing:0px;
	font-size:11px;

	margin: 0 7px;
	padding: 12px 0;
	display:inline-block;
	vertical-align:top;
	border:#4c4948 solid 1px;
	position:relative;
}

.form_top .secFlow li:nth-child(1):after,.form_top .secFlow li:nth-child(1):before,
.form_top .secFlow li:nth-child(2):after,.form_top .secFlow li:nth-child(2):before{
	left: 105px;
	top: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.form_top .secFlow li:nth-child(1):after,
.form_top .secFlow li:nth-child(2):after {
margin-top: -18px;

width: 0;
height: 0;
border-style: solid;
border-width: 18px 0 18px 10px;
border-color: transparent transparent transparent #fff;
}

.form_top .secFlow li:nth-child(1):before,
.form_top .secFlow li:nth-child(2):before {
	left: 106px;
}

.form_top .secFlow li:nth-child(1):before,
.form_top .secFlow li:nth-child(2):before {
	border-color: transparent transparent transparent #444;
	border-width: 18px 0 18px 10px;
	margin-top: -18px;

}




.form_top .secFlow li strong{
	font-family: 'Roboto', sans-serif;
	font-weight:bold;
	color:#c30d23;
	margin-right:5px;
}

.form_top .secFlow li:last-child{

}
.form_top .secFlow li.active{
	background:#f2f2f1;
}

.mw_wp_form_input .form_top li:nth-child(1),
.mw_wp_form_confirm .form_top li:nth-child(2),
.mw_wp_form_complete .form_top li:nth-child(3) {
	background:#f2f2f1;
}

.form_top .secFlow li.active:after {
	border-color: transparent transparent transparent #f2f2f1;
}
.mw_wp_form_input .form_top .secFlow li:nth-child(1):after,
.mw_wp_form_confirm .form_top .secFlow li:nth-child(2):after,
.mw_wp_form_complete .form_top .secFlow li:nth-child(3):after {
	border-color: transparent transparent transparent #f2f2f1;
}

.form_block_inner {
	margin: 0 20px;
	padding: 0px 0px;
	width: auto;
	position: relative;
	background:#fff;
}

table.table_form{
	width:100%;
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	position: relative;
	border-collapse:separate;
	border-spacing:0;
	border-bottom:1px solid #444;
	font-family: Verdana, Helvetica, sans-serif;
}

table.table_form tr{

}

table.table_form tri:nth-child(1){

}

table.table_form th{
	margin: 0 0 0 0;
	padding: 5px 0 5px 0;
	font-size:12px;
	line-height: 1.8;
	font-weight:bold;
	color:#000;
	letter-spacing:0px;
	text-align:left;
	width:auto;
	vertical-align:middle;
	border-bottom:0px solid #ccc;
	display:block;
}

table.table_form th .submessage{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	font-size: 12px;
}

table.table_form th span{
	margin: 0 10px 0 0;
	padding: 2px 5px;
	font-size: 10px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:0px;
	color:#fff;
}

table.table_form td span.require{
	margin: 0;
	padding: 2px 7px;
	font-size: 10px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:0px;
	color:#fff;
	background-color:#b40000;
	white-space:nowrap;
}

table.table_form td span.any{
	margin: 0;
	padding: 2px 7px;
	font-size: 10px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:0px;
	color:#444;
	background-color:#dbdbda;
	white-space:nowrap;
}

table.table_form th span.row_txt{
	width:auto;
	font-size:12px;
	line-height: 1.5;
	font-weight:bold;
	color:#000;
	letter-spacing:0px;
	text-align:left;
	display:inline-block;
	vertical-align:middle;
}


table.table_form td{
	margin: 0 0 0 0;
	padding: 5px 0 5px 0;
	position: relative;
	font-size:11px;
	line-height: 1.8;
	font-weight:normal;
	color:#000;
	letter-spacing:0px;
	text-align:left;
	vertical-align:middle;
	border-bottom:0px solid #ccc;
	width:auto;
	display:block;
}
table.table_form td div{
	display:flex;
	flex-wrap: nowrap;
	align-items: center;
    justify-content: flex-start;
    gap: 8px;
}
table.table_form td div span{
	display:block;
}
table.table_form td span.address_search,
table.table_form td a.address_search{
	margin: 0 0 0 0;
	padding: 5px 7px;
	font-size: 10px;
	font-weight:bold;
	line-height: 1.5;
	letter-spacing:1px;
	color:#fff;
	background-color:#444;
}
table.table_form td a.address_search:hover{
	text-decoration:none;
}
table.table_form select {
	margin-bottom:0.5em;
	padding:5px;
	border:1px solid #ccc;
	font-size:11px;
	line-height:1.0;
	box-sizing: border-box;
}

table.table_form input {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding:5px;
	border:0px solid #ccc;
	font-size:11px;
	line-height:1.1;
	background:#f2f2f1;
	box-sizing: border-box;
}

table.table_form input:focus {
	outline: none;
}

table.table_form input.input_size1{
	margin:0 0 0 0;
	width:100%;
}

table.table_form input.input_size2{
	margin:0 0 0 0;
	width:100%;
}

table.table_form textarea{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;

	margin:0 0 0 0;
	padding:5px;
	border:0px solid #ccc;
	font-size:11px;
	line-height:1.5;
	background:#f2f2f1;
	width:100%;
}

table.table_form textarea:focus {
	outline: none;
}

table.table_form td.td_radio input[type=radio] {
    display: none;
}
table.table_form td.td_radio label span {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 3px 10px 3px 30px;
    position: relative;

}
table.table_form td.td_radio label span::before {
	background-color:#fff;
    border: 1px solid #bdb9b3;
    border-radius: 50%;
    content: '';
    display: block;
    height: 13px;
    left: 6px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 13px;
}
table.table_form td.td_radio label span::after {
    background: #b40000;
    border-radius: 50%;
    content: '';
    display: block;
    height: 15px;
    left: 6px;
    margin-top: -8px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 15px;
}
table.table_form td.td_radio label input[type=radio]:checked + span::after {
	opacity: 1;
}


table.table_form td.td_check input[type=checkbox] {
    display: none;
}
table.table_form td.td_check label span {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 3px 10px 3px 25px;
    position: relative;
	font-size:13px;
}
table.table_form td.td_check label span::before {
	background-color:#fff;
    border: 1px solid #bdb9b3;
    border-radius: 0px;
    content: '';
    display: block;
    height: 11px;
    left: 6px;
    margin-top: -6px;
    position: absolute;
    top: 50%;
    width: 11px;
}
table.table_form td.td_check label span::after {
    background: #b40000;
    border-radius: 0px;
    content: '';
    display: block;
    height: 13px;
    left: 6px;
    margin-top: -6px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 13px;
}
table.table_form td.td_check label input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.caution_txt{
	margin: 0 10px 20px;
	padding: 0 0;
	font-size: 11px;
	font-weight:normal;
	line-height: 1.6;
	letter-spacing:0px;
	color:#444;
	text-align:left;
}

.caution_txt strong{
	font-weight:bold;
	color:#c30d23;
}

.checkbox_block{
	margin: 0 0 40px 0;
	padding: 0 0 0 0;
	font-size:11px;
	line-height: 1.5;
	font-weight:normal;
	color:#000;
	letter-spacing:0px;
	text-align:center;
}
.checkbox_block.kakunin .mwform-checkbox-field-text {
	display:none;
}
.checkbox_block.kakunin .mwform-checkbox-field-text.click {
	display:block;
}

.btn_form {
	text-align:center;
}

.btn_form .submit_btn{
	padding: 10px 30px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing:1px;
	color:#000;
	font-weight:bold;
	text-align:center;
	background-color:#fff;
	border:1px solid #000;

	display:inline-block;
	width:auto;
}

.btn_form .submit_btn:hover_{
    cursor: pointer;

	background-color:#eee;
}

.btn_form input {
	border:none;
}





.mw_wp_form_input table.table_form td div.kakomi{
	display : inline-block !important;
	vertical-align:middle;
	width:42%;
	margin-right:10px;
}
.mw_wp_form_confirm table.table_form td div.kakomi{
	display : inline-block !important;
}


#anchor_form .ui-datepicker-header {
  position: relative;
  max-width: 370px;
  margin: 0 auto
}
#anchor_form .ui-datepicker-prev {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  width: 30px;
  height: 30px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  text-indent: -200%;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ4yo4AAAAHXRSTlMAAAEDBw4VHik0NUNEU2N2iZysvMvX4urx+Pn8/j0GVmsAAACmSURBVEjH7ZTXDoAgDEVxb3Bv//831RDjKlCjLyb0+dxA6SnEeFhEB3TgfwGiqA8CVjEJq7CgE9xaxNcufKWwh/kuEPVA4QAVN51BfCZ5Jbu886Ute1avufKNJ59DPJz5IVINjp0DTDlpMz/yualWw6l2vnIwLvntxrc+Tr5k5PyYYG1NeSBF683FXRRF78Mq7qoofoGCrg+fbRyln6+o/ip14GVgBn/NI1T15oY5AAAAAElFTkSuQmCC) no-repeat;
  background-size: contain;
  background-position: center;
  overflow: hidden
}

#anchor_form .ui-datepicker-next {
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  width: 30px;
  height: 30px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  text-indent: -200%;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ4yo4AAAAHXRSTlMAAAEDBw4VHik0NUNEU2N2iZysvMvX4urx+Pn8/j0GVmsAAACmSURBVEjH7ZTXDoAgDEVxb3Bv//831RDjKlCjLyb0+dxA6SnEeFhEB3TgfwGiqA8CVjEJq7CgE9xaxNcufKWwh/kuEPVA4QAVN51BfCZ5Jbu886Ute1avufKNJ59DPJz5IVINjp0DTDlpMz/yualWw6l2vnIwLvntxrc+Tr5k5PyYYG1NeSBF683FXRRF78Mq7qoofoGCrg+fbRyln6+o/ip14GVgBn/NI1T15oY5AAAAAElFTkSuQmCC) no-repeat;
  background-size: contain;
  background-position: center;
  overflow: hidden
}

#anchor_form .ui-datepicker-title {
  margin: 0 0 20px 0;
  font-size: 0;
  text-align: center
}
#anchor_form .ui-datepicker-title .ui-datepicker-month {
  display: inline-block;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  border-bottom: 2px solid #2d2d32
}
#anchor_form .ui-datepicker-title .ui-datepicker-year {
  display: block;
  width: 100%;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4
}
#anchor_form .ui-datepicker-calendar {
  max-width: 370px;
  margin: 0 auto
}
#anchor_form .ui-datepicker-calendar thead {
  display: none
}
#anchor_form .ui-datepicker-calendar tr td {
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 5px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  display:inline-block;
}
#anchor_form .ui-datepicker-calendar tr td:first-of-type a {
  color: #b0000f
}
#anchor_form .ui-datepicker-calendar tr td:last-of-type a {
  color: #4163bc
}
#anchor_form .ui-datepicker-calendar tr td a, #anchor_form .ui-datepicker-calendar tr td span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  -webkit-flex-wrap: wrap;
  width: 100%;
  height: 100%;
  text-align: center
}
#anchor_form .ui-datepicker-calendar tr td .ui-state-default {
  color: #2d2d32
}
#anchor_form .ui-datepicker-calendar tr td .ui-state-active {
  color: #fff !important;
  background: #ea7254
}
#anchor_form .ui-datepicker-calendar tr td.ui-datepicker-today * {
  color: #2d2d32 !important;
  background: #ffc800 !important
}
#anchor_form .ui-datepicker-calendar tr .ui-datepicker-other-month, #anchor_form .ui-datepicker-calendar tr .ui-state-disabled {
  opacity: .3
}



.img_pc{display:none;}
.br_pc{display:none;}

#footer {
	clear: both;
	margin: 0px auto 0;
	padding: 0 0 0 0;
	position:relative;
}



h4.h4_form{
	margin-bottom:30px;
	line-height:1.6;
	color:#fff;
	font-weight:bold;
	background:#000;
}

.mw_wp_form .horizontal-item + .horizontal-item {
margin-left: 0 !important;
}

.mw_wp_form_input .input_none{
	display:none;
}
.mw_wp_form_confirm .confirm_none{
	display:none;
}

.mw_wp_form_confirm .form_top,
.mw_wp_form_complete .form_top {
	margin-top:50px;
}

/* =========================================================
 * Compact reservation form / smartphone (2026-08)
 * ======================================================= */
.form_block {
	padding-bottom: 15px;
}

.form_top {
	margin-bottom: 22px;
}

.form_top_txt {
	margin-bottom: 12px;
	font-size: 14px;
	line-height: 1.65;
}

.form_top_txt strong {
	margin-bottom: 4px;
	font-size: 17px;
}

.form_top_txt2 {
	margin-bottom: 16px;
	padding: 0 15px;
	font-size: 11px;
}

.form_top .secFlow {
	display: flex;
	gap: 4px;
	padding: 0 15px;
}

.form_top .secFlow li {
	flex: 1;
	width: auto;
	margin: 0;
	padding: 5px 2px 4px;
	font-size: 10px;
line-height: 1.5;
}

.form_top .secFlow li strong {
	display: block;
	margin: 0;
	font-size: 10px;
}

.form_top .secFlow li:nth-child(1)::before,
.form_top .secFlow li:nth-child(1)::after,
.form_top .secFlow li:nth-child(2)::before,
.form_top .secFlow li:nth-child(2)::after {
	display: none;
}

.form_block_inner {
	margin: 0 15px;
}

table.table_form {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ddd;
}

table.table_form th {
	padding: 8px 8px 2px;
	font-size: 12px;
	line-height: 1.5;
	background: #f7f7f7;
}

table.table_form td {
	padding: 5px 7px 8px;
	font-size: 11px;
	line-height: 1.55;
	background: #f7f7f7;
}

table.table_form th span.require,
table.table_form th span.any {
	margin-right: 6px;
	padding: 1px 5px;
	font-size: 9px;
}

table.table_form th span.row_txt {
	font-size: 11px;
}

table.table_form input,
table.table_form select,
table.table_form textarea {
	min-height: 36px;
	margin-bottom: 0;
	padding: 7px 8px;
	font-size: 12px;
	border: 1px solid #ddd;
	border-radius: 3px;
	background: #fff;
}

table.table_form select.input_size1 {
	width: 100%;
	max-width: 100%;
}

table.table_form textarea {
	min-height: 72px;
	box-sizing: border-box;
	resize: vertical;
}
table.table_form input[type="text"],
table.table_form textarea {
    font-size: 16px;
}
table.table_form input[type="text"]::placeholder,
table.table_form textarea::placeholder {
    font-size: 12px;
}
select.first_gray,
select.first_gray option:first-child {
    color: #828282;
}
.mw_wp_form_input table.table_form td div.kakomi {
	width: calc(50% - 7px);
	margin-right: 3px;
}

.calendar_area {
	display: none;
}

#ui-datepicker-div {
	z-index: 10000 !important;
	width: calc(100vw - 30px) !important;
	max-width: 370px;
	box-sizing: border-box;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
}

.caution_txt {
	margin: 15px 5px;
	font-size: 10px;
}

.checkbox_block {
	margin-bottom: 18px;
	font-size: 11px;
}


.mw_wp_form_confirm .btn_form {
	margin-top:30px;
	display:flex;
	gap:30px;
	justify-content: center;
}
.btn_form .submit_btn {
	width: 80%;
	max-width: 280px;
	padding: 11px 10px;
	font-size: 12px;
	color: #fff;
	background: #222;
	border: 1px solid #222;
}
.mw_wp_form_confirm .btn_form .submit_btn{
	width: 36%;
}

/* =========================================================
 * ポップアップカレンダー
 * ======================================================= */

#ui-datepicker-div {
	z-index: 10000 !important;
	display: none;
	width: 360px;
	padding: 20px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Helvetica Neue",
		"Yu Gothic",
		"YuGothic",
		"Meiryo",
		sans-serif;
}

/* 年月と前後ボタン */

#ui-datepicker-div .ui-datepicker-header {
	position: relative;
	min-height: 36px;
	margin-bottom: 12px;
}

#ui-datepicker-div .ui-datepicker-title {
	padding-top: 6px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	color: #222;
}

#ui-datepicker-div .ui-datepicker-year,
#ui-datepicker-div .ui-datepicker-month {
	display: inline;
	font-size: inherit;
	font-weight: inherit;
	border: 0;
}

/* 前月・翌月ボタン */

#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
	position: absolute;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: #333;
	background: #f2f2f2;
	border-radius: 50%;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
}

#ui-datepicker-div .ui-datepicker-prev {
	left: 0;
}

#ui-datepicker-div .ui-datepicker-next {
	right: 0;
}

#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
	color: #fff;
	background: #333;
}

#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span {
	display: none;
}

#ui-datepicker-div .ui-datepicker-prev::before {
	content: "\276E";
	font-size: 24px;
	line-height: 1;
}

#ui-datepicker-div .ui-datepicker-next::before {
	content: "\276F";
	font-size: 24px;
	line-height: 1;
}

/* カレンダー本体 */

#ui-datepicker-div .ui-datepicker-calendar {
	width: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 3px;
	table-layout: fixed;
}

#ui-datepicker-div .ui-datepicker-calendar th {
	padding: 7px 0;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	color: #777;
}

/* 日曜日 */

#ui-datepicker-div .ui-datepicker-calendar th:first-child {
	color: #c94343;
}

/* 土曜日 */

#ui-datepicker-div .ui-datepicker-calendar th:last-child {
	color: #3568b8;
}

#ui-datepicker-div .ui-datepicker-calendar td {
	width: 14.285%;
	height: 40px;
	padding: 0;
	text-align: center;
}

#ui-datepicker-div .ui-datepicker-calendar td a,
#ui-datepicker-div .ui-datepicker-calendar td span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: auto;
	padding: 0;
	font-size: 13px;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	border-radius: 50%;
	box-sizing: border-box;
}

/* 選択可能な開催日 */

#ui-datepicker-div td.event-available a {
	color: #fff;
	font-weight: 700;
	background: #333;
	border: 2px solid #333;
}

#ui-datepicker-div td.event-available a:hover {
	color: #333;
	background: #fff;
}

/* 現在選択している日 */

#ui-datepicker-div td.event-available a.ui-state-active {
	color: #fff;
	background: #c30d23;
	border-color: #c30d23;
}

/* 今日 */

#ui-datepicker-div td.ui-datepicker-today a,
#ui-datepicker-div td.ui-datepicker-today span {
	border: 2px solid #e0a000;
}

/* 選択できない日 */

#ui-datepicker-div td.ui-datepicker-unselectable span,
#ui-datepicker-div td.event-disabled span {
	color: #bbb;
	background: transparent;
}

/* 前後月の日付 */

#ui-datepicker-div td.ui-datepicker-other-month span {
	color: #ddd;
}

/* 日曜日 */

#ui-datepicker-div
	.ui-datepicker-calendar
	td:first-child.event-available
	a {
	background: #c94343;
	border-color: #c94343;
}

/* 土曜日 */

#ui-datepicker-div
	.ui-datepicker-calendar
	td:last-child.event-available
	a {
	background: #3568b8;
	border-color: #3568b8;
}

@media screen and (max-width: 767px) {
	#ui-datepicker-div {
		width: calc(84vw - 24px) !important;
		max-width: 300px;
		padding: 12px;
	}

	#ui-datepicker-div .ui-datepicker-calendar {
		border-spacing: 2px;
	}

	#ui-datepicker-div .ui-datepicker-calendar td {
		height: 34px;
	}

	#ui-datepicker-div .ui-datepicker-calendar td a,
	#ui-datepicker-div .ui-datepicker-calendar td span {
		width: 30px;
		height: 30px;
		font-size: 12px;
	}
}

/* =========================================================
 * スマホ用フォーム配置
 * ======================================================= */

.mw_wp_form_input .form_inline {
	display: flex;
	width: 100%;
}

/* 希望日時は2段 */

.mw_wp_form_input .datetime_fields {
	flex-direction: column;
	align-items: stretch;
	gap: 7px;
}

.mw_wp_form_input .datetime_fields .date_input {
	width: 100% !important;
	margin: 0;
}

.mw_wp_form_input .datetime_fields .time_field {
	display: flex;
	align-items: center;
	gap: 7px;
	width: 100%;
	margin: 0;
}

.mw_wp_form_input .datetime_fields .time_field b {
	flex: 0 0 auto;
	margin: 0;
	font-size: 11px;
}

.mw_wp_form_input .datetime_fields .time_select {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	margin: 0;
}

/* お名前・フリガナは横2列 */

.mw_wp_form_input .name_fields {
	gap: 6px;
}

.mw_wp_form_input
table.table_form
td
.name_fields
.kakomi {
	display: block !important;
	flex: 1 1 0;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
}

.mw_wp_form_input
.name_fields
.kakomi
input {
	width: 100% !important;
	margin: 0;
}

/* =========================================================
 * スマホ：参加人数を横1段にする
 * ======================================================= */

.mw_wp_form_input .participants_fields {
	display: grid;
	grid-template-columns:
		auto
		minmax(0, 1fr)
		auto
		minmax(0, 1fr);
	align-items: center;
	column-gap: 5px;
	width: 100%;
	margin: 0;
}

.mw_wp_form_input .participants_label {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 11px;
	line-height: 1.4;
	white-space: nowrap;
}

.mw_wp_form_input
table.table_form
td
.participants_fields
.participants_select {
	display: block;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 36px;
	margin: 0 !important;
	padding: 5px 22px 5px 6px;
	font-size: 11px;
	line-height: 1.2;
	box-sizing: border-box;
}

@media screen and (max-width: 370px) {
	.mw_wp_form_input .participants_fields {
		column-gap: 3px;
	}

	.mw_wp_form_input .participants_label {
		font-size: 10px;
	}

	.mw_wp_form_input
	table.table_form
	td
	.participants_fields
	.participants_select {
		padding-right: 18px;
		font-size: 10px;
	}
}