@charset "UTF-8";

/* リセット */
.fo-contents p {
	padding: 0;
	margin: 0;
}
.fo-contents dl,
.fo-contents dt,
.fo-contents dd {
	padding: 0;
	margin: 0;
}

/* デフォルト */
.fo-contents {
	border: 3px solid #cccccc;
	width: 744px;
}
.fo-contents .wrap {
	border: 1px solid #999999;
	padding-bottom: 20px;
}
.fo-contents table {
	width: 742px;
	text-align: left;
	border-collapse: collapse;
}
.fo-contents table th {
	padding: 0.7em 10px 0;
	text-align:left;
	vertical-align: top;
}
.fo-contents table td {
	padding: 10px;
}
.fo-contents table .l {
	background-color: #eeeeee;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	padding-left: 1.5em;
}
.fo-contents table .r {
	padding: 10px;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	word-break: break-all;
}
.fo-contents table .button {
	border-top: none;
	border-bottom: none;
	text-align: center;
}
/* デフォルト（必須マーク変更に伴う調整レイアウト） */
.fo-contents2 {
	border: 3px solid #cccccc;
	width: 744px;
}
.fo-contents2 .wrap {
	border: 1px solid #999999;
}
.fo-contents2 table {
	width: 742px;
	text-align: left;
	border-collapse: collapse;
}
.fo-contents2 table th {
	padding: 0.7em 10px 0;
	text-align:left;
	vertical-align: top;
}
.fo-contents2 table td {
	padding: 10px;
}
.fo-contents2 table .l {
	background-color: #eeeeee;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	padding-left: 1.5em;
}
.fo-contents2 table .r {
	padding: 15px;
	border-bottom: 1px solid #cccccc;
	word-break: break-all;
}
.fo-contents2 table .button {
	border-top: none;
	border-bottom: none;
	text-align: center;
}

