input {
	vertical-align: middle;
}

/* clearfix */
.clearfix:after {
	content: ""; 
	display: block; 
	clear: both;
   }

/* ----------------------------------------
   layout
---------------------------------------- */
.contents {
	width: 950px;
	margin: 0 auto;
}
#page {
	background-color: #eaf6ec;
}
.page_wrap {
	border: 1px solid #d4d9d5;
	border-radius: 10px;
	padding: 25px 25px 25px 25px;
	background-color: #fff;
	margin: 0 auto 20px auto;
	display: block;
}

/* ----------------------------------------
   header
---------------------------------------- */
#header_wrap {
    background: #005bab;
    text-align: center;
    width: 100%;
	padding:10px 0;
}
#header {
    margin: 0 auto;
    position: relative;
    text-align: left;
    width: 950px;
}

/*改行の削除*/
br.newline {}
.form_wrap {
	overflow: hidden;
}

body {
	font-family: "メイリオ", Meiryo !important;
	color: #4c4c4c;
	font-size: 90%;
}

p,li,dt,dd { line-height: 1.5em;}

/* ----------------------------------------
	リンク
---------------------------------------- */
/*通常リンク*/
#page a:link,
#page a:visited,
#page_privacy a:link,
#page_privacy a:visited {
	color: #06C;
	text-decoration: underline;
}
#page a:hover,
#page_privacy a:hover {
	color: #1a9641;
	text-decoration: none;
}


/* ----------------------------------------
	タイトル h系
---------------------------------------- */
.contents h1 {
	margin:30px 0;
	text-align:center;
	line-height:1.2;
}

.contents h1 span {
	font-size:70%;
}

h3 {
	background: url(/nenkin/inc/images/ttl_bg.gif) no-repeat left top;
	background: none;
	background-color: #005bab;
	font-size: 120%;
	font-weight: normal;
	color: #fff;
	min-height: 33px;
	padding: 13px 0 13px 13px;
	margin: 0;
	display: block;
	font-weight: bold;
}
h3 span {
	font-size: 80%;
}
h4.typeA,
h4.typeC {
	float: left;
	padding: 15px 30px 10px 10px;
	margin: 0;
	font-weight: bold;
	line-height: 1.3em;
	font-size: 100%;
	width: 127px;
}
h4.typeA {
	background: url(/nenkin/inc/images/ico_option.png) no-repeat right 17px;
	color: #666;
}
h4.typeA.ico_must {
	background: url(/nenkin/inc/images/ico_must.png) no-repeat right 17px;
}
h4.typeA.ico_none {
	background: none;
}
h4.typeA em {
	font-style: normal;
	font-size: 11px;
}

/* プライバシーポリシー */

#inner {
	padding: 0 30px 30px; 
	font-family: "Meiryo", Arial, Helvetica, sans-serif;
	color:#4c4c4c;
	 /* width:50%;  */
	word-wrap: break-word;
	
}
#page_privacy h1 {
	font-size: 160%;
	margin: 15px 0 15px;
}
#page_privacy h2 {
	clear: both;
	font-size: 140%;
	margin: 30px 0 30px 0;
}
#page_privacy h3 {
	clear: both;
	font-size: 120%;
	display: block;
	padding: 0 !important;
	margin: 30px 0 0 0 !important;
	background: none;
	font-weight: bold;
	color: #4c4c4c !important;
}
#page_privacy h4 {
	margin: 15px 0 10px 0 !important;
}
#page_privacy p {
	margin: 0 0 15px 15px;
}
#page_privacy p.taR {
	text-align:right;
}
#page_privacy ol {
	margin: 0 0 0 40px;
	padding: 0 0 5px 0;
}
#page_privacy ol li {
	list-style: decimal;
	margin-bottom: 10px;
}
#page_privacy ul {
	margin: 0 0 0 40px;
	padding: 0 0 5px 0;
}
#page_privacy ul li {
	list-style: disc;
	margin-bottom: 10px;
}
#page_privacy ul.lst_kana li {
	list-style: katakana;
}

#page_privacy .dl_normal {
    margin: 0 0 0 20px;
    padding: 0 0 5px;
}

