@charset "EUC-JP";

/* =========================================================
 * 共通定義
 * ====================================================== */

/* For all link styles */
a:link    {color: #263594;text-decoration: none;}
a:visited {color: #263594;text-decoration: none;}
a:hover   {color: #6771b4;text-decoration: underline;}
a:active  {color: #6771b4;}

.gotop {
	clear: both;
	padding-top: 20px;
	text-align: right;
}
.errorBg{
	background:#ffdddd !important;
}
body{
	text-align: center;
	line-height: 1.7;
	color: #333;
	font-size:80%;
}
body.personal{
	border-top:2px solid #19a0df;
}
#wrapper{
	margin:0 auto;
}
/*サイト幅*/
#wrapper .inner,
#header,
#contents{
	width:950px;
	margin:0 auto;
	text-align:left;
}

#footer{
	width:100%;
	background:#eceff4;
	border-top:4px solid #c9d5e1;
	padding:10px 0;
	margin-top:10px;
}

p.copytxt {
	font-size: 0.77em;
}
p.footnavi {
	margin-top: 10px;
}
p.footlogo {
	margin-top: 10px;
	font-size:80%;
}

#contents h1{
	background:#1c4fa1;
	color:#fff;
	font-size:220%;
	padding:3px 15px;
}
#contents h1 span{
	font-size:80%;
}

/* =========================================================
 * 個別定義
 * ====================================================== */
p.flowArea{
	margin-top:20px;
}
div.introArea{
	border:2px solid #bccbe3;
	border-radius: 5px;          /* CSS3草案 */
	-webkit-border-radius: 5px; /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;    /* Firefox用 */
	padding:15px;
	font-size:125%;
	line-height:1.5;
	margin-top:20px;
	display:none;
}
.introAreaTable {
	display: table;
	width: 100%;
}
.introAreaTable div.intro{
	display: table-cell;
	width:560px;
	vertical-align: top;
}
.introAreaTable .imgCell {
	display: table-cell;
	text-align: right;
	vertical-align: middle;
}




p.formIntro{
	margin-top:20px;
}
p.formIntro img.must{
	vertical-align:middle;
	margin:0 3px;
}
div.requestService{
	border:3px solid #888;
	margin-top:15px;
	width:770px;
}
div.requestService.conf{
	width:944px;
}
div.requestService div.ttl{
	background:#888;
	color:#fff;
	font-size:130%;
	padding:5px 10px;
	font-weight:bold;
}
div.requestService div.ttl img.must{
	vertical-align:middle;
	margin:0 5px 3px;
}
div.requestService div.service{
	padding:10px;
	font-size:130%;
}

div.requestService #selected_service{
	float:left;
	width:540px;
}

div.requestService div ul{
	padding-left:20px;
	margin-left:5px 10px;
	
}

div.requestService div ul li{
	float:left;
	margin-right:20px;
	padding-right:20px;
	font-weight:bold;
}
table.inputForm{
	width:776px;
	margin-top:20px;
	border:3px solid #888;
	border-collapse: separate;
	border-spacing: 0;
}
/*通常の項目*/
table.inputForm th{
	background:#f4f4f4;
	padding:15px;
	font-weight:bold;
	font-size:130%;
	border-top:1px solid #ccc;
	width:35%;
	text-align:left;
}
table.inputForm tr:first-child th,
table.inputForm tr:first-child td{
	border-top:none;
}
/*項目横の指示*/
table.inputForm div.instruction{
	font-weight:normal;
	font-size:70%;
	text-align:right;
	float:right;
	margin-top:5px;
}

/*項目横の必須アイコン*/
table.inputForm div.instruction img.must{
	vertical-align:top;
	margin-left:10px;
	margin-top:3px;
}


/*入力側*/
table.inputForm td{
	padding:8px 16px;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	font-size:130%;
	font-weight:bold;
}

