/**********************************************
	フォームテーブル2
**********************************************/
.formTable2 {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	gap:1rem;
}

.formTable2 .wide {
	flex-basis:100%;
}

.formTable2 .header {
	padding-bottom:0.25rem;
	font-weight:bold;
	color:#555;
}

.formTable2 .header span {
	margin-left:0.5rem;
	line-height:1;
	font-size:0.9rem;
	font-weight:normal;
	color:#cb103f;
}

/**********************************************
	フォームテーブル
**********************************************/
.formTable {
	padding:0.25rem 0;
}

.formTable .formTableHeader {
	margin-bottom:0.25rem;
	font-size:1rem;
	font-weight:bold;
}

.formTable .formTableHeader span {
	display:inline-block;
	margin-right:0.5rem;
	padding:0.25rem;
	line-height:1;
	font-size:0.8rem;
	font-weight:normal;
	color:#fff;
	background-color:#900;
	border-radius:0.25rem;
}

.formTable .formTableCell {
	margin-bottom:1rem;
}

.formTable .formTableSeparate {
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:flex-start;
	align-items:center;
	gap:1rem;
}

.formTable .inputForms {
	position:relative;
}

.formTable .inpitFormsIcon {
	padding-left:2rem !important;
}

.formTable .inpitFormsIcon + span {
	position:absolute;
	top:50%;
	left:0.5rem;
	transform:translateY(-50%);
	content:'';
	color:#666;
}

