@charset "UTF-8";
/*########################################################
	フォーム専用CSS
########################################################*/

/* ---------------------------------
リセットCSS
--------------------------------- */

#form button {
	padding: 0;
	outline: none;
	border: none;
	background-color: transparent;
	cursor: pointer;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
}

.entryText button {
	padding: 0;
	outline: none;
	border: none;
	background-color: transparent;
	cursor: pointer;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	text-decoration: underline;
}

/* ---------------------------------
共通設定
--------------------------------- */

/* #form *{
	color: #fff;
	font-weight: bold;
} */

#form img {
	max-width: 100%;
	height: auto;
}

#form .color--yellow {
	color: yellow;
}

#form .color--red {
	color: red;
}

/* ---------------------------------
ボタン関連
--------------------------------- */

.form__buttonWrap {
	display: flex;
	align-items: center;
	justify-content: center;

}

.form__field + .form__buttonWrap,
.form__field--event + .form__buttonWrap,
.modal__container + .form__buttonWrap {
	/* margin-top: 5%; */
	margin-top: min(9vw, 66px);
}

.form__button {
	padding: 1%;
	text-align: center;
}

button img:hover {
	opacity: 0.8;
}

@media screen and (max-width: 576px) {
	.form__buttonWrap {
		flex-wrap: wrap-reverse;
	}
	.form__button {
		padding: 1% 5%;
		width: 100%;
	}
}

/* ---------------------------------
メッセージ関連
--------------------------------- */

.form__msgText {
	padding: 0 0 5%;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	color: #ffffff;
}

.form__msgText small {
	display: block;
	margin-top: 10px;
	font-weight: normal;
	font-size: 75%;
}

.form__status {
	margin-top: 5%;
	padding: 4% 5%;
	/* background: #fef01d; */
	color: #ffffff;
	background: #e50213;
	/* color: red; */
	font-weight: bold;
	font-size: 24px;
	text-align: center;
}

@media screen and (max-width: 750px) {
	.form__msgText {
		font-size: 21px;
	}
}

@media screen and (max-width: 576px) {
	.form__msgText {
		font-size: 18px;
	}
	.form__msgText small br {
		display: none;
	}
}

/* ---------------------------------
フォーム枠
--------------------------------- */

.form__field {
	margin-bottom: 20px;
	text-align: left;
}

.form__title {
	padding: 5px 0;
	font-weight: bold;
	/* font-size: 85%; */
	color: #ffffff;
}

.form__confirm {
	font-size: 175%;
	text-align: center;
	font-weight: bold;
	color: #ffffff;
}

.form__error {
	margin-bottom: 5px;
	color: yellow;
	text-align: left;
	font-weight: bold;
	font-size: 16px;
}

.form__notelist {
	padding: 5px;
	font-size: 1.2rem;
}

.form__noteitem {
	margin-left: 1em;
	text-indent: -1em;
	color: #fff;
}

.form__readonly {
	display: block;
	padding: 0.5rem 2rem;
	width: 100%;
	height: 45px;
	outline: 0;
	border: none;
	border: solid 3px;
	border-color: #ffffff;
	border-radius: 4px;
	background: #ffffff;
	color: inherit;
	color: #000000 !important;
	text-decoration: none;
	font-size: 1.8rem;
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: #d1d1d1;
	border-color: #d1d1d1;
}



/* ---------------------------------
賞品選択
--------------------------------- */

.form__select {
	padding: 15px 0;
	font-size: 18px;
	color: #ffffff;
	font-weight: bold;
}

.form__select small {
	font-size: 14px;
	text-indent: 0;
	margin-left: 0;

}

.form__select+.form__title {
	margin-top: 40px;
}

.form__field--email {
	display: none;
}

/* ---------------------------------
ページ内リンクの調整
--------------------------------- */

.error #form,
.thanks #form,
.close #form {
	margin-top: -50px;
	padding-top: 50px;
}

/* ---------------------------------
テキスト入力
--------------------------------- */

input[type="text"],
input[type="tel"],
input[type="email"] {
	display: block;
	padding: 0.5rem 2rem;
	width: 100%;
	height: 45px;
	outline: 0;
	border: none;
	border: solid 3px;
	border-color: #ffffff;
	border-radius: 4px;
	background: #ffffff;
	color: inherit;
	color: #333333;
	text-decoration: none;
	font-size: 1.8rem;
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	color: #000 !important;
}

input[type="text"].error,
input[type="tel"].error,
input[type="email"].error {
	border-color: yellow;
}

input[type="text"]:read-only,
input[type="tel"]:read-only,
input[type="email"]:read-only {
	background: #d1d1d1;
	border-color: #a7a7a7;
}

/* ---------------------------------
チェックボックス・ラジオボタン
--------------------------------- */

input[type="checkbox"],
input[type="radio"] {
	z-index: -1;
	display: block;
	float: left;
	margin-right: -2rem;
	width: 1rem;
	opacity: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

input[type="checkbox"]+label,
input[type="radio"]+label {
	position: relative;
	display: inline-block;
	padding-left: 4.5rem;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

input[type="checkbox"]+label:before,
input[type="radio"]+label:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 2.65rem;
	height: 2.65rem;
	border: solid 3px;
	border-color: #ffffff;
	border-radius: 4px;
	background: #ffffff;
	content: ' ';
	text-align: center;
	line-height: 2.65rem;
	transform: translateY(-50%);
}

input[type="checkbox"]+label.error:before,
input[type="radio"]+label.error:before {
	border-color: yellow;
}

input[type="checkbox"]:checked+label:before,
input[type="radio"]:checked+label:before {
	border-color: red;
	background-color: red;
	/* color: #ffffff; */
	/* content: '\f00c'; */
	/* font-family: FontAwesome; */

	/* 背景設定 */
	content: '';
	background-image: url(../img/check-solid.svg);
	background-size: 70%;
	background-position: center;
	background-repeat: no-repeat;
}

/* ---------------------------------
  モーダルボックス
--------------------------------- */

.modal__close,
.modal__open {
	margin: 10px auto 0;
	max-width: 260px;
	width: 100%;
	border: none;
	border-radius: 3px;
	background: #000;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	line-height: 50px;
	cursor: pointer;
}

.modal__container {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
	display: none;
	overflow: auto;
	width: 100%;
	height: 100%;
}

.modal__overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
}

.modal__body {
	display: table;
	width: 100%;
	height: 100%;
}

.modal__main {
	display: table-cell;
	padding: 25px;
	vertical-align: middle;
	text-align: center;
}

.modal__content {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	padding: 25px;
	max-width: 600px;
	width: 95%;
	background: #fff;
	color: #000;
}

@media screen and (max-width: 576px) {
	.modal__main {
		padding: 10px;
	}
	.modal__content {
		padding: 10px;
	}
}

/* バーコードリーダー */

#interactive.viewport>canvas,
#interactive.viewport>video {
	max-width: 100%;
	width: 100%;
}

canvas.drawingBuffer {
	position: absolute;
	top: 0;
	left: 0;
}

/* ---------------------------------
	アカウント表示
--------------------------------- */

.form__account {
	overflow: hidden;
	margin-bottom: min(6vw, 45px);
	border: solid 2px #005cad;
	background: #ffffff;
	border-radius: 10px;
}

.form__accounthead {
    font-weight: bold;
	text-align: center;
    padding: 0.25em 0.25em 0.4em;
	background: #005cad;
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1.4;
}

.form__accounthead br {
	display: none;
}

.form__accountbody {
	padding: 2% 4%;
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
	color: #000 !important;
}

@media screen and (max-width: 576px) {
	.form__accounthead br {
		display: block;
	}
}