@charset "utf-8";
/* ********************** */
/* Form TAG Configuration */
/* ********************** */
.form_contents {
	max-width: 100%;
	margin: 0.5em auto;
}
.form_contents dt {
	/*padding: 5px 1em 2px;*/
	padding: 0.75em 1em;
	margin: 0 0.25em;
	font-size: 1em;
	font-weight: bold;
    /*border-radius: 5px;*/
	border-radius: 3px;
    background-color: var(--pastel-indigo);
    /*box-shadow: 1px 1px 2px rgba(0,0,0,0.6);*/
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}
.form_contents dd {
	margin: 0 0.25em 0 0.5em;
}
@media (min-width: 429px) {
	.form_contents {
		/*margin: 1em auto 2em;*/
	}
	.form_contents dt {
		margin: 0 0.5em;
	}
	.form_contents dd {
		margin: 1em 1em;
	}
}
@media (min-height: 569px) {
	.form_contents {
		/*margin: 1em auto 3em;*/
	}
	.form_contents dt {
		margin: 0 0.5em;
	}
	.form_contents dd {
		margin: 2em 1em;
	}
}
@media (min-height: 668px) {
	.form_contents {
		/*margin: 1em auto 3em;*/
	}
	.form_contents dt {
		margin: 0 0.5em;
	}
	.form_contents dd {
		margin: 3em 1em;
	}
}
.form_contents dd input,
.form_contents dd select,
.form_contents dd textarea,
.form_contents dd button {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
    font-size: 1.5em;
}
.form_contents dd.not_input {
	background-color: ghostwhite;
}
/*
.form_contents dd span {
	font-size: 1.2em;
	font-weight: bold;
	padding-left: 0.5em;
}
.form_contents dd span.msg_error {
	font-size: 12px;
	font-weight: bold;
	color: red;
	background-color:pink;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
.form_contents dd p.msg_error {
	margin: 0;
	padding: 0;
}
.form_contents dd .comment {
	font-size: 12px;
	color: black;
}
*/
.form_dd_title {
    font-size: 0.9em;
    font-weight: bold;
    color: var(--deep-indigo);
    line-height: 1.2;
}
.form_dd_msg {
    font-size: 0.9em;
    font-weight: bold;
    color: var(--deep-indigo);
    line-height: 1.2;
    margin-top: 4px;
}
.form_dd_msg_warn {
    font-size: 0.9em;
    font-weight: bold;
    color: var(--deep-orange);
    line-height: 1.2;
    margin-top: 4px;
}
/* ***** */
/* 選択中 */
/* ***** */
input:hover,select:hover {
	border-color: gold;
}
/* ***** */
/* 入力中 */
/* ***** */
input:focus,input:active,select:focus,select:active {
	border-color: orange;
}
/* ******* */
/* 必須入力 */
/* ******* */
.required {
	background-color: ivory;
}
/*dd:has(.required):after {
	background-color: yellow;
	border-radius: 1em;
	content: '必須';
	font-size: 75%;
	font-weight: bold;
	text-align: center;
	padding: 0 0.5em 0 0.4em;
	vertical-align :middle;
}*/
/* ******* */
/* 入力異常 */
/* ******* */
.errored {
	border-color: red;
	background-color: lavenderblush;
}
/*dd:has(.errored):after {
	background-color: yellow;
	border-radius: 1em;
	content: '！';
	font-size: 75%;
	font-weight: bold;
	text-align: center;
	padding: 0 0.5em 0 0.4em;
	vertical-align :middle;
}*/
/* 人名 */
label.name_top:before {
	position: relative;
	content: "姓";
	padding-right: 0.3em;
}
label.name_top>input {
	width: 6em;
}
label.name_bottom:before {
	position: relative;
	content: "名";
	padding-right: 0.3em;
}
label.name_bottom>input {
	width: 6em;
}
/* 人名カナ */
label.kana_top:before {
	position: relative;
	content: "姓";
	padding-right: 0.3em;
}
label.kana_top>input {
	width: 6em;
}
label.kana_bottom:before {
	position: relative;
	content: "名";
	padding-right: 0.3em;
}
label.kana_bottom>input {
	width: 6em;
}
/* メールアドレス */
label.email>input {
}
label.email>select {
}
/* 日付 */
label.date>input {
	width: 6em;
}
label.date>select {
	width: 8em;
}
/* 電話・FAX番号 */
label.tel_left:before {
	position: relative;
	content: "";
	padding-right: 0.3em;
}
label.tel_left>input {
	width: 2.7em;
}
label.tel_center:before {
	position: relative;
	content: "－";
	padding-right: 0.3em;
}
label.tel_center>input {
	width: 2.7em;
}
label.tel_right:before {
	position: relative;
	content: "－";
	padding-right: 0.3em;
}
label.tel_right>input {
	width: 2.7em;
}
/* 郵便番号 */
label.zip_code_top:before {
	position: relative;
	content: "〒";
	padding-right: 0.3em;
}
label.zip_code_top>input {
	width: 2.5em;
}
label.zip_code_bottom:before {
	position: relative;
	content: "－";
	padding-right: 0.3em;
}
label.zip_code_bottom>input {
	width: 3em;
}
/* サムネイル */
.photo_thumb {
    width: 32%;
    margin-top: 0.5em;
}
.photo_thumb img {
    width: 100%;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}

input.number {
	width: 6em;
	text-align:right;
	padding-right: 0.3em;
}
.unit {
	vertical-align: sub;
}