/* formPC ver.20230801
----------------------------*/
html {
	/* グラデーションパート */
	--top-color: #1b2c63;
	--bottom-color: #12428d;
}

body {
	background: #fff;
}

/* ページ全体 
----------------------------*/
input::placeholder {
	color: #ccc;
}
input::-webkit-input-placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}

/* 確認ページ用の追記 */
.attention_box {
	display: block;
	width: 100%;	
	max-width: 1000px;
	background: #fff;
	border: 2px solid var(--accent-color, #2d65a8);
	box-sizing: border-box;
	color: var(--accent-color, #2d65a8);
	font-size: 1.6rem;
	font-weight: bold;
	text-align: left;
	margin: 10px auto 0 auto;	
	padding: 1em;
}

/* 注意事項 */
.caution_big {
	display: inline-block;
	background: #dd0000;
	color: #fff;
	font-size: 1.4rem;
	margin-top: 0.3em;
	padding: 0.3em 0.5em;
}

/* プライバシーポリシー */
.privacy_wrapper {
	width: 100% !important;
    height: 200px;
    border: 1px solid #ccc !important;
    font-size: 1.4rem !important;
    font-weight: normal;
    margin: 0 auto 1em auto !important;
    padding: 1em !important;
    overflow-y: scroll;
}
.doui_sel ul li {
	float: none !important;
	display: block !important;
	padding: 0 !important;
}
.doui_sel ul li label {
	display: block;
	background: var(--secondary-color, #e6f0f9);
	border-radius: 4px;
	padding: 0.8em 1em !important;
}
.check_disabled ul li label {
	background: #ccc !important;
}

.searchZipcode {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-box-sizing: border-box;
	-webkit-appearance: button;
	appearance: none;
	/* reset end */
	border: hidden;
	background: var(--primary-color, #2d65a8);
	border-bottom: 2px solid rgba(0,0,0,0.2);
	border-radius: 4px;
	color: #FFFFFF;
	font-size: 100%;
	-webkit-font-smoothing: antialiased;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	margin: 0px 5px 8px 5px;
	padding: 10px;
	cursor: pointer;
}

/* 見出し
----------------------------*/
#SMP_STYLE h1:not(header h1) {
	background: -moz-linear-gradient(top, var(--top-color, #0163BD), var(--bottom-color, #0071bc)); /* 開始位置, 開始色, 終了色 */
	background: -webkit-linear-gradient(top, var(--top-color, #0163BD), var(--bottom-color, #0071bc)); /* 開始位置, 開始色, 終了色 */
	background: linear-gradient(to bottom, var(--top-color, #0163BD), var(--bottom-color, #0071bc)); /* 開始位置, 開始色, 終了色 */
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.5px;
	line-height: 1.4;
	text-align: center;
	margin: 0;
	padding: 20px 10px;
}

#SMP_STYLE h2 {
	position: relative;
	width: 100%;
	background: var(--secondary-color, #e6f0f9);
	border-radius: 4px;
	color: var(--h2-color, #0a2646);
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.5px;
	line-height: 1.4;
	text-align: left;
	margin: 1.7em auto 1em auto;
	padding: 0.5em 0.5em 0.7em calc(0.5em + 15px);
}
#SMP_STYLE h2::after {
	position: absolute;
	top: calc(50% - 2px);
	left: 0;
	z-index: 2;
	content: '';
	width: 15px;
	height: 4px;
	background: var(--accent-color, #059ec2);
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

#SMP_STYLE h3 {
	position: relative;
	width: 100%;
	border-bottom: 3px solid var(--secondary-color, #e6f0f9);
	color: var(--h3-color, #0a2646);
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.5px;	
	text-align: left;
	margin: 1.6em auto 1em auto;
	padding: 0 0 0.5em 0;
}
#SMP_STYLE h3::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	z-index: 2;
	content: '';
	width: 4em;
	height: 3px;
	background-color: var(--primary-color, #2e6ea8);
}

#SMP_STYLE h4 {
	width: 100%;
	border-left: 5px solid var(--primary-color, #2e6ea8);
	color: var(--h4-color, #0a2646);
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.5px;
	text-align: left;
	margin: 1.5em auto 0.5em auto;
	padding: 0.5em 0.5em 0.5em 0.7em;
}

/* 外枠
----------------------------*/
#SMP_STYLE .body_tbl {
	width: 100%;
	margin: 0 auto;
}

/* 見出し画像 ※変更なし
----------------------------*/
#SMP_STYLE .header_img_smartphone { display: none; }
#SMP_STYLE .header_img_tablet { display: none; }
#SMP_STYLE .header_img_pc { display: block; }

/* 見出しの補足説明
----------------------------*/
#SMP_STYLE .header_text {
	width: 90%;
	max-width: 1000px;
	text-align: left;
	margin: 20px auto 0 auto;
	padding: 0;
}

/* 入力時の説明
----------------------------*/
#SMP_STYLE .header_rmesg {
	width: 90%;
	max-width: 1000px;
	text-align: left;
	margin: 20px auto 0 auto;
	padding: 0;
}

/* 入力エラー時の説明
----------------------------*/
#SMP_STYLE .header_emesg {
	width: 90%;
	max-width: 1000px;
	background: #fff;
	border: 2px solid #dd0000;
	color: #dd0000;
	font-weight: bold;
	text-align: left;
	margin: 20px auto 0 auto;
	padding: 10px 20px 10px 20px;
}

/* 入力項目
----------------------------*/
#SMP_STYLE .smp_tmpl {
	width: 90%;
	max-width: 1000px;
	text-align: left;
	margin: 15px auto 0 auto;
	padding: 20px 0 30px 0;
}

/* フォーム行
----------------------------*/
.smp_tmpl dl {
	position: relative;
	width: 100%;
	border-bottom: 1px dotted var(--border-color, #cfdde6);
	margin: 0;
	padding: 1.5em 0;
}

.smp_tmpl dl:first-child {
	border-top: 1px dotted var(--border-color, #cfdde6);
}
.smp_tmpl dl.top {
	border-top: 1px dotted var(--border-color, #cfdde6);
}
/* 罫線非表示 */
.smp_tmpl dl.last {
	border-bottom: 0;
}

/* 項目名
----------------------------*/
.smp_tmpl dt.title {
	display: inline-block;
	width: 33%;
	color: var(--form-item, #123f77);
	font-weight: bold;
	letter-spacing: 0.5px;
	line-height: 1.4;
	text-align: left;
	margin: 0;
	padding: 0.2em 1em 1em 0;
	vertical-align: top;
}

/* 注意事項
----------------------------*/
.smp_tmpl dt.title .caution {
	display: block;
	width: 95%;
	color: #666;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.4;
	text-align:left;
	padding: 1em 0 0 0;
}

/* 項目入力部
----------------------------*/
.smp_tmpl dd.data {
	display: inline-block;
	width: 67%;
	color: var(--text-color, #0a2646);
	font-weight: bold;
	text-align: left;
	margin: 0;
	padding: 0;
}

/* inputタグ
----------------------------*/
.smp_tmpl .input {
	width: 90%;
	border: 1px solid #666;
	border-radius: 3px;
	box-sizing: border-box;
	color: #333;
	font-size: 1.8rem;
	text-align: left;
	margin: 0.2em 0.3em 0.5em 0;
	padding: 0.5em;
}

/* 入力欄を２つ並べる場合 */
.input_line ul li {
	box-sizing: border-box;
	width: 45%;
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
}
.input_line ul li input {
	width: calc(90% - 35px) !important;
}

/* フィールドごとのデザイン
----------------------------*/
.smp_tmpl .zipcode li.code01 input {
	width: 60px;
}

.smp_tmpl .zipcode li.code02 input {
	width: 70px;
}

.smp_tmpl .phone li.num01 input {
	width: 70px;
}

.smp_tmpl .phone li.num02 input {
	width: 70px;
}

.smp_tmpl .phone li.num03 input {
	width: 70px;
}

.smp_tmpl .price input {
	width: 200px;
}

.smp_tmpl .num input {
	width: 120px;
}

.smp_tmpl .integer input {
	width: 170px;
}

.smp_tmpl .real input {
	width: 170px;
}

.smp_tmpl .pass input {
	width: 180px;
}

.smp_tmpl .epass input {
	width: 160px;
}

.smp_tmpl .time input {
	width: 50px;
}

.smp_tmpl .time .year {
	width: 70px;
}

.smp_tmpl ul,.smp_tmpl li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.smp_tmpl .zipcode ul li,
.smp_tmpl .phone ul li,
.smp_tmpl .time ul li {
	float: left;
	width: auto;
	margin: 0 3px 0 0;
	padding: 0;
}
.smp_tmpl .zipcode ul li.code02 input,
.smp_tmpl .phone ul li.num02 input,
.smp_tmpl .phone ul li.num03 input,
.smp_tmpl .time ul li:not(:first-child) input {
	margin-left: 5px;
}

.smp_tmpl .multi1 li {
	display: block;
	float: left;
	text-align: left;
	margin: 0 0 0.7em 0;
	padding: 0 0.5em 0 0;
}
.smp_tmpl .multi1 label input {
	display: block;
	float: left;
	width: 1em;
	height: 1em;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
	border-radius: 0 0 0 0;	
	margin: 0.1em 0 0 0;
	padding: 0;
}
.smp_tmpl .multi1 label span {
	display: block;
	font-weight: normal;
	margin: -0.1em 0 0 1.7em;
	padding-right: 1em;
}

.smp_tmpl .multi2 li {
	display: inline-block;
	float: left;
	text-align: left;
	margin: 0 0 0.7em 0;
	padding: 0 0.5em 0 0;
	clear: both;
}
.smp_tmpl .multi2 label input {
	display: block;
	float: left;
	width: 1em;
	height: 1em;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
	border-radius: 0 0 0 0;
	margin: 0.1em 0 0 0;
	padding: 0;
	overflow: hidden;
}
.smp_tmpl .multi2 label span {
	display: block;
	font-weight: normal;
	margin: -0.1em 0 0 1.7em;
	padding-right: 1em;
}

.smp_tmpl select {
	width: 90%;
	max-width: 500px;
	height: 46px;
	border: 1px solid #666;
	border-radius: 3px;
	box-sizing: border-box;
	color: #333;
	font-size: 1.6rem;
	margin: 0.2em 0.3em 0.5em 0;
	padding: 0.5em;
}

.smp_tmpl textarea {
	width: 90%;
	border: 1px solid #666;
	border-radius: 3px;
	box-sizing: border-box;
	color: #333;
	font-size: 1.6rem;
	text-align: left;
	margin: 0.2em 0.3em 0.5em 0;
	padding: 0.5em;
}

.smp_tmpl .image input {
	width: auto;
}
.smp_tmpl .file input {
	width: auto;
}
.smp_tmpl input.clear {
	width: 55px;
	text-align: center;
}

/* 送信ボタン
----------------------------*/
#SMP_STYLE input.submit {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-box-sizing: border-box;
	-webkit-appearance: button;
	appearance: none;
	/* reset end */
	width: 90%;
	max-width: 300px;
	min-height: 60px;
	border: hidden;
	max-width: 300px;
	background: var(--primary-color, #2d65a8);
	border-bottom: 2px solid rgba(0,0,0,0.2);
	border-radius: 6px;
	color: #fff;
	font-size: 1.8rem;
	-webkit-font-smoothing: antialiased;
	font-weight: bold;
	letter-spacing: 0.5px;
	text-align: center;
	margin: 1.5em 0.5em;
	cursor: pointer;
}

#SMP_STYLE input.submit:hover {
	filter: alpha(opacity=90);
	-ms-filter: alpha(opacity=90);
	opacity: 0.9;
}

#SMP_STYLE input.image {
	width: auto;
	border: none;
	margin: 1.5em 0.5em;
	padding: 0;
	vertical-align: middle;
}

/* 確認ページの戻るボタン */
#SMP_STYLE input[name="SMPFORM_BACK"] {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-box-sizing: border-box;
	-webkit-appearance: button;
	appearance: none;
	/* reset end */
	width: 98%;
	max-width: 300px;
	min-height: 60px;
	border: hidden;
	background: #444;
	border-bottom: 2px solid #000;
	border-radius: 6px;
	color: #fff;
	font-size: 1.8rem;
	-webkit-font-smoothing: antialiased;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.5px;
	margin: 1.5em 0.5em;
	cursor: pointer;
}

#SMP_STYLE input[name="SMPFORM_BACK"]:hover {
	filter: alpha(opacity=90);
	-ms-filter: alpha(opacity=90);
	opacity: 0.9;
}


/* 例文
----------------------------*/
.smp_tmpl .sample {
	display: inline-block;
	color: #666;
	font-size: 1.4rem;
	font-weight: normal;
	text-align: left;
	line-height: 1.4;
	margin-top: 5px;
}

/* 接頭語・接尾後
----------------------------*/
.smp_tmpl .suffix {
	display: inline-block;
	height: 40px;
	color: var(--text-color, #0a2646);
	font-weight: normal;
	line-height: 40px;	
	text-align: left;
	margin-right: 5px;
}

/* 入力必須文字
----------------------------*/
.smp_tmpl .need {
	display: inline-block;
	color: #dd0000;
	font-size: 1.4rem;
	font-weight:normal;
	line-height: 1.4;
	text-align:left;
}

/* エラーメッセージ
　(入力チェック時)
----------------------------*/
.smp_tmpl .msg {
	display: block;
	color: #dd0000;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	margin: 0 5px 5px 0;
}

/* エラーメッセージ
　(サンキュー・締め切り・システムエラー)
----------------------------*/
.smp_tmpl .sub_text {
	width: 95%;
	max-width: 1000px;
	color: var(--text-color, #0a2646);
	font-weight: normal;
	text-align: center;
	padding: 0;
	margin: 0 auto 40px auto;
}

/* 入力エラー時のボックス背景色
----------------------------*/
.smp_tmpl .error {
	background: #FFE4E4;
}

/* スパイラルシール
----------------------------*/
.spiralSeal_wrapper table {
	max-width: 90% !important;
	overflow: hidden !important;
	background-color: #fff !important;
	border: 1px solid #ccc !important;
	margin: 30px auto 30px auto !important;
}
.spiralSeal_wrapper tr td:first-child {
	display: table-cell;
	line-height: 1.4;
	text-align: left;
	padding: 10px !important;
	overflow: auto;
}
.spiralSeal_wrapper tr td {
	display: table-cell;
	text-align: center;
	padding: 10px !important;
	overflow: auto;
}

/* フッタ
----------------------------*/
#SMP_STYLE .footer_text {
	width: 90%;
	max-width: 1000px;
	color: var(--text-color, #0a2646);
	font-weight: normal;
	text-align: left;
	margin: 0 auto 30px auto;
}

.copyright {
	text-align: center;
}

/* clearfix
----------------------------*/
#SMP_STYLE .cf:before, #SMP_STYLE .cf:after {content:"";display:table;}
#SMP_STYLE .cf:after {clear:both;}
#SMP_STYLE .cf {*zoom:1;}


