/*
Theme Name: 健康保険組合連合会
Version: 1.0
Author: 株式会社アドミクス
Desctiption: 健康保険組合連合会のオリジナルテンプレート
*/

figure {
	margin: 0;
}


/* events */
#em-wrapper {
	padding: 0 0 100px;
}
.contents .em-item-info {
	text-align: left;
}
.contents .em.em-list .em-item {
	grid-template-columns: minmax(0, 1fr) 3fr;
}
.contents .em.em-list .em-item .em-item-info {
	border-left: none;
}
.contents .em.em-item.em-item-single .em-item-header {
	flex-wrap: wrap;
}
.contents .em.em-item.em-item-single .em-item-image {
	width: 60%;
	margin: 0 20% 30px;
	order: 1;
}
.contents .em.em-item.em-item-single .em-item-image img {
	padding-left: 0!important;
	padding: 0;
	border-left: none;
}
.contents .em.em-item.em-item-single.size-small .em-item-header .em-item-image img {
	padding: 0;
	border-bottom: none;
}
.contents .em.em-item .em-item-meta .em-item-meta-line {
	font-size: 18px;
	text-align: left;
}
.contents .em.em-item.em-item-single .em-item-meta {
	width: 100%;
}
.contents .em.em-item.em-item-single .em-item-meta h3 {
	padding: 0.4em 0.5em 0.2em;
	background: rgba(143,195,31, 0.1);
	border-bottom: 1px solid #8fc31f;
	font-size: 20px!important;
	font-weight: 700!important;
	color: #8fc31f;
	text-align: center;
}
.contents .em.em-list .em-item .em-item-meta .em-item-meta-line a {
	font-style: normal!important;
}
.contents .em.em-list .em-item .em-item-meta .em-item-meta-line.em-location-events a {
	display: block;
}
.contents .em.em-item .em-item-meta .em-item-meta-line a {
	font-style: normal!important;
}
.contents .em.em-item .em-item-meta .em-item-meta-line.em-event-location a {
	display: block;
	margin-bottom: 0.5em;
}
.contents .em-event-content {
	text-align: left;
	overflow: hidden;
}
.contents .em.em-item.em-item-single>section.em-event-bookings {
	margin: 100px 60px;
	border: 1px solid #008ccf;
}
.contents .em.pixelbones h2,
.contents .em.pixelbones .em-location-events h3 {
	padding: 0.4em 1em 0.2em;
	background: rgba(0,140,207, 0.1);
	font-size: 22px!important;
	font-weight: 700!important;
	border-bottom: 1px solid #008ccf;
	color: #008ccf;
}
.contents .em.pixelbones .em-event-bookings h2,
.contents .em.pixelbones .em-location-events h3 {
	text-align: center;
}
.contents .em.pixelbones .input input[type=submit]:not([data-nostyle]) {
	height: auto!important;
	padding: 0.5em 0!important;
	border: none!important;
	background-color: #ee7800!important;
	font-size: 24px!important;
	color: #fff!important;
	transition: .4s all;
}
.contents .em.pixelbones .input input[type=submit]:not([data-nostyle]):hover {
	color: #ff0!important;
	opacity: 0.7;
}
.contents .em.pixelbones.input select:not([multiple]) {
	width: auto!important;
	height: auto!important;
}
.contents .em.pixelbones .pixelbones {
	padding: 0 0 1em;
}
.contents .em.em-event-booking-form .em-tickets {
	margin: 0;
}
.contents .em-tickets-spaces {
	display: flex;
}
.contents .em.em-event-booking-form .em-booking-form .input-user-field,
.contents .em.em-event-booking-form .em-booking-form .input-group {
	display: flex!important;
	align-items: center;
}
.contents .em.pixelbones .input label:not([data-nostyle]) {
	width: 20%;
	margin-top: 0.7em;
	text-align: left;
}
.contents .em.pixelbones .input .input-field-data_privacy_consent label:not([data-nostyle]) {
	width: 100%;
	text-align: center;
}
.contents .em.pixelbones.input input[type=text],
.contents .em.pixelbones .input textarea {
	width: 80%!important;
}
.contents .em.em-event-booking-form .em-booking-section {
	padding: 0 30px;
}
.contents .em.em-item.em-item-single>section.em-location-events {
	border: 1px solid #008ccf;
	margin: 60px;
}
.contents .em-location-events ul {
	display: inline-block;
	margin: 0 1em 0 2em;
	text-align: left;
}
.contents .em-location-events ul li {
	list-style: disc outside;
	padding: 0 0 1em;
}
.contents .em-location-events ul li a {
	display: block;
	margin-bottom: 0.5em;
	font-size: 20px;
}
.contents .em.em-event-booking-form .em-tickets {
	width: auto;
}
.contents .em.em-event-booking-form .em-tickets .em-ticket-bookings {
	margin: 0 0 20px;
	padding: 0 15px!important;
	background: rgba(0,140,207, 0.05);
	overflow: hidden;
}