#page_privacy .dl_normal dt {
	display: list-item;
	list-style: disc;
}

#page_privacy .contact {
	margin-bottom: 15px;
}
#page_privacy .contact dt {
	float: left;
	width: 20%;
}
#page_privacy .contact dd {
	float: right;
	width: 75%;
}
#page_privacy .attention {
	margin-left: 1em;  
    text-indent: -1em;
}
#page_privacy table {
	border-collapse: collapse;
	border: solid 2px #1a9641;
	background-color: #fff;
}
#page_privacy table caption { font-size: 80%; padding: 15px 0 5px 0;}
#page_privacy table th {
	border: solid 1px #fff;
	padding: 7px;
	text-align: center;
	vertical-align: middle;
	background-color: #4ea86b;
	color: #fff;
}
#page_privacy table td {
	border: solid 1px #1a9641;
	padding: 7px;
	background-color: #fff;
}
#page_privacy table td.bg_yellow { background-color: #f3fcd7;}
#page_privacy table th.W23 { width: 23%;}

/* ----------------------------------------
   同意画面
---------------------------------------- */
body.agree h2 {
	margin: 0 0 20px;
}
#frame_wrapper {
	height: 300px;
	overflow-y: scroll;
	margin: 0px 0px 20px 0px;
	border: solid #CCC 2px;
	-webkit-overflow-scrolling:touch;
}
#page_privacy {
	margin: 0;
	padding: 20px 0;
}

/* ----------------------------------------
	ステップ（ページ上部）
---------------------------------------- */
.step {
	margin-bottom: 20px;
	text-align: center;
	position: relative;
	overflow: visible;
	border: solid 3px #FC3;
	background-color: #ffffcc;
	border-radius: 5px;
	padding: 20px 15px;
	width: auto!important;
}

div.step p {
	font-size: 24px;
	line-height: 1.1em;
	text-align: left;
	font-weight: bold;
	color: #808080;
	text-align: center;
	margin-bottom: 30px;
}

div.step ul{
	width: 100%;
}

div.step li {
	float: left;
	width: 20%;
}

