@charset "utf-8";

/* 重なり順 */
.calendar_search_open,
.calendar_search_open #mymainback_bg,
.calendar_search_open #mymainback {
	position: relative;
	z-index: 9999;
	background-color: #ffffff;
	color: #000000;
}

/* h1 */
#main_header_calendar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#main_header_calendar h1 {
	margin: 0px;
	padding: 21px 0px 0px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.5;
	width: calc(100% - 360px);
}

/* 検索ボタン */
.btn_event_search_wrap {
	width: 360px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.btn_event_search_wrap .search_btn {
	width: 100px;
	margin-left: 10px;
}
.btn_event_search_wrap .search_btn:last-child {
	width: 130px;
}

.search_btn a[class^="btn_event_"],
.search_btn button[class^="btn_event_"] {
	display: block;
	border: none;
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 5px;
	color: #000000;
	font-size: 1.4rem;
	line-height: 1.8rem;
	text-decoration: none;
	text-align: center;
	padding: 10px 0px;
}
.search_btn a[class^="btn_event_"] span,
.search_btn button[class^="btn_event_"] span {
	display: block;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center top;
	padding-top: 34px;
}

.search_btn a.btn_event_multi_period {
	background: #c6dde0;
}
.search_btn a.btn_event_multi_period span {
	background-image: url("/img/calendar/common/btn_event_multi_period.png");
}

.search_btn a.btn_event_end_soon {
	background: #fca7ad;
}
.search_btn a.btn_event_end_soon span {
	background-image: url("/img/calendar/common/btn_event_end_soon.png");
}

.search_btn a.btn_event_search_open,
.search_btn button.btn_event_search_open {
	background: #c6b198;
}
.search_btn a.btn_event_search_open span,
.search_btn button.btn_event_search_open span {
	background-image: url("/img/calendar/common/btn_search.png");
	background-position: center 4px;
	padding-top: 44px;
	padding-bottom: 8px;
}

/* 検索ボタン（フッタ） */
#calendar_search_footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	margin-top: 20px;
}
#calendar_search_footer p {
	width: calc(100% - 520px);
	margin: 0px;
	font-size: 1.6rem;
}

.btn_event_search_wrap2 {
	width: 490px;
}
.btn_event_search_wrap2 .search_btn a.btn_event_search_open,
.btn_event_search_wrap2 .search_btn button.btn_event_search_open {
	font-size: 1.6rem;
}
.btn_event_search_wrap2 .search_btn a.btn_event_search_open span,
.btn_event_search_wrap2 .search_btn button.btn_event_search_open span {
	display: inline-block;
	background-position: left center;
	padding: 11px 10px 11px 30px;
}

/* イベント検索 */
#search_calendar_form {
	display: none;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.75);
	color: #ffffff;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 999;
}
#search_calendar_form.open {
	display: block;
}

#search_calendar_form .btn_event_search_close {
	display: block;
	border: none;
	min-width: 3.2em;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	padding: 7px 0px 5px 30px;
	background: url("/img/calendar/common/btn_close.png") no-repeat left center transparent;
	color: inherit;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.2;
	text-decoration: none;
	position: absolute;
	left: 50%;
	bottom: 8%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}

#search_calendar_box {
	width: 660px;
	background: #ffffff;
	color: #000000;
	line-height: 1;
	position: absolute;
	top: 46%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
#search_calendar_box h2 {
	display: inline-block;
	min-width: 200px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px;
	padding: 4px 50px 1px;
	background: #b2b2b2;
	border-radius: 0px 0px 20px 0px;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.5rem;
	text-align: center;
}

#search_calendar_box2 {
	max-height: calc(75vh - 120px);
	overflow: auto;
	-ms-scroll-chaining: none;
	    overscroll-behavior: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 25px 25px;
}

/* イベント検索（検索条件） */
.cal_fm_box h3,
.cal_fm_box .cal_fm_title,
.cal_fm_box label.cal_fm_title,
.cal_fm_box legend.cal_fm_title {
	display: block;
	width: 100%;
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0px;
	padding: 20px 0px 0px;
	color: inherit;
}
.cal_fm_box legend.cal_fm_title:empty {
	display: none;
}
.cal_fm_box fieldset {
	border: none;
	margin: 0px;
	padding: 0px;
}

.cal_fm_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.cal_fm_item span {
	display: inline-block;
	position: relative;
}

.cal_fm_item input[type="radio"],
.cal_fm_item input[type="checkbox"] {
	display: inline-block;
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	overflow: hidden;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	z-index: -1;
}
.cal_fm_item input[type="radio"] + label,
.cal_fm_item input[type="checkbox"] + label {
	display: inline-block;
	margin: 5px 5px 0px 0px;
	padding: 6px 17px;
	border: 1px solid #cbcbcb;
	background: #ffffff;
	border-radius: 5px;
	font-size: 1.4rem;
	line-height: 1.2;
	cursor: pointer;
}
.cal_fm_item input[type="radio"] + label:empty,
.cal_fm_item input[type="checkbox"] + label:empty {
	display: none;
}
/* 土曜日 */
.cal_fm_item input[type="checkbox"] + label[for="s_wek6"] {
	background: #e1f5ff;
}
/* 日曜日 */
.cal_fm_item input[type="checkbox"] + label[for="s_wek0"] {
	background: #fce3ed;
}

