@charset "utf-8";



body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

.l-main * {
	font-family: 'Noto Sans JP', sans-serif;
	box-sizing: border-box;
}
.l-main {
	padding-top: 40px;
}
/*-----------------------------------------------------------

●●●●●●●●●●●●●●●●●

-----------------------------------------------------------*/
.l-main .form__headline {
	margin-bottom: 10px;
}
.form_head_note {
	width: 592px;
	margin: 0 auto 22px;
	padding-left: 1em;
	text-indent: -1em;
}
.form_head_note,
.form_head_note a {
	font-size: 16px;
	color: #A60000;
}
.form_head_note a:hover {
	text-decoration: none;
}
.form_head_text {
	text-align: center;
	margin-bottom: 22px;
	font-size: 16px;
}
.form_sub_ttl {
	font-size: 24px;
	font-weight: bold;
	position: relative;
	margin-bottom: 41px;
}
	.form_sub_ttl::after {
		content: '';
		width: 40px;
		height: 1px;
		display: inline-block;
		background-color: #D80A30;
		position: absolute;
		bottom: -17px;
		left: 0;
	}
.form_annotation{
	font-size: 14px;
	margin-bottom: 21px;
}
	.form_annotation span {
		color: #A60000;
	}
.customer_section,
.store_section {
	margin-bottom: 40px;
}
/*-----------フォーム------------*/
.form_top_cont {
	border-bottom: 1px solid #D8D8D8;
	padding-bottom: 15px;
	margin-bottom: 24px;
}
.form_top_cont_ttl{
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 6px;
}
.form_top_cont_text {
	font-size: 16px;
	font-weight: bold;
}
.form_select {
	width: 218px;
}
select#onthatday {
    width: 260px;
}

.form__contents_inner {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 0 32px;
	margin-bottom: 23px;
}
.form-list__subttl {
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 2px;
}
	.form-list__subttl span {
		font-weight: inherit;
		color: var(--main-dark-color);
	}
.annotation__list p {
	font-size: 14px;
}
input[type="date"]{
    appearance: none;
    width: 100%;
    border: 1px solid var(--semi-light-grey);
    border-radius: 8px;
	height: 44px;
    padding: 0 0 0 12px;
}
.postcode_search {
	width: 116px;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #A60000;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #A60000;
	position: relative;
	padding-right: 8px;
	text-decoration: none;
}
.postcode_search:after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px #A60000;
	border-right: solid 1px #A60000;
	transform: rotate(45deg);
	position: absolute;
	top: 1px;
	right: 7px;
	bottom: 0;
	margin: auto;
}
.postcode_inner {
	display: flex;
	align-items: flex-end;
	gap: 0 7px;
	margin-bottom: 23px;
}
.address__list {
    position: relative;
}
.address__list_wrap {
	position: relative;
}
.address__list_wrap:not(:last-of-type) {
	margin-bottom: 23px;
}

.form-list-address span.required {
    top: -20px;
    left: 70px;
    z-index: 1;
}
.form-list-address span.required {
	top: -20px;
}
.desired__list {
    position: relative;
}
.form-list__ttl span.bkntype_select {
	font-size: 12px;
	font-weight: bold;
	color: #1E1C1C;
}
.form_check {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 0;
	align-items: center;
}
.form_check label {
	width: 240px;
}
.form__contacttype label[for="contacttype-5"],
.form__bkntype label[for="bkntype-5"] {
	width: auto;
}
.campaign_note {
	width: 574px;
	margin-left: 10px;
}
.campaign_note a:hover {
	text-decoration: none;
}
.form__contents .form_bkntypeother,
.form__contents .form_contacttypeother {
	width: 404px;
	margin-left: 10px;
}
.form__contents .form_bkntypeother.is-disabled,
.form__contents .form_contacttypeother.is-disabled {
	background: #ddd;
}
.desired_conditions .form__contents_inner {
	margin-bottom: 0;
}
.form-list-other .form-list__ttl {
	margin-bottom: 6px;
}
.other__text {
	font-size: 14px;
	margin-bottom: 16px;
}

