@charset "utf-8";
/* ------------------------------------------------------------ */
/* フォーム関連
/* ------------------------------------------------------------ */
/* ------------------------------ */
/* 共通
/* ------------------------------ */
/* margin 上 */
.mt1em	{ margin-top: 1em !important; }

/* margin 下 */
.mb1em	{ margin-bottom: 1em !important; }

/* margin 左 */
.ml05em { margin-left: 0.5em !important; }
.ml1em { margin-left: 1em !important; }

/* width */
.w2em	{ width: 2em !important; }
.w3em	{ width: 3em !important; }
.w5em	{ width: 5em !important; }
.w6em	{ width: 6em !important; }
.w10em	{ width: 10em !important; }
.w12em	{ width: 12em !important; }
.w15em	{ width: 15em !important; }
.w25em	{ width: 25em !important; }

.inline-block {
	display: inline-block;
}

.inputTable .red {
	color: #ff0000 !important;
}
/* -------------------- */
/* 共通（PC）
/* -------------------- */
@media screen and (min-width:768px) {

	.pc_inline-block {
		display: inline-block;
	}

	/* margin 左 */
	.pc_ml05em { margin-left: 0.5em !important; }
	.pc_ml1em { margin-left: 1em !important; }
	.pc_ml2em { margin-left: 2em !important; }
}
/* -------------------- */
/* 共通（SP）
/* -------------------- */
@media screen and (max-width:767px) {
	.sp_mt05em { margin-top: 0.5em !important; }

	/* margin 右 */
	.sp_mr3em { margin-right: 3em !important; }

	/* width */
	.sp_w100p { width: 100% !important; }
}
/* ------------------------------ */
/* アイコン
/* ------------------------------ */
/* 必須＆任意アイコン */
span.req,
span.any {
	display: inline-block;
	width: 4em;
	margin-left: 5px;
	border-radius: 2.4em;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: center;
}
span.req {
	background: #cc6670;
}
span.any {
	background: #c1bbbe;
}
/* 公開＆非公開アイコン */
span.open,
span.close {
	display: inline-block;
	width: 4.5em;
	border-radius: 3em;
	color: #fff;
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 2;
	text-align: center;
}
span.open {
	background-color: #cc6670;
}
span.close {
	background-color: #b2a3a7;
}
/*プレースホルダー テキスト*/
input::placeholder {
	color: #795e65;
}
/*テキストボックス*/
input[type=text],
input[type=password],
input[type=number],
input[type=email],
input[type=tel],
textarea {
	width: 100%;
	padding: 16px 20px;
	border-radius: 6px;
	background-color: #f8f5f2;
	/* -webkit-appearance: none; */
}
/********** ▼▼▼ 2022/09/02 修正 ▼▼▼ **********/
input[type=text]:focus,
input[type=password]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type="text"]:focus,
textarea:focus {
	box-shadow: 0px 0px 5px 0px #777777 inset;
}
/* 読み取り専用 */
input[type=text]:read-only,
input[type=password]:read-only,
input[type=number]:read-only,
input[type=email]:read-only,
input[type=tel]:read-only,
textarea:read-only {
	box-shadow: none;
	background-color: #ece8e9;
	/* color: #795e65; */
}
/* input[type="text"]:not(:read-only):focus,
textarea:not(:read-only):focus {
	box-shadow: 0px 0px 5px 0px #777777 inset;
}
input[type="text"]:read-only,
textarea:read-only {
	background-color: #ece8e9;
} */
/********** ▲▲▲ 2022/09/02 修正 ▲▲▲ **********/
/* ---------------------------------------- */
/* チェックボックス ＆ ラジオボタン
/* ---------------------------------------- */
form ul.selectList {
	display: flex;
	flex-wrap : wrap;
	justify-content: flex-start;
}
form ul.selectList li {
	margin-right: 1.5em;
}
/* ---------------------------------------- */
/* セレクトボックス
/* ---------------------------------------- */
label.selectBox {
	display: inline-block;
	position: relative;
	border-radius: 6px;
}
label.selectBox::before {
	content: "";
	position: absolute;
	right: 0;
	width: 20px;
	height: 100%;
	border-radius: 0 6px 6px 0;
	background: #a64c5d;
	pointer-events: none;
}
label.selectBox::after {
	content: "";
	position: absolute;
	top: 28px;
	right: 6px;
	border-width: 7px 4px 0 4px;
	border-style: solid;
	border-color: #ffffff transparent transparent transparent;
	pointer-events: none;
}