/**********************************************
	入力フォームスタイル
**********************************************/
.textBoxMoney {
	padding:0.25rem 0.5rem;
	width:10rem;
	box-sizing:border-box;
	height:2.5rem;
	text-align:right;
	font-size:1.5rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxExShort {
	padding:0.25rem 0.5rem;
	width:6rem;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxShort {
	padding:0.25rem 0.5rem;
	width:12rem;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxMiddle {
	padding:0.25rem 0.5rem;
	width:50%;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxLong {
	padding:0.25rem 0.5rem;
	width:100%;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxNum {
	padding:0.25rem 0.5rem;
	width:4rem;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	ime-mode:disabled;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxPost {
	padding:0.25rem 0.5rem;
	width:8rem;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	ime-mode:disabled;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textBoxMail {
	padding:0.25rem 0.5rem;
	width:100%;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	ime-mode:disabled;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.textArea {
	display:block;
	padding:0.25rem 0.5rem;
	width:100%;
	box-sizing:border-box;
	height:12rem;
	font-size:1.1rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.selectBox {
	padding:0.25rem 0.5rem;
	box-sizing:border-box;
	height:2.5rem;
	font-size:1.1rem;
	font-family:inherit;
	background-color:#fff;
	border-radius:0.25rem;
	border:1px solid #ccc;
}

.borderLess {
	background-color:#f0f0f0;
	border:1px solid #ccc;
}

/* クラスを繋げると2つの条件を満たすときだけ有効 */
.textBoxMoney.inputError, .textBoxShort.inputError, .textBoxMiddle.inputError, .textBoxLong.inputError, .textBoxNum.inputError, .textBoxPost.inputError, .textBoxMail.inputError, .textArea.inputError, .selectBox.inputError {
	border:2px solid #cb103f !important;
}

@media screen and (max-width:568px) {
	.textBoxMoney, .textBoxShort, .textBoxMiddle, .textBoxLong, .textBoxNum, .textBoxPost, .textBoxMail, .textArea, .selectBox {
		width:100%;
	}
}

::placeholder {
  color:#ccc;
}


/**********************************************
	チェックボックスとラジオ
**********************************************/
.checkBlock {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;
	gap:0.5rem;
}

.checkBox[type=checkbox] {
	display:none;
}

input[type="checkbox"].checkBox:checked + label {
	color:#fff !important;
	background-color:#195064;
}

.checkBox[type=radio] {
	display:none;
}

input[type="radio"].checkBox:checked + label {
	color:#fff !important;
	background-color:#195064;
}

.checkLabel {
	display:inline-block;
	padding:0.25rem 0.5rem;
	text-align:center;
	white-space:nowrap;
	font-size:0.9rem;
	font-weight:bold;
	cursor:pointer;
	color:#0a3d62 !important;
	background-color:#fff;
	border:2px solid #195064;
	border-radius:0.25rem;
}

.checkLabelCheck {
	display:inline-block;
	padding:0.25rem 0.5rem;
	text-align:center;
	white-space:nowrap;
	font-size:0.9rem;
	font-weight:bold;
	cursor:pointer;
	color:#fff !important;
	background-color:#195064;
	border:2px solid #195064;
	border-radius:0.25rem;
}

.checkLabel:hover {
	background-color:#e2edf9;
}

/**********************************************
	入力フォームボタンブロック
**********************************************/
.formButtonBlock {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;
	gap:0.5rem;
	padding:1rem 0;
}

.ancherRight {
	margin-left:10rem;
}

/**********************************************
	入力フォームボタン
**********************************************/
.button1 {
	padding:0.25rem 2rem;
	height:2.5rem;
	text-align:center;
	line-height:1;
	font-size:1rem;
	color:#fff !important;
	background-color:#cb103f;
	border-radius:0.25rem;
	border:none;
	-webkit-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}

.button1:hover {
	text-decoration:none;
	color:#fff;
	cursor:pointer;
	background-color:#8c0b2c !important;
}

.button2 {
	padding:0.25rem 2rem;
	height:2.5rem;
	text-align:center;
	line-height:1;
	font-size:1rem;
	color:#fff !important;
	background-color:#666;
	border-radius:0.25rem;
	border:none;
	-webkit-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}

.button2:hover {
	text-decoration:none;
	color:#fff;
	cursor:pointer;
	background-color:#333 !important;
}

.button3 {
	padding:0.25rem 2rem;
	height:2.5rem;
	text-align:center;
	line-height:1;
	font-size:1rem;
	color:#000 !important;
	background-color:#ddd;
	border-radius:0.25rem;
	border:none;
	-webkit-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}

.button3:hover {
	text-decoration:none;
	color:#000;
	cursor:pointer;
	background-color:#ccc !important;
}

.button4 {
	padding:0.25rem 2rem;
	height:2.5rem;
	text-align:center;
	line-height:1;
	font-size:1rem;
	color:#fff !important;
	background-color:#0061c1;
	border-radius:0.25rem;
	border:none;
	-webkit-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}

.button4:hover {
	text-decoration:none;
	color:#000;
	cursor:pointer;
	background-color:#004080 !important;
}

label:hover, input[type=checkbox], input[type=radio] {
	cursor:pointer;
}

.iconButton {
	margin:0.25rem;
	padding:2px;
	font-size:1.2rem;
}

.iconButton:hover {
	cursor:pointer;
}

.fileSelectButton::file-selector-button {
	padding:0.25rem 2rem;
	height:2.5rem;
	text-align:center;
	line-height:1;
	font-size:1rem;
	color:#fff !important;
	background-color:#cb103f;
	border-radius:0.25rem;
	border:none;
	-webkit-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}

.fileSelectButton::file-selector-button:hover {
	text-decoration:none;
	color:#fff;
	cursor:pointer;
	background-color:#8c0b2c !important;
}

/**********************************************
	入力フォームメッセージ
**********************************************/
.message {
	margin:0.5rem 0;
	font-size:0.9rem;
	color:#508624;
}

.errMessage {
	display:block;
	font-size:0.9rem;
	font-weight:bold;
	color:#cb103f;
}

label.error {
	display:block;
	font-size:0.9rem;
	font-weight:bold;
	color:#cb103f;
}

/**********************************************
	下部フォームボタンの設定
**********************************************/
#submitBlock {
	position:fixed;
	z-index:999;
	width:100%;
	bottom:0;
	background-color:#fff;
}

#footerSpace {
	height:8rem;
}

/**********************************************
	確認テーブル
**********************************************/
.kakuninTable {
	margin:4rem 0;
	width:100%;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
}

.kakuninTable th {
	padding:0.5rem;
	vertical-align:middle;
	white-space:nowrap;
	font-size:0.9rem;
	font-weight:700;
	color:#555;
	background-color:#e5e5e5;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
}

.kakuninTable td {
	padding:0.5rem;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
}
