@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.fo-contents-simplline { border-width: 1px; }
.fo-contents .wrap {
	border: 1px solid #999999;
	background-color: #ffffff;
}
/* 枠のボーダー1pxバージョン */
.fo-contents.fo-contents-simplline .wrap { border: 0; }
.fo-contents.fo-contents-simplline .wrap > .fo-rwd-table:first-child .row:first-child .th-cap,
.fo-contents.fo-contents-simplline .wrap > .fo-rwd-table:first-child .row:first-child .td-txt { border-top: 0; }
.fo-contents.fo-contents-simplline .wrap > .fo-rwd-table:first-child .row:first-child { margin-top: 1px; }
.fo-contents.fo-contents-simplline .wrap > .fo-rwd-table:last-child .row:last-child .th-cap,
.fo-contents.fo-contents-simplline .wrap > .fo-rwd-table:last-child .row:last-child .td-txt { border-bottom: 0; }
.fo-contents.fo-contents-simplline .fo-topinfo-txt { margin: 5px 5px 0; }
.fo-contents table {
	width: 742px;
	text-align: left;
	border-collapse: collapse;
}
.fo-contents table th {
	padding: 10px 10px;
	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: 25px;
}
.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;
}
@media screen and (max-width:670px){
	.fo-contents {
		border: 0;
	}
	.fo-contents .wrap {
		border: 0;
	}
	.co-w960 {
		width: auto !important;
	}
	.co-w750 {
		width: auto !important;
	}
}
/* 必須項目 */
.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: 7px;
}
.fo-contents .top {
	background-color: #eeeeee;
	display: block;
	font-size: 14px;
	font-weight: bold;
	color: #666666;
}
.fo-contents table .low {
	padding: 10px 10px 20px 10px;
	border-bottom: 1px solid #cccccc;
	word-break: break-all;
	display: block;
}

/* 必須項目（漢字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;
}
/* 必須マークを消せない時用（jsで出す出さないやる際など） */
em.fo-req.no-req {
	background-color: transparent!important;
	color: transparent!important;
}

/* 必須項目(絞り込み欄上部および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 .info .fo-title .caution-lang {
	font-size: 13px;
	font-weight: normal;
	margin-left: 10px;
}
/* ▲上部インフォメーションスペース */


/* ▼fo-contents内上部背景ピンクの注記文言 */
.fo-topinfo {
	padding:5px;
}
.fo-topinfo-txt {
	font-weight: bold;
	font-size: 116%;
	background: #FFE0DF;
	padding: 10px;
	text-align: center;
}
.fo-topinfo-txt .not-hotel{
	font-weight: normal;
	font-size: 13px;
}
/* ▲fo-contents内上部背景ピンクの注記文言 */

/* ▼セルの背景色 */
.fo-content-necessary {
	background: #FFF7E1;
}

/* ▼ステップ画像 */
.fo-stepimg	{
	text-align:center;
	margin: 10px 0 20px;
}
/* ▲ステップ画像 */

