@charset "utf-8";

/*- Table Of Contents -------------------
	1.Default
	2.Outline
	3.Header
	4.Visual
	5.Contents
	6.Footer
	7.Semantic object
	8.Layout object
	9.List
	10.Form
	11.Media
---------------------------------------*/

/*--------------------------------------
	1.Default
--------------------------------------*/
body {
	color: #431413;
	font: 18px/1.5 Meiryo, "メイリオ", "ＭＳ Ｐゴシック", Verdana, Arial, sans-serif;
}

body,div,iframe,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
form,fieldset,input,textarea,button,
table,caption,tbody,tfoot,thead,tr,th,td,
pre,p,blockquote {
	margin: 0;
	padding: 0;
}

h1,h2,h3,h4,h5,h6,
small {
	font-weight: normal;
	font-size: 100%;
}

rt {
	font-size: 96%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,th {
	text-align: left;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
	font-weight: normal;
}

img,abbr,acronym,fieldset {
	border: 0;
}

/*--------------------------------------
	2.Outline
--------------------------------------*/
body {
	background: #ffffef url(/img/houchi/bg_stripe.png) repeat-x;
}

/*--------------------------------------
	3.Header
--------------------------------------*/
header {
	width: 950px;
	margin: 0 auto;
	padding-top: 20px;
}

#brand {
	float: left;
}

#contact {
	float: right;
	margin: 6px 0;
}

/* adg */
#contact .tel {
	vertical-align: top;
	display: inline-block;
	position: relative;
	width: 234px;
	height: 37px;
	background: url(/img/houchi/bg_banner_freedial.png) no-repeat;
}

#contact .tel span {
	position: absolute;
	top: -4px;
	left: 44px;
	font-size: 30px;
	font-family: arial;
	color: #111;
}

header nav {
}

header nav ul {
	list-style:none;
}

header nav li {
	float: left;
}

header nav li a {
	display: block;
	width: 100px;
	height: 20px;
	margin-left: 2px;
	background: url(/img/houchi/bg_header_nav_now.png) no-repeat;
}

header nav li#now a {
	cursor: default;
}

header nav li a:hover img,
header nav li a:focus img,
header nav li#now a img {
	position: relative;
	z-index: -1;
}

/*--------------------------------------
	4.Visual
--------------------------------------*/
#visual {
	clear: both;
	padding-top: 13px;
	background: url(/img/houchi/bg_visual.png) repeat-x;
}

/*--------------------------------------
	5.Contents
--------------------------------------*/
main {
	display: block;
	width: 950px;
	margin: 15px auto;
}

#breadcrumb {
	font-size: 13px;
}
#breadcrumb li {
	display: inline;
}
#breadcrumb li + li::before {
	content:" > ";
}

section {
	float: left;
	clear: left;
	width: 625px;
	margin-top: 15px;
	padding-bottom: 16px;
	padding-left: 16px;
}

section section {
	float: none;
	width: auto;
	padding-bottom: 0;
}

section .parent {
	float: right;
	margin: -54px 10px 0 0;
}

section h1 {
	min-height: 36px;
	margin-bottom: 10px;
	margin-left: -15px;
	padding-left: 41px;
	padding-bottom: 5px;
	color: #c90000;
	font-size: 20px;
	font-weight: bold;
	background: url(/img/houchi/bg_h2.png) no-repeat 0 bottom;
}

section h2 {
	margin-left: -15px;
	margin-bottom: 7px;
	padding: 3px 10px;
	font-size: 20px;
	background: #c90000;
	color: #fff;
}

section h3 {
	padding-left: 5px;
	margin-bottom: 8px;
	margin-left: -15px;
	font-size: 19px;
	font-weight: bold;
	border-bottom: 1px solid #d00;
}

section h4 {
	margin-left: -16px;
}

/* flow */
#flow {
	clear: both;
	display: block;
	float: none;
	width: auto;
}