/*テーブル列2個横並び*/
table.inputForm td.tdCol2{
    width:32.5%;
}

/*入力エラー*/
table.inputForm div.error{
	border-radius: 3px;          /* CSS3草案 */
	-webkit-border-radius: 3px; /* Safari,Google Chrome用 */
	-moz-border-radius: 3px;    /* Firefox用 */
	background:#ff0000;
	padding:3px 7px;
	margin-bottom:10px;
}
table.inputForm div.error p{
	background:url("../images/icon_error.png") no-repeat 0 5px;
	padding-left:25px;
	color:#fff;
	font-weight:bold;
}
/*例*/
table.inputForm td p.example{
	color:#666;
	font-size:70%;
	margin-top:10px;
}
/*説明*/
table.inputForm td p.descri{
	font-size:70%;
	margin-bottom:5px;
}
/*テキストエリアの余白*/
table.inputForm td input.txt{
	padding:5px;
}
/*セレクトの定義*/
table.inputForm td select{
	font-size:100%;
	font-weight:bold;
	padding:4px 0;
}
table.inputForm td select option{
	font-weight:normal;
}
table.inputForm td span.unselected{
	background:#ffdddd;
	padding:10px;
}

.nameExample{
	font-weight:bold;
	display:block;
	float:left;
	width:36px;
}

/*チェックボックス*/
table.inputForm td.check label{
	font-weight:bold;
	margin-right:5px;
}
/*小さい文字のチェックボックス*/
table.inputForm td.check div.sCheck{
	font-size:80%;
}
table.inputForm td.check div.sCheck label{
	float:left;
}
table.inputForm td.check div.sCheck+p.descri{
	clear:both;
	padding-top:8px;
}


/*exValidation用のWrap*/
.wrap_name{
	position:relative;
	width:200px;
	float:left;
	margin-bottom:10px;
}
.wrap_number{
	position:relative;
	width:100px;
	float:left;
	margin-bottom:10px;
}

.wrap_common{
	position:relative;
	width:100%;
}

.wrap_common .formErrorContent{
	width:440px;
}

.separate_hyphen{
	float:left;
	margin-left:10px;
	margin-right:10px;
}

.wrap_common .formError,
.wrap_name .formError,
.wrap_number .formError{
	position:absolute;
	bottom:28px;
}

#err_chk_name_family, #err_chk_name_first, 
#err_chk_kana_family, #err_chk_kana_first{
	left:37px;
}

/*個人情報の取り扱いについて*/
div.privacy{
	width:770px;
	border:3px solid #888;
	border-collapse:collapse;
	margin-top:20px;
}
div.privacy div.ttl{
	background:#f4f4f4;
	border-bottom:1px solid #ccc;
	font-weight:bold;
	font-size:130%;
	padding:5px 10px;
}
div.privacy div.ttl img.must{
	vertical-align:middle;
	margin-left:10px;
}
div.privacy div.detailBox{
	padding:10px;
}

a.privacyLink{
	background:url("../images/icon_arrow.png") no-repeat 0 5px;
	padding-left:25px;
	text-decoration:underline;
	color:#263594;
	font-size:135%;
	font-weight:bold;
	display:block;
}
.privacyCheck{
	margin:10px auto;
	text-align:center;
}
.privacyCheck table{
	width:40%;
	border-collapse:collapse;
	margin:10px auto;
}
.privacyCheck table td{
	width:50%;
	padding:10px;
	font-size:130%;
	font-weight:bold;
}
.privacyCheck table td label{
	font-weight:bold;
}

/*遷移ボタン*/
div.btArea{
	margin:30px 0;
	text-align:center;
	width:770px;
}

div.btArea p{
	margin-top:10px;
}

