/* メールフォームページ
=========================================================================
=========================================================================*/
/* お問合せ：ページタイトル
-----------------------------------------------------------*/
#page_title .title_image.estimateform {
	background-image:url(../img/mailform/estimateform_title_image.jpg);
}

#page_title h1.estimateform {
	background-image: url(../img/mailform/estimateform_title.png);
	background-position: left center;
	background-size: auto 97px;
}
/* 資料ダウンロードフォーム：ページタイトル
-----------------------------------------------------------*/
#page_title .title_image.downloadform {
	background-image:url(../img/mailform/downloadform_title_image.jpg);
}

#page_title h1.downloadform {
	background-image: url(../img/mailform/downloadform_title.png);
	background-position: left center;
	background-size: auto 98px;
}
/* 異議申立て・苦情対応窓口フォーム：ページタイトル
-----------------------------------------------------------*/
#page_title .title_image.contactform {
	background-image:url(../img/mailform/contactform_title_image.jpg);
}

#page_title h1.contactform {
	background-image: url(../img/mailform/contactform_title.png);
	background-position: left center;
	background-size: auto 147px;
}

/* コンテンツ
-----------------------------------------------------------*/
#contents.mailform {
	overflow: hidden;
	position: relative;
	margin-bottom: 70px;
}
/* ----- コンテンツタイトル ----- */
#contents.mailform h1.page_title {
	margin-bottom: 30px;
	padding-bottom: 6px;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.2em;
	border-bottom: 1px solid #ababab;	
}
/* ----- Pタグ ----- */
#contents.mailform p.exposition {
	margin-bottom: 25px;
}
#contents.mailform .red {
	position: relative;
	color: #f55656;
}

#contents.mailform .note {
	position: relative;
	margin-bottom: 25px;
	padding-left: 50px;
}
#contents.mailform .note::before {
	position: absolute;
	content: "必 須";
	top: 2px;
	left: 0;
	width: 46px;
	height: 22px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 22px;
	color: #FFF;
	text-align: center;
	background: #f55656;
}
/* 送信完了ページ
-----------------------------------------------------------*/
#contents.mailform p.comp {
	margin-bottom: 25px;
	text-align: center;
	font-size: 16px;
	font-size: 1.6rem;
}
/* ----- 見出しH2 ----- */
#contents.mailform .comp_container h2 {
	position: relative;
	margin-bottom: 25px;
	padding-left: 25px;
	height: 34px;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 34px;
	font-weight: bold;
	background-image: url(../img/mailform/h2_bg.png);
	background-position: left center;
}
#contents.mailform .comp_container h2::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 14px;
	height: 8px;
	margin-top: -4px;
	background-color: #2259b6
}
/* ----- 見出しH3 ----- */
#contents.mailform .comp_container h3 {
	position: relative;
	margin-bottom: 15px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
}
/* ----- ダウンロードリスト ----- */
#contents.mailform .comp_container ul {
	overflow: hidden;
	margin: 0 0 10px;
}
#contents.mailform .comp_container ul li {
	position: relative;
	margin: 0 0 15px;
	padding: 0;
}
#contents.mailform .comp_container ul li a.pdf {
	padding-right: 30px;
	background: url(../img/mailform/icon_pdf.png) right top no-repeat;
	background-size: auto 20px;
}
#contents.mailform .comp_container ul li a.excel {
	padding-right: 30px;
	background: url(../img/mailform/icon_excel.png) right top no-repeat;
	background-size: auto 20px;
}