div.step li strong {
	background-image: url(/nenkin/inc/images/bg_step-arrow.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-color: #ddd;
	display: block;
	padding: 20px 10px 15px 5px;
	margin-left: 8px;
	line-height: 1.2;
	position: relative;
	color: #888;
}

div.step li.active strong {
	background-color: #0f2580;
	color: #fff;
}

div.step li.last strong{
	background-image: none;
	border-radius: 2px;
}


div.step li span{
	display: block;
	background: #333;
	color: #fff;
	margin-top: ;
	border-radius: 100%;
	width: 20px;
	height: 20px;
	line-height: 20px;
	margin: 0 auto 0 auto;
	border: 2px solid #fff;
	font-family: arial, sans-serif;
	position: absolute;
	top: -10px;
	left: 40%;
}

/*入力例*/
.example {
	display: block;
	color: #494949;
	font-size: 80%;
	display: block;
	padding-top: 4px;
	margin: 0;
	clear: both;
	width: 100%;
}
.example.sub {
	color: #9c9c9c;
}

.example.sub_i {
	display:inline;
	color: #9c9c9c;
}
.example img {
	vertical-align: middle;
	margin-right: 5px;
}
/*料金*/
.example em {
	font-size: 20px;
	font-style: normal;
	font-weight: bold;
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka−等幅", Osaka-mono, monospace;
}
.example b {
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka−等幅", Osaka-mono, monospace;
	color: #ff7100;
}
.example em strong {
	font-size: 40px;
	color: #c50a01;
	font-family: 'Source Sans Pro', sans-serif;/*数字用*/
}
.example strong {
	color: #c50a01;
	font-family: 'Source Sans Pro', sans-serif;/*数字用*/
}

/* ----------------------------------------
	フォーム下部ボタン
---------------------------------------- */

.btn_area {
	border: 1px solid #ddd;
	text-align: center;
	position: relative;
	z-index: 100;
	/* padding: 20px 0 0 0; */
	background-color: #f9f9f9;
	margin-bottom: 0px;
	overflow: hidden;
	*zoom: 1;
}

.btn_wrap_next {
	float: right;
	width: 50%;
	padding: 0 5% 20px 5%;
}
.btn_wrap_center {
	float: none;
	margin: 0 auto;
}
.btn_wrap_back {
	float: left;
	width: 30%;
	padding-top: 20px;
}

/*入力エラーがある場合*/
.btn_wrap_next.no-compleat {
	/*border: 2px solid #C82425;*/
	background-color: #F3767A;
	
}
.btn_wrap_next p {
	display: none;
}
.btn_wrap_next.no-compleat p {
	display: block;
	font-size: 100%;
	font-weight: bold;
	color:#FFF;
	padding: 6px 40px 6px 40px;
	margin-bottom: 20px;
}

/*戻るボタン*/
.btn_back {
	width: 130px;
	height: 40px;
	border: none;
	color: #656565;
	font-size: 80%;
	font-weight: bold;
	padding: 0;
	margin: 0 0 18px 0;
	background-color: #f9f9f9;
	background-image:url(/nenkin/inc/images/btn_back.gif);
	background-repeat: no-repeat;
	background-position: left top;
}
a.btn_back {
	display: block;
	padding: 10px 0 0 0;
	height: 30px;
	margin: 0 auto;
}

/*フォーム用ボタン*/
.button {
	height: 66px;
	border: solid 2px #CCC;
	border-radius: 10px;
	color: #fff;
	font-weight: bold;
	font-size: 180%;
	padding: 0 20px 0 40px;
	margin: 0 0 20px 0;
	background-color: transparent;
	font-weight: bold;
	background-repeat: repeat-x;
	background-position: -15px 50%;
}
.button_step:hover,
.button_send:hover,
button.btn_back:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
}
.button_step:hover,
.button_send:hover {
	background-position: -13px 50%;
}
button.btn_back:hover {
	background-position: 0px -40px;
}
.button_step.disabled,
.button_step:disabled,
.button_send.disabled,
.button_send:disabled {
	opacity:1;
	filter:alpha(opacity=100);
}

.button_step {
	 margin: 20px 0;
	background-image: url(/nenkin/inc/images/button_step.gif);
}
.no-compleat .button_step {
    margin: 20px 0;
}

.button_send {
	 margin: 20px 0;
	background-image: url(/nenkin/inc/images/button_send.gif);
}
.button_agree {
	background-image: url(/nenkin/inc/images/button_agree.gif);
}
.button_step.disabled,
.button_step:disabled,
.button_send.disabled,
.button_send:disabled {
	background-image:url(/nenkin/inc/images/button_disabled.gif);
}


/* ----------------------------------------
	フォームの囲い
---------------------------------------- */
.section {
	margin-bottom: 20px;
	border-radius: 5px;
	overflow: hidden;
	border: 1px solid #005bab ;
	padding-bottom: -1px;
}

.form_wrap {
	background-image: url(/nenkin/inc/images/form_wrap_bg.gif);
	background-position: 0 0;
	background-repeat: repeat-y;
	border-bottom: 1px solid #999999;
	/*border-bottom: 1px solid #4d8800;*/
	background-color: #fff;/*青*/	
	margin-bottom: 1px;
}

.section .form_wrap:last-child {
	border-bottom:none;
}

.section.option {
	border: 1px solid #4d8800
}
.section.option h3 {
	background-color: #D1E17A;
	color: #666666;
	border-bottom: solid 1px #FFF;
}	

.section.option h4.typeA {
	color: #fff;
}
.section.option .form_wrap {
	background-image: url(/nenkin/inc/images/form_wrap_bg_blue_dark.gif);
	background-position: 0 0;
	background-repeat: repeat-y;
	background-color: #fff;
}

.form_inner {
	float: left;
	width: 469px;
	padding: 10px 15px 10px 15px;
}
.form_inner.full {
	width: 469px;
}