/* 必須項目 */
.fo-contents .l-s {
	background-color: #eeeeee;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}
.fo-contents .l-s em {
	color: #dc4d4d;
	font-style: normal;
	font-weight: bold;
	padding-right: 3px;
}

/* 必須項目（漢字ver.） */
em.fo-req {
    display: inline-block;
    font-family: "ＭＳ Ｐゴシック","MS PGothic";
    color: #fff!important;
    font-style: normal;
    font-weight: normal!important;
    font-size: 10px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    vertical-align: 2px;
    background-color: #dc4d4d;
    padding: 2px 3px!important;
    margin-left: 5px;
    line-height: 1;
}

/* 必須項目(絞り込み欄上部およびthなどfo-contents内ではない箇所用) */
.fo-indispensable {
	margin-bottom: 5px;
}

th.fo-indispensable {
	margin-bottom: 0;
}

.fo-indispensable em {
	color: #dc4d4d;
	font-style: normal;
	font-weight: bold;
	padding-right: 3px;
}

/* 必須ではない項目（fo-contents内ではないthに付与） */
.fo-indent {
	text-indent: 0.8em;
}

/* 上部インフォメーションスペース */
.fo-contents .info {
	border-top: none;
	border-bottom: none;
}
.fo-contents .info .fo-title {
    border-left: 5px solid #8F8F8F;
    font-weight: bold;
    margin: 0;
    padding: 3px 4px;
}
.fo-contents .info em {
	color: #dc4d4d;
	font-style: normal;
	font-weight: bold;
	padding-right: 7px;
}

/* fo-contents内上部背景ピンクの注記文言 */
.fo-topinfo {
	padding:5px;
}
.fo-topinfo-txt {
	font-weight: bold;
	font-size: 116%;
	background: #FFE0DF;
	padding: 10px;
	text-align: center;
}
/* border1pxバージョンのフォーム
----------------------------------------------------------- */
.fo-form-area {
	max-width: 750px;
	width: 96%;
	margin: 20px auto 30px;
}
.fo-form-wrap {
	border-left: 1px #cccccc solid;
	border-right: 1px #cccccc solid;
	text-align: left;
}
.fo-form-wrap.fo-nobrdr { border: 0; }
.fo-form-wrap p { margin-bottom: 0; }
.fo-form-wrap table {
	width: 100%;
	border-collapse: collapse;
}
.fo-form-wrap table tr th,
.fo-form-wrap table tr td {
	padding: 15px;
	vertical-align: top;
	border-top: 1px #cccccc solid;
	border-bottom: 1px #cccccc solid;
}
.fo-form-wrap table tr th {
	font-weight: normal;
	font-size: 14px;
	color: #666666;
	width: 240px;
	background-color: #eeeeee;
}
.fo-form-wrap input[type='text'],
.fo-form-wrap input[type='file'],
.fo-form-wrap input[type='password'],
.fo-form-wrap input[type='tel'],
.fo-form-wrap input[type='email'],
.fo-form-wrap input[type='number'],
.fo-form-wrap textarea,
.fo-form-wrap select {
	border: 1px #aaaaaa solid;
	border-radius: 3px;
	padding: 3px 7px;
	margin: 3px 0;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif !important;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	box-sizing: border-box;
}
.fo-form-wrap .co-slct-pldwn {
	margin: -3px 0;
	vertical-align: middle;
	padding: 4px 24px 2px 5px;
}
.fo-form-wrap ~ .fo-submit { padding-top: 40px; }
/* 必須マーク */
.fo-form-wrap .fo-req-mark {
	display: inline-block;
	color: #fff;
	font-size: 13px;
	border-radius: 3px;
	vertical-align: 2px;
	background-color: #dc4d4d;
	padding: 3px 5px;
	margin-left: 5px;
	line-height: 1;
	font-style: normal;
}
.fo-req-flex { display: flex; }
.fo-req-flex span:not(.fo-req-mark) { flex-basis: calc(100% - 41px); }
.fo-req-flex .fo-req-mark {
	white-space: nowrap;
	align-self: center;
}

/* 任意マーク */
.fo-form-wrap .fo-any-mark {
	display: inline-block;
	color: #fff;
	font-size: 13px;
	border-radius: 3px;
	vertical-align: 2px;
	background-color: #999;
	padding: 3px 5px;
	margin-left: 5px;
	line-height: 1;
	font-style: normal;
}
.fo-req-flex { display: flex; }
.fo-req-flex span:not(.fo-any-mark) { flex-basis: calc(100% - 41px); }
.fo-req-flex .fo-any-mark {
	white-space: nowrap;
	align-self: center;
}

/* エラー */
.fo-form-wrap .fo-error-exclamation {
	background-image: url('/img/common/icon/error_warning.png');
	background-position: left 2px;
	background-size: 14px auto;
	margin: 7px 0 0;
	padding-left: 17px;
}

/* disabled */
.fo-form-wrap input[type='text']:disabled,
.fo-form-wrap input[type='file']:disabled,
.fo-form-wrap input[type='password']:disabled,
.fo-form-wrap input[type='tel']:disabled,
.fo-form-wrap input[type='email']:disabled,
.fo-form-wrap input[type='number']:disabled,
.fo-form-wrap .co-slct-pldwn:disabled {
	opacity: 0.7;
	background-color: #eeeeee;
	cursor: default;
}
.fo-submit-area {
	margin-top: 20px;
	text-align: center;
}
.fo-submit-area .fo-submit:only-child { margin-top: 0; }

/* ステップ画像 */
.fo-stepimg	{
	text-align:center;
	margin: 20px 0 30px;
}

/*** css版ステップ ***/
.co-container .step-info {
	position: relative;
	color: #cccccc;
	text-align: center;
	margin: 0 auto 35px;
	max-width: 800px;
}
.step-info .step-txt p {
	width: 16.66%;
	display: inline-block;
	margin: 0;
	vertical-align: bottom;
	position: relative;
}
/* ステップ文言 */
.step-info .step-txt {
	font-size: 12px;
	font-weight: bold;
}

/* 点● */
.step-info .step-txt p:after {
	content: '●';
	z-index: 1;
	font-size: 10px;
	bottom: -1.4em;
    display: block;
    left: 0;
    text-align: center;
    position: absolute;
    width: 100%;
	text-shadow: 3px 0 0 #ffffff,-3px 0 0 #ffffff;
}

/* ステップ間の線 */
.step-info:after {
	content: '';
	border-top: 1px #cccccc solid;
	position: absolute;
	bottom: -0.5em;
	left: 0;
	z-index: 0;
	height: 0;
}
.step-info:after { bottom: -0.6em\9; }

/* ステップ数に応じた調整 */
/* 2段階ステップ */
.step-info.step2:after {
	margin: 0 42%;
	width: 16%;
}
/* 3段階ステップ */
.step-info.step3:after {
	margin: 0 33%;
	width: 34%;
}
/* 4段階ステップ */
.step-info.step4:after {
	margin: 0 24.5%;
	width: 51%;
}
/* 5段階ステップ */
.step-info.step5:after {
	margin: 0 17.5%;
	width: 65%;
}
/* 6段階ステップ */
.step-info.step6:after {
	margin: 0 9%;
	width: 82%;
}
/* 現在地 */
.step-info .now-step { color: #2f6aa8; }

/*** エラー ***/
/* 上部 */
.fo-error-massage {
	text-align:center;
	font-weight:bold;
	padding:0;
	color:#dc4d4d;
	font-size:116%;
	margin-bottom: 20px;
}

/* その他エラー */
.fo-error-other {
	width: 330px;
	margin: 0 auto 20px auto;
	padding: 10px 0 0 0;
	text-align: center;
}

.fo-error-other-contact {
	padding: 10px;
	margin-top: 10px;
	border: 1px solid #999999;
	text-align: center;
	line-height: 1.6em;
}
/* エラー時のフィールド */
.fo-error-field {
	background-color: #FFE0DF!important;
}
input[type="text"].fo-error-field,
textarea.fo-error-field {
	border: 1px solid #999;
	padding: 2px;
}
td.fo-error-field .fo-errors {
	border-bottom: 1px solid #FFE0DF;
}
/* アイコン付きエラー文言（フィールド下） */
.fo-error-exclamation {
    background: url(/img-dealer/common/icon/error.gif) no-repeat scroll left 50% transparent;
    color: #dc4d4d;
    font-weight: bold;
    padding-left: 16px;
	margin-left: 5px;
	zoom: 1;
}
.fo-error-exclamation + .fo-error-exclamation {display: none;}

ul.fo-errors {
	list-style-type: none;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #FFFFFF; /* IE6,7でこれがないとエラーがなくなったときに要素が詰らない */
}

ul.fo-errors li {
	color: #dc4d4d;
	background: url(/img-dealer/common/icon/error.gif) no-repeat scroll 0 2px transparent;
	padding-left: 16px;
	margin: 5px 0 0 0;
	font-weight: bold;
	zoom: 1;
}

.fo-content-necessary ul.fo-errors {
	border-bottom: 1px solid #FFF7E1;
}

.fo-errors-box {
	color: #dc4d4d;
	padding-left: 16px;
	margin: 0;
	font-weight: bold;
	background: url(/img-dealer/common/icon/error.gif) no-repeat scroll 0 2px;
}
dt.fo-errors-box {
	margin: 10px 0;
}
/* csvエラー */
.fo-csv-errors {
	margin-top: 20px;
}

.fo-csv-errors table td {
	white-space: nowrap;
	padding: 0 2px;
}

.fo-csv-errors .fo-error-massage {
	text-align: left!important;
	margin-left: 0!important;
}

/* 横並び定義済みリスト内エラー */
.co-item-dl ul.fo-errors {
	padding-left: 0!important;
	text-indent: 0;
	margin-left: -5px;
}

/* 送信ボタン */
.fo-submit {
	padding: 20px 0 0;
	text-align: center;
}

/* テキストボックスサイズ各種 */
.fo-textbox-vshort {
	width: 50px;
}
.fo-textbox-short {
	width: 80px;
}
.fo-textbox-middle {
	width: 130px;
}
.fo-textbox-long {
	width: 250px;
}
.fo-textbox-vlong {
	width: 280px;
}
.fo-textbox-exlong {
	width: 480px;
}
.fo-textbox-max {
	width: 97%;
}
.fo-textbox-w90 {
	width: 90%;
}

/* テキストエリア */
.fo-textarea {
	width: 400px;
	overflow-y: auto;
}

/* 入力不可項目 */
.fo-disabled {
	background-color: #eeeeee;
	border: 1px solid #cccccc;
	color: #CCCCCC;
}

/* 入力不可checkbox */
.fo-disabled-checkbox  {
	color: #999999;
}

/* 入力不可プルダウン */
.fo-disabled-select {
	color: #CCCCCC;
	background-color: #EEEEEE;
	border: 1px solid #CCCCCC;
}

/* 入力不可項目（trエリア用） */
.fo-disabled-row .l-s em {
	visibility: hidden;
}
.fo-disabled-row input,
.fo-disabled-row select {
	background-color: #eeeeee;
	border: 1px solid #cccccc;
}

/* 強制半角英文字 */
.fo-imdis{
	ime-mode: disabled;
}

.fo-addressCompletion {
	background-image: url("/js/address_completion/images/zip_button.gif");
	background-repeat: no-repeat;
	border-width: 0px;
	vertical-align: middle;
	width: 142px;
	height: 22px;
	display: block;
	cursor: pointer;
}
.fo-addressCompletion-load {
	background-image: url("/js/address_completion/images/zip_button_02.gif");
	background-repeat: no-repeat;
	border-width: 0px;
	vertical-align: middle;
	width: 142px;
	height: 22px;
	display: block;
}

/* tableフォーム内入力可能カラム */
.fo-headline-necessary,
.fo-headline-necessary-over { /* <th>に付与 */
	background-color: #CCCCCC!important;
}

.fo-headline-necessary-over:hover {
	background-color: #bababa!important;
}

td.vertical-color-hover {
	background-color: #fff1ca!important;
}

.fo-content-necessary,
.fo-content-necessary-over { /* <td>に付与 */
	background-color: #FFF7E1;
}

.fo-content-necessary-over:hover {
	background-color: #fff1ca;
}

.fo-content-necessary .reflect-wrap {
	display: table;
	float: right;
	margin: 5px 5px 2px 5px;
}

.fo-content-necessary .reflect-all {
	font-size: 12px;
	color: #0066cc;
	cursor: pointer;
	background: url('/img/common/icon/arw_round_wb.png') 5px center no-repeat;
	background-size: 16px 15px;
	display: table-cell;
	padding: 4px 9px 2px 25px;
	vertical-align: middle;
}

.fo-content-necessary .save-template {
	display: table-cell;
}

/* 赤字の注記 */
.fo-form-area .fo-red-txt {
	color: #dc4d4d;
	font-weight: bold;
	font-size: 14px;
	margin: 0 auto 10px;
}

/* 補足 */
.fo-sub-text {
	font-size: 12px;
	color: #666666;
}

/* ボタン前の追加情報 */
.fo-additional {
	border-top: 1px #cccccc solid;
	border-bottom: 1px #cccccc solid;
	padding: 15px;
	margin: 20px auto 0;
	max-width: 34em;
	text-align: center;
	box-sizing: border-box;
}

/* チェックボックス（チェックボックス単体のコンポーネントです） */
.checkbox-plain {
	display: flex;
	justify-content: center;
}
.checkbox-plain input {
	display: none;
	position: absolute;
	opacity: 0;
}
 /*選択範囲を広げる場合は各ページで調整してください*/
.checkbox-plain label {
	display: flex;
	justify-content: center;
}
.checkbox-plain .box {
	position: relative;
	border: 2px solid #cccccc;
	border-radius: 2px;
	background: #fff;
	width: 16px;
	height: 16px;
}
.checkbox-plain input:checked + label .box::before, .checkbox-plain input:checked + label .box::after {
	content: "";
	position: absolute;
	height: 2px;
	background-color: #2489ce;
}
.checkbox-plain input:checked + label .box::before {
	width: 8px;
	transform: rotate(46deg);
	top: 9px;
	left: 1px;
	border-radius: 0 3px 0 0;
}
.checkbox-plain input:checked + label .box::after {
	width: 10px;
	transform: rotate(-46deg);
	top: 8px;
	left: 5px;
}


/*** チェックボックス/ラジオ ***/
.fo-checkbox label, .fo-radio {
	vertical-align: middle;
	font-size: 14px;
	position: relative;
	margin: 5px 0;
}
.fo-checkbox label, .fo-radio label { cursor: pointer; }
.fo-checkbox:not(:last-of-type):not(:only-of-type),
.fo-radio:not(:last-of-type):not(:only-of-type) { margin-right: 20px; }
.fo-checkbox label, .fo-radio label { cursor: pointer; }
.fo-checkbox input[type='checkbox'],
.fo-radio input[type='radio'] { display: none; }
.fo-checkbox label:before,
.fo-radio label:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	background-color: #ffffff;
}
/* チェックボックス */
.fo-checkbox { display: inline-block; }
.fo-checkbox label {
	padding-left: 28px;
	display: block;
	line-height: 1.4;
}
.fo-checkbox label:before {
	width: 16px;
	height: 16px;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 3px;
	border: 2px #cccccc solid;
}
.fo-checkbox label span {
	display: inline-block;
	vertical-align: top;
}
.fo-checkbox input[type='checkbox']:checked ~ label span { position: relative; }
.fo-checkbox input[type='checkbox']:checked ~ label span:before,
.fo-checkbox input[type='checkbox']:checked ~ label span:after {
	content: '';
	position: absolute;
	height: 4px;
	background-color: #2489ce;
}
.fo-checkbox input[type='checkbox']:checked ~ label span:before {
	width: 8px;
	-ms-transform: rotate(46deg);
	-webkit-transform: rotate(46deg);
	transform: rotate(46deg);
	top: 9px;
	left: -25px;
	border-radius: 0 3px 0 0;
}
.fo-checkbox input[type='checkbox']:checked ~ label span:after {
	width: 12px;
	-ms-transform: rotate(-46deg);
	-webkit-transform: rotate(-46deg);
	transform: rotate(-46deg);
	top: 8px;
	left: -22px;
}
/* ラジオ */
.fo-radio { display: inline-block; }
.fo-radio label { display: block; }
.fo-radio label:before {
	width: 10px;
	height: 10px;
	border: 2px #ffffff solid;
	box-shadow: 0 0 0 2px #cccccc;
	margin-right: 8px;
	border-radius: 50%;
}
.fo-radio input[type='radio']:checked ~ label:before { background-color: #2489ce; }
/* disabled */
.fo-radio input[type='radio']:disabled ~ label {
	opacity: 0.7;
	cursor: default;
}
.fo-radio input[type='radio']:disabled ~ label:before { background-color: transparent; }
/* SP */
@media screen and (max-width: 670px){
	/* ステップ */
	.step-info .step-txt { font-size: 10px ; }
	/* 2段階ステップ */
	.step-info.step2:after {
		margin: 0 36%;
		width: 28%;
	}
	.step-info.step2 p { width: 27%; }
	/* 3段階ステップ */
	.step-info.step3:after {
		margin: 0 16%;
		width: 68%;
	}
	.step-info.step3 p { width: 33%; }
	/* 4段階ステップ */
	.step-info.step4:after {
		margin: 0 12%;
		width: 76%;
	}
	.step-info.step4 p { width: 25%; }
	/* 5段階ステップ */
	.step-info.step5:after {
		margin: 0 9%;
		width: 82%;
	}
	.step-info.step5 p { width: 20%; }
	/* 6段階ステップ */
	.step-info.step6:after {
		margin: 0 8%;
		width: 84%;
	}
	.step-info.step6 p { width: 16.6%; }

	/* 赤字の注記 */
	.fo-red-txt { width: 96%; }
	/* ボタン前の追加情報 */
	.fo-additional {
		padding: 10px 5px;
		margin: 0 auto;
		border-top: 0;
		width: 90%;
	}
	.fo-additional .fo-sub-text { text-align: left; }
	.fo-additional .fo-sub-text br { display: none; }
	/*** チェックボックス/ラジオ ***/
	.fo-checkbox label, .fo-radio { font-size: 13px; }
	.fo-checkbox label:not(:last-of-type):not(:only-of-type),
	.fo-radio:not(:last-of-type):not(:only-of-type) { margin: 3px 0 15px 0; }
	/* チェックボックス */
	.fo-checkbox label:before {
		width: 20px;
		height: 20px;
	}
	.fo-checkbox label span {
		line-height: 1.8;
	}
	.fo-checkbox input[type='checkbox']:checked ~ label span:before {
		width: 11px;
		left: -25px;
		top: 11px;
	}
	.fo-checkbox input[type='checkbox']:checked ~ label span:after {
		width: 12px;
		left: -19px;
		top: 9px;
	}
	/* ラジオ */
	.fo-radio { display: block; }
	.fo-radio label:before {
		width: 12px;
		height: 12px;
	}
}
/*------------------------------------------------
	input （ファイルアップロード）
------------------------------------------------*/
/*
使い方
<div class="fo-file-up">
	<input type="file">
</div>
*/
.fo-file-up {
	display: inline-block;
	overflow: hidden;
	position: relative;
}
.fo-file-up:hover {
	background-position: 0 -23px;
}
.fo-file-up input[type="file"] {/* ｆile選択 */
	opacity: 0;
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
	font-size: 100px;
	cursor: pointer;
	outline: none;
	z-index: 1!important;
}
.fo-file-up label {
	display: inline-block;
	width: 98px;
	height: 23px;
}
/* ファイル名表示 */
.fo-file-name-inner {
	max-width: 300px;
	display: inline-block;
	word-wrap: break-word;
	float: left;
	margin-top: 7px!important;
}
.fo-file-del {
	padding: 0 8px;
	cursor: pointer;
}
.fo-file-del img {
	margin-top: 10px;
}
/* 一般ファイル */
.fo-file-up.file-normal {
	width: 100px;
	height: 29px;
	background: url("/img-dealer/common/button/select_file_m.gif") 0 0 no-repeat;
}
.fo-file-up.file-normal:hover {
	background-position: 0 -29px;
}
.fo-file-up.file-normal label {
	width: 100px;
	height: 29px;
}
/* エクセルファイル */
.fo-file-up.file-excel {
	width: 135px;
	height: 29px;
	background: url("/img-dealer/common/button/select_excel_m.gif") 0 0 no-repeat;
}
.fo-file-up.file-excel:hover {
	background-position: 0 -29px;
}
.fo-file-up.file-excel label {
	width: 135px;
	height: 29px;
}

/* 新デザイン */
.fo-attachment .file-btn {
	position: relative;
	height: 28px;
	display: inline-block;
	width: 125px;
	vertical-align: middle;
}
.fo-attachment label{
	display: inline-block;
	overflow: hidden;
	position: absolute;
	width: 95px;
	height: 22px;
	background: url('/img/messagebox/clip_00.svg') no-repeat left 1px #fff;
	background-size: 19px 23px;
	padding: 5px 5px 1px 23px;
	border: none;
	color: #0066cc;
}
.fo-attachment label input:disabled + span{
	color: #aaa;
	cursor: default;
}
.fo-attachment input{display: none;}
.fo-attachment > p {
	display: inline-block;
	color: #AAAAAA;
	font-size: 12px;
}
/* 新デザインファイル名表示 */
.fo-attachment .attaching-list div {display: inline;}
.fo-attachment .attaching-list div div{
	display: inline-block;
	background: #EFEFEF;
	border-radius: 13px;
	font-size: 12px;
	line-height: 22px;
	padding: 0 24px 0 11px;
	margin: 2px 6px 4px 0;
	position: relative;
	cursor: pointer;
}
.fo-attachment .attaching-list div div:before{
	content: ' ';
	display: inline-block;
	top: 4px;
	right: 3px;
	position: absolute;
	background: #999999;
	border-radius: 50%;
	width: 14px;
	height: 14px;
}
.fo-attachment .attaching-list div div span:not(.attaching-loading):after,
.fo-attachment .attaching-list div div span:not(.attaching-loading):before{
	content: ' ';
	display: inline-block;
	background: #fff;
	height: 10px;
	width: 2px;
	position: absolute;
	right: 9px;
	top: 6px;
	border-radius: 2px;
	transform: rotate(46deg);
}
.fo-attachment .attaching-list div div span:not(.attaching-loading):before{
	transform: rotate(-46deg);
}

/*** 入力補助 ***/
.fo-input-assist-list {
	display: flex;
	align-items: center;
	list-style: none;
}
.fo-input-assist {
	color: #0066cc;
	cursor: pointer;
	font-size: 14px;
}
.fo-input-assist + .fo-input-assist { margin-left: 25px; }
.fo-input-assist::after {
	content: '';
	display: inline-block;
	vertical-align: -3px;
	width: 16px;
	height: 16px;
	margin-left: 7px;
	background: url('/img-dealer/common/icon/filldown_b.svg') center center / contain no-repeat;
}
.fo-input-assist:hover::after { background-image: url('/img-dealer/common/icon/filldown_w.svg'); }

/* rwd用
----------------------------------------------------------------------------------------------- */
.rwd-contents {
	min-width: 10px;
	max-width: 1366px;
	width: 96%;
	margin: 0 auto;
}
.co-w750 {
	width: 96%;
	margin: 0 auto;
	max-width: 750px;
}
.co-w960 {
	width: 96%;
	margin: 0 auto;
	max-width: 960px;
}
/* 外枠 */
.rwd-contents .fo-contents { width: auto; }
/* テーブル */
.fo-rwd-table .row .th-cap {
	background-color: #eeeeee;
	vertical-align: top;
	border-top: 1px #cccccc solid;
	border-bottom: 1px #cccccc solid;
	font-weight: normal;
	font-size: 14px;
}
.fo-rwd-table .row .td-txt {
	vertical-align: top;
	border-top: 1px #cccccc solid;
	border-bottom: 1px #cccccc solid;
	max-width: 435px;
	word-wrap: break-word;
}
.fo-rwd-table .row .td-small-cap {
	display: block;
}
.fo-rwd-table .row .td-inner-box {
	margin-bottom: 8px;
}
.fo-rwd-table .td-inner-box {
	margin-bottom: 8px;
}
.fo-rwd-table .fo-contents table .multiple-frame {
	padding-bottom: 2px;
}
.fo-rwd-table .city-select-area {
	min-width: 280px;
}
.fo-rwd-table .city-select-box-wrap {
	position: relative;
}
.fo-rwd-table .city-select-box {
	position: absolute;
	background-color: #fff;
	box-sizing: border-box;
	padding: 20px 30px 20px 10px;
	min-width: 280px;
	border: 1px solid #aaa;
	top: -1px;
	box-shadow: 2px 2px 3px 0 #bbbbbb;
	-webkit-box-shadow: 2px 2px 3px 0 #bbbbbb;
	-moz-box-shadow: 2px 2px 3px 0 #bbbbbb;
}
.fo-rwd-table .city-select-content {
	position: relative;
}
.fo-rwd-table .city-search-mark {
	position: absolute;
	top: 5px;
	left: 7px;
}
.fo-rwd-table .city-co-tooltip-cancel {
	position: absolute;
	top: 5px;
	right: 7px;
	float: none;
}
.fo-rwd-table .city-select-search {
	width: 100%;
	text-indent: 27px;
	box-sizing: border-box;
}
.fo-rwd-table .city-select-wrap select {
	width: 100%;
	box-sizing: border-box;
	margin-top: 10px;
}
.fo-rwd-table .radio-33per {
	width: 33%;
	float: left;
}
.fo-rwd-table .radio-33per>label {cursor: pointer;}
@media screen and (max-width:940px){
	.fo-rwd-table .td-txt .fo-error-exclamation {
		background-image: url('/img/common/icon/error_warning.png');
		background-size: 14px 14px;
		background-position: left 2px;
	}
}
/* テーブル内タイトル */
.fo-rwd-info .fo-title {
	border-left: 5px solid #8f8f8f;
	font-weight: bold;
	margin: 0;
	padding: 3px 4px;
}
/* テーブル内タイトル(控えめデザイン） */
.fo-rwd-table .box-title {
	border-top: solid 1px #ccc;
	display: table-caption;
	width: 100%;
	padding: 10px 15px;
	box-sizing: border-box;
}
@media screen and (min-width:671px){
	.fo-rwd-info { padding: 10px; }
	.fo-rwd-table {
		display: table;
		border-collapse: collapse;
		width: 100%;
	}
	.fo-rwd-table .row { display: table-row; }
	.fo-rwd-table .row .th-cap {
		padding: 15px;
		display: table-cell;
		width: 38%;
		font-weight: normal;
		font-size: 14px;
	}
	.fo-rwd-table .row .td-txt {
		padding: 15px;
		display: table-cell;
		width: 62%;
	}
}
@media screen and (max-width: 940px) and (min-width: 671px) {
	.fo-rwd-table .row .multiple-frame {
		padding-bottom: 7px;
	}
	.fo-rwd-table .city-select-box {
		top: -2px;
		left: 2px;
	}
	.fo-rwd-table .row .city-search-mark {
		top: 6px;
	}
}
@media screen and (max-width:670px){
	.fo-rwd-info { padding: 10px 3%; }
	.fo-rwd-table {
		border: none;
		display: block;
	}
	.fo-rwd-table .row { display: block; }
	.fo-rwd-table .row .th-cap {
		padding: 10px 3%;
		display: block;
		margin-top: -1px !important;
		border-bottom: 0;
	}
	.fo-rwd-table .row .td-txt {
		padding: 15px 3%;
		display: block;
		margin-top: -1px;
		border-top: 0;
		max-width: inherit;
	}
	.fo-rwd-table .row .multiple-frame {
		padding-bottom: 7px;
	}
	.fo-rwd-table .city-search-mark {
		top: 7px;
	}
	.fo-rwd-table .city-select-box {
		top: -2px;
		left: 2px;
	}
	.fo-rwd-table .box-title {
		display: block;
	}
}
/* 注記 */
input[type='text'],input[type='password'],
input[type='tel'],input[type='email'],input[type='number'],textarea {
	border: 1px #999999 solid;
	padding: 3px;
}
.fo-rwd-table .notes {
	color: #666666;
	font-size: 80%;
}
/* 入力エリア */
.fo-rwd-table .fo-short {
	max-width: 80px;
	width: 25%;
}
.fo-rwd-table .fo-middle {
	max-width: 130px;
	width: 30%;
}
.fo-rwd-table .fo-long {
	max-width: 240px;
	width: 70%;
}
.fo-rwd-table .fo-vlong {
	max-width: 350px;
	width: 97%;
}
@media screen and (max-width:670px){
	input[type='text'],input[type='file'],input[type='password'],
	input[type='tel'],input[type='email'],input[type='number'] {
		padding: 4px 2%;
		font-size: 14px;
	}
}
/* SSL */
@media screen and (max-width:670px){
	.ssl-box {
		margin-top: 20px;
		width: 235px;
	}
	.ssl-box .ssl-txt {
		margin-top: 4px;
		width: 145px;
	}
	.ssl-box .ssl-sticker { width: 40px; }
	.ssl-box input[name='Sticker'] { width: 30px; }
	.ssl-box .ssl-sticker {
		float: right;
		width: 80px;
		padding: 3px 3px 3px 0;
	}
	.ssl-box .ssl-sticker table,
	.ssl-box .ssl-sticker table img {
		width: 80px;
	}
}
@media screen and (max-width:940px){
	.fo-rwd-table .radio-33per {width: 50%;}
}
/*------------------------------------------------
	SSL証明書
------------------------------------------------*/
.ssl-box {
	color: #666666;
	float: right;
	padding: 0 0 0 5px;
	text-align: right;
	width: 300px;
	margin-top:50px;
}
.ssl-box .ssl-txt {
	float: left;
	font-size: 10px;
	margin: 17px 0 0;
	text-align: left;
	width: 180px;
}
.ssl-box .ssl-sticker {
	float: right;
	width: 115px;
	padding: 3px 3px 3px 0;
}
.ssl-box .ssl-sticker table {
	width: 115px;
}
/*------------------------------------------------
	住所検索ボタンスマホ用
------------------------------------------------*/
@media screen and (max-width:670px){
	#addressCompletion.address-rwd {
	    display: none;
	}
	#address-sp-wrap {
	    display: block;
	    width: 120px;
	}
	#address-sp-wrap .address-sp {
	    background-image: url("/img-dealer/zip_button_rwd.gif") !important;
	    background-repeat: no-repeat !important;
	    background-size: cover !important;
	    border-width: 0 !important;
	    cursor: pointer !important;
	    display: block !important;
	    height: 26px !important;
	    vertical-align: middle !important;
	    width: 46px !important;
	}
}

