@charset "utf-8";


/* -----------------------------------------------------------

color

----------------------------------------------------------- */

.sub-color{
	--main-color: #19B84E;
	--light-main-color: #D1F9DE;
	--dark-main-color: #15953F;
}

/* -----------------------------------------------------------

Buttons

----------------------------------------------------------- */

.events-btn-01{
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--main-color);
	color: #fff;
	position: relative;
	padding: .5rem 2.25rem .5rem .5rem;
	text-decoration: none;
	width: 180px;
	border-radius: 5px;
	line-height: 1.3;
	font-weight: 500;
}

.events-btn-01::after{
	font-family: "Font Awesome 6 Free";
	content: "\f105";
	font-weight: 900;
	font-size: 1.2em;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}

@media (any-hover: hover) {
	.events-btn-01:hover {
		background: var(--dark-main-color);
	}
}

.em-booking-form-buttons{
	display: flex;
	justify-content: center;
	margin: 3rem 0;
}

.em-booking-form-buttons input[type="submit"]{
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--main-color);
	color: #fff;
	position: relative;
	padding: .5rem;
	text-decoration: none;
	width: 300px;
	border-radius: 5px;
	line-height: 1.3;
	font-weight: 500;
	border: none;
	appearance: none;
}

@media (any-hover: hover) {
	.em-booking-form-buttons input[type="submit"]:hover {
		background: var(--dark-main-color);
	}
}

/* -----------------------------------------------------------

Tables

----------------------------------------------------------- */

.em-view-container{
	margin-bottom: 3rem;
}

.events_table_style-01{
	width: 100%;
	font-size: .875rem;
}

.events_table_style-01 th, .events_table_style-01 td{
	background: #fff;
	border: 1px solid #999;
	padding: .75em;
}

.events_table_style-01 tr:first-child th{
	background-color: var(--main-color);
	color: #fff;
	text-align: center;
	padding: .5em;
}

@media (min-width: 992px){
	.events_table_style-01 th:nth-child(2){
		width: 14.5em;
	}

	.events_table_style-01 th:nth-child(3){
		width: 20.5em;
	}

	.events_table_style-01 th:nth-child(4){
		width: 16.5em;
	}
}

.events_table_style-01 p{
	display: flex;
	align-items: flex-start;
	margin-bottom: 0;
}

.events_table_style-01 td p:not(:last-child){
	margin-bottom: 1em;
}

.events_table_style-01 td span{
	display: inline-block;
	flex-shrink: 0;
	padding: .2em .75em;
	background-color: var(--light-main-color);
	text-align: center;
	border-radius: 5px;
	font-size: .875em;
	margin-right: .5rem;
}

.events_table_style-01 td .full,
.events_table_style-01 td .closed{
	font-size: .875em;
	font-weight: 500;
	text-align: center;
	padding-bottom: .5em;
}

.events_table_style-01 td .full{
	color: #DE0000;
}

@media (max-width: 991.98px) {
	.events_table_style-01{
		border-bottom: 1px solid #999;
	}

	.events_table_style-01 tr:first-child{
		display: none;
	}

	.events_table_style-01 th{
		background-color: var(--main-color);
		color: #fff;
	}

	.events_table_style-01 tr th, .events_table_style-01 td{
		display: block;
		width: 100%;
	}

	.events_table_style-01 tr th{
		padding: .75em;
	}

	.events_table_style-01 td{
		border-top: none;
		border-bottom: none;
		padding: 1em .75em;
	}

	.events_table_style-01 td:not(:last-child){
		padding-bottom: 0;
	}

	.events_table_style-01 td span{
		width: 6.5em;
	}
}

/* 園児募集 */

/* 開催日時を空欄に 260126一旦保留 */
/*.recruitment .events_table_style-01 td:nth-child(2) p{
		display: none;
}

@media (max-width: 991.98px) {
	.recruitment .events_table_style-01 td:nth-child(2){
		padding: 0;
	}
}*/

/* -----------------------------------------------------------

image

----------------------------------------------------------- */
.events_image{
	margin: 2rem 0 2.5rem;
}