/*Lightbox風*/
div.hideBox{
	padding:10px;
	position:relative;
	width:910px;
	text-align:left;
}
div.hideBox .hideBoxInner{
	padding:10px;
	border:3px solid #bbb;
}
div.hideBox .hideBoxInner.personal{
	height:450px;
	overflow:auto;
}
div.hideBox .hideBoxInner.corporate{
	height:400px;
	overflow:auto;
}
div.hideBox .hideBoxInner ul{
	list-style:none;
	margin-left:20px;
}
div.hideBox .backBt{
	margin:20px auto 0;
	text-align:center;
}
div.hideBox .closeBt{
	position:absolute;
	top:-30px;
	right:0;
}
div.hideBox .hideBoxInner.privacyBox{
	height:400px;
	overflow:auto;
}
div.hideBox.service h2{
	background:#1c4fa1;
	color:#fff;
	padding:5px 10px;
	font-size:130%;
	font-weight:bold;
}
div.hideBox.service p.intro{
	margin:10px 0;
	font-size:130%;
}
div.hideBox.service .hideBoxInner{
	padding:20px;
}
div.hideBox.service .hideBoxInner .leftBox{
	float:left;
	width:420px;
}
div.hideBox.service .hideBoxInner .rightBox{
	float:right;
	width:420px;
}
div.hideBox.service h3{
	background:#1c4fa1;
	color:#fff;
	padding:5px 10px;
	font-size:120%;
	font-weight:bold;
}
div.hideBox.service h4{
	background:#eee;
	padding:5px;
}
div.hideBox.service h4 span{
	color:#1c4fa1;
}
div.hideBox.service ul{
	margin:5px 0 10px 10px;
	text-align:left;
}

div.hideBox.service ul li{
	font-weight:bold;
	font-size:110%;
	text-indent:-1.5em;
	padding-left:1.5em;
}
div.hideBox.service ul li label,
div.hideBox.service ul li span{
	font-weight:bold;
}
div.hideBox.service ul li span{
	color:#999;
}

.agreement_radio{
	width:100%;
	font-size:140%;
	display:block;
	padding:10px 0;
}

.agreement_radio{
	background: #ffdddc;
}


.agreement_radio label{
	font-weight:bold;
}

#selected_service{
	width:740px;
}
#contact_type.err, #selected_service.err{
	background: #ffdddc;
}

table td input.err {
	background: #ffdddc;
}

table td select.err {
	background: #ffdddc;
}

table td .err input {
	background: #ffdddc;
}

/*place-holder*/
form .ph-wrap{
	position:relative;

}

form .ph-wrap label.ph-label{
	display:inline;
	position:absolute;
	top:5px;
	left:5px;
	color:#666;
	opacity:0;
}
form .ph-wrap br{
	display:none;
}


/*============　確認画面　============*/
div.requestService div ul.conf{
	width:880px;
	float:none;
}
table.inputForm.conf{
	width:950px;
}
table.inputForm.conf th,
table.inputForm.conf td{
	padding:3px 10px;
}
table.inputForm.conf td{
	font-weight:normal;
}
/*遷移ボタン*/
div.btArea.conf{
	width:950px;
	position:relative;
}
div.btArea.conf .back{
	position:absolute;
	left:0;
}

/*============　完了画面　============*/
div.completeArea{
	width:100%;
	border:3px solid #bbcae3;
	border-radius: 5px 5px 0 0;          /* CSS3草案 */
	-webkit-border-radius: 5px 5px 0 0; /* Safari,Google Chrome用 */
	-moz-border-radius: 5px 5px 0 0;    /* Firefox用 */
	padding:15px;
	border-bottom:none;
	margin-top:20px;
	font-weight:bold;
	font-size:130%;
	text-align:center;
	line-height:1.5;
}
div.snsArea{
	width:100%;
	border:3px solid #bbcae3;
	border-radius: 0 0 5px 5px;          /* CSS3草案 */
	-webkit-border-radius: 0 0 5px 5px; /* Safari,Google Chrome用 */
	-moz-border-radius: 0 0 5px 5px;    /* Firefox用 */
	padding:15px;
	border-top:none;
	background:#dde5f1;
	margin-bottom:20px;
	text-align:center;
}

