@charset "utf-8";
/* メインの入力フォーム　共通 */

.form { 
	background: #fff;
	padding: 1rem;
}
.error { display: none !important; }

/*=========================================
		リセット
=========================================*/
input, textarea, .check-list label::before {
	background: #dee5e5;
    border: none;
    outline: none;
    box-shadow: none;
    padding: 8px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 15px;
    font-size: 1.5rem;
	color: #02414C;	
}
input, .check-list label::before { height: 4.4rem; }

/*=========================================
		placeholder
=========================================*/
input::placeholder { 
	color: #02414C;
	opacity: 0.3;
}
/* IE */
input:-ms-input-placeholder { 
	color: #9CB4BF;
}
/* Edge */
input::-ms-input-placeholder { 
	color: #02414C;
	opacity: 0.3;
}

/*=========================================
		layout
=========================================*/
.form dl { 
	display: flex;
	margin-top: 3rem;
}
.form dl dd .w-middle { margin-left: 2rem; }
.form dl dd input:first-of-type { margin-left: 0; }
.form dl dd span { 
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 5px;
}
.form dl dd .again { margin-top: 1rem; }
.form dl dd .symbol { margin: 0 1rem; } 
.form dl dd .flex-parents { align-items: center; }

/*=========================================
		required
=========================================*/
.required {
	display: inline-block;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold;
    margin: 0 0 0 10px;
    letter-spacing: 0.1rem;
    line-height: 1;
    background: #9f8d39;
    padding: 0.4rem 0.8rem;
	color: #fff;
}

/*=========================================
		サイズ
=========================================*/
.w-big { width: 100%; }
.w-middle { width: 50%; }
.w-min { width: 16.4rem; }

/*=========================================
		ラジオボタン
=========================================*/
.design-radio label::before {
	width: 15px;
	height: 15px;
	margin-top: -6px;
	background: #fff;
	border: 1px solid #99b3b7;
}
input[type="radio"]:checked + label::after {
	left: 6px;
    width: 5px;
    height: 5px;
    margin-top: 0;
    background: #e82c2c;
}
.design-radio li { margin-right: 5rem; }

/*=========================================
		日付選択 - カレンダーアイコンあり
=========================================*/
.calendermenu { position: relative; }
.calendermenu input { padding-left: 3.45rem; }
.calendermenu input:hover { cursor: pointer; }
.calendermenu i {
	position: absolute;
	top: 50%; 
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: 0.8rem;
	width: 1.85rem;
	height: 1.85rem;
}
.datepicker-panel > ul > li.picked,
.datepicker-panel > ul > li.picked:hover {
	background: #9f8d39 !important;
	color: inherit !important;
}

/*=========================================
		ボタン
=========================================*/
.form .btn_wrap { margin: 4rem 0; }
.form-check .btn_wrap {
	display: flex;
	justify-content: center;
}

/*=========================================
		入力内容の確認用
=========================================*/
.form-check .caption { margin: 0 0 4rem; }

/*=========================================
		完了画面用
=========================================*/
.form-thanks { padding: 1rem 0 4rem; }
.form-thanks .caption { 
	font-size: 20px;
	font-size: 2rem;
	color: #eeeeee;
	font-weight: 500;
}

/*=========================================
		checkbox
=========================================*/
input[type=checkbox] {
    display: none;
}
.checkbox {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
.checkbox::before {
    background: #fff;
    content: '';
    display: block;
    height: 22px;
    left: 10px;    
    position: absolute;
    top: 50%;
    width: 22px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.checkbox::after {
    border-right: 3px solid #02414c;
    border-bottom: 3px solid #02414c;
    content: '';
    display: block;
    height: 9px;
    left: 17px;
	transform: translateY(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 5px;
}
input[type=checkbox]:checked + .checkbox {
	background: #5BAEBA;
}
input[type=checkbox]:checked + .checkbox::after { opacity: 1; }


@media screen and (min-width: 768px) {		
	/*=========================================
			layout
	=========================================*/
	.form dl dt {
		text-align: right;
		width: 22.394%;
	}
	.form dl dd { 
		padding-left: 4rem;
		width: 54.789%;
	}
	
	/*=========================================
			ボタン
	=========================================*/
	.form-check .btn_wrap { margin-top: 8rem; }
	.form-check .btn_wrap .btn:first-of-type { margin-right: 2rem; }
}

@media screen and (max-width: 767px) {
	.form { padding: 3rem 1.5rem; }
	
	/*=========================================
			layout
	=========================================*/
	.form dl { flex-direction: column; }
	.form dl:first-of-type { margin-top: 0; }
	.form dl dt { margin-bottom: 0.5rem; }
	
	/*=========================================
			サイズ
	=========================================*/
	.w-min { width: 50%; }		
	
	/*=========================================
			ボタン
	=========================================*/
	.form .btn_wrap { margin-bottom: 0; }	
	.form .btn { width: 80%; }
	.form-check .btn_wrap { flex-direction: column; }
	.form-check .btn { width: 100%; }
	.form-check .btn-return {
		margin-top: 1.5rem;
		order: 2;
	}
	
	/*=========================================
			入力内容の確認用
	=========================================*/
	.form-check .caption,
	.form-thanks .caption { margin: 0 0 3rem; }	
	
	/*=========================================
			完了画面用
	=========================================*/
	.form-thanks { padding: 5rem 0 0; }
}