/* 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-massageの下のポイント数が低いメッセージ） */
.fo-err-txt {
	line-height: 1.6;
	font-size: 108%;
	color: #DC4D4D;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}


/* ▼アイコン付きエラー文言（フィールド下） */
.fo-error-exclamation {
	background: url("/img/icon/error.gif") no-repeat scroll left 50% transparent;
	color: #dc4d4d;
	font-weight: bold;
	padding-left: 16px;
	margin-left: 5px;
	zoom: 1;
}
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-errors-box {
	color: #dc4d4d;
	padding-left: 16px;
	margin: 0;
	font-weight: bold;
	background: url("/img/icon/error.gif") no-repeat scroll 0 2px;
}
/* ▲アイコン付きエラー文言（フィールド下で改行発生する場合用） */

/* ▼アイコン付きエラー文言(大き目サイズ) */
.fo-errors-big {
	margin: 10px 0;
	text-align: center;
	color: #dc4d4d;
	font-weight: bold;
}
/* ▲アイコン付きエラー文言(大き目サイズ) */

/* ▼アイコン付きエラー文言(大き目サイズの背景色) */
.fo-error-bgcolor{
	background-color: #ffe0df;
}
/* ▲アイコン付きエラー文言(大き目サイズの背景色) */

/* ▼送信ボタン */
.fo-submit {
	margin: 20px 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-disabled { /* selectbox用*/
	background-color: #eee;
	border: 1px solid #ccc;
}
.fo-disabled-select span { /* checkbox、radio用（周りを囲うところにつけdisabledにする可能性がある文字をspanで囲う）*/
	color: #bbb;
}
select.fo-disabled-select {
	background-color: #eee;
	border: 1px solid #ccc;
	color: #ccc;
}
/* ▲入力不可項目 */


/* ▼入力不可項目（trエリア用） */
.fo-disabled-row .l-s em {
	visibility: hidden;
}
.fo-disabled-row input,
.fo-disabled-row select {
	background-color: #eee;
	border: 1px solid #ccc;
}
/* ▲入力不可項目（trエリア用） */


/* ▼強制半角英文字 */
.fo-imdis{
	ime-mode: disabled;
}
/* ▲強制半角英文字 */

/* 中央寄せ */
.fo-form-center {
	margin: 0 auto!important;
}

/* tableフォーム内入力可能カラム */
/* th(class="fo-headline-necessary") td(class="fo-content-necessary") */
.fo-headline-necessary { /* <th>に付与 */
	background-color: #ddd!important;
}
.fo-headline-necessary-over:hover { /* hoverさせたい場合は<th>に付与 */
	background-color: #bababa!important;
}
.fo-content-necessary,
.fo-content-necessary-over { /* <td>に付与 */
	background-color: #FFF7E1;
}

.fo-content-necessary-over:hover {
	background-color: #fff1ca;
}

/* optionを隠したい ※blur()と併用 */
.fo-hidden-option-wrap select option {
	display: none;
}
@-moz-document url-prefix() {
	.fo-hidden-option-wrap select option {
		display: block;
	}
	.fo-hidden-option-wrap select:focus option {
		font-size: 0px;
	}
}

/*------------------------------------------------
	SSL証明書
------------------------------------------------*/
.ssl-box {
	color: #666666;
	float: right;
	padding: 0 0 0 5px;
	text-align: right;
	width: 310px;
	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;
}

/*------------------------------------------------
	input （ファイルを選択してください）
------------------------------------------------*/
/*
使い方
<div class="fo-file-up">
	<input type="file">
</div>
*/
.fo-file-up {
	display: inline-block;
	overflow: hidden;
	position: relative;
	width: 98px;
	height: 23px;
	background: url("/img-dealer/common/button/select_file_s.gif") 0 0 no-repeat;
}
.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;
}
/* en版 */
.fo-file-up.en-file {
	width: 94px;
	height: 29px;
	background: url("/img/common/button/select_file_m_em.gif") 0 0 no-repeat;
}
.fo-file-up.en-file:hover {
	background-position: 0 -29px;
}
.fo-file-up.en-file label {
	width: 94px;
	height: 29px;
}

/*------------------------------------------------
	ファイル選択
------------------------------------------------*/
.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;
}

/*------------------------------------------------
	カレンダー選択（Datepicker）
------------------------------------------------*/
[id^='co-calender-input-form'] input {
	border: medium none;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
	text-indent: 0.2em;
	vertical-align: middle;
	width: 110px;
}
[id^='co-calender-input-form'] .ui-datepicker-trigger {
	cursor: pointer;
	margin-left: -31px;
	vertical-align: middle;
}
[id^='co-calender-input-form'] .hasDatepicker {
	-moz-border-bottom-colors: none;
	-moz-border-left-colors: none;
	-moz-border-right-colors: none;
	-moz-border-top-colors: none;
	background-color: #ffffff;
	border-color: #abadb3 #dbdfe6 #e3e9ef #e2e3ea;
	border-image: none;
	border-radius: 3px;
	border-style: solid;
	border-width: 1px;
	height: 22px;
	padding: 0 3px;
}
[id^='co-calender-input-form'] .hasDatepicker:-moz-read-only {
	background-color: #ffffff;
	border-color: #abadb3 #dbdfe6 #e3e9ef #e2e3ea;
	border-radius: 3px;
	border-style: solid;
	border-width: 1px;
	height: 22px;
	padding: 0 3px;
}
[id^='co-calender-input-form'] .input-clear-date input {
	width: 135px;
}
[id^='co-calender-input-form'] .hasDatepicker.fo-disabled-select {
	background-color: #eeeeee;
	border: 1px solid #cccccc;
	color: #cccccc;
}
.ui-datepicker select.ui-datepicker-month { width: 50% !important; }

/*** チェックボックス/ラジオ ***/
.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){
	/*** チェックボックス/ラジオ ***/
	.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;
	}
}
