body {
    font-family: 'Noto Sans JP', sans-serif !important;
    background: linear-gradient(108deg, rgba(61,150,192,0.15) 0%, rgba(64,187,184,0.15) 100%);
    font-size: 18px !important;
    line-height: 1.8 !important;
	font-weight:500 !important;
}

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: initial !important;
padding: 0 !important;
}

.my-2.sys_current_month {
    justify-content: center;
    color: #FFF;
    width: auto;
    padding: 0.5em 1em;
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 0px !important;
    /* font-weight: bold; */
    letter-spacing: 0.05em;
    background: linear-gradient(108deg, rgba(61,150,192,1) 0%, rgba(64,187,184,1) 100%);
    /* border: 3px solid #FFF; */
    border-bottom: 0;
    margin-left: 4px;
    margin-right: 4px;
    margin-top: 20px !important;
	border-radius: 10px 10px 0 0;
    text-align: center;
}
.caption {
    background: #f8f8f8;
    padding: 0.25em 1em;
    margin: auto;
    margin-bottom: 1em;
    margin-top: 1em;
    width: auto;
    text-align: center !important;
    font-weight: 500;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
    border-radius: 8px;
}
.caption > div {
    display: flex;
    align-items: center;
}
.caption span {
    margin-left: 0.75em;
    margin-right: 0.1em;
    font-size: 30px !important;
    padding-bottom: 5px;
}
.caption .item_name {
    color: #FFF;
    padding: 0.25em 1em;
    border-radius: 6px;
    background: linear-gradient(-72deg, rgba(61,150,192,1) 0%, rgba(64,187,184,1) 100%);
}
.mycalendar thead th {
    background: #555;
    font-weight: normal;
    color: #FFF;
    border: 3px solid #FFF;
	border:none;
    font-weight: bold;
    width: 14.28%;
}
span[class*="markcolor_"] {
    font-weight: bold;
    font-size: 34px !important;
}
.mycalendar tbody td, .mycalendar tfoot td {
    text-align: center;
    border: 3px solid #FFF;
	border:none;
    position: relative;

	height: 90px
}
.mycalendar
{
    border: 1px solid #EEE;
}
.mycalendar tbody td .nod {
    text-align: left;
    position: absolute;
    font-weight: 100;
    color: #666;
    font-size: 16px;
    top: 0;
    left: 5px;
}