#flow ol {
	margin-left: 21px;
}

#flow ol li {
	display: inline;
	float: left;
	position: relative;
	margin-left: -21px;
	background: url(/img/houchi/bg_flow_nav_li.png) no-repeat;
}

#flow ol li.step1 {
	z-index: 8;
}
#flow ol li.step2 {
	z-index: 4;
}
#flow ol li.step3 {
	z-index: 2;
}
#flow ol li.step4 {
	z-index: 1;
}

#flow #now {
	background-position: 0 -208px;
}

#flow ol li:hover,
#flow ol li:focus {
	z-index: 8;
	background-position: 0 -104px;
}

#flow #now {
	z-index: 8;
}

#flow ol li img {
	display: none;
	float: left;
	position: absolute;
	top: -26px;
	left: -24px;
	z-index: 20;
}

#flow ol li:hover img,
#flow ol li:focus img,
#flow #now img {
	display: inline;
}

#flow ol li a {
	display: block;
	width: 260px;
	height: 104px;
	background-repeat: no-repeat;
	background-position: 33px 15px;
	text-indent: -260px;
	overflow: hidden;
}

#flow ol li.step1 a {
	background-image: url(/img/houchi/flow_step1.png);
}
#flow ol li.step2 a {
	background-image: url(/img/houchi/flow_step2.png);
}
#flow ol li.step3 a {
	background-image: url(/img/houchi/flow_step3.png);
}
#flow ol li.step4 a {
	width: 228px;
	background-image: url(/img/houchi/flow_step4.png);
}

#flow ol li#now.step1 a {
	background-image: url(/img/houchi/flow_step1_now.png);
}
#flow ol li#now.step2 a {
	background-image: url(/img/houchi/flow_step2_now.png);
}
#flow ol li#now.step3 a {
	background-image: url(/img/houchi/flow_step3_now.png);
}
#flow ol li#now.step4 a {
	border-right: solid 2px #c61212;
	background-image: url(/img/houchi/flow_step4_now.png);
}

#flow #now a {
	cursor: default;
}

#flow .documents {
	clear: both;
	padding-top: 12px;
	text-align: right;
}
*+html #flow .documents {
	padding-top: 0px;
}

/* aside */
.aside {
	display: inline;
	float: right;
	width: 280px;
	margin: 26px 0 31px;
}
.aside a:hover {
	opacity: 0.7;
}

.aside b {
	display: block;
	margin-bottom: 5px;
	padding: 7px 10px;
	background: #c90101;
	color: #fff;
	font-size: 13px;
}

.aside .figure {
	padding-bottom: 7px;
	font-size: 87%;
}

.aside .figure .date,
#case .figure .date {
	display: block;
	margin-bottom: 4px;
	padding: 1px;
	border-bottom: solid 1px #c90101;
}

.aside .figure .title,
.aside .figure .text,
#case .figure .title,
#case .figure .text {
	padding: 1px 1px 7px;
	text-indent: 0;
}

.aside .figure .image img,
#case .figure .image img {
	border: solid 1px #ddd;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.aside .figure .detail,
#case .figure .detail {
	display: block;
	padding: 1px;
	text-align: right;
}

#company dl {
	margin-bottom: 10px;
	font-size: 87%;
}

#company dt {
	display: inline;
	float: left;
	width: 3.5em;
	text-align: right;
}

#company dd {
	margin-bottom: 5px;
	margin-left: 3.7em;
}

#license dt {
	display: block;
	float: none;
	width: auto;
	margin-left: 1em;
	text-align: left;
}

/* adg */
span.contact {
	box-sizing:border-box;
	display: block;
	width: 592px;
	height: 96px;
	padding: 17px 0 0 8px;
	background: url(/img/houchi/bg_toi3s.png) no-repeat;
	text-align: left;
	font-size: 40px;
	font-family: arial;
	letter-spacing: 1px;
	color: #222 !important;
	text-shadow: 0 0 7px #fff;
}


