/**********************************************
	フォームテーブル
**********************************************/
.formTable {
}

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

.formTable .formTableHeader span {
	display:inline-block;
	margin-right:0.5rem;
	padding:0.25rem 0.25rem;
	line-height:1;
	font-size:0.7rem;
	font-weight:normal;
	color:#fff;
	background-color:#2c8f81;
	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;
}

.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 {
	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;
}

/* クラスを繋げると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;
}

/**********************************************
	インラインラジオ
**********************************************/
.inlineRadio {
	display:flex;
	overflow:hidden;
	margin:0.25rem 0;
	border:1px solid #171c61;
	border-radius:0.25rem;
}

.inlineRadio div {
	position:relative;
	flex:1;
}

.inlineRadio input {
	width:100%;
	height:1.5rem;
	opacity:0;
	cursor:pointer;
}

.inlineRadio label {
	position:absolute;
	display:flex;
	top:0;
	left:0;
	width:100%;
	height:100%;
	align-items:center;
	justify-content:center;
	pointer-events:none;
	color:#171c61;
	background:#efefef;
	border-right:1px solid #171c61;
}

.inlineRadio div:last-child label {
	border-right:0;
}

.inlineRadio input:checked + label {
	font-weight:bold;
	color:#fff;
	background:#171c61;
}

/**********************************************
	入力フォームボタンブロック
**********************************************/
.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.5rem;
	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.5rem;
	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;
}

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

.iconButton {
	display:inline-block;
	margin:0.5rem;
	padding:2px;
	font-size:1.2rem;
}

.iconButton:hover {
	cursor:pointer;
}

/**********************************************
	入力フォームメッセージ
**********************************************/
.message {
	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;
}