/* フォーム
-----------------------------------------------------------*/
#contents.mailform .container {
	margin-bottom: 50px;
	padding: 30px;
	background: #f9f9f9;
}
#contents.mailform .container dl {
	overflow: hidden;
	margin-bottom: 40px;
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
}
#contents.mailform .container dt {
	display: block;
	padding: 30px;
	width: 30%;
	clear: left;
	float: left;
	font-weight: bold;
	border-top: 1px solid #CCC;
}
#contents.mailform .container dd {
	position: relative;
	display: block;
	padding: 30px;
	width: 70%;
	float: left;
	border-top: 1px solid #CCC;
}
#contents.mailform .container dt:first-child,
#contents.mailform .container dt:first-child + dd {
	border-top: none;
}
/* ----- 項目名 ----- */
#contents.mailform p.label {
	position: relative;
	padding-bottom: 24px;
}
#contents.mailform p.label .normal {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
}
/* ----- 必須 ----- */
#contents.mailform p.required {
	/*margin-bottom: 22px;*/
}
#contents.mailform p.required::before {
	position: absolute;
	content: "必 須";
	bottom: 0;
	left: 0;
	width: 46px;
	height: 22px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 22px;
	color: #FFF;
	text-align: center;
	background: #f55656;
}
/* ----- 補足文言 ----- */
#contents.mailform p.explanation {
	margin: -5px 0 10px;
	font-size: 14px;
	font-size: 1.4rem;
}
/* ----- エラー文言 ----- */
#contents.mailform p.error {
	margin: 0;
	font-size: 14px;
	font-size: 1.4rem;
	color: #f55656;
}
/* ----- プルダウン ----- */
#contents.mailform .container select  {
	margin-bottom: 10px;
	padding: 0 2em 0 0.5em;
	width: auto;
	font-size: 16px;
	font-size: 1.6rem;
	height: 40px;
	line-height: 40px;
	background: url(../img/mailform/select_arrow@2x.png);
	background-position: right 10px center;
	background-size: 11px 9px;
	background-repeat: no-repeat;
	background-color: #FFF;
    border: 1px solid #CCC;
    vertical-align: middle;
}
/* ----- チェックボックス ----- */
#contents.mailform .container .input_checkbox {
	display: block;
	position: relative;
	margin-bottom: 10px;
	padding-left: 24px;
}
#contents.mailform .container label.checkbox {
	cursor: pointer;
}
#contents.mailform .container input[type="checkbox"] {
	margin: 0;
	display: none;
}
#contents.mailform .container label.checkbox::before,
#contents.mailform .container label.checkbox:after {
	content: "";
	position: absolute;
	display: inline-block;
	transition: transform .2s ease;
	-webkit-transition: transform .2s ease;
}
#contents.mailform .container label.checkbox::before {
	top: 50%;
	left: 0;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border: 1px solid #CCC;
	background: #FFF;
}
#contents.mailform .container label.checkbox::after {
	top: 40%;
	left: 5px;
	width: 6px;
	height: 11px;
	margin-top: -5.5px;
	border-right: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-radius: 1.5px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: border-bottom-color,border-right-color .2s ease;
	-webkit-transition: border-bottom-color,border-right-color .2s ease;
}
#contents.mailform .container input[type="checkbox"]:checked + label:after {
	border-color: #ca3b35;
}
/* ----- ラジオボタン ----- */
#contents.mailform .container .input_radio {

}
#contents.mailform .container .input_radio label {
	text-align: left;
	cursor: pointer;
}
#contents.mailform .container .input_radio input[type="radio"] {
	display: none;
	border: 0;
	margin: 0;
}
#contents.mailform .container .input_radio {
	display: inline-block;
	position: relative;
	padding-left: 24px;
	margin-right: 30px;
}
#contents.mailform .container .input_radio label {
	display: inline-block;

	cursor: pointer;
}
#contents.mailform .container .input_radio label:before,
#contents.mailform .container .input_radio label:after {
  content: "";
  position: absolute;
  display: inline-block;
  border-radius: 50%;
  transition: transform .2s ease;
}
#contents.mailform .container .input_radio label:before {
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #CCC;
  background: #FFF;
}
#contents.mailform .container .input_radio label:after {
  top: 8px;
  left: 4px;
  width: 8px;
  height: 8px;
  background-color: transparent;
  transform: scale(0);
}
#contents.mailform .container .input_radio input[type="radio"]:checked + label:after {
  background-color: #ca3b35;
  transform: scale(1);
}
/* ----- テキストフィールド ----- */
#contents.mailform .container input[type="text"],
#contents.mailform .container input[type="tel"],
#contents.mailform .container input[type="email"] {
	position: relative;
	display: block;
	margin-bottom: 10px;
	padding: 0 0.5em;
	width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	height: 40px;
	line-height: 40px;
	background-color: #FFF;
    border: 1px solid #CCC;
}
/* ----- 郵便番号 ----- */
#contents.mailform .container input.zipcode {
	display: inline-block;
	width: 100px;
}
/* ----- テキストエリア ----- */
#contents.mailform .container textarea {
	display: block;
	margin-bottom: 10px;
	padding: 0.5em;
	width: 100%;
	height: 180px;
    font-size: 16px;
	font-size: 1.6rem;
	background-color: #FFF;
    border: 1px solid #CCC;
    resize: vertical;
}
/* ----- フォームボタン ----- */
#contents.mailform .container .input_button {
	overflow: hidden;
	margin: 0 auto;
	text-align: center;
}
/* 確認画面へ：ボタン */
#contents.mailform .container .button_conf {
  position: relative;
  top: 0;
  left: 0;
	border: 0px;
	display: block;
	width: 250px;
	height: 63px;
	margin: 0 auto;
	font-size: 0;
	background: url(../img/mailform/button_conf.png) center center no-repeat;
	background-size: contain;
	cursor: pointer;
	transition: all .3s ease;
    -webkit-transition: all .3s ease;
}
#contents.mailform .container .button_conf.disabled {
  pointer-events: none;
  opacity: 0.5;
}
/* 修正する：ボタン */
#contents.mailform .container .button_revision {
	border: 0px;
	display: inline-block;
	width: 250px;
	height: 63px;
	margin: 0 10px;
	font-size: 0;
	background: url(../img/mailform/button_revision.png) center center no-repeat;
	background-size: contain;
	cursor: pointer;
	transition: all .3s ease;
    -webkit-transition: all .3s ease;
}
/* 送信する：ボタン */
#contents.mailform .container .button_submit {
	border: 0px;
	display: inline-block;
	width: 250px;
	height: 63px;
	margin: 0 10px;
	font-size: 0;
	background: url(../img/mailform/button_submit.png) center center no-repeat;
	background-size: contain;
	cursor: pointer;
	transition: all .3s ease;
    -webkit-transition: all .3s ease;
}
#contents.mailform .container input[type="submit"]:hover,
#contents.mailform .container input[type="button"]:hover {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
}