.contents .em-ticket-bookings {
	counter-reset: attendee-counter;
}
.contents .em-ticket-booking {
	counter-increment: attendee-counter;
}
.contents .em-ticket-booking label:after {
	content: "（参加者" counter(attendee-counter) "）";
	font-size: 12px;
}

.contents .em.pixelbones h1,
.contents .em.pixelbones h2,
.contents .em.pixelbones h3,
.contents .em.pixelbones h4,
.contents .em.pixelbones h5,
.contents .em.pixelbones h6 {
	margin-bottom: 1em!important;
}
.contents .em.pixelbones h3.em-item-title {
	font-size: 1.5rem!important;
}
.contents .em.pixelbones p {
	margin-bottom: 1em!important;
	font-size: 18px;
	line-height: 1.8!important;
}
.contents .em.pixelbones ul li,
.contents .em.pixelbones ol li {
	margin-left: 2em;
	margin-bottom: 0.5em!important;
	padding-left: 0.5em;
	margin-bottom: 0.5em!important;
	font-size: 18px;
	line-height: 1.8!important;
}
.contents .em.pixelbones ul li {
	list-style: disc outside;
}
.contents .em.pixelbones ol li {
	list-style: decimal outside;
}

.contents #wpmem_login,
.contents #wpmem_msg,
.contents #wpmem_reg,
.contents .wpmem_msg {
	margin: auto;
}
.contents #wpmem_login legend,
.contents #wpmem_reg legend {
	margin: 0 0 2em;
	padding: 0.7em 1em 0.5em;
	background: rgba(143,195,31, 0.1);
	border-bottom: 1px solid #8fc31f;
	font-size: 20px;
	font-weight: 500;
}
.contents #wpmem_login input,
.contents #wpmem_reg input {
	box-sizing: border-box;
}
.contents #wpmem_login .buttons,
.contents #wpmem_reg .buttons {
	min-width: 14em;
	padding: 0.5em 1em;
	border: none;
	background: #ee7800;
	border-radius: 0.3em;
	color: #fff;
	cursor: pointer;
}
.contents #wpmem_login .buttons {
	display: block;
	margin: auto;
}
.contents #wpmem_login fieldset,
.contents #wpmem_reg fieldset {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 1em 5%;
}
.contents #wpmem_login fieldset p,
.contents #wpmem_reg fieldset p {
	width: 100%;
}
.contents #wpmem_login label,
.contents #wpmem_reg label {
	width: 30%;
	font-size: 14px;
	text-align: right;
}
.contents #wpmem_login .div_text,
.contents #wpmem_reg .div_text {
	width: 65%;
	margin: 0;
}
.contents #wpmem_restricted_msg {
	padding: 2em 0 0;
	text-align: left;
	font-size: 18px;
	line-height: 1.8;
}
.contents #wpmem_login .button_div,
.contents #wpmem_reg .button_div {
	width: 100%;
	text-align: center;
}
.contents #wpmem_login .link-text {
	font-size: 12px;
	text-align: center;
}
.contents #wpmem_login .link-text-forgot a {
	color: #008ccf;
}
.contents .em.pixelbones img.alignleft {
	margin: 0 1em 1em 0;
	float: left;
}
.contents .em.pixelbones img.alignright {
	margin: 0 0 1em 1em;
	float: right;
}
.contents .em.pixelbones img.aligncenter {
	display: block;
	margin: 0 auto;
}
.contents .em.em-list .em-item .em-item-info .em-item-desc {
	line-height: 1.6;
}
.contents .ticket-price {
	display: flex;
}
.contents .em.pixelbones .input input[type=radio].attendee_sex {
	margin: 0 0.3em 0 1em;
}
.contents .em.pixelbones .input input[type=radio].attendee_sex:first-of-type {
	margin: 0 0.3em 0 0;
}
.contents .em.em-event-booking-form .em-booking-form>section.em-booking-form-section-summary {
	padding: 0 0 2em;
}
.contents .em.em-event-booking-form .em-booking-message.em-booking-message-error {
	text-align: left;
}