.cal_fm_item input[type="radio"] + label:hover,
.cal_fm_item input[type="checkbox"] + label:hover,
.cal_fm_item input[type="radio"]:focus + label,
.cal_fm_item input[type="checkbox"]:focus + label {
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);
	        box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.cal_fm_item input[type="radio"]:checked + label,
.cal_fm_item input[type="checkbox"]:checked + label {
	border-color: #ffffff;
	background: #666666 !important;
	color: #ffffff;
	font-weight: bold;
}

.cal_fm_item input[type="text"] {
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 5px 0px 0px;
	padding: 6px;
	border: none;
	-webkit-box-shadow: 0 0 0 1px #cbcbcb;
	        box-shadow: 0 0 0 1px #cbcbcb;
	background: #f1f1f1;
	color: #000000;
	border-radius: 5px;
	font-size: 1.5rem;
	border: 1px solid #cccccc;
}
.cal_fm_item input[type="text"]:focus {
	-webkit-box-shadow: 0 0 0 1px #cc0000;
	        box-shadow: 0 0 0 1px #cc0000;
	background: #ffffff;
	outline: none;
}

.cal_fm_item select {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 5px 0px 0px;
	font-size: 1.5rem;
	height: 3rem;
}
.cal_fm_box_ymd .cal_fm_item span {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 5px 0px 0px;
	font-size: 1.4rem;
	line-height: 3rem;
}

/* イベント検索（条件追加） */
#search_calendar_more_open {
	display: inline-block;
	min-width: 240px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 20px 0px 0px;
	padding: 6px 20px;
	border: none;
	background: #e8e0d6;
	border-radius: 5px;
	color: #000000;
	font-size: 1.5rem;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
}
#search_calendar_more_open span {
	display: inline-block;
	padding: 10px 10px 10px 30px;
	background: url("/img/calendar/common/btn_search_more.png") no-repeat left center transparent;
}
#search_calendar_more_open.more_open span {
	background-image: url("/img/calendar/common/btn_search_more_close.png");
}

#search_calendar_more_box {
	display: none;
}
#search_calendar_more_box.more_open {
	display: block;
}

/* イベント検索（検索ボタン） */
#search_calendar_submit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	padding: 15px 20px;
	background: #f1f1f1;
}
#search_calendar_submit input[type="submit"] {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	min-width: 190px;
	border: 1px solid #c6b198;
	background: #c6b198;
	border-radius: 5px;
	font-size: 1.5rem;
	line-height: 1.2;
	margin: 5px;
	padding: 15px 10px;
	text-align: center;
}
#search_calendar_submit input[type="button"].btn_reset {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid #cbcbcb;
	background: url("/img/calendar/common/btn_close.png") no-repeat 10px center #ffffff;
	border-radius: 5px;
	font-size: 1.5rem;
	line-height: 1.2;
	margin: 5px;
	padding: 15px 10px 15px 30px;
	text-align: center;
}

#search_calendar_submit > input[type="submit"] {
	width: calc(100% - 18rem - 10px);
}
#search_calendar_submit > input[type="button"].btn_reset {
	width: calc(18rem - 10px);
}

/* イベント検索（日付指定エラー） */
.search_error_meeage {
	margin: 15px 0px 0px;
	color: #c0272d;
	font-weight: bold;
}

/* 検索条件 */
#search_result_condition {
	display: none;
}
#search_result_condition.open {
	display: block;
}

#search_result_condition_box {
	margin: 20px 0px;
	line-height: 1;
}
#search_result_condition_box h2 {
	display: inline-block;
	min-width: 200px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px;
	padding: 4px 50px 1px;
	background: #b2b2b2;
	border-radius: 0px 20px 0px 0px;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.5rem;
	text-align: center;
}

#search_result_condition_box2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	border-left: 2px solid #b2b2b2;
}
#search_result_condition_box2 .search_result {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	width: 50%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid #b2b2b2;
	border-top: none;
	border-left: none;
}
#search_result_condition_box2 .search_result:only-child {
	width: 100%;
}
#search_result_condition_box2 .search_result:nth-child(1),
#search_result_condition_box2 .search_result:nth-child(2) {
	border-top: 2px solid #b2b2b2;
}
#search_result_condition_box2 .search_result:nth-last-child(1),
#search_result_condition_box2 .search_result:nth-last-child(2) {
	border-bottom: 2px solid #b2b2b2;
}
#search_result_condition_box2 .search_result:nth-child(2n),
#search_result_condition_box2 .search_result:last-child {
	border-right: 2px solid #b2b2b2;
}