/* 送信完了
-----------------------------------------------------------*/
#contents.mailform .comp_container {
	margin-bottom: 50px;
	padding: 30px;
}
/* よくあるご質問（FAQ）はこちら：ボタン */
#contents.mailform a.button_faq {
	display: block;
	width: 416px;
	height: 63px;
	margin: 0 auto;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/mailform/button_faq.png) center center no-repeat;
	background-size: contain;
}
/* ホームへ：ボタン */
#contents.mailform a.button_home {
	display: block;
	width: 416px;
	height: 63px;
	margin: 0 auto;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/mailform/button_home.png) center center no-repeat;
	background-size: contain;
}


/*  デスクトップ&タブレット（741px〜980px）
=========================================================================
=========================================================================*/
@media (max-width:980px) {
	/* お問合せ：ページタイトル
	-----------------------------------------------------------*/
	#page_title .title_image.estimateform {
		background-image:url(../img/mailform/estimateform_title_image@2x.jpg);
		background-position: center center;
	}
	#page_title h1.estimateform {
		background-image: url(../img/mailform/estimateform_title@2x.png);
		background-position: center center;
		background-size: auto 51px;
	}
	/* 資料ダウンロードフォーム：ページタイトル
	-----------------------------------------------------------*/
	#page_title .title_image.downloadform {
		background-image:url(../img/mailform/downloadform_title_image@2x.jpg);
		background-position: center center;
	}

	#page_title h1.downloadform {
		background-image: url(../img/mailform/downloadform_title@2x.png);
		background-position: center center;
		background-size: auto 52px;
	}
	/* 異議申立て・苦情対応窓口フォーム：ページタイトル
	-----------------------------------------------------------*/
	#page_title .title_image.contactform {
		background-image:url(../img/mailform/contactform_title_image@2x.jpg);
		background-position: center center;
	}

	#page_title h1.contactform {
		background-image: url(../img/mailform/contactform_title@2x.png);
		background-position: center center;
		background-size: auto 51px;
	}
	
	

}