label.selectBox select {
	display: block;
	width: 100%;
	padding: 16px 40px 16px 20px;
	border-radius: 6px;
	background: #f8f5f2;
	cursor: pointer;
	appearance: none;
}
label.selectBox select:focus,
label.selectBox select:active {
	outline: 1px solid #a64c5d;
	outline-offset: -1px;
}
/********** ▼▼▼ 2022/09/02 修正 ▼▼▼ **********/
/* label.selectBox {
	position: relative;
	display: block;
	width: 200px;
    border-radius: 6px;
	overflow: hidden;
}
label.selectBox::before {
	content: "";
	position: absolute;
	right: 6px;
	bottom: 0;
	top: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 4px 0 4px;
	border-color: #ffffff transparent transparent transparent;
} 

label.selectBox select {
	display: block;
	width: 100%;
	padding: 16px 20px;
	background: linear-gradient(90deg, rgba(248,245,242,1) 0%, rgba(248,245,242,1) 90%, rgba(166,76,93,1) 90%, rgba(166,76,93,1) 100%);
    border-radius: 6px;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	cursor: pointer;
	box-sizing: border-box;
}
label.selectBox select:focus,
label.selectBox select:active {
	outline-offset: -1px;
	outline: 1px solid #a64c5d;
}  */
/********** ▲▲▲ 2022/09/02 修正 ▲▲▲ **********/
/* ---------------------------------------- */
/* テーブル
/* ---------------------------------------- */
.inputTable {
	border: none;
}
.inputTable th,
.inputTable td {
	display: block;
	width: 100%;
	padding: 0;
	border: none;
	background: none;
}
.inputTable th {
	padding-bottom: 0.5em;
}
.inputTable td:last-child {
	padding-bottom: 1.5em;
}
/* -------------------- */
/* テーブル（PC）
/* -------------------- */
@media screen and (min-width:768px) {
	/*テキストボックスサイズ*/
	input[type="text"].w1-2 {
		width: 48.837%;
	}
	/* input[type="text"].w1-2.fl {
		margin-right: 2.325%;
	} */
	/* input[type="text"].w530 {
		width: 530px;
		margin-right: 15px;
	} */
}
/* -------------------- */
/* テーブル（SP）
/* -------------------- */
@media screen and (max-width:767px) {
	/*住所*/
	/* input[type="text"].w530 {
		width: calc(100% - 140px);
		margin-right: 15px;
	}
	input[type="text"].w530 + button {
		float: right;
	} */
}
/* ---------------------------------------- */
/* ボタン
/* ---------------------------------------- */
/* 住所検索ボタン */
button.zip_srch {
	width: 124px;
	min-width: auto;
	padding: 16px 0;
	border-radius: 6px;
	background: #a64c5d;
	color: #fff;
	letter-spacing: 0.1em;
	cursor: pointer;
}
button.zip_srch::before {
	content: none;
}
button.zip_srch:hover,
button.zip_srch:focus {
	opacity: 0.8;
	color: #fff;
}
/* ---------------------------------------- */
/* ボタンボックス
/* ---------------------------------------- */
.btnBox {
	width: 100%;
	position: relative;
}
/* 左右に設置 */
.btnBox > .flex-sb {
	display: flex;
	justify-content: space-between;
}
/* 戻るボタン */
.btnBox .btn-back {
	position: absolute;
	top: 0;
}
/* -------------------- */
/* ボタンボックス（SP）
/* -------------------- */
@media screen and (max-width:767px) {
	.btnBox a,
	.btnBox button {
		width: 100%;
	}
	.btnBox .btn-back {
		margin-top: 0.5em;
		position: static;
	}
}
/* ---------------------------------------- */

.btnBox_2023-02-20-1800 {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.btnBox_2023-02-20-1800 > div {
	width: calc(100%/3);
}
/* ---------------------------------------- */
/* カレンダー
/* ---------------------------------------- */
/*calendar*/
/* a.calendar {
	display: inline-block;
	vertical-align: middle;
	padding: 10px;
}
a.calendar:focus {
	border: 1px solid #a64c5d;
} */
form .ui-datepicker-trigger {
	width: 35px;
	height: 35px;
	margin-left: 0.5em;
    vertical-align: middle;
}
.ui-datepicker-calendar {
	border: none;
}
table.ui-datepicker-calendar th,
table.ui-datepicker-calendar td:not(:last-child) {
	border: none;
}
.ui-datepicker-today a {
	border: solid 1px #a64c5d !important;
}
a.ui-state-default.ui-state-active,
.ui-datepicker-week-end:last-child a.ui-state-default.ui-state-active {
	background-color: #a64c5d !important;
}
a.ui-state-default:hover,
.ui-datepicker-week-end:last-child a.ui-state-default:hover {
	background: #a64c5d !important;
}
/* -------------------- */
/* カレンダー（SP）
/* -------------------- */
@media screen and (max-width:767px) {
	form .hasDatepicker {
		margin-bottom: 0.5em;
	}
}
/* ------------------------------ */
/* ボタン
/* ------------------------------ */
/* -------------------- */
/* 共通
/* -------------------- */
.formBtnBox button,
.formBtnBox [class*='btnLink-'],
.formBtnBox [class*='btn-'] {
	border-radius: 3px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	transition: .5s;
	cursor: pointer;
}
/* disabled時 */
.formBtnBox button:disabled,
.formBtnBox [class*='btnLink-']:disabled,
.formBtnBox [class*='btn-']:disabled {
	background: #ece8e9;
    color: #401922;
    cursor: auto;
    opacity: 0.5;
	pointer-events: none;
	border: none;
}
.formBtnBox button:disabled > span,
.formBtnBox [class*='btnLink-']:disabled > span,
.formBtnBox [class*='btn-']:disabled > span {
	border-bottom: none;
}
/* 打ち消し用 */
.formBtnBox button > span::before,
.formBtnBox [class*='btnLink-'] > span::before,
.formBtnBox [class*='btn-'] > span::before {
    content: none;
}
/* -------------------- */
/* ボタン
/* -------------------- */
/* デフォルト */
.formBtnBox button {
	min-width: 250px;
	padding: 16px 1.5em;
	background: #a64c5d;
	color: #fff;
	letter-spacing: 0.1em;
}
.formBtnBox button > span {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);	/* 下線の色 */
}