.contents .snow-monkey-forms-turnstile>div {
	justify-items: center;
}

/* Events Managerの必須マークを変更する */
.contents .em-form-required {
	font-size: 0;
}
.contents .em-form-required:after {
	position: relative;
	top: -0.3em;
	content: "※";
	font-size: 12px;
	color: #f00;
}

.contents #wpmem_login fieldset p,.contents #wpmem_reg fieldset p {
	margin: 1em 0 0;
	text-align: center;
}





/* スマートフォン */
@media screen and (max-width: 767px ) {

/* events */
#em-wrapper {
	padding: 0 0 10vw;
}
.contents .em.pixelbones h3.em-item-title {
	font-size: 5vw!important;
}
.contents .em.em-list .em-item {
	grid-template-columns: unset;
}
.contents .em.em-list.em-grid .em-item .em-item-image,
.contents .em.em-list.size-small .em-item .em-item-image {
	width: 60%;
	margin: 0 20%;
}
.contents .em.em-item.em-item-single .em-item-image {
	width: 60%;
	margin: 0 20% 5vw;
}
.contents .em.em-item.em-item-single .em-item-meta h3 {
	border-bottom-width: 0.4vw;
}
.contents .em.em-item.em-item-single>section.em-event-bookings {
	margin: 10vw 0;
}
.contents .em.pixelbones h2,
.contents .em.pixelbones .em-location-events h3 {
	font-size: 5vw!important;
}
.contents .em.pixelbones .input input[type=submit]:not([data-nostyle]) {
	font-size: 6vw!important;
}
.contents .em.pixelbones .input label:not([data-nostyle]) {
	width: 30%;
	font-size: 3.4vw;
}
.contents .em.pixelbones .input .input-field-data_privacy_consent label:not([data-nostyle]) {
	margin-left: 1.5em;
	text-indent: -1.5em;
	text-align: left;
}
.contents .em.pixelbones.input input[type=text],
.contents .em.pixelbones .input textarea {
	width: 70%!important;
}
.contents .em.em-event-booking-form .em-booking-section {
	padding: 0 3vw;
}
.contents .em.em-item.em-item-single>section.em-location-events {
	margin: 0;
}
.contents .em-location-events ul {
	margin: 0 1em 0 0;
}
.contents .em-location-events ul li a {
	font-size: 4.5vw;
}
.contents .em.em-event-booking-form .em-tickets .em-ticket-bookings {
	margin: 0 0 1em;
	padding: 0 2vw!important;
}
.contents .em-ticket-booking label:after {
	font-size: 2.6vw;
	display: block;
}

.contents .em.pixelbones p,
.contents .em.pixelbones ul li,
.contents .em.pixelbones ol li {
	font-size: 4vw;
}


.contents #wpmem_login,
.contents #wpmem_msg,
.contents #wpmem_reg,
.contents .wpmem_msg {
	width: auto;
}
.contents #wpmem_login legend,
.contents #wpmem_reg legend {
	font-size: 5vw;
}
.contents #wpmem_login label,
.contents #wpmem_reg label {
	font-size: 3.5vw;
}
.contents #wpmem_restricted_msg {
	font-size: 4vw;
}
.contents .em.pixelbones img.alignleft,
.contents .em.pixelbones img.alignright {
	width: 40%;
}

}

@media screen and (max-width: 720px) {
.contents #wpmem_reg label.checkbox,
.contents #wpmem_reg label.select,
.contents #wpmem_reg label.text,
.contents #wpmem_reg label.textarea {
	width: 30%;
	padding: 0;
}
}