.submit_btn.enabled {
    text-decoration: none;
	background-color: var(--main-color);
	cursor: pointer;
}
.submit_btn{
	border-bottom: 2px solid var(--main-dark-color);
    width: 300px;
    height: 58px;
	color: #fff;
	display: flex;
    align-items: center;
    justify-content: center;
	
    position: relative;
    padding: 0 7px 0 0;
    border-radius: 8px;
    font-weight: 700;
	background-color: var(--light-grey);
    border: none;
    text-decoration: none;
}
.form__reservation .ui-btn--flat:hover{
	background-color: var(--light-grey);
	text-decoration: none;
}
.form__reservation .ui-btn--flat.enabled:hover{
	background-color: var(--main-dark-color);
    text-decoration: none;
}
input[type="date"]::-webkit-inner-spin-button{
	-webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button{
	-webkit-appearance: none;
}
input[type="date"]{
	position: relative;
}
input[type=date]::-webkit-calendar-picker-indicator{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	padding: 0;
	background: transparent;
	color: transparent;
	cursor: pointer;
	width: 100%;
	height: 100%;
}
.icon_calendar input[type="date"]{
	position: relative;
	padding-left: 35px;
}
.icon_calendar input[type="date"]:after {
	content: '';
	background-image: url(../images/calendar_icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 0;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}

.form__store {
	padding: 24px;
	background: #f5f5f5;
}
	.form__store__inner {
		margin-bottom: 0;
		gap: 0;
		align-items: flex-end;
	}
		.form__store .form_select {
			width: 280px;
		}
		.store-address2 {
			margin-left: 10px;
		}
			.form__store select {
				width: 280px;
				background-color: #fff;
			}
			.store__btn {
				width: 91px;
				padding: 9px 0;
				margin-left: 15px;
				font-size: 16px;
				font-weight: 600;
				color: #A60000;
				text-align: center;
				border: 1px solid #A60000;
				background: #fff;
				border-radius: 8px;
				display: block;
				text-decoration: none;
			}
			.store__btn:hover {
				color: #fff;
				background: #A60000;
			}
	.store__list__wrap {
		margin-top: 24px;
		padding-top: 20px;
		border-top: 1px solid #DFDEDD;
		display: none;
	}
		.store__list {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
			border-top: 1px solid #BDBBBB;
			border-left: 1px solid #BDBBBB;
			border-radius: 8px;
			overflow: hidden;
		}
			.store__list label {
				padding: 10px 12px;
				border-right: 1px solid #BDBBBB;
				border-bottom: 1px solid #BDBBBB;
				background: #fff;
			}
			.store__list:has(label:nth-child(1):last-child) {
				grid-template-columns: 1fr;
			}
			.store__list:has(label:only-child) label {
				border-radius: 8px;
			}
			/* 角丸をリスト全体のみに適用 */
			.store__list label:first-child {
				border-top-left-radius: 8px;
			}
			.store__list label:nth-child(2) {
				border-top-right-radius: 8px;
			}
			.store__list label:last-child:nth-child(even) {
				border-bottom-right-radius: 8px;
			}
			.store__list label:last-child:nth-child(odd) {
				border-bottom-left-radius: 8px;
			}
			.store__list label:nth-last-child(2):nth-child(odd) {
				border-bottom-left-radius: 8px;
			}
				.store__list input[type="radio"] {
					margin: auto 15px auto 0;
					flex-shrink: 0;
				}
					.store__name {
						font-size: 14px;
						font-weight: bold;
					}
					.store__text {
						font-size: 12px;
						font-weight: 500;
					}
.toggle-required {
	display: none;
}



#otherTextBox {
	display: none;
	position: relative;
	margin-top: 16px;
}
#otherTextBox span.required {
	width: 265px;
    left: 270px;
}
.empty {
	color: #BDBBBB; /* 未入力時の文字色 */
}

/* バリデーション
--------------------------- */
.form__contents {
	position: relative;
}
.nameKanaGroupformError {
	min-width: 215px;
	top: -50px;
	left: 420px;
}
span.required {
	width: max-content;
    background: #ee0101;
    position: relative;
    color: #fff;
    min-width: 120px;
    font-size: 12px;
    padding: 6px 10px 6px 16px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -o-border-radius: 5px;
    position: absolute;
    left: 180px;
    top: -50px;
    text-indent: -0.6em;
}
span.required:before {
    content: "";
    position: absolute;
    bottom: -12px;
    border: 6px solid transparent;
    border-top: 7px solid #ee0101;
    left: 26px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.bkntype-1formError.parentFormcontactForm.formError {
    top: -10px !important;
    left: 200px !important;
}

.ui-widget-header .ui-datepicker-prev .ui-icon {
    background-image: url(../images/arrow-next.png);
	background-position: center;
	transform: scaleX(-1);
}

.ui-widget-header .ui-icon {
    background-image: url(../images/arrow-next.png);
	background-position: center;
}
.submit_btn.disabled {
    pointer-events: none; /* クリックを無効化 */
}
/* 有効状態のスタイル */
.submit_btn.enabled {
    pointer-events: auto; /* クリック可能にする */
    opacity: 1; /* ボタンを通常の濃さに戻す */
}
/* フッター
--------------------------- */
.l-footer {
	border-top: 1px solid var(--light-grey);
}

.form-list__ttl {
	margin-top: 3px;
}