@charset "UTF-8";
/* このCSSは[php/set_03_style.php]により生成されます。 */

/********** メールフォーム **********/

.form_label,
.form_input{
	width:100%;
	margin:0;
	padding:.4em;
}
.form_label{
	background-color: #eee;
	border-bottom:1px solid #fff
}
.form_input{
	border-bottom:1px solid #eee
}
.form_input:last-child{
	border:none
}
.contact_form_field p{
	margin:0;
	padding:0;
}
.form_wrapper input[type="text"],
.form_wrapper input[type="email"],
.form_wrapper input[type="date"],
.form_wrapper select,
.form_wrapper textarea {
	width: 100%;
	max-width: 100%;
}
.form_wrapper input,
.form_wrapper select,
.form_wrapper textarea {
	border:1px solid #ccc;
	font-size: 16px;
	padding:.6em;
	border-radius: 2px;
	color: #444;
	-webkit-text-fill-color: #444;
}
.form_wrapper input:focus,
.form_wrapper select:focus,
.form_wrapper textarea:focus {
	outline: none;
	border-color: #888;
	box-shadow: 0 0 0 2px rgba(0,0,0, .1);
}
.form_wrapper select{
	cursor:pointer;
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	background-image: none;
}
/* input非表示 */
.form_wrapper input[type="checkbox"],
.form_wrapper input[type="radio"] {
	position: absolute;
	opacity: 0;
}


.form_wrapper .oneos-list-item label {
	display: inline-flex;
	align-items: center;
	gap: .3em;
	cursor: pointer;
	position: relative;
}
.form_wrapper .oneos-list-item label::before {
	content: "";
	width: 24px;
	height: 24px;
	border: 1px solid #bbb;
	border-radius: 2px;
	display: inline-block;
	box-sizing: border-box;
	background: #fff;
}
/* ラジオだけ丸 */
.form_wrapper .oneos-radio label:has(input[type="radio"])::before {
	border-radius: 50%;
}
/* チェック時（枠色） */
.form_wrapper .oneos-list-item label:has(input:checked)::before {
	border-color: #222;
}
/* チェックマーク（checkbox） */
.form_wrapper .oneos-list-item label:has(input[type="checkbox"]:checked)::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	width: 6px;
	height: 12px;
	border: solid #444;
	border-width: 0 2px 2px 0;
	transform: translateY(-62%) rotate(45deg);
}
/* ラジオの中点 */
.form_wrapper .oneos-list-item label:has(input[type="radio"]:checked)::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 50%;
	width: 10px;
	height: 10px;
	background: #444;
	border-radius: 50%;
	transform: translateY(-50%);
}
.oneos-select-wrap {
	display: block;        /* ←これ追加 */
	width: 100%;           /* ←これ追加 */
}

.oneos-select {
	appearance: none;
	width: 100%;
	padding-right: 2.4em;
}

.oneos-select-wrap::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #888;
	border-bottom: 2px solid #888;
	transform: translateY(-62%) rotate(45deg);
	pointer-events: none;
}
.form_location_spave{
	width:1.2em;
}
p.form_location_margin{
	padding-left:1.2em;
}
.form_location_margin .zip-wrap {
	flex: 0 0 9em;
}
.oneos-select-wrap {
	position: relative;
	flex: 1;
}

/* エラー入力欄 */
.form_input input[type="text"].oneos-not-valid,
.form_input input[type="email"].oneos-not-valid,
.form_input input[type="tel"].oneos-not-valid,
.form_input textarea.oneos-not-valid,
.form_input select.oneos-not-valid{
	border-color: #c62828;
	background: #fff8f8;
}
.form_wrapper .oneos-radio-wrap.oneos-not-valid .oneos-list-item label::before,
.form_wrapper .oneos-checkbox-wrap.oneos-not-valid .oneos-list-item label::before {
	border-color: #c62828;
	background: #fff8f8;
}
@media (min-width: 1024px) {
	/* 都道府県 */
	.oneos-select-wrap {
		flex: 0 0 8.8em;
		max-width: 8.8em;
	}
	/* 住所 */
	.c_address {
		flex: 1;
	}
	.c_address input {
		width: 100%;
	}
}
.form_required{
	background-color:#dd4d4d;
	color:#fff;
	font-size:.8em;
	line-height:1.1;
	padding:0 .2em;
	margin:.15em;
	border-radius:.2em;
}
.form_wrapper input::placeholder,
.form_wrapper textarea::placeholder{
	font-size:.9em;
	color: #999;
	-webkit-text-fill-color: #999;
	opacity: 1;
}
.form_wrapper input:focus::placeholder,
.form_wrapper textarea:focus::placeholder {
	color: #ccc;
	-webkit-text-fill-color: #eee;
}
.privacy_area{
	border:1px solid #ccc;
	max-height:30vh;
	overflow-y:scroll
}
.privacy_area h2{
	margin:.4em;
}
.privacy_area p{
	margin:.2em .4em;
}

@media (min-width: 768px) {

	.form_label{
		width:40%;
	}
	.form_input{
		width:60%;
	}
}
@media (min-width: 1024px) {

	.form_wrapper input,
	.form_wrapper select,
	.form_wrapper textarea {
		font-size: 1em;
	}
	.form_label{
		width:16em;
	}
	.form_input{
		width:calc(100% - 16em);
	}

}
@media (hover: hover) and (pointer: fine) {

	.form_wrapper input[type="submit"]:hover,
	.form_wrapper button:hover {
		background: #777;
	}

}