.events_image img{
	margin: 0 auto;
}

/* -----------------------------------------------------------

form

----------------------------------------------------------- */
form.em-booking-form .heading-04{
	margin-top: 1.5rem;
	margin-bottom: .2rem;
	width: 100%;
}

form.em-booking-form a{
	color: var(--text-color);
}

form.em-booking-form a:hover{
	text-decoration: none;
}

/* -----------------------------------------------------------

Events Manager

----------------------------------------------------------- */
form.hidden {
	display: none !important;
	visibility: hidden !important;
}

.em-booking-message.em-booking-message-success {
	color: #0f5132 !important;
	background-color: #d1e7dd !important;
	border-color: #badbcc !important;
	padding: 10px;
	text-align: center;
	font-size: 120%;
	max-width: 370px;
	margin: 0 auto;
	width: 100%;
}

.em-booking-message.em-booking-message-error {
	color: #842029 !important;
	background-color: #f8d7da !important;
	border-color: #f5c2c7 !important;
	padding: 10px;
	margin-bottom: 2em;
}

.em-hide-dynamic p .impossible{
	display: block;
	border: 1px solid #DE0000;
	color: #DE0000;
	text-align: center;
	padding: 1.2rem 1rem;
}

/*-- 後で修正するかも --*/

.em-event-content .heading-03{
	padding: .3em 0 .2em;
}

.em-event-content .heading-03::before,
.em-event-content .heading-03::after{
	content: none;
}

.em-booking-form .heading-04::before{
	background-color: var(--main-color);
}

.em-booking-form .em-booking-section span.em-tooltip{
	border: none;
}

.em-taxonomy-events h1{
	margin-top: 3rem;
}

.em-booking-form-section-tickets table{
  width: auto;
	max-width: 400px;
}

.em-booking-form-section-tickets th, .em-booking-form-section-tickets td {
  padding: .5em 1em .5em 0;
}

.em-booking-form-section-tickets th {
	font-weight: 500;
}

.em-booking-form-section-tickets th:first-child {
	padding: .3em 1em .4em 1.3em;
	position: relative;
}

.em-booking-form-section-tickets th:first-child:before{
	position: absolute;
	content: "";
	left: 0;
	width: .95em;
	height: 1em;
	border-radius: 50%;
	/*border: .2em solid var(--main-color);*/
	background-color: var(--main-color);
	top: .6em;
}

.em-booking-form-section-tickets th:first-child::after{
	display: inline-block;
	content: "※";
	color: #DE0000;
	font-size: .875em;
}

.em-booking-form-section-tickets th:nth-child(2) {
	display: none;
}

.em-booking-form-section-tickets td{
	vertical-align: top;
}

.em-booking-form-section-tickets td .ticket-desc {
	font-size: .8em;
	display: block;
	padding: .35em;
}

.em-bookings-ticket-table-spaces select,
.em-input-select select,
.input-date input[type="date"],
.input-user-field input,
.em-input-text input{
  border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-sm);
  font-size: .875rem;
	color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
	appearance: none;
}

.em-bookings-ticket-table-spaces select,
.em-input-select select{
	padding: .25rem 2.25rem .25rem .5rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), none;
  background-repeat: no-repeat;
  background-position: right .75rem center;
  background-size: 16px 12px;
}

.em-input-select select{
	min-width: 30%;
}

.input-date input[type="date"]{
	padding: .25rem .6rem;
}

.input-user-field input,
.em-input-text input{
	width: 40%;
	min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));
  padding: .25rem .5rem;
	line-height: 1.5;
  background-clip: padding-box;
}

.em-input-select select:focus,
.input-user-field input:focus,
.em-input-text input:focus,
.input-date input[type="date"]:focus{
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}

@media (max-width: 991.98px) {
	.em-input-select select,
	.input-user-field input,
	.em-input-text input{
		width: 100%;
	}
}

/* input-group */
.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
	margin-left: 0;
  border-top-left-radius: var(--bs-border-radius-sm);
  border-bottom-left-radius: var(--bs-border-radius-sm);
}

.input-field-data_privacy_consent{
	margin-top: 1.5rem;
}