.mycalendar tbody td .nod span.text-sun,
.mycalendar tbody td .nod span.holiday
{
	color:#C00;
}
.mycalendar tbody td .nod span.text-sat
{
	color:#00C;
}
.mycalendar tbody td .day_mark {
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mycalendar tbody td .day_nop {
    margin: 0 !important;
    font-size: 15px;
    font-weight: 100;
}

.mycalendar tbody td:not([class])
{
	background:#FFF
}
.mycalendar tbody td:empty {
    background: #FFF;
}

.mycalendar tbody td.table-sun
{
background: rgb(254, 240, 239);
}
.mycalendar tbody td.table-sat
{
background: rgb(240, 248, 255);
}
.mycalendar thead th.bg_sun
{
	background:#EF8484;
}
.mycalendar thead th.bg_sat
{
	background:#6A9ECE;
}

.mycalendar {
    border-collapse: separate;
    border-spacing: 4px 4px;
    border: none;
    width: 100%;
}
.mycalendar tbody td.today {
    background-color: #fff8d7;
}

.box_head
{
    justify-content: center;
    color: #FFF;
    width: auto;
    padding: 0.5em 1em;
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 0px !important;
    /* font-weight: bold; */
    letter-spacing: 0.05em;
    background: linear-gradient(108deg, rgba(61,150,192,1) 0%, rgba(64,187,184,1) 100%);
    /* border: 3px solid #FFF; */
    border-bottom: 0;
    margin-top: 30px !important;
    border-radius: 10px 10px 0 0;
	text-align:center;
}

.serach_box {
    background: #FFF;
    padding: 2em;
    margin-bottom: 3em;
}
.serach_box input[type="text"], 
.serach_box input[type="number"],
.serach_box input[type="date"] {
    border: 1px solid #CCC;
    margin: 0;
    margin-left: 0.5em !important;
    margin-right: 0.5em;
    background: #fff8d7 !important;
    border-radius: 4px !important;
    width: auto;
}

.serach_box .input-group-text {
    padding: 0;
    background: none;
    border: none;
}
.serach_box .row {
    display: flex;
    gap: 20px;
}

.serach_box .row div .input-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.serach_box .row div input[name="startdate"], 
.serach_box .row div input[name="enddate"] {
    width: 40%;
}
.serach_box .row div input[name="price"] {
    width: calc(100% - 11em);
}

.serach_box .row div .form-check.form-switch
{
	text-align:center;
}
.serach_box .row div input[name="people"]
{
	    width: 100px;
}


.serach_box .row > div {
    background: #f8f8f8;
    margin-bottom: 1em;
    border: 10px solid #f8f8f8;
    border-radius: 10px;
    padding-bottom: 15px;
}
.serach_box .row > .w20
{
	width:20%;
}
.serach_box .row > .w30
{
	width:30%;
}
.serach_box .row > .w40
{
	width:40%;
}
.serach_box .row > .w50
{
	width:50%;
}
.serach_box .row > .w60
{
	width:60%;
}
.serach_box .row > .w70
{
	width:70%;
}
.serach_box .row > .w80
{
	width:80%;
}
.serach_box .row > div.search_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
}
.serach_box .row > div.search_btn > div
{
	width:100%;
	height:100%;
}
.serach_box .row .search_btn button {
    text-align: center;
    background: #C19556;
    color: #FFF;
    border-radius: 10px;
    width: 100%;
    border: none;
    height: 100%;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border: 3px double #FFF;
}
.serach_box .row .search_btn button img {
    filter: brightness(10);
    width: 35px;
    display: block;
    margin: auto;
    margin-bottom: 10px;
}
.serach_box .row .mb-3
{
	margin-bottom:0 !important;
}

.serach_box label.flatpickr1, .serach_box label.form-label {
    border-bottom: 1px solid #2a89c0;
    color: #2a89c0;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0.35em 1em;
    width: 100%;
    display: block;
    margin-bottom: 0.5em;
}


#content
{
	padding-bottom:100px;
}

.error {
    color: red;
    font-weight: 400;
    display: none;
    padding: 6px 0;
    font-size: 14px;
}

.form-control.error {
    border-color: red;
    padding: .375rem .75rem;
}
.pastdaytxt {
    color: rgba(0,0,0,.2) !important;
}

.alert {
    color: #C00;
    text-align: center;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    border: 3px double #c00;
    padding: 0.5em;
}
.alert button
{
	display:none;

}

@media (max-width: 767px) {

	.caption {
	    font-size: 12px;
	    letter-spacing: 0;
		justify-content: space-between;
    	width: 100%;
	}
	.caption span {
	    display: block;
	    margin: 0;
	}
	.caption > div {
	    flex-direction: column;
	}

	.mycalendar tbody td .day_mark {
	    margin-top: 25px;
	}
	.serach_box .row {
	    display: block;
	}
	.serach_box .row > div {
	    width: 100% !important;
	}
	.serach_box label.flatpickr1, .serach_box label.form-label {
	    text-align: center;
	    border: 3px double #2a89c0;
	}
	.serach_box .row div .input-group {
	    flex-wrap: nowrap;
		justify-content: center; 
	}
	.serach_box {
	    padding: 1em;
	}
	.serach_box .row > div
	{
		background:none;
		border:none;
	}


	.serach_box .row > div .form-check.form-check-inline
	{
		margin: auto;
	}
	.serach_box .row .search_btn button img {
		display: inline-block;
	    margin: 0;
	    margin-right: 10px;
	    width: 25px;
	}
	.serach_box .row .search_btn button {
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    padding: 1em 0;
	}
}