#search_result_condition_box2 .search_result > h3 {
	width: 130px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px;
	padding: 11px 10px;
	background: #f4efeb;
	font-size: 1.5rem;
	line-height: 1.25;
	text-align: center;
}
#search_result_condition_box2 .search_result > div {
	width: calc(100% - 130px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 11px 10px;
	font-size: 1.4rem;
	line-height: 1.5;
}
#search_result_condition_box2 .search_result > div span,
#search_result_condition_box2 .search_result > div span[class^="icon_cat_"] {
	display: inline-block;
	vertical-align: top;
	margin: 0px 1em 0px 0px;
	padding: 0px 1em 0px 0px;
	background: none !important;
	border: none !important;
	border-right: 1px solid #cccccc !important;
	border-radius: 0;
}
#search_result_condition_box2 .search_result > div span:last-child,
#search_result_condition_box2 .search_result > div span[class^="icon_cat_"]:last-child {
	margin-right: 0px;
	padding-right: 0px;
	border-right: none !important;
}

#search_result_condition_reset {
	margin: 20px 0px 60px;
	text-align: center;
}
#search_result_condition_reset a.btn_reset,
#search_result_condition_reset button.btn_reset {
	display: inline-block;
	vertical-align: middle;
	min-width: 300px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 0px;
	border: 1px solid #cbcbcb;
	background: #ffffff;
	border-radius: 5px;
	color: #000000;
	font-size: 1.5rem;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
}
#search_result_condition_reset a.btn_reset span,
#search_result_condition_reset button.btn_reset span {
	display: inline-block;
	background: url("/img/calendar/common/btn_close.png") no-repeat left center transparent;
	padding: 5px 10px 5px 30px;
}

/* 検索結果が無い時 */
.no_result {}

.cal_event_no_data {
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 5px;
}

/* 検索結果（ヘッダ） */
.calendar_detail_title h2 {
	margin: -30px 360px 30px 0px;
	padding: 3px 0px;
	font-size: 2rem;
	line-height: 1.2;
}

.calendar_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

.calendar_header .calendar_select {
	width: 410px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.calendar_header .calendar_select_date,
.calendar_header .calendar_sort {
	width: calc(100% - 410px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px 10px 0px;
	background: #c6b198;
	border-radius: 5px 5px 0px 0px;
}

.calendar_select ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.calendar_select ul li {
	width: 200px;
	margin-right: 5px;
}
.calendar_select ul li a,
#calendar_detail_list .calendar_select ul li a {
	display: block;
	padding: 10px 10px 10px 45px;
	background-color: #e8e0d6;
	background-repeat: no-repeat;
	background-position: 20px center;
	background-size: auto;
	border-radius: 5px 5px 0px 0px;
	color: #000000;
	font-size: 1.6rem;
	line-height: 2rem;
	text-align: left;
}
.calendar_select ul li a.select_dsp,
#calendar_detail_list .calendar_select ul li a.select_dsp {
	background-color: #c6b198;
	text-decoration: none;
}
.calendar_select ul li.icon_calendar a,
#calendar_detail_list .calendar_select ul li.icon_calendar a {
	background-image: url("/img/calendar/common/icon_tab_calendar.png");
}
.calendar_select ul li.icon_event a,
#calendar_detail_list .calendar_select ul li.icon_event a {
	background-image: url("/img/calendar/common/icon_tab_event.png");
}