div.snsArea div.snsBt{
    width:640px;
	margin:0 auto;
}

.snsBt{
    max-width:360px;
    width:100%;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.snsBt a {
    flex: 1;
    display: flex;
    justify-content:center;
    align-items:center;
}

.snsBt img{
    display:block;
    max-width:none;
    height:auto;
    margin:0;
    float:none;
}

.privacycheck2{
	background:url("../images/icon_arrow2.png") no-repeat 0 5px;
	padding-left:25px;
	text-decoration:none;
	color:#263594;
	font-size:135%;
	font-weight:bold;
	display:block;
}

/*============　個人情報の取扱いについて　============*/
div.ui-widget-overlay {
	background: rgb(51,51,51);
	opacity: .7;
}
div.ui-widget.ui-widget-content {
	letter-spacing: 0.04em;
	border-radius: 0;
	border: none;
	padding: 20px;
}
div.ui-draggable .ui-dialog-titlebar {
	color: #fff;
	font-size: 125%;
	background: #1c4fa1;
	border-radius: 0;
	border: none;
	margin-bottom: 10px;
}
div.ui-dialog .ui-dialog-title {
	font-weight: bold;
	letter-spacing: 0.06em;
	text-align: left;
}
div.ui-dialog .ui-dialog-content {
	text-align: left;
	padding: .5em 0;
}
div.ui-dialog .ui-dialog-buttonpane {
	text-align: center;
	padding: .5em 0 0;
	border: none;
}
div.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	display: inline-block;
	float: none;
	width: 100%;
}
div.ui-dialog .ui-dialog-buttonpane button {
	width: 100%;
	max-width: 200px;
	line-height: 1.5;
	margin: 0;
	font-size: 1.2em;
	font-weight: bold;
	background: rgb(253,253,253);
	background: -moz-linear-gradient(top, rgba(253,253,253,1) 0%, rgba(239,239,239,1) 50%, rgba(239,239,239,1) 51%, rgba(224,224,224,1) 100%);
	background: -webkit-linear-gradient(top, rgba(253,253,253,1) 0%,rgba(239,239,239,1) 50%,rgba(239,239,239,1) 51%,rgba(224,224,224,1) 100%);
	background: linear-gradient(to bottom, rgba(253,253,253,1) 0%,rgba(239,239,239,1) 50%,rgba(239,239,239,1) 51%,rgba(224,224,224,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#e0e0e0',GradientType=0 );
}
div.ui-dialog .ui-dialog-buttonpane button:focus {
	outline: none;
}
div.ui-dialog .ui-dialog-buttonpane button:active {
	color: #000;
}
div.ui-dialog .ui-dialog-titlebar-close {
	background: none;
	border-radius: 0;
	right: .8em;
	top: 20px;
}
div.ui-dialog .ui-dialog-titlebar-close.ui-button .ui-icon,
div.ui-dialog-titlebar-close.ui-button:active .ui-icon {
	background-image: url(images/ui-icons_ffffff_256x240.png);
}

.margin_t{
    margin-top:5px;
}

input[type="radio"]:disabled + span{
    color: #aaaaaa;
}


/* フォームのアンケートのプルダウンの長さ調整 */
table.inputForm td select.select-small{
    width:95%;
    /*
    font-size:14px;
    border:1px rgb(166,166,166);
    */
    padding:0;
    height:25px;
}


table.inputForm td div.contact-time-err {
    margin-left:40%;
}


table.inputForm tr td div input#contact_date,
table.inputForm tr td div input#contact_date_operator,
table.inputForm tr td div input#contact_date_year{
    vertical-align:top;
    height:19px;
    padding: 5px;
    border-style:inset;
    width:100px;
}


table.inputForm tr td div select{
    height:33px;
    padding:5px;
}


.displayNone{
    display:none;
}