/* ----------------------------------------
	フォーム　入力・選択箇所
---------------------------------------- */
.form_txt .focus,
.form_wrap.form_error input,
.form_wrap.form_error select {
	border: 1px solid #e7a28f;
	background-color: #feffdc;
}
.form_wrap.form_error fieldset {
	padding: 3px;
}

.form_txt p {
	font-size:110%;
}

.form_txt input {
	color: #010000;
	border: 1px solid #dddddd;
	padding: 4px;
	margin-bottom: 5px;
}

select.select_box,
.form_txt select {
	background-color: #fff;
}

.form_txt.type_name input,
.form_txt.type_name label,
.form_txt.type_name_kana input,
.form_txt.type_name_kana label,
.form_txt.type_birthday input,
.form_txt.type_birthday select,
.form_txt.type_birthday label {
	float: left;
}
/*input,*/
select {
	-moz-box-shadow: inset 0px 2px 3px #eeeeee;
	box-shadow: inset 0px 2px 3px #eeeeee;
	border-radius: 3px;
	border: 2px solid #DDDDDD;
}

/* 名前 */
.form_txt.type_name {}
.form_txt.type_name label,
.form_txt.type_name_kana label { width:30px; padding: 5px 0 0 0;}
.form_txt.type_name input,
.form_txt.type_name_kana input { width:100px; margin-right: 20px;}
.form_txt.type_name_kana input.textnext {
	margin-right: 20px;
}
.form_txt.type_name label.comname,
.form_txt.type_name_kana label.comname {
}
/* 生年月日 */
.form_txt.type_birthday label {	padding: 5px 0 0 0;}
.form_txt.type_birthday input {	width:54px; margin: 0 8px 0 18px;}
.form_txt.type_birthday select { margin: 0 8px 0 0px;}
.form_txt.type_birthday label { margin-right: 18px;}


.form_txt input.default_value {
	color: #666;
	background-color: #fbfbfb;
}

/* ----------------------------------------
	フォーム　チェックボックス 大
---------------------------------------- */
.pure-button.pure-button-active.bnt_large {
	font-size: 25px;
	line-height: 1.1em;
	border-radius: 10px;
	background-color: #0f83d4;
	color: #FFF;
}
.pure-button.pure-button-active.bnt_large:hover {
	background-color: #FFF;
	background-position: 10px 51%;
	color: #333;
}
.pure-button.pure-button-active.bnt_large.check {
	border: solid 2px #666;
	background-color: #f7f7f7;
	color: #333;
}
span.checkbox_bt {
	position: relative;
	display: block;
	text-align: left;
	margin-bottom: 10px;
}
span.checkbox_bt input {
	width: 20px;
	height: 20px;
	font-size: 20px;
	margin-top: -10px;
	position: absolute;
	top: 50%;
	left: 10px;
}


/* ----------------------------------------
	エラー箇所
---------------------------------------- */
/* 全体のエラー */
div.error {
	border: 2px solid #c82425;
	background: url(/nenkin/inc/images/ico_error_l.png) no-repeat 8px 10px;
	background-color: #f3767a;
	color: #fff;
	font-weight: bold;
	padding: 13px 4px 4px 60px;
	margin-bottom: 20px;
	min-height: 27px;
}
div.error p {
	margin-bottom: 10px;
}
div.error ul {
	margin: 20px 20px 20px 20px;
	list-style-type: circle;
}
div.error ul li {
	margin-bottom: 3px;
	padding: 5px 0px;
	list-style-type: circle;
	border-bottom: dotted #FFF 1px;
}
div.error ul li button {
	font-size: 12px;
	color: #484848;
	background-color: #fff;
	border: #999 1px solid;
	border-radius: 5px;
	padding: 3px 20px 3px 10px;
	background-image: url(/nenkin/inc/images/icon_error_goto.png);
	background-repeat: no-repeat;
	background-position: 97% 50%;
	margin-right: 10px;
}
div.error ul li button:hover {
	background-color: #e6f7ff;
}