/* 検索結果（フッタ） */
.calendar_footer {
	display: table;
	table-layout: fixed;
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #c6b198;
	margin-bottom: 30px;
	padding: 10px 10px 20px;
}
.calendar_footer > div {
	display: table-cell;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.btn_show_more button.show_more {
	display: block;
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px;
	padding: 11px 20px;
	border: none;
	background: #ddd0c1;
	border-radius: 5px;
	color: #000000;
	font-size: 1.5rem;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
}

/* 検索結果（共通パーツ） */
.calendar_tabbox .calendar_list {
	background: #c6b198;
	padding: 10px 5px;
}

.cal_event_icon span,
span[class^="icon_cat_"] {
	display: inline-block;
	vertical-align: middle;
	margin: 2px 5px 2px 0px;
	padding: 4px 17px;
	border: 1px solid #cbcbcb;
	background: transparent;
	border-radius: 5px;
	font-size: 1.4rem;
	line-height: 1.2;
}

img.img_event_entry {
	display: inline-block;
	vertical-align: middle;
}

.cal_event_box .article_title,
.calendar_event_box .article_title {
	font-size: 1.8rem;
	font-weight: bold;
}

.cal_event_box .cal_event_comment,
.calendar_event_box .cal_event_comment {
	font-size: 1.4rem;
	margin: 0px 0px 5px;
}

.cal_event_box dl,
.calendar_event_box dl {
	display: inline-block;
	vertical-align: top;
	margin: 2px 5px 2px 0px;
	padding: 0px;
	font-size: 1.4rem;
}
.cal_event_box dl dt,
.calendar_event_box dl dt {
	display: inline-block;
	vertical-align: middle;
	margin: 0px;
	padding: 0px;
}
.cal_event_box dl dd,
.calendar_event_box dl dd {
	display: inline;
	vertical-align: middle;
	margin: 0px;
	padding: 0px 5px;
}
.cal_event_box dl img,
.calendar_event_box dl img {
	vertical-align: middle;
}

.cal_event_box dl.cal_event_entry,
.calendar_event_box dl.cal_event_entry {
	display: block;
	margin: 5px 0px;
}
.cal_event_box dl.cal_event_entry dt,
.calendar_event_box dl.cal_event_entry dt {
	margin-right: 5px;
	padding: 3px 10px 1px;
	background: #c0272d;
	border-radius: 5px;
	color: #ffffff;
	font-size: 1.1rem;
	font-weight: bold;
}
.cal_event_box dl.cal_event_entry dd,
.calendar_event_box dl.cal_event_entry dd {
	color: #c0272d;
	font-weight: bold;
}

/* 検索結果（カレンダー） */
.calendar_select_date {
	text-align: right;
}

.calendar_select_date ul {
	display: inline-block;
	vertical-align: middle;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.calendar_select_date ul li {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 0px 0px;
}
.calendar_select_date ul li a,
.calendar_select_date ul li button {
	display: block;
	padding: 0.5rem 10px;
	border: none;
	background: #333333;
	color: #ffffff;
	font-size: 1.5rem;
	line-height: 2rem;
	text-decoration: none;
	position: relative;
}
.calendar_select_date ul li a.month_prev::before,
.calendar_select_date ul li button.month_prev::before {
	content: '';
	display: block;
	width: 0px;
	height: 0px;
	border: 1.5rem solid transparent;
	border-right-color: #333333;
	border-right-width: 1rem;
	border-left-width: 0px;
	position: absolute;
	right: 100%;
	top: 0px;
}
.calendar_select_date ul li a.month_next::before,
.calendar_select_date ul li button.month_next::before {
	content: '';
	display: block;
	width: 0px;
	height: 0px;
	border: 1.5rem solid transparent;
	border-left-color: #333333;
	border-left-width: 1rem;
	border-right-width: 0px;
	position: absolute;
	left: 100%;
	top: 0px;
}

.calendar_select_date ul li a.month_prev_hidden,
.calendar_select_date ul li a.month_next_hidden {
	display: none; /* 自動で出力・削除するクラスなので削除不可 */
}

.calendar_select_date select {
	display: inline-block;
	vertical-align: middle;
	height: 3rem;
	margin: 5px 0px 0px 1rem;
	font-size: 1.5rem;
}
.calendar_select_date input[type="button"] {
	display: inline-block;
	vertical-align: middle;
	height: 3rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 5px 0px 0px;
	padding: 0.6rem 10px;
	border: 1px solid #cbcbcb;
	background: #ffffff;
	font-size: 1.4rem;
	line-height: 1.2;
}

dl.calendar_day {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	margin: 0px 5px 5px;
	padding: 5px;
	background: #ffffff;
}
dl.calendar_day:last-child {
	margin-bottom: 0px;
}

dl.calendar_day dt.calendar_day_title {
	width: 220px;
	min-height: 5rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 5px;
	background: #eee7e0;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
}
/* 土曜日 */
dl.calendar_day.week_sat dt.calendar_day_title {
	background: #e1f5ff;
	color: #0071bb;
}
/* 日曜日 */
dl.calendar_day.week_sun dt.calendar_day_title {
	background: #fce3ed;
	color: #c0272d;
}

dl.calendar_day dt.calendar_day_title .weekday_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	width: calc(100% - 40px);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
dl.calendar_day dt.calendar_day_title .weekday_box > span {
	display: block;
	width: 50%;
	text-align: right;
}
dl.calendar_day dt.calendar_day_title .weekday_box > span.t_day {
	padding-top: 4px;
	padding-right: 10px;
}
dl.calendar_day dt.calendar_day_title .weekday_box > span.t_day span {
	display: inline-block;
	margin-right: 5px;
	font-size: 3.2rem;
	line-height: 1.1;
	white-space: nowrap;
}
dl.calendar_day dt.calendar_day_title .weekday_box > span.t_week {
	padding-bottom: 4px;
}
dl.calendar_day dt.calendar_day_title .weekday_box > span.t_week span {
	display: block;
}

dl.calendar_day dd.calendar_day_list {
	width: calc(100% - 220px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px;
	padding: 0px 15px;
}
dl.calendar_day dd.calendar_day_list .cal_event_box {
	padding: 5px 0px;
	border-bottom: 1px solid #cbcbcb;
}
dl.calendar_day dd.calendar_day_list .cal_event_box:last-child {
	padding-bottom: 0px;
	border-bottom: none;
}

.cal_event_box .article_title {
	margin-right: 10px;
	vertical-align: middle;
}

/* 検索結果（イベント一覧） */
.calendar_sort {
	text-align: right;
}
.calendar_sort > span {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 0px 0px;
	padding: 5px 0px 5px 30px;
	background: url("/img/calendar/common/icon_shuffle.png") no-repeat left center transparent;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2rem;
}
.calendar_sort ul {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 0px 0px 5px;
	padding: 0px;
	list-style: none;
}
.calendar_sort ul li {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 0px 0px;
}
.calendar_sort ul li a,
.calendar_sort ul li button {
	display: block;
	padding: 4px 10px;
	border: 1px solid #cbcbcb;
	background: #ffffff;
	border-radius: 5px;
	color: #000000;
	font-size: 1.5rem;
	line-height: 2rem;
}
.calendar_sort ul li a.sort_selected,
.calendar_sort ul li button.sort_selected {
	border-color: #ffffff;
	background: transparent;
	text-decoration: none;
}

#calendar_detail_event .calendar_footer {
	padding: 5px 10px;
}
#calendar_detail_event .btn_show_more button.show_more {
	margin: 0px 0px 15px;
}

#calendar_detail_event_hidden {
	display: none;
	background: #c6b198;
	padding: 10px 5px;
}