.serach_box ul.result_list-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 2em;
}

.serach_box ul.result_list-group li.list-group-item {
    display: flex;
    flex-direction: row;
}
.serach_box ul.result_list-group li.list-group-item .thead
{
	border-bottom:1px solid #2a89c0;
	color:#3D99BF;
}
.serach_box ul.result_list-group li.list-group-item .tdata
{
	border-bottom:1px solid #CCC;
}
.serach_box ul.result_list-group li.list-group-item .thead,
.serach_box ul.result_list-group li.list-group-item .tdata
{
padding: 0.25em 2em;
}
.mycalendar tbody td.bg-secondary-soft
{
	background:#FFFFFFAA;
}

.mycalendar tbody td .day_nop button {
    background: none;
    border: none;
}

.btn_wrap {
    display: flex;
    justify-content: center;
    gap: 2em;
    align-items: self-end;
    margin-top: 2em;
}


button[name="changebtn"]
{
    text-align: center;
    background: #FFF;
    color: #2a89c0;
    border-radius: 10px;
    width: 100%;
    border: none;
    height: 100%;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border: 3px double #2a89c0;
    padding: 0.5em 1em;
	width:30%;
}
button[name="contactbtn"] {
    text-align: center;
    background: #C19556;
    color: #FFF;
    border-radius: 10px;
    width: 100%;
    border: none;
    height: 100%;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border: 3px double #FFF;
    padding: 0.5em 1em;
	width:100%;
}

button[name="contactbtn"]:before {
    font-family: FontAwesome;
    content: "\f0e6";
    font-weight: 500;
    font-size: 30px;
    margin-right: 0.5em;
}

@media (max-width: 767px) {

.serach_box ul.result_list-group li.list-group-item .thead,
.serach_box ul.result_list-group li.list-group-item .tdata {
    padding: 0.25em 1.0em;
}
.serach_box ul.result_list-group li.list-group-item .thead {
    width:40%;
	text-align: center;
}
.serach_box ul.result_list-group li.list-group-item .tdata {
	width:60%;

}
.serach_box ul.result_list-group {
    display: block;
}
.btn_wrap
{
	display:block;
}
button[name="changebtn"],
button[name="contactbtn"] 
{
	width:100%;
	letter-spacing:0;
	margin-bottom: 1em;
}


}

/* タブレット対応 */
@media (max-width: 1029px) and (min-width: 768px) {

	.serach_box .row {
		flex-direction: column;
		gap: 0;
	}
	.serach_box .row > .w40,
	.serach_box .row > .w30,
	.serach_box .row > .w20,
	.serach_box .row > .w50 {
		width: 100%;
		display: flex;
		align-items: center;
	}
	.serach_box .row > div {
		padding-bottom: 0;
		background: none;
    	border: none;
    
	}
	.serach_box label.flatpickr1,
	.serach_box label.form-label {
		min-width: 200px;
		width: 200px;
	    border: 3px double #2a89c0;
	    margin: 0 15px 0 0;
	}
	.serach_box .row div .input-group {
		justify-content: flex-start;
	}
	.serach_box .form-check {
		margin: 0 0.5em;
	}
	.serach_box .row .search_btn button {
		display: flex;
	    justify-content: center;
		padding: 15px;
	}
	.serach_box .row .search_btn button img {
		margin: 0 20px 0 0;
	}
	
	button[name="changebtn"] {
		width: auto;
	}
	
	.caption {
		font-size: 16px;
	}
	
	.mycalendar tbody td .day_mark {
	    align-items: flex-end;
	    height: 50px;	
	}
	.mycalendar tbody td .day_mark span[class*="markcolor_"] {
	    line-height: 1;
	}
}