/*--------------------------------------
	6.Footer
--------------------------------------*/
footer {
	clear: both;
	font-size: 16px;
	color: #fff;
	background: #c90101 url(/img/houchi/bg_stripe.png) repeat-x;
}

#footer_nav {
	position: relative;
	width: 950px;
	margin: 0 auto;
	padding: 43px 0;
}
#footer_nav:after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

#footer_nav ul {
	float: left;
	margin-left: 25px;
	padding: 0;
}

#footer_nav li {
    list-style: disc inside;
	font-size: 90%;
}
#footer_nav li:first-child {
	list-style: none;
	padding: 0;
	margin: 0;
	font-weight: bold;
	font-size: 100%;
}
#footer_nav li a {
}

#copyright {
	display: block;
	position: absolute;
	top: -3px;
	right: 10px;
	min-width: 225px;
	padding: 105px 0 26px;
	background: url(/img/houchi/bg_copyright.png) no-repeat center 43px;
	text-align: center;
	font-size: 78%;
}

footer a:link {
	color: #fff;
}
footer a:visited { color: #fff; }


footer .area-info {
	width: 950px;
	margin: auto;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,0.3);
	font-size: 0.9em;
	line-height: 1.6;
	color: #fff;
}

footer .area-info b {
	margin-bottom: 10px;
	font-weight: bold;
	border-left: 3px solid #fff;
	padding-left: 10px;
}

footer .area-info div {
	margin: 15px 0;
}

footer .area-info div span {
	padding: 2px 10px;
	border-radius: 3px;
	background: rgba(0,0,0,0.3);
}


/*--------------------------------------
	7.Semantic object
--------------------------------------*/
a{ text-decoration: none; }
a:link { color: #c00; }
a:visited { color: #a03; }
a:hover, a:focus { text-decoration: underline; }
a.underline {
	text-decoration: underline;
}

strong {
	font-weight: bold;
}

small {
	font-size: 80%;
}

ins {
	text-decoration: none;
}

del, s {
	text-decoration:line-through;
}

.important,
.mark_required {
	color: #f00;
}

.important2 {
	font-size: 110%;
}

.important3 {
	font-size: 115%;
	font-weight: bold;
	color: #f00;
}

/* ballon */
div.balloon {
	height: 66px;
	padding: 3px 10px 20px 66px;
	background: url(/img/houchi/icon_mascot2.png) no-repeat;
}
div.balloon p {
	position: relative;
	padding: 7px;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	background-color: #c90101;
	color: #fff;
}
div.balloon p:after {
	position: absolute;
	top: 12px;
	left: -12px;
	content: "";
	width: 0;
	height: 0;
	border-bottom: 12px solid #c90101;
	border-left: 12px solid transparent;
}
div.balloon a {
	color: #fff;
	text-decoration: underline;
}

/* attention */
div.attention {
	clear: both;
	position: relative;
	margin: 25px 15px 25px 12px;
	padding: 22px;
	border: 3px double #c90101;
}

div.attention .mark {
	z-index: 3;
	display: inline;
	float: left;
	position: absolute;
	top: -25px;
	left: -22px;
	padding-bottom: 6px;
	background: #ffffef;
}

div.attention strong.important3 {
	position: absolute;
	top: -13px;
	left: 46px;
	padding: 0 10px;
	background: #ffffef;
}
div.exclamation strong.important3 {
	left: 25px;
}

/* link */
.link {
	padding-left: 20px;
	background: url(/img/icon_arrow1.gif) no-repeat 5px 0.3em;
}

.link2 {
	padding-left: 13px;
	background: url(/img/icon_arrow2.png) no-repeat 0 7px;
}

.link4 {
	padding-left: 17px;
	background: url(/img/icon_arrow4.png) no-repeat 0 8px;
}

.link5 {
	clear: both;
	display: block;
	width: 400px;
	padding: 20px;
	margin: 10px auto;
	text-align: center;
	font-weight: bold;
	background: #fff;
	border: 3px solid #d00;
	border-radius: 15px;
}


a.link_blank {
	padding-left: 20px;
	background: url(/img/icon_blank.gif) no-repeat 4px;
}

a.link_blank2 {
	padding-right: 17px;
	background: url(/img/icon_blank.gif) no-repeat right;
}

a.link_pdf {
	padding-left: 20px;
	background: url(/img/icon_pdf2.gif) no-repeat 0 0.1em;
}

a.link_zoom {
	padding-left: 19px;
	background: url(/img/icon_musi.png) no-repeat 0 0.1em;
}

a.link_list {
	padding-left: 19px;
	background: url(/img/icon_list.png) no-repeat 0 3px;
}

/* img */
.figure {
	margin: 17px 0;
}

img.frame {
	padding: 3px;
	border: solid 1px #ddd;
	background: #fff;
	box-shadow: 3px 3px 5px -2px rgba(0, 0, 0, 0.2);
}

img.character {
	vertical-align: -0.1em;
}

/* flow_sub */
#flow_sub {
	clear: both;
	margin-bottom: 20px;
	padding-top: 10px;
	text-align: center;
}

#flow_sub a {
	display: inline;
}