#calendar_detail_event_main,
.calendar_tabbox #calendar_detail_event_main.calendar_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	padding-left: 1%;
	padding-right: 0px;
}
.calendar_event_box {
	width: calc(33% - 6px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px 3px 6px;
	padding: 15px 20px;
	background: #ffffff;
}

.cal_event_title h3 {
	margin: 0px;
	font-size: 1.8rem;
	font-weight: bold;
}

.cal_event_thumb {
	width: 200px;
	max-width: 100%;
	height: 150px;
	margin: 5px auto;
	position: relative;
}
.cal_event_thumb img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 150px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}

/* 検索結果（複数期間・申込終了間近） */
.calendar_event_more_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	margin-top: 20px;
	padding: 10px;
	border-radius: 5px;
}
#claendar_event_multi_period {
	background: #c6dde0;
}
#calendar_event_end_soon {
	background: #fca7ad;
}

.calendar_event_more_title {
	width: 320px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 25px 0px 0px 60px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: left 10px;
}
#claendar_event_multi_period .calendar_event_more_title {
	background-image: url("/img/calendar/common/ttl_event_multi_period.png");
}
#calendar_event_end_soon .calendar_event_more_title {
	background-image: url("/img/calendar/common/ttl_event_end_soon.png");
}
.calendar_event_more_title h2 {
	margin: 0px;
	padding: 0px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
}
.calendar_event_more_title p {
	margin: 10px 0px 0px;
	font-size: 1.4rem;
}

