#duration_caution.attention {
	font-size:1.3em;
}
div#calendar_block {
	width:100%;
	overflow-x: auto;
	display:block;
	margin-bottom:2em;
}
p#calendar_page_nav {
	display:flex;
	justify-content:space-between;
	margin-bottom:calc(-2.5em - 10px);
	padding:0 .5em;
	line-height:1;
}
.calendar_nav_button {
	background:none;
	border:none;
	font-size:2em;
	/* color:#4fabda; */
	color: #36657C;
	position:relative;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
	cursor: pointer;
}
.calendar_nav_button.disabled {
	color:#ccc;
	cursor:default;
}
.calendar_nav_button:hover {
	opacity:1;
}
.calendar_nav_button i {
	background:#fff;
	border-radius:50%;
}
.calendar_nav_button i:hover:before,
.calendar_nav_button.disabled i:before {
	opacity:0.6;
	transition:all .3s ease;
}
.calendar_nav_button.notInAction i:before {
	opacity:1;
	transition:all .3s ease;
}
div#calendar_block_inner {
	display:flex;
	flex-wrap:nowrap;
	margin-bottom:1em;
}
#hcal_part #calendar_block table.hcal_table {
	width:380px;
	box-sizing:border-box;
	/*font-family:sans-serif;*/
	border:none;
	flex:none;
}
@media (max-width:575.98px) {
#form_calendar_part select {
	display:inline;
	width:auto;
}
/* div#calendar_block {
	width:calc(100% + 30px);
	margin-left:-15px;
} */
#hcal_part #calendar_block table.hcal_table {
	max-width:700px;
	width:calc(100vw - 30px);
	margin:0;
}
div#calendar_block {
	border-bottom:1px solid #4fabda;
}
p#calendar_page_nav {
	margin-bottom:calc(-2.5em);
}
}
#hcal_part #calendar_block table.hcal_table caption {
	font-size:1.2em;
	font-weight:500;
	margin-bottom:1em;
}
#hcal_part #calendar_block table.hcal_table caption:before {
	content: '【';
}
#hcal_part #calendar_block table.hcal_table caption:after {
	content: '】';
}
#hcal_part #calendar_block table.hcal_table td,
#hcal_part #calendar_block table.hcal_table th
 {
	border:none;
	width:50px;
}
#hcal_part #calendar_block table.hcal_table th
 {
	font-weight:500;
	padding:.5em;
	line-height:1;
	border: 1px solid #707070;
	border-width: 1px 1px 0;
	/* color:#347b9d;
	border-bottom:2px solid #4fabda; */
}
#hcal_part #calendar_block table.hcal_table td	{
	/*font-family:sans-serif;*/
	padding:.5em;
	line-height:1;
	position:relative;
	background:none;
}
/* #hcal_part #calendar_block table.hcal_table tr:nth-child(2) td	{
	padding-top:1.5em;
} */
#hcal_part #calendar_block table.hcal_table td:before {
	content:" ";
	position:absolute;
	width:100%;
	height:101%;
	/*background:#347b9d;*/
	top:0;
	left:0;
	/* margin-top:-20px;
	margin-left:-20px;
	border-radius:20px; */
	box-sizing:border-box;
	border:1px solid #707070;
	border-width: 1px 1px 0 0;
}
#hcal_part #calendar_block table.hcal_table td:first-child:before {
	border-left-width: 1px;
}
#hcal_part #calendar_block table.hcal_table tr:last-child td:not(.selected_date, .date_in_duration):before {
	border-bottom-width: 1px;
}
/* #hcal_part #calendar_block table.hcal_table tr:nth-child(2) td:before {
	top:calc(1.5em + 50%);
	margin-top:calc(-20px - 1em);
} */
#hcal_part #calendar_block table.hcal_table td.selected_date {
	font-weight:bold;
}
#hcal_part #calendar_block table.hcal_table td.selected_date:before {
	/* border-color:red;
	border-width:6px; */
	border-color:#707070;
	border-width:3px;
}
#hcal_part #calendar_block table.hcal_table td.selected_date:after {
	content:none;
}
#hcal_part #calendar_block table.hcal_table td.date_in_duration {
	font-weight:bold;
}
#hcal_part #calendar_block table.hcal_table td.date_in_duration:before {
	/* border-color:orange;
	border-width:6px; */
	border-color:#707070;
	border-width:3px 3px 3px 0;
}
#hcal_part #calendar_block table.hcal_table td.date_in_duration:first-child:before {
	border-left-width:3px;
}
#hcal_part #calendar_block table.hcal_table td.date_in_duration:after {
	content:none;
}
#hcal_part .hcal_legend div {
    margin:0;
}
#hcal_part .hcal_legend div p {
	margin-left:0;
	font-size:0.8em;
}
.hcal_legend div.hcal_legend_type span {
	display:inline-block;
	width:1.9em;
	height:1.9em;
	margin-right: .5em;
}