.schedule-month {
    margin-bottom: 10px;
}




/* calendar */
.pre_next_link {
    display: flex;
    justify-content: center;
    padding: 0px 0 0px 0;
    box-sizing: border-box;
    align-items: center;
}

.pre_next_link .schedule-month-center {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    min-width: 0;
}

.pre_next_link .schedule-month-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 10px;
}

.schedule-month-button {
    min-width: 92px;
    padding: 9px 14px;
    border: 1px solid #1d3289;
    border-radius: 4px;
    background-color: #fff;
    color: #1d3289;
    font-size: 95%;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.schedule-month-button.current,
.schedule-month-button:hover {
    background-color: #1d3289;
    color: #fff;
}

.pre_next_link span {
    display: block;
}

.pre_next_link span.next,
.pre_next_link span.pre {

    width: 26px;
    height: 26px;
    overflow: hidden;
    text-indent: -999999px;
    cursor: pointer;
    position: relative;
    background-color: #1d3289;
    margin: 1px;

    /*border: 1px solid #ccc;*/
    /*font-size: 110%;*/
    /*padding: 3px 10px 3px 10px;*/
    /*text-align: center;*/
}

.pre_next_link span.pre::after,
.pre_next_link span.next::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.pre_next_link span.pre::after {
    left: 4px;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.pre_next_link span.next::after {
    right: 4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pre_next_link span.present {
    font-weight: bold;
    font-size: 140%;
    margin-right: 10px;
    margin-left: 10px;
    color: #1e3289;
    font-family: 'Shippori Mincho', serif;
}

.calendar_body {
    margin-bottom: 20px;
}

table.top_calendar {
    width: 100%;
    font-size: 100%;
    table-layout: fixed;
}

table.top_calendar,
table.top_calendar tr,
table.top_calendar tr th,
table.top_calendar tr td {
    border-collapse: collapse;
    /*    border: 1px solid #E6AE7F;*/
    color: #000;
}

table.top_calendar tr th,
table.top_calendar tr td {
    width: 14.285%;
    padding: 4px 0;
    text-align: center;
}

table.top_calendar tr {}

table.top_calendar tr th {
    color: #000;
    font-weight: normal;
    border-bottom: 1px solid #dddaac;
}

table.top_calendar tr td {
    background-color: #ffffff;
    vertical-align: top;
    position: relative;
    min-width: 0;
    height: 54px;
}

table.top_calendar tr td.today {
    background-color: #ffffff;
}

table.top_calendar tr td.today::before {
    position: absolute;
    content: "";
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
    z-index: 0;
    border-radius: 6px;
    background-color: #ebe9d0;
}

table.top_calendar tr td > * {
    position: relative;
    z-index: 1;
}

table.top_calendar tr th.sun,
table.top_calendar tr td.sun {
    color: #e5656a;
}

table.top_calendar tr th.sun {}

table.top_calendar tr td.sun {}

table.top_calendar tr th.sat {}

table.top_calendar tr td.sat {}

table.top_calendar tr td.cate_1 {
    background-color: #FEE3DE;
}

table.top_calendar tr td.cate_2 {
    background-color: #DEEFFE;
}

table.top_calendar tr td.cate_1 a,
table.top_calendar tr td.cate_2 a {
    text-decoration: none;
}

.top_calendar .holiday {
    color: #c02757;
}

.top_calendar .sunday {
    color: #c02757;
}

.top_calendar .saturday {
    color: #1f3289;
}

ul.notice_text {
    font-size: 75%;
    /* padding-top: 23px; */
    position: absolute;
    bottom: 15px;
    align-items: center;
    width: auto;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

@media screen and (max-width: 768px) {
    ul.notice_text {
        margin-top: 23px;
        position: static;
    }
}


/*
@media screen and (max-width: 768px) {
    ul.notice_text {
        display: block;
    }

}
*/

.notice_text {
    margin: 10px 0 0 0;
}

.notice_text li {
    padding: 0 10px;
    width: 45%;
}

.notice_text .all_day_icon {
    color: #FFCCC2;
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;

}

.notice_text .forenoon_icon {
    color: #dae8bd;
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;

}

.notice_text .afternoon_icon {
    color: #BFE1FF;
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;

}

.notice_text .daishin_icon {
    color: #f4e5b9;
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;

}

.notice_text .counseling_icon {
    color: #ede3f5;
    font-family: Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;

}


.notice_text .all_day_icon::after,
.notice_text .forenoon_icon::after,
.notice_text .afternoon_icon::after,
.notice_text .daishin_icon::after,
.notice_text .counseling_icon::after{
    content: ":";
    color: #333;
    padding: 5px;
}


/*
table.top_calendar tr td.kyuushinbi a{
    background-color: #FEE3DE;
	padding: 2px;
    width: 25px;
    height: 25px;
    border-radius: 50px;
    display: inline-block;
	text-decoration: none;
	pointer-events:none;
	color: #c02757;
}

table.top_calendar tr td.gozenkyuushinbi a{
    background-color: #dae8bd;
	padding: 2px;
    width: 25px;
    height: 25px;
    border-radius: 50px;
    display: inline-block;
	pointer-events:none;
    text-decoration: none;
}

table.top_calendar tr td.gogokyuushinbi a{
    background-color: #DEEFFE;
	padding: 2px;
    width: 25px;
    height: 25px;
    border-radius: 50px;
    display: inline-block;
    text-decoration: none;
	pointer-events:none;
	color: #1f3289;
}

*/

table.top_calendar tr td a {
}

table.top_calendar tr td .calendar-day-label {
    display: flex;
    box-sizing: border-box;
    width: 120px;
    max-width: calc(100% - 4px);
    min-height: 48px;
    margin: 4px auto 0;
    padding: 8px 6px;
    border-radius: 6px;
    font-size: 78%;
    line-height: 1.2;
    color: #333;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow-wrap: anywhere;
}

table.top_calendar tr td .calendar-day-label-text,
table.top_calendar tr td .calendar-day-place {
    display: block;
}

table.top_calendar tr td .calendar-day-place {
    margin-top: 2px;
    font-size: 90%;
}

@media screen and (max-width: 767px) {
    table.top_calendar tr td .calendar-day-label {
        width: 86px;
    }
}

table.top_calendar tr td a.calendar-day-label {
    text-decoration: none;
}

table.top_calendar tr td a.calendar-day-label:hover {
    opacity: 0.75;
}

table.top_calendar tr td .kyuushinbi-label {
    background-color: #FEE3DE;
    color: #c02757;
}

table.top_calendar tr td .gozenkyuushinbi-label {
    background-color: #dae8bd;
    color: #7C9937;
}

table.top_calendar tr td .gogokyuushinbi-label {
    background-color: #DEEFFE;
    color: #1f3289;
}

table.top_calendar tr td .daishinbi-label {
    background-color: #f4e5b9;
    color: #937112;
}

table.top_calendar tr td .counseling-label {
    background-color: #ede3f5;
    color: #7653a7;
}

table.top_calendar tr td .kaigyo-label {
    background-color: #fff;
    border: 1px solid #dddaac;
    color: #000;
}


table.top_calendar tr td .saturday,
table.top_calendar tr td .thursday,
table.top_calendar tr td .tuesday {
    color: #1f3289;
}

table.top_calendar tr td .daishinbi{
	color: #937112;
}

table.top_calendar tr td .counseling{
	color: #7653a7;
}

table.top_calendar tr td .holiday,
table.top_calendar tr td .sunday,
table.top_calendar tr td .kyuushinbi {
    color: #c02757;
}

table.top_calendar tr td .kyuushinbi a {
    color: #c02757;
}

table.top_calendar tr td .gogokyuushinbi {
    color: #1f3289;
}

table.top_calendar tr td .gogokyuushinbi a {
    color: #1f3289;
}

table.top_calendar tr td .gozenkyuushinbi {
    color: #7C9937;
}

table.top_calendar tr td .gozenkyuushinbi a {
    color: #7C9937;
}

table.top_calendar tr td .kaigyo {
    color: #000;
}

table.top_calendar tr td .kaigyo a {
    color: #000;
}

#calendar_result.prev-hide .schedule-month-selector[data-ctrl="prev"],
#calendar_result.next-hide .schedule-month-selector[data-ctrl="next"] {
    visibility: hidden;
}




@media screen and (max-width: 420px) {

.notice_text li {
    padding: 0 4px;
}
	
}

@media screen and (max-width: 370px) {
ul.notice_text {
    font-size: 9px;
	}
	
.notice_text .all_day_icon::after, .notice_text .forenoon_icon::after, .notice_text .afternoon_icon::after, .notice_text .daishin_icon::after {

    padding: 0 0px 0 5px;
}
	
}