#flow_sub .prev {
	float: left;
	background: url("/img/houchi/bg_flow_sub_prev.png") no-repeat left top;
	padding-left: 29px;
}

#flow_sub .current img {
	opacity:0.4;
	filter: alpha(opacity=40);
	-ms-filter: "alpha( opacity=40 )";
}

#flow_sub .next {
	float: right;
	background: url("/img/houchi/bg_flow_sub_next.png") no-repeat right top;
	padding-right: 29px;
}



/*--------------------------------------
	8.Layout object
--------------------------------------*/
.t_right {
	text-align: right;
}
.t_left {
	text-align: left;
}
.t_center {
	text-align: center;
}

.right {
	float: right;
}
.left {
	float: left;
}

.clear {
	clear: both;
}
.clearl {
	clear: left;
}

.indent {
	text-indent: 1em;
}
.flat,
p.flat {
	text-indent: 0;
}

.margin_top {
	margin-top: 1em;
}
.margin_top2 {
	margin-top: 2em;
}

.margin_right {
	margin-right: 1em;
}

.margin_bottom {
	margin-bottom: 1em;
}
.margin_bottom2 {
	margin-bottom: 2em;
}


/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}


/*--------------------------------------
	9.List
--------------------------------------*/
ul.intext,
ol.intext,
section ul,
section ol {
	margin-left: 1.7em;
}

section ul.nomarker,
section ul.nomarker,
section ul.star,
section ol.star {
	margin-left: 0.2em;
}

section ul.nomarker li, 
section ol.nomarker li {
	list-style-type: none;
	background: none;
	padding-left: 0;
}

ul.horizon li,
ol.horizon li {
	display: inline;
	margin-right: 16px;
}

section ul.star li,
section ol.star li {
	list-style-type: none;
	min-height: 17px;
	padding: 5px 0 5px 34px;
	background: url(/img/houchi/icon_star.png) no-repeat;
}
section ul.star li.half,
section ol.star li.half {
	background-image: url(/img/houchi/icon_star_half.png);
}

section blockquote ul,
section blockquote ol {
	margin-top: 5px;
	padding-left: 55px;
	margin-bottom: 5px;
}

section blockquote blockquote ul,
section blockquote blockquote ol {
	padding-left: 85px;
}


/*--------------------------------------
	10.Form
--------------------------------------*/
label input {
	margin-right: 0.3em;
}

.btn_large {
	margin-right: 11px;
	padding: 2px 15px 2px 25px;
	font-size: 120%;
	letter-spacing: 10px;
}

form span.important {
	display: block;
}
