@charset "UTF-8";


/* entry */
@media all {
	.site-header .entry-header {display: none!important;}
	.main-section-ttl {
		text-align: center;
	}
	.entry-lead {
		line-height: 2.333;
	}
	.entry-end-lead {
		text-align: center;
	}
	.entry-end-content {
		margin: 60rem 0 100rem;
		text-align: center;
	}
	.entry-end-content a {
		text-decoration: underline;
	}
	.rule-and-manner {
		text-align: center;
	}
	.entry-links a {
		position: relative;
		display: inline-block;
		padding-bottom: var(--max2px);
		border-bottom: var(--max2px) solid rgba(237,76,140,1);
		font-weight: bold;
		color: rgba(237,76,140,1);
		line-height: 1;
	}
	.regulation {
		margin-top: 1em;
		text-align: center;
	}
	.entry-links a::after {
		content: '';
		position: absolute;
		top: 0;
		display: block;
		background: center / contain no-repeat url(../img/entry/outgo.png);
	}


	.sending {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-bottom: 100rem;
		width: 100%;
		height: 100%;
		background: center no-repeat url(../img/common/loading.svg);
		background-color: rgba(255,255,255,.5);
		backdrop-filter: blur(4rem);
		color: #000;
		font-weight: bold;
		transition: opacity .3s;
	}
	.sending.active {
		z-index: 100000;
		visibility: visible;
		opacity: 1;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.entry-section {
			padding: 0 16rem;
		}
		.entry-content {
			margin-top: 60rem;
		}
		.entry-lead {
			margin-top: 40rem;
		}
		.entry-content {
			margin-top: 40rem;
		}

		.entry-links a {
			margin-right: 30rem;
			font-size: 14rem;
		}
		.entry-links a::after {
			top: -2rem;
			right: -20rem;
			width: 15rem;
			height: 15rem;
		}
		.entry-links a span {font-size: 11rem;}
		
		.entry-content form {
			margin-top: 80rem;
		}
		
		.site-footer {
			margin-top: 100rem;
		}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.entry-lead {
			margin: 70rem auto 0;
			width: 640rem;
			font-size: 15rem;
			text-align: center;
		}
		.entry-content {
			margin-top: 50rem;
		}

		.entry-links a {
			margin-right: 30rem;
			font-size: 18rem;
		}
		.entry-links a::after {
			top: -2rem;
			right: -30rem;
			width: 21rem;
			height: 21rem;
		}
		.entry-links a span {font-size: 15rem;}
		.entry-content form {
			margin-top: 80rem;
		}

		.section-content {
			line-height: 2.333;
		}
		.site-footer {margin-top: 180rem;}

		/* tab */
		@media screen and (min-width: 768px) and (max-width: 1024px) {}
		/* pc */
		@media print,
		(min-width: 1025px) {}
	}
}