/*  デスクトップ&タブレット（780px以下）
=========================================================================
=========================================================================*/
@media (max-width:780px) {
	/* 送信完了
	-----------------------------------------------------------*/
	#contents.mailform .comp_container {
		padding: 30px 0;
	}
	
	/* フォーム
	-----------------------------------------------------------*/
	#contents.mailform .container {
		margin-bottom: 50px;
		padding: 20px;
	}
	#contents.mailform .container dl {
	}
	#contents.mailform .container dt {
		padding: 5px 10px 0;
		width: 100%;
		min-height: auto;
		clear: left;
		float: none;
		border-top: none;
	}
	#contents.mailform .container dd {
		margin-bottom: 15px;
		padding: 5px 10px;
		width: 100%;
		min-height: auto;
		float: none;
		border-top: none;
		border-bottom: 1px solid #CCC;
	}
	#contents.mailform .container dt:last-child + dd {
		border-bottom: none;
	}
	/* ----- 必須 ----- */
	#contents.mailform p.required {
		margin-bottom: 10px;
	}
	/* ----- プルダウン ----- */
	#contents.mailform .container select  {
		width: 100%;
	}
	/* ----- チェックボックス ----- */
	#contents.mailform .container .input_checkbox {
		display: inline-block;
		position: relative;
		margin-bottom: 10px;
		margin-right: 10px;
		padding-left: 24px;
	}
	/* ----- テキストフィールド ----- */
	#contents.mailform .container input[type="text"],
	#contents.mailform .container input[type="tel"],
	#contents.mailform .container input[type="email"] {
		margin-bottom: 20px;
	}
	/* ----- テキストエリア ----- */
	#contents.mailform .container textarea {
		margin-bottom: 20px;
	}

}		

/*  スマホ（740px以下）
=========================================================================
=========================================================================*/
@media (max-width:740px) {	
	/* コンテンツ
	-----------------------------------------------------------*/
	#contents.mailform {
		margin-bottom: 50px;
	}
	/* ----- コンテンツタイトル ----- */
	#contents.mailform h1.page_title {
		margin-bottom: 20px;
		font-size: 20px;
		font-size: 2.0rem;
	}
	/* ----- 送信完了 ----- */
	#contents.mailform p.comp {
		font-size: 14px;
		font-size: 1.4rem;
	}
	/* ----- 見出しH2 ----- */
	#contents.mailform .comp_container h2 {
		margin-bottom: 20px;
		padding-left: 15px;
		height: 25px;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 25px;
		background-image: url(../img/mailform/h2_bg.png);
		background-position: left center;
		background-size: auto;
	}
	#contents.mailform .comp_container h2::before {
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		width: 10px;
		height: 5px;
		margin-top: -2px;
		background-color: #2259b6
	}
	/* 修正する：ボタン */
	#contents.mailform .container .button_revision {
		width: 125px;
		height: 32px;
		background: url(../img/mailform/button_revision.png) center center no-repeat;
		background-size: 125px auto;
	}
	/* 送信する：ボタン */
	#contents.mailform .container .button_submit {
		width: 125px;
		height: 32px;
		background: url(../img/mailform/button_submit.png) center center no-repeat;
		background-size: 125px auto;
	}
	/* 確認画面へ：ボタン */
	#contents.mailform .container .button_conf {
		width: 125px;
		height: 32px;
		background: url(../img/mailform/button_conf@2x.png) center center no-repeat;
		background-size: 125px auto;
	}
	/* よくあるご質問（FAQ）はこちら：ボタン */
	#contents.mailform a.button_faq {
		width: 208px;
		height: 32px;
		background: url(../img/mailform/button_faq@2x.png) center center no-repeat;
		background-size: 208px auto;
	}
	/* ホームへ：ボタン */
	#contents.mailform a.button_home {
		width: 180px;
		height: 45px;
		background: url(../img/mailform/button_home@2x.png) center center no-repeat;
		background-size: 180px auto;
	}

	

}

/*  スマホ（480px以下）
=========================================================================
=========================================================================*/
@media (max-width:480px) {

}


