@charset "UTF-8";
/* 共通 */
*, *::before, *::after {
    box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	font-size: 62.5%;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Yu Gothic', YuGothic, Roboto, Ubuntu, 'Hiragino Kaku Gothic Pro', 'Hiragino Sans GB', Meiryo, 'Malgun Gothic', 'Helvetica Neue', sans-serif;
}
body {
	font-size: 1.6rem;
	color: #333;
}
a {
	text-decoration: none;
}
input[type="radio"] {
  margin-right: 6px;
}
.form-wrapper {
	max-width: 100%;
	width: 640px;
	padding: 24px 0 50px;
	margin: 0 auto;
}
.form-title {
	font-size: 3rem;
	font-weight: 400;
	text-align: center;
}
.form-text {
	font-size: 2rem;
	color: #455a64;
	font-weight: 700;
	margin: 5rem 0 2rem;
	line-height: 1.3333333333;
    letter-spacing: 0.03em;
    padding-bottom: 6px;
    border-bottom: 2px solid #455a64;
}
.help-text {
	margin-bottom: 4px;
}
.entry-form-piece {
	margin-bottom: 3.5rem;
}
.form-label {
	margin-bottom: 1rem;
}
.necessary {
	display: inline-block;
	color: rgb(255, 255, 255);
    background-color: rgb(244, 67, 54);
    font-size: 1.2rem;
	text-align: center;
    vertical-align: baseline;
    padding: 0.25em 0.4em;
	margin: 0 0 0 8px;
    border-radius: 0.25rem;
}
.optional {
	display: inline-block;
	color: rgb(255, 255, 255);
    background-color: rgb(96, 125, 139);
    font-size: 1.2rem;
	text-align: center;
    vertical-align: baseline;
    padding: 0.25em 0.4em;
	margin: 0 0 0 8px;
    border-radius: 0.25rem;
}
.form-control {
	display: block;
    width: 100%;
	padding: 1rem;
    font-size: 1.6rem;
    line-height: 1.5;
    /*color: #546E7A;*/
	color: #333;
    background-color: #fff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.15);
    overflow: hidden;
    border-radius: 0.25rem;
}
.name-box-wrap {
	display: flex;
}
.name-box {
	width: 95%;
	margin-right: 1rem;
}
.number-box-wrap {
	display: flex;
	align-items: center;
}
.number-box {
	width: 50px;
}
::placeholder {
	color: #cfcfcf;
	font-weight: 400;
}
.privacy-policy a {
	color: #00bcd4;
	border-bottom: 1px dashed #00bcd4;
}
.btn-common {
	border-radius: 4px;
    border-width: 2px;
    border-style: solid;
	padding: 0.25em 0.25em;
	width: 100%;
	line-height: 150%;
    font-size: 2rem;
	font-weight: 400;
	cursor: pointer;
}
.btn-submit {
	border-color: rgb(0, 188, 212);
    background-color: rgb(0, 188, 212);
    color: rgb(255, 255, 255);
}
.btn-return {
	display: block;
	border-color: #90a5af;
    background: #fff;
    color: #7b919c;
	text-align: center;
}
.error-txt {
	color: #f00;
	margin-top: 4px;
}
.visible-xs {
	display: none;
}
.radio-full {
	color: #a8a8a8;
}

/*確認画面*/
.conf-msg {
	text-align: center;
    margin-top: 10px;
}
.conf-answer-label {
	margin: 3.5rem 0 10px;
	color: #42B5D1;
}
.conf-section .optIn-txt {
	font-size: 0.9em;
	color: #6f6f6f;
	margin-left: 1rem;
}
.conf-section .btn-submit {
	margin-top: 35px;
}
.conf-section .btn-return {
	margin-top: 1.5rem;
}

/*完了画面*/
.complete-message {
	font-size: 2.3rem;
	margin-top: 3rem;
	text-align: center;
}
.complete-txt {
	font-size: 1.6rem;
	margin-top: 3rem;
}
.return-page {
	margin-top: 1rem;
}
.return-page a {
	color: #42B5D1;
}

@media screen and (max-width: 554px) {
	.form-wrapper {
		margin: 0 auto;
        width: 100%;
		padding: 24px 12px 50px;
	}
	.visible-xs {
		display: block;
	}
}

/* ビアホールのみ */
.beerhall-time label {
	display: block;
	margin-bottom: 10px;
}


/* 春らんまん弁当のみ */
#spring-lunchbox .help-text {
	font-size: 1.5rem;
	color: #666;
	padding-top: 10px;
}
#spring-lunchbox .form-control.form-selectBox {
	height: 44px;
}
#spring-lunchbox .finish-txt {
	color: #ff0000;
	font-size: 1.6rem;
	text-align: center;
	margin-top: 15px;
	display: none;
}

/* 記念日写真撮影 */
.address-box-wrap {
	display: flex;
}
.address-box {
	width: 95%;
	margin-right: 1rem;
}