.calendar_event_more_detail {
	width: calc(100% - 330px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.calendar_event_more_detail .cal_event_box {
	margin-bottom: 10px;
	padding: 10px 15px;
	background: #ffffff;
}
.calendar_event_more_detail .cal_event_box:last-child {
	margin-bottom: 0px;
}

/* イベントアイコンの色 ここから */
span[class^="icon_cat_"] {
	border-color: #cbcbcb;
	background: #ffffff;
}
span.icon_cat_1,
.cal_fm_box_category .cal_fm_item .item_cat_1 input[type="checkbox"] + label {
	border-color: #ffdbdb;
	background: #ffdbdb;
}
span.icon_cat_2,
.cal_fm_box_category .cal_fm_item .item_cat_2 input[type="checkbox"] + label {
	border-color: #dbffdb;
	background: #dbffdb;
}
span.icon_cat_3,
.cal_fm_box_category .cal_fm_item .item_cat_3 input[type="checkbox"] + label {
	border-color: #dbdbff;
	background: #dbdbff;
}
span.icon_cat_4,
.cal_fm_box_category .cal_fm_item .item_cat_4 input[type="checkbox"] + label {
	border-color: #edffdb;
	background: #edffdb;
}
span.icon_cat_5,
.cal_fm_box_category .cal_fm_item .item_cat_5 input[type="checkbox"] + label {
	border-color: #dbedff;
	background: #dbedff;
}
span.icon_cat_6,
.cal_fm_box_category .cal_fm_item .item_cat_6 input[type="checkbox"] + label {
	border-color: #ffdbed;
	background: #ffdbed;
}
span.icon_cat_7,
.cal_fm_box_category .cal_fm_item .item_cat_7 input[type="checkbox"] + label {
	border-color: #ffffdb;
	background: #ffffdb;
}
span.icon_cat_8,
.cal_fm_box_category .cal_fm_item .item_cat_8 input[type="checkbox"] + label {
	border-color: #dbffff;
	background: #dbffff;
}
span.icon_cat_9,
.cal_fm_box_category .cal_fm_item .item_cat_9 input[type="checkbox"] + label {
	border-color: #ffdbff;
	background: #ffdbff;
}
span.icon_cat_10,
.cal_fm_box_category .cal_fm_item .item_cat_10 input[type="checkbox"] + label {
	border-color: #ffeddb;
	background: #ffeddb;
}
span.icon_cat_11,
.cal_fm_box_category .cal_fm_item .item_cat_11 input[type="checkbox"] + label {
	border-color: #dbffed;
	background: #dbffed;
}
span.icon_cat_12,
.cal_fm_box_category .cal_fm_item .item_cat_12 input[type="checkbox"] + label {
	border-color: #eddbff;
	background: #eddbff;
}
span.icon_cat_13,
.cal_fm_box_category .cal_fm_item .item_cat_13 input[type="checkbox"] + label {
	border-color: #f5f5f5;
	background: #f5f5f5;
}
span.icon_cat_14,
.cal_fm_box_category .cal_fm_item .item_cat_14 input[type="checkbox"] + label {
	border-color: #ffdbdb;
	background: #ffdbdb;
}
span.icon_cat_15,
.cal_fm_box_category .cal_fm_item .item_cat_15 input[type="checkbox"] + label {
	border-color: #dbffdb;
	background: #dbffdb;
}
span.icon_cat_16,
.cal_fm_box_category .cal_fm_item .item_cat_16 input[type="checkbox"] + label {
	border-color: #dbdbff;
	background: #dbdbff;
}
span.icon_cat_17,
.cal_fm_box_category .cal_fm_item .item_cat_17 input[type="checkbox"] + label {
	border-color: #edffdb;
	background: #edffdb;
}
span.icon_cat_18,
.cal_fm_box_category .cal_fm_item .item_cat_18 input[type="checkbox"] + label {
	border-color: #dbedff;
	background: #dbedff;
}
span.icon_cat_19,
.cal_fm_box_category .cal_fm_item .item_cat_19 input[type="checkbox"] + label {
	border-color: #ffdbed;
	background: #ffdbed;
}
span.icon_cat_20,
.cal_fm_box_category .cal_fm_item .item_cat_20 input[type="checkbox"] + label {
	border-color: #ffffdb;
	background: #ffffdb;
}
span.icon_cat_21,
.cal_fm_box_category .cal_fm_item .item_cat_21 input[type="checkbox"] + label {
	border-color: #dbffff;
	background: #dbffff;
}
span.icon_cat_22,
.cal_fm_box_category .cal_fm_item .item_cat_22 input[type="checkbox"] + label {
	border-color: #ffdbff;
	background: #ffdbff;
}
span.icon_cat_23,
.cal_fm_box_category .cal_fm_item .item_cat_23 input[type="checkbox"] + label {
	border-color: #ffeddb;
	background: #ffeddb;
}
span.icon_cat_24,
.cal_fm_box_category .cal_fm_item .item_cat_24 input[type="checkbox"] + label {
	border-color: #dbffed;
	background: #dbffed;
}
span.icon_cat_25,
.cal_fm_box_category .cal_fm_item .item_cat_25 input[type="checkbox"] + label {
	border-color: #eddbff;
	background: #eddbff;
}
span.icon_cat_26,
.cal_fm_box_category .cal_fm_item .item_cat_26 input[type="checkbox"] + label {
	border-color: #f5f5f5;
	background: #f5f5f5;
}
/* イベントアイコンの色 ここまで */

/* 背景色変更 ここから */
/* 共通 */
.color_change #search_calendar_form {
	background: rgba(0, 0, 0, 0.75) !important;
}
.color_change #search_calendar_box,
.color_change dl.calendar_day,
.color_change .calendar_event_box,
.color_change .calendar_event_more_list {
	outline: 1px solid rgba(255, 255, 255, 0.5);
}
.color_change .calendar_select_date ul li a.month_prev::before,
.color_change .calendar_select_date ul li a.month_next::before,
.color_change .calendar_select_date ul li button.month_prev::before,
.color_change .calendar_select_date ul li button.month_next::before {
	display: none;
}
.color_change .calendar_select ul li a.select_dsp,
.color_change .calendar_select ul li button.select_dsp {
	background: none !important;
	text-decoration: none !important;
}

.color_change dl.calendar_day.week_sat dt.calendar_day_title,
.color_change dl.calendar_day.week_sat dt.calendar_day_title * {
	background: #000066 !important;
}
.color_change dl.calendar_day.week_sun dt.calendar_day_title,
.color_change dl.calendar_day.week_sun dt.calendar_day_title * {
	background-color: #990000 !important;
}

/* 黒 */
.color_black #search_calendar_more_open,
.color_black dl.calendar_day dt.calendar_day_title,
.color_black dl.calendar_day dt.calendar_day_title *,
.color_black .search_btn a[class^="btn_event_"],
.color_black .search_btn button[class^="btn_event_"],
.color_black .cal_fm_item input[type="radio"]:checked + label,
.color_black .cal_fm_item input[type="checkbox"]:checked + label,
.color_black .calendar_select ul li a,
.color_black .calendar_select ul li button {
	background: #333333 !important;
}

/* 青 */
.color_blue #search_calendar_more_open,
.color_blue dl.calendar_day dt.calendar_day_title,
.color_blue dl.calendar_day dt.calendar_day_title *,
.color_blue .search_btn a[class^="btn_event_"],
.color_blue .search_btn button[class^="btn_event_"],
.color_blue .cal_fm_item input[type="radio"]:checked + label,
.color_blue .cal_fm_item input[type="checkbox"]:checked + label,
.color_blue .calendar_select ul li a,
.color_blue .calendar_select ul li button {
	background: #0000aa !important;
}
/* 背景色変更 ここまで */


/* ==================================================
タブレット
================================================== */
@media (max-width: 1100px) {

	/* 検索ボタン（フッタ） */
	.btn_event_search_wrap2 {
		width: 300px;
	}
	#calendar_search_footer p {
		width: calc(100% - 320px);
	}

	/* 検索結果（ヘッダ） */
	.calendar_header {
		display: block;
	}
	.calendar_header .calendar_select_date,
	.calendar_header .calendar_sort {
		width: auto;
		border-radius: 0px 5px 0px 0px;
	}

	/* 検索結果（カレンダー） */
	dl.calendar_day dt.calendar_day_title {
		width: 160px;
		min-height: auto;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box {
		display: block;
		width: auto;
		position: static;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
		padding: 10px 0px;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span {
		width: auto;
		text-align: center;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span.t_day {
		padding: 0px;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span.t_week {
		padding: 5px 0px 0px;
	}
	dl.calendar_day dd.calendar_day_list {
		width: calc(100% - 160px);
	}

	/* 検索結果（イベント一覧） */
	#calendar_detail_event_main,
	.calendar_tabbox #calendar_detail_event_main.calendar_list {
		padding-left: 6px;
		padding-right: 6px;
	}
	.calendar_event_box {
		width: calc(50% - 6px);
	}

	/* 検索結果（複数期間・申込終了間近） */
	.calendar_event_more_list {
		display: block;
	}
	.calendar_event_more_title {
		width: auto;
		padding: 20px 0px 20px 60px;
		background-position: left center;
	}
	.calendar_event_more_title h2 {
		display: inline-block;
		vertical-align: middle;
		margin: 0px 20px 0px 0px;
	}
	.calendar_event_more_title p {
		display: inline-block;
		vertical-align: middle;
		margin: 0px;
	}
	.calendar_event_more_detail {
		width: 100%;
	}

}
/* ==================================================
タブレット ここまで
================================================== */


/* ==================================================
スマートフォン
================================================== */
@media (max-width: 1100px) {

	/* h1 */
	#main_header_calendar h1 {
		padding: 21px 0px 11px;
		font-size: 2rem;
		width: calc(100% - 120px);
	}

	/* 検索ボタン */
	.btn_event_search_wrap {
		display: block;
		width: 110px;
	}
	.btn_event_search_wrap .search_btn,
	.btn_event_search_wrap .search_btn:last-child {
		display: block;
		width: auto;
		margin: 0px 0px 2px;
	}
	.btn_event_search_wrap .search_btn:last-child {
		margin-bottom: 0px;
	}
	.search_btn a[class^="btn_event_"],
	.search_btn button[class^="btn_event_"] {
		font-size: 1rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 0px;
	}
	.search_btn a[class^="btn_event_"] span,
	.search_btn button[class^="btn_event_"] span {
		background-size: 20px auto;
		background-position: 5px center;
		padding: 3px 5px 3px 20px;
	}
	.search_btn a.btn_event_search_open,
	.search_btn button.btn_event_search_open {
		font-size: 1.1rem;
	}
	.search_btn a.btn_event_search_open span,
	.search_btn button.btn_event_search_open span {
		padding-top: 16px;
		padding-bottom: 16px;
	}
	.search_btn:only-child a.btn_event_search_open span,
	.search_btn:only-child button.btn_event_search_open span {
		padding-top: 21px;
		padding-bottom: 21px;
	}

	/* 検索ボタン（フッタ） */
	#calendar_search_footer p {
		width: calc(100% - 120px);
		font-size: 1.2rem;
	}
	.btn_event_search_wrap2 {
		width: 110px;
	}
	.btn_event_search_wrap2 .search_btn a.btn_event_search_open,
	.btn_event_search_wrap2 .search_btn button.btn_event_search_open {
		font-size: 1.1rem;
	}
	.btn_event_search_wrap2 .search_btn a.btn_event_search_open span,
	.btn_event_search_wrap2 .search_btn:only-child a.btn_event_search_open span,
	.btn_event_search_wrap2 .search_btn button.btn_event_search_open span,
	.btn_event_search_wrap2 .search_btn:only-child button.btn_event_search_open span {
		display: block;
		background-size: 20px auto;
		background-position: 5px center;
		padding: 21px 5px 21px 20px;
	}

	/* イベント検索 */
	#search_calendar_box {
		max-width: calc(100% - 40px);
		max-height: calc(100vh - 140px);
		max-height: calc(100dvh - 140px);
		overflow-y: auto;
		-ms-scroll-chaining: none;
		    overscroll-behavior: none;
		top: 46%;
	}
	#search_calendar_box h2 {
		min-width: 120px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.font_size_changed #search_calendar_box2 {
		max-height: none;
		overflow: visible;
	}

	#search_calendar_submit input[type="submit"],
	#search_calendar_submit > input[type="submit"] {
		width: auto;
		min-width: calc(50% - 10px);
		font-size: 1.3rem;
		line-height: 1.8rem;
	}
	#search_calendar_submit input[type="button"].btn_reset,
	#search_calendar_submit > input[type="button"].btn_reset {
		width: auto;
		min-width: calc(50% - 10px);
		max-width: none;
		background-position: 5px center;
		padding-left: 25px;
		font-size: 1.2rem;
		line-height: 1.8rem;
	}

	.cal_fm_item input[type="radio"] + label,
	.cal_fm_item input[type="checkbox"] + label {
		font-size: 1.2rem;
	}

	#search_calendar_more_open {
		font-size: 1.3rem;
	}

	/* 検索条件 */
	#search_result_condition_box h2 {
		min-width: 132px;
		padding: 7px 20px 3px;
	}
	#search_result_condition_box2 {
		display: block;
		border: 2px solid #b2b2b2;
		border-bottom-width: 1px;
	}
	#search_result_condition_box2 .search_result {
		width: 100% !important;
		border: none !important;
		border-bottom: 1px solid #b2b2b2 !important;
	}
	#search_result_condition_box2 .search_result > h3 {
		font-size: 1.3rem;
	}

	#search_result_condition_reset {
		margin-bottom: 30px;
	}
	#search_result_condition_reset a.btn_reset,
	#search_result_condition_reset button.btn_reset {
		font-size: 1.3rem;
		min-width: 200px;
	}

	/* 検索結果（ヘッダ） */
	.calendar_detail_title h2 {
		margin: 0px 120px 20px 0px;
		font-size: 1.6rem;
	}

	.calendar_header {
		display: block;
	}
	.calendar_header .calendar_select {
		width: auto;
	}
	.calendar_header .calendar_select_date,
	.calendar_header .calendar_sort {
		width: auto;
		border-radius: 0px;
	}

	.calendar_select ul {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.calendar_select ul li {
		width: calc(50% - 3px);
		margin-right: 0px;
	}
	.calendar_select ul li a,
	.calendar_select ul li button {
		font-size: 1.3rem;
	}
	.calendar_select ul li a.select_dsp,
	.calendar_select ul li button.select_dsp {
		font-weight: bold;
	}

	/* 検索結果（フッタ） */
	.calendar_footer {
		display: block;
		width: auto;
	}
	.calendar_footer > div {
		display: block;
	}

	/* 検索結果（共通パーツ） */
	.cal_event_box .article_title,
	.calendar_event_box .article_title {
		display: block;
		margin: 0px 0px 5px;
		font-size: 1.6rem;
	}

	.cal_event_box .cal_event_comment,
	.calendar_event_box .cal_event_comment {
		font-size: 1.2rem;
		margin: 5px 0px;
	}

	.cal_event_icon span,
	span[class^="icon_cat_"] {
		font-size: 1.1rem;
		padding: 5px 10px;
	}

	.cal_event_box dl,
	.calendar_event_box dl {
		font-size: 1.2rem;
	}

	/* 検索結果（カレンダー） */
	.calendar_select_date ul li a,
	.calendar_select_date ul li button {
		font-size: 1.2rem;
		padding-left: 8px;
		padding-right: 8px;
	}

	.btn_show_more button.show_more {
		font-size: 1.3rem;
	}
	#calendar_detail_list .btn_show_more button.show_more {
		margin-bottom: 10px;
	}

	dl.calendar_day {
		display: block;
	}
	dl.calendar_day dt.calendar_day_title {
		width: auto;
		min-height: auto;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box {
		display: block;
		width: auto;
		position: static;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
		padding: 0px;
		text-align: center;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span {
		display: inline-block;
		vertical-align: middle;
		width: auto;
		text-align: center;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span.t_day {
		padding: 0px;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span.t_day span {
		font-size: 2.4rem;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span.t_week {
		padding: 0px 0px 0px 10px;
		font-size: 1.2rem;
	}
	dl.calendar_day dt.calendar_day_title .weekday_box > span.t_week span {
		display: inline-block;
		vertical-align: middle;
		margin-right: 5px;
	}
	dl.calendar_day dd.calendar_day_list {
		width: auto;
		padding: 0px 5px;
	}

	/* 検索結果（イベント一覧） */
	.calendar_sort ul li a,
	.calendar_sort ul li button {
		font-size: 1.3rem;
	}

	#calendar_detail_event_main,
	.calendar_tabbox #calendar_detail_event_main.calendar_list {
		display: block;
		padding-left: 10px;
		padding-right: 10px;
	}
	.calendar_event_box {
		width: auto;
		margin: 0px 0px 5px;
	}

	/* 検索結果（複数期間・申込終了間近） */
	.calendar_event_more_list {
		display: block;
	}
	.calendar_event_more_title {
		width: auto;
		padding: 10px 0px 10px 40px;
		background-position: left center;
		background-size: 30px auto;
	}
	.calendar_event_more_title h2 {
		display: block;
		margin: 0px;
		font-size: 1.8rem;
	}
	.calendar_event_more_title p {
		display: block;
		margin: 0px;
		font-size: 1.2rem;
	}
	.calendar_event_more_detail {
		width: auto;
	}

}
/* ==================================================
スマートフォン ここまで
================================================== */