/*------------------------------------------------
	お問い合わせ用
------------------------------------------------*/
ul.place-holder-list {margin-top: 6px;}
.place-holder-list li {
	list-style: none;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 2px;
}
.place-holder-list li:before {
	content: "";
	display: inline-block;
	background: #aaa;
	height: 6px;
	width: 6px;
	border-radius: 50%;
	margin: -3px 7px 0 0.3em;
	vertical-align: middle;
}
.has-file-form th{text-align: left!important;}
#has-file-form td{word-break: break-all;}
#help-form.cs-guide {
	margin: 0 0 20px;
	padding: 18px 65px;
	background-color: #eeeeee;
	font-size: 16px;
	text-align: center;
	display: inline-block;
}
#help-form.cs-guide span {
	display: block;
}
#help-form.cs-guide span:last-child {
	font-size: 14px;
	margin-top: 7px;
}
.help-form .place-holder-list.oneline li {
	display: inline-block;
	padding-right: 0.5em;
}
.help-form .slct-pldwn-scnd {
	margin-top: 12px !important;
	display: block;
}
.help-form .slct-box-w {min-width: 280px;}
.help-form .line-h {line-height:1.8;}
.help-form .display-b {display: block;}
.help-form-faq {position: relative;}
.help-form-faq p.title {
    padding: 5px 0 15px 40px;
    margin: 5px 0 0 5px;
    font-weight: 600;
    background: url("/img-dealer/common/icon/faq.svg") no-repeat bottom 10px left / 30px;
    border-bottom: solid 1px #ccc;
}
.help-form-faq ul {margin: 10px 8px;}
.help-form-faq ul li {
	padding: 5px 0 5px 30px;
    list-style-type: none;
    background: url("/img-dealer/common/icon/faq_question.svg") no-repeat center left / 20px;
}
.help-form-faq p.link {margin: 0 0 10px 12px;}
.help-form-faq a {color: #333;}
.help-form-faq::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 360px;
    top: -8px;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #ccc;
    border-left: 8px solid transparent;
}
.help-form-faq::after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 360px;
    top: -7px;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #fff;
    border-left: 8px solid transparent;
}