/* form */
@media all {
	form dt {
		position: relative;
		font-weight: bold;
		line-height: 1;
	}
	form dt small {
		color: #999;
		font-size: 77.778%;
	}
	form dt::before,
	form .required::before {
		position: absolute;
		top: 0;
		content: '任意';
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #999;
		border-radius: 1em;
		padding-top: 1px;
		font-weight: normal;
		color: #fff;
		line-height: 1;
	}
	form .required::before {
		content: '必須';
		background-color: rgba(237,76,140,1);
	}
	form dt {
		margin-top: 3.333em;
	}
	form dd {
		margin-top: 1em;
	}
	form dd select,
	form dd input[type="text"],
	form dd input[type="email"],
	form dd input[type="tel"],
	form dd input[type="url"],
	form dd input[type="number"],
	form dd textarea {
		box-sizing: border-box;
		width: 100%;
		padding: .75em 1em;
		border: var(--max2px) solid rgba(30,184,203,1);
		border-radius: 5rem;
	}
	form dd textarea {height: 150rem;}
	form dd input[type="checkbox"],
	form dd input[type="radio"] {
		margin-left: 0;
		margin-right: .25em;
	}
	form dd input[type="checkbox"]::before,
	form dd input[type="radio"]::before {
		content: '';
		display: inline-block;
		width: 1.875em;
		height: 1.875em;
		background: center .45em / 1.3em no-repeat url(../img/common/checked.svg);
		border: var(--max2px) solid rgba(30,184,203,1);
		border-radius: 5rem;
	}
	form dd .round input::before,
	form dd input.round::before,
	form dd input[type="radio"]::before {
		border-radius: 50%;
	}
	form dd input[type="checkbox"]:checked::before,
	form dd input[type="radio"]:checked::before {
		border-color: rgba(30,184,203,1);
		background-color: rgba(30,184,203,1);
	}
	form dd input[type="checkbox"]:checked::before {
		border-color: transparent;
	}

	form dd.numbers {position: relative;}
	form dd.numbers::after {
		content: '名';
		position: absolute;
		top: .5em;
		left: 215rem;
	}
	form dd.numbers input {width: 200rem;}
	form .notice {
		position: relative;
		padding-left: 1.25em;
		font-size: 13rem;
		font-weight: 500;
		color: rgba(30,184,203,1);
	}
	form dd:is(.movie, .venue) .notice {
		margin-top: .75em;
		line-height: 1;
	}
	form .notice::before {
		content: '※';
		position: absolute;
		top: 0;
		left: 0;
	}
	form .notice a {
		color: rgba(30,184,203,1);
		text-decoration: underline;
	}
	form .notice a.blank::after {
		content: '';
		display: inline-block;
		margin: 0 5rem;
		width: 14rem;
		height: 1em;
		background: center / contain no-repeat url(../img/entry/outgo-bl.png);
		transform: translateY(2rem);
	}


	.wpcf7-submit {
		display: flex;
		justify-content: center;
		margin: 0 auto;
		height: 3em;
		width: 16em;
		border-radius: 99em;
		border: var(--max2px) solid rgba(30,184,203,1);
		background-color: rgba(30,184,203,1);
		font-weight: 500;
		color: #fff;
		transition: .3s;
	}
	.wpcf7-submit:hover {
		background-color: #fff;
		color: rgba(30,184,203,1);
		cursor: pointer;
	}
	.wpcf7-previous {
		transition: opacity .3s;
		cursor: pointer;
	}
	
	.wpcf7-previous:hover {
		opacity: .8;
	}
	div.buttons {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.wpcf7-previous {
		padding: 1.125em 3em;
		background-color: var(--fontgray);
		color: #fff;
	}


	.wpcf7-spinner {display: none!important;}

	dd:is(.genre, .venue) .wpcf7-form-control {
		display: flex;
		flex-wrap: wrap;
		line-height: 3;
	}
	dd:is(.genre, .venue) .wpcf7-form-control .wpcf7-list-item {margin: 0;}

	/* form - sp */
	@media (max-width: 767px) {
		form dt {
			padding-left: 42rem;
			font-size: 16rem;
			line-height: 1.5;
		}
		form dt::before,
		form .required::before {
			left: 0;
			width: 34rem;
			height: 16rem;
			font-size: 12rem;
			transform: translateY(3rem);
		}
		.wpcf7-submit:not(.confirm) {
			margin-top: 30rem;
		}
		.wpcf7-previous {
			margin-top: 20rem;
			font-size: 12rem;
		}
		span[data-name="pref"]::before {
			top: 14rem;
			right: 12rem;
			width: 16rem;
			height: 16rem;
		}
		span[data-name="pref"]::after {
			width: 40rem;
		}
		form .notice {
			margin-top: 4rem;
			line-height: 1.5;
		}
		form dd {font-size: 14rem;}

		form dd select,
		form dd input[type="text"],
		form dd input[type="email"],
		form dd input[type="tel"],
		form dd input[type="url"],
		form dd input[type="number"],
		form dd textarea {
			font-size: max(16px, 16rem);
		}


		dd.genre .wpcf7-form-control {
			margin: 0 auto;
			width: 300rem;
			column-gap: 2%;
		}
		dd.genre .wpcf7-form-control .wpcf7-list-item {
			width: 48.5%;
			height: 60rem;
		}
		dd.venue .wpcf7-form-control .wpcf7-list-item {min-width: 49.5%;}
		dd.venue .wpcf7-form-control .wpcf7-list-item.last {margin-top: -10rem;}

	}

	/* form - tab & pc */
	@media print,
	(min-width: 768px) {
		.wpcf7-form {
			margin: 0 auto;
			width: 80%;
			max-width: 690rem;
		}
		form dt {
			font-size: 18rem;
		}
		form dd{
			font-size: 16rem;
		}
		form dt::before,
		form .required::before {
			left: -50rem;
			width: 40rem;
			height: 18rem;
			font-size: 13rem;
			transform: translateY(-2rem);
		}
		div.buttons {
			display: flex;
			margin-top: 120rem;
			padding-left: 72px;
		}
		.wpcf7-submit {
			margin-top: 80rem;
			font-size: 20rem;
		}
		.wpcf7-submit.confirm {
			margin: 0 0 0 40rem;
		}
		
		dd.genre .wpcf7-form-control {column-gap: 2%;}
		dd.genre .wpcf7-form-control .wpcf7-list-item {width: 23.5%;}
		dd.venue .wpcf7-form-control .wpcf7-list-item {min-width: 33%;}
	}

	.wpcf7 form.invalid .wpcf7-response-output {display: none!important;}

	/* iOS調整 */
	/* .wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
		content: none;
	} */
	.wpcf7-list-item label {
		display: inline-flex;
		align-items: center;
	}
	.wpcf7-list-item input[type="radio"],
	.wpcf7-list-item input[type="checkbox"] {
		display: block;
		margin:0;
		margin-right: .25em;
		width: 1.875em;
		height: 1.875em;
	}
	.wpcf7-list-item-label {
		margin-top: .25em;
		margin-left: .5em;
		line-height: 1.5;
		font-weight: bold;
	}
}

/* loginフォーム */
@media all {
	#loginform {
		margin: 60rem auto 120rem;
		max-width: 600rem;
	}

	.login-username,
	.login-password {
		display: flex;
	}

	.login-username label,
	.login-password label {
		background: var(--ultralightgray);
		border: 2rem solid var(--lightgray);
		font-weight: 500;
	}

	.login-username input,
	.login-password input {
		box-sizing: border-box;
		outline: none;
		border: 2rem solid var(--lightgray);
		border-left: none;
	}

	.login-password label,
	.login-password input {
		margin-top: -2rem;
	}

	.login-remember {
		margin-top: 20rem;
		text-align: center;
	}
	.login-remember label {
		cursor: pointer;
	}
	#rememberme {
		-webkit-appearance: auto;
		-moz-appearance: auto;
		-ms-appearance: auto;
		appearance: auto;
	}

	.login-submit {
		margin-top: 40rem;
	}
	#wp-submit {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		width: 12em;
		height: 3em;
		border: 1rem solid #000;
		background-color: #000;
		border-radius: 3em;
		color: #fff;
		transition: .3s;
	}
	#wp-submit:hover {
		background-color: #fff;
		color: #000;
	}

	@media only screen and (max-width: 767px) {
		#loginform {
			width: calc(100% - 20rem);
		}
	
		.login-username label,
		.login-password label {
			padding: .25em 0;
			font-size: 15rem;
			width: 40%;
			border-width: 1px;
			text-align: center;
		}
	
		.login-username input,
		.login-password input {
			width: 60%;
			padding-left: .5em;
			padding-right: .5em;
			border-width: 1px;
		}
		#wp-submit {
			font-size: 15rem;
		}
	}

	@media print,
	(min-width: 768px) {
		.login-username label,
		.login-password label {
			padding: .5em 2em;
			width: 40%;
			font-size: 18rem;
		}
	
		.login-username input,
		.login-password input {
			width: 60%;
			padding-left: 2em;
			padding-right: 2em;
		}
		#wp-submit {
			font-size: 20rem;
		}
	}
}