/*個別のエラー*/
.form_error {
	background-color: #fef2f2;
}
.error_txt_wrap {
	display: none;
	float: right;
	width: 220px;
	padding: 10px 10px 10px 0px;
	position: relative;
}
.form_wrap.form_error .error_txt_wrap {
	display: block;
}
.error_txt_wrap .ya {
	position: absolute;
	left: -10px;
	top: 20px;
	width: 10px;
	height: 10px;
	background-image: url(/nenkin/inc/images/icon_error_ya.png);
	background-repeat: no-repeat;
}
.error_txt_wrap ul {
	background-color: #E80000;
	border-radius: 5px;
	padding: 5px;
}
.error_txt {
	background: url(/nenkin/inc/images/ico_error.png) no-repeat left 3px;
	color: #fff;
	font-weight: bold;
	margin: 0;
	padding: 6px 2px 0 18px;
	display: block;
	min-height: 19px;
	font-size: 12px;
	line-height: 1.1em;
}

/* ----------------------------------------
   footer
---------------------------------------- */
#footer {
	clear: both;
	font-size: 13px !important;
	margin-top: 50px;
}

#footer_top_nav, #footer_bottom_nav ul  {
	width: 950px;
	margin: 0 auto;
}
#footer_bottom_nav {
	clear: both;
	background: #005bab;
	height: 115px;
}


#footer li {
	float: left;
}

#footer_top_nav ul li, #footer_bottom_nav ul li {
	background: none;
}

#footer_top_nav ul li { margin: 7px 0; padding: 0; }
#footer_bottom_nav ul li { margin: 13px 38px 13px 0; padding: 0; }

#footer_top_nav ul li a, #footer_bottom_nav ul li a {
	color: #0096ff;
}


#footer_top_nav ul li a {
	background: url(/new_inc/images/base/ico_arrow_right_s.gif) no-repeat 0 50%;
	padding-left: 10px;
	margin-right: 15px;
}

#footer_bottom_nav ul li a {
	background: url(/new_inc/images/base/ico_arrow_right.gif) no-repeat 0 50%;
	padding-left: 15px;
}


p.footer_logo {
	width: 950px;
	margin: 0 auto;
	 padding-top: 20px;
	text-align: right;
}

#footer_bottom_nav address {
	width: 950px;
	margin: 10px auto 0 auto;
	text-align: left;
	color: #fff;
}

#footer p.PageTop a:before {
	content:"▲ ";
}


#footer p.PageTop a {
	float: right;
	display: block;
	width: 157px;
	height: 29px;
	text-align: center;
	padding-top: 22px;
	margin-top: -25px;
	_margin-top: 0;
	color: #0f2580 ;
	text-decoration: none;
	font-size:110%;
	font-weight: bold;
}



/* ----------------------------------------
   その他共通
---------------------------------------- */
.taR {text-align:right;}
.fL { float: left;}
.fR { float: right;}

.paB10 { padding-bottom: 10px;}
.paL30 { padding-left: 40px;}
.paT3 { padding-top: 3px;}

.maT10 { margin-top: 10px;}
.maT12 { margin-top: 12px;}
.maT20 { margin-top: 20px;}
.maR10 { margin-right: 10px;}
.maR60 { margin-right: 60px;}
.maL0 { margin-left:0;}
.maB10 { margin-bottom: 10px;}
.maB20 { margin-bottom: 20px;}
.maB30 { margin-bottom: 30px;}

.w85 {
	width:85%;
}

.campaign {
	color: #FF7100;
	font-weight: bold;
}
.t_red {
	color:#cc3333;
}

.txt_strong { font-size: 120%; margin: 0px 5px;}
.txt_price { font-size: 150%; margin: 0px 5px; color:#C50A01;}
.tax_excluded {}
.pure-button.pure-button-active.bnt_large .tax_excluded { font-size: 70%;}
.tax_excluded.hikari_tel_price { font-size: 65%;}
.small { font-size: 90%;}

/*  */

.attention_area {
	margin: 13px 0;
}

.alert_text {
	background: #FFC9DA;
	line-height: 2em;
	padding: 20px;
}

.survey_area {
	line-height: 1.8em;
	padding: 15px;
}

.form_cell {
	overflow: hidden;
	border-bottom: 1px solid #999999;
	padding: 15px 30px 10px 10px;
}