/*------------------------------------------------
	ページ下部固定ボタン（グレー背景）
------------------------------------------------*/
.fix-button-wrap {
	position: absolute;
	background: #e9e9e9;
	text-align: center;
	padding: 15px 0;
	box-sizing: border-box;
	border-top: 1px solid #cccccc;
	width: 100%;
	z-index: 100;
	left: 0;
	bottom: 228px;
}
.fix-button-wrap.fixed {
	position: fixed;
	bottom: 0;
}
/*------------------------------------------------
	フィールド＋追加ボタン
------------------------------------------------*/
.plural-input-box .add-to-box { display: none; }
.plural-input-box .add-to-box:first-of-type { display: block; }
.plural-input-box .add-to {
	width: 90%;
	cursor: pointer;
	border: 1px #aaaaaa dashed;
	margin-top: 10px;
	color: #0066cc;
	text-align: center;
	border-radius: 3px;
}
.plural-input-box .add-to.is-disabled {
  background: #F3F3F3;
}
.plural-input-box .add-to span {
	display: inline-block;
	padding: 5px;
	background: url('/img/common/icon/add_plus_00.png') left center no-repeat;
	background-size: 16px;
	padding-left: 20px;
}
.plural-input-box .add-to:hover { background-color: #f7f7f7; }
.plural-input-box .add-to.is-disabled:hover {
  background: #F3F3F3;
  cursor: default;
}
/*------------------------------------------------
	完了画面メッセージ背景
------------------------------------------------*/
.complete-message-box {
	background-color: #f7f7f7;
	padding: 30px 10px;
}

/* vueのフォームを参考に作成したもの（新しいフォームデザイン） 
class名などはvueのものによせています。
*/
.form-inner.form-jsp-design {
  border-style: solid;
  border-color: #cccccc;
  border-width: 0 1px 1px;
	width: 100%;
}
.form-inner.form-jsp-design * {
	box-sizing: border-box;
}
.form-jsp-design .form-item-name {
  font-size: 14px;
  color: #666666;
  background-color: #eeeeee;
  padding: 15px;
	width: 38%;
}
.form-jsp-design .form-items {
  padding: 15px 30px 10px 15px;
  flex-grow: 1;
	word-break: break-all;
}
.form-jsp-design .form-row {
  border-top: 1px #cccccc solid;
  padding: 0;
  margin: 0;
}
.form-jsp-design input[type="text"] {
	border-radius: 3px;
	font-family: "メイリオ", Meiryo, "Hiragino Sans", sans-serif !important;
	border: 1px #aaa solid;
	font-size: 14px;
}
.form-jsp-design .form-heading {
	background: #666;
	padding: 8px 10px 6px;
	font-weight: 600;
	color: #fff;
	font-size: 16px;
	text-align: left;
}
.form-jsp-design .form-heading .small {
	font-size: 0.8em;
}
.form-jsp-design  .form-heading-sub {
	padding: 10px 16px;
	background: #D8D8D8;	
	text-align: left;
	font-size: 15px;
}
.form-jsp-design .form-reqmark {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	border-radius: 3px;
	vertical-align: 2px;
	background-color: #dc4d4d;
	padding: 3px 5px;
	line-height: 1;
}

.beforeSubmitCheck-item {
	background-color: #E6EEFF;
	border: 2px solid #2F6AA8;
	margin: 0 0 20px;
	padding: 40px;
}
.beforeSubmitCheck-item input {
	filter: alpha(opacity = 0);
	-moz-opacity: 0;
	-webkit-appearance: none;
	appearance: none;
	opacity: 0;
	position: absolute;
}
.beforeSubmitCheck-item label {
  display: block;
}
.beforeSubmitCheck-item label:hover {
	cursor: pointer;
}
.beforeSubmitCheck-item .check-text {
  position: relative;
  display: block;
	color: #2F6AA8;
	font-size: 18px;
	font-weight: 600;
}
.beforeSubmitCheck-item .check-box {
	position: absolute;
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 16px;
	height: 16px;
	background-color: #ffffff;
	border-radius: 3px;
	border: 2px #cccccc solid;
}
.beforeSubmitCheck-item input:focus-visible + .check-box {
	box-shadow: 0 0 5px #CCCCCB;
}
.beforeSubmitCheck-item input:checked + .check-box::before,
.beforeSubmitCheck-item input:checked + .check-box::after {
	content: "";
	position: absolute;
	background: #2489ce;
	height: 4px;
}
.beforeSubmitCheck-item input:checked + .check-box::before {
	width: 8px;
	-ms-transform: rotate(46deg);
	-webkit-transform: rotate(46deg);
	transform: rotate(46deg);
	top: 9px;
	left: 0;
	border-radius: 0 3px 0 0;
}
.beforeSubmitCheck-item input:checked + .check-box::after {
	width: 12px;
	-ms-transform: rotate(-46deg);
	-webkit-transform: rotate(-46deg);
	transform: rotate(-46deg);
	top: 6px;
	left: 4px;
}
.beforeSubmitCheck-item .check-text {
  display: block;
	padding-left: 28px;
}
.beforeSubmitCheck-item .sub-text {
  margin: 7px 0 0;
  font-size: 15px;
}