.formBtnBox [class*='btn-'] {
    min-width: 120px;
    letter-spacing: 0.1em;
	padding: 16px 1.5em;
}
.formBtnBox [class*='btn-'] > span {
	padding-bottom: 2px;	/* 文字と下線の間の余白 */
	border-bottom: 1px solid;	/* 下線の色 */
}
/* 赤ボタン btn-a */
.formBtnBox .btn-a {
	color: #fff;
	background: #a64c5d;
}
.formBtnBox .btn-a > span {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);	/* 下線の色 */
}
/* 灰色ボタン btn-b */
.formBtnBox .btn-b {
	border: 1px solid #cfc6c8;
	background: #f5f4f4;
	color: #401922;
}
.formBtnBox .btn-b > span {
	border-bottom: 1px solid #b59ca1;	/* 下線の色 */
}
.formBtnBox .btn-b:focus,
.formBtnBox .btn-b:hover {
	opacity: .8;
}
/* 白背景ボタン btn-c */
.formBtnBox .btn-c {
	background: #fff;
	color: #a64c5d;
	border: 2px solid #a64c5d;
}
.formBtnBox .btn-c > span {
	border-bottom: 1px solid rgba(166, 76, 93, 0.5);	/* 下線の色 */
}
.formBtnBox .btn-c:hover > span,
.formBtnBox .btn-c:focus > span {
	border-bottom: transparent 1px solid;
}
/* -------------------- */
/* リンク
/* -------------------- */
.formBtnBox [class*='btnLink-'] {
	position: relative;
	min-width: 250px;
	padding: 16px 60px;
}
.formBtnBox [class*='btnLink-'] > span {
	padding-bottom: 2px;	/* 文字と下線の間の余白 */
	border-bottom: 1px solid;	/* 下線の色 */
}
.formBtnBox [class*='btnLink-']::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: rotate(45deg);
	margin: auto;
}
/* ドット背景 btnLink-a */
.formBtnBox .btnLink-a {
    background-color: rgba(0, 0, 0, 0);
    background-image: radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%),
   					  radial-gradient(#e6ddd1 20%, rgba(0,0,0,0) 20%);
    background-size: 8px 8px;
    background-position: 0 0, 4px 4px;
	color: #401922;
}
.formBtnBox .btnLink-a > span {
	border-bottom: 1px solid #b59ca1;	/* 下線の色 */
}
.formBtnBox .btnLink-a:hover,
.formBtnBox .btnLink-a:focus {
	color: #a64c5d;
}
.formBtnBox .btnLink-a:hover > span,
.formBtnBox .btnLink-a:focus > span {
	border-bottom: transparent 1px solid;
}
/* ピンク背景 btnLink-b */
.formBtnBox .btnLink-b {
	background: #a64c5d;
    color: #fff;
}
.formBtnBox .btnLink-b > span {
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);	/* 下線の色 */
}
.formBtnBox .btnLink-b:hover,
.formBtnBox .btnLink-b:focus {
	opacity: .8;
}
/* 白背景 btnLink-c */
.formBtnBox .btnLink-c {
	background: #fff;
	color: #a64c5d;
	border: 2px solid #a64c5d;
}
.formBtnBox .btnLink-c > span {
	border-bottom: 1px solid rgba(166, 76, 93, 0.5);	/* 下線の色 */
}
.formBtnBox .btnLink-c:hover > span,
.formBtnBox .btnLink-c:focus > span {
	border-bottom: transparent 1px solid;
}

/* 入力フォームタイプ */
.formBtnBox.formBox {
	width: 100%;
	position: relative;
}
.formBtnBox.formBox #btn_back {
	position: absolute;
    top: 0;
}
/* SPサイズ */
@media screen and (max-width: 767px) {
	.formBtnBox.formBox button,
	.formBtnBox.formBox [class*='btnLink-'],
	.formBtnBox.formBox [class*='btn-'] {
		width: 100%;
		margin-top: 0.5em;
	}
	.formBtnBox.formBox #btn_back {
		position: static;
	}
}

/* ---------------------------------------- */
/* 講習会
/* ---------------------------------------- */
/* SPサイズ */
@media screen and (max-width: 767px) {
	.formSeminar .formBtnBox {
		width: 100%;
	}
	.formSeminar .formBtnBox > a {
		width: 100%;
		padding: 0.5em 2em;
		margin-top: 0.5em;
	}
}