@charset "utf-8";

/*-----------------------------------------------
common.css
-----------------------------------------------*/
body,div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,
p,blockquote {
    margin:0;
    padding:0;
}

fieldset,img {
    border:0;
}

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

input,textarea,select{
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    vertical-align:middle;
}

select,input,button,textarea{
    font-size:99%;
    font-family:Arial,Helvetica,sans-serif;
}

ol,ul {
    list-style:none;
}

caption,th {
    text-align:left;
}

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

a,object{
    outline:none;
    border:none;
}

img{
    vertical-align:middle;
}

a:link,
a:visited{
    text-decoration:none;
}

a:hover,
a:active{
    text-decoration:underline;
}

#main a:link,
#main a:visited{
    color:#EC0006;
    text-decoration:underline;
}

#main a:hover,
#main a:active{
    text-decoration:none;
}



/*-----------------------------------------------
Common
-----------------------------------------------*/
body{
    background:#fff url(../img/common/bg_body.png) repeat-x 0 0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
    line-height:1.8;
	min-width: 960px;
}


#content {
	width: 960px;
	margin: 0 auto;
	overflow:hidden;
}

/*-----------------------------------------------
Header
-----------------------------------------------*/
/*img {
	display: block;
	margin: 0 auto;
}*/

#header{
	position:relative;
	width:960px;
	height:139px;
	margin:0 auto;
}

#header h1 {
	position:absolute;
	top:4px;
	font-size:12px;
	color:#aaa;
}

#header .logo{
	position:absolute;
	left:0;
	top:23px;
}

.h-contact{
	float:right;
	/*width:394px;*/
	width:410px;
	margin-top:23px;
	line-height:1;
}

.h-contact ul{
	float:left;
	margin-top:5px;
}

.h-contact p{
	float:right;
}
/*.h-contact ul li{
	margin-top:10px;
}大阪のみになったとき追加*/

/*-----------------------------------------------
Gnavi
-----------------------------------------------*/

.gnavi{
	clear:both;
	position:absolute;
	top:84px;
	left:0;
}

.gnavi li{
	float:left;
    padding: 5px 30px;
    border-right: solid 0.5px #000;
}
.gnavi li:last-child{
	float:left;
    padding: 5px 30px;
    border-right: none;
}

.gnavi li a {
	display: block;
	width: 100%;
	height: 100%;
    color: #000;
    font-weight: bold;
}


/*-----------------------------------------------
mainvisual
-----------------------------------------------*/
#topMainvisual {
	width: 100%;
	height: 717px;
	margin: 0 0 40px;
	text-align:center;
	line-height:420px;
   
	background: url(../img/top/main.jpg) no-repeat center top;
	background-size:contain;
	position: relative;
}
.mainimg img{
    width:100%;
    margin-bottom: 35px;
}
#topMainvisual img{
	display: block;
	position: absolute;
	top: 100px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#mainvisual {
	width: 100%;
	min-width: 960px;
	height: 200px;
	margin: 0 0 20px;
	background-size:cover;
	background-repeat:no-repeat;
}

#mainvisual p{
	width:960px;
	margin:0 auto;
	line-height:200px;
}

#estate #mainvisual {background-image: url(../img/estate/pagetitle_bg02.png);}
#case #mainvisual {background-image: url(../img/case/pagetitle_bg02.png);}
#contact #mainvisual {background-image: url(../img/contact/pagetitle_bg02.png);}
#company #mainvisual {background-image: url(../img/company/pagetitle_bg02.png);}
#privacy #mainvisual {background-image: url(../img/privacy/pagetitle_bg02.png);}
#news #mainvisual {background-image: url(../img/news/pagetitle_bg02.png);}
#faq #mainvisual {background-image: url(../img/faq/pagetitle_bg02.png);}


/*-----------------------------------------------
breadcrumb
-----------------------------------------------*/
#breadCrumbs {
	width: 960px;
	margin: 0 auto;
	padding: 0 0 30px;
}

#breadCrumbs li {
	display: inline;
	color: #ED0007;
}

#breadCrumbs li a {
	color: #000;
	margin: 0 8px 0 0;
	text-decoration: underline;
}

#breadCrumbs li span {
	margin: 0 8px 0 0;
}

/*-----------------------------------------------
Footer
-----------------------------------------------*/
.topFootContact {
	margin: 70px 0 0!important;
}

.footContact{
	margin: 100px 0 0;
	padding:70px 0;
	text-align:center;
	background: url(../img/common/bg_contact.png) repeat;
}

.footContact h3{
	margin:0 0 30px;
}

.footContact p{
	font-size:126%;
}

.footContact .contactbox{
	width:960px;
	margin:35px auto 0;
} 

.footContact ul,
.footContact ul li{

}
.footContact ul{
	margin-left:70px;
}

.footContact .contactbox p{
	float:right;
	margin-right:70px;
}
.fotter_contact{
    display: flex;
    justify-content: center;
}

.fotter_contact li{
    padding: 10px 30px;
        float: none;
}
#footer{
	background:url(../img/common/bg_footer.jpg) repeat-x 0 0;
	color:#fff;
	padding:28px 0 10px;
	overflow:hidden;
}

#footer .finner{
	width:960px;
	margin:0 auto;
}

.finner .address{
	float:left;
	font-size:14px;
	line-height:1.5;
}


.finner .address ul{
	/*margin:30px 0 0;*/
	margin:10px 0 0;
}

.finner .address ul li{
	padding-left: 70px;
    text-indent: -70px;
	margin-bottom:10px;
}

#footer .fnavi{
	float:right;
	width:420px;
}

#footer .fnavi ul{
	float:left;
	padding:0 20px;
	min-height:160px;
	background:url(../img/common/bg_line.png) repeat-y left top;
}

#footer .fnavi ul li{
	padding-left:10px;
	line-height:2;
	background:url(../img/common/icon_arrow_f.png) no-repeat 0 50%;
}

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

#copyright{
	clear:both;
	text-align:right;
	font-size:69%;
}

/*-----------------------------------------------
下層共通
-----------------------------------------------*/
.title02 {
	font-size: 26px;
	color: #464637;
	font-weight: bold;
	margin: 0 0 33px;
	padding: 16px 0 16px 20px;
	background: url(../img/common/title_bg01.png) no-repeat;
}

.title03 {
	font-size: 20px;
	color: #464637;
	margin: 15px 0 35px;
	padding: 5px 0 10px 20px;
	background: url(../img/common/title_bg02.png) no-repeat;
}

.img-l{
	float:left;
	padding:0 25px 0 0;
}

.img-r{
	float:right;
}

.float-r{
	float:right;
}

.w01{ width:533px;}

.ma01{
	overflow:hidden;
	margin-bottom:80px;
}

.ma02{ margin:70px 0;}
.ma03{ margin:30px 0 40px;}
.ma04{ margin-bottom:45px;}
.ma05{ margin-bottom:20px;}
.ma06{ margin:70px 0 75px;}

.lh01{ line-height:2.3;}

.btncenter{
	clear:both;
	text-align:center;
	padding:70px 0 0;
}

.btncenter02{
	text-align:center;
	padding:152px 0 0;
}

.right{ text-align:right;}

table.standard{
	width: 100%;
	margin: 0 0 10px;
	border-collapse: collapse;
}

table.standard th,
table.standard td{
	border:1px solid #BDBDAE;
	padding:20px;
}

table.standard th{
	text-align:center;
	font-weight:bold;
	background:#F5F5EB;
	width:260px;
}

.color001{ color:#EC0006;}


/* トップページ
------------------------------------ */
.topbanner{
	margin:0 auto;
	text-align:center;
	width: 960px;
}

.topbanner li{
	display:inline;
	margin: 0 30px 0 0;
}

.topbanner li:last-child {
	margin: 0;
}

/* reason */

.reason{
	width:100%;
	min-width:960px;
	height:948px;
	margin:40px 0 60px;
	text-align:center;
	background:url(../img/top/bg_riyu.jpg) no-repeat center top;
	background-size:cover;
}

.reason h2{
	padding:20px 0 20px;
}

.reason .box01{
	width:960px;
	margin:25px auto 0;
	padding:18px 0;
	background:#fff;
	color:#464637;
	box-shadow: 0px 9px 8px -6px rgba(125,148,203,0.4);
  -webkit-box-shadow: 0px 9px 8px -6px rgba(125,148,203,0.4);
  -moz-box-shadow: 0px 9px 8px -6px rgba(125,148,203,0.4);
  position: relative;
}

.reason .boxImg {
	position: absolute;
	bottom: 20px;
	right: 0;
}

.reason .box01 p{
	float:right;
	margin-right:18px;
}

.reason .box01 dl{
	float:left;
	width:740px;
	text-align:left;
	margin-left:20px;
	line-height:1.5;
}

.reason .box01 dl dt{
	margin-bottom:15px;
}

/* infocontent */

.infocontent{
	display: table;
    margin: 0 auto 67px;
    border-collapse: separate;
    border-spacing: 20px 0;
}

.infocontent div{
	display: table-cell;
    vertical-align:top;
    width: 468px;
	padding-bottom:55px;
    text-align: center;
	border:1px solid #DFDFD0;
}
.infocontent2{
	display: table;
    margin: 0 auto 67px;
    border-collapse: separate;
    border-spacing: 20px 0;
}

.infocontent2 div{
	display: table-cell;
    vertical-align:top;
    width: 960px;
	padding-bottom:5px;
    text-align: center;
}

.infocontent2 .news-area dl dd{
    background-image: none;
    padding:0;
    border: none;
}
.infocontent2 .news-area .text{
    background-image: none;
    padding:0 0 20px 0;
    border-bottom:1px dotted #777;
}

.news-area dl,
.case-area dl{
	margin:10px 20px;
	text-align:left;
}

.news-area dl dt{
	color:#D80000;
}
.news-area dd{
    font-weight: bold;
}
.news-area .text{
    font-weight:normal;
}
.news-area dl dd{
	padding:0 0 20px 15px;
	background:url(../img/common/icon_arrow.png) no-repeat 0 0.4em;
	border-bottom:1px dotted #777;
}

.case-area dl dd{
	padding-top:20px;
	text-align:center;
}


/* estate
--------------------------------------- */

.estateflow{
	margin:60px 0 75px;
	text-align:center;
}

.estateflow dt{
	font-size:26px;
	color:#575748;
	margin:0 auto 40px;
	display:inline-block;
	border-bottom:1px dotted #717164;
}

.pinkbox{
	display: table;
    margin:20px -20px 0;
    border-collapse: separate;
    border-spacing: 20px 0;
}

.pinkbox dl{
	display: table-cell;
    vertical-align:top;
	width: 470px;
	padding:15px 20px 30px;
    text-align: center;
	background:#FCF2F3;
	text-align:left;
}

dl.one{
	float:left;
    width: 470px;
	margin:20px 0 0;
	padding:15px 20px 30px;
    text-align: center;
	background:#FCF2F3;
	text-align:left;
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}

.pinkbox dl dt,
dl.one dt{
	padding:0 0 10px 35px;
	margin-bottom:18px;
	font-size:22px;
	font-weight:bold;
	border-bottom:2px solid #EF0009;
	background:url(../img/common/icon_circle.png) no-repeat 0 0.4em;
}


/* case
-------------------------------------- */

.caselist{
	padding-bottom:40px;
	overflow:hidden;
}

.spnone{ padding-bottom:0;}

.caselist li{
	float:left;
	margin:0 15px;
	text-align:center;
}

.caselist li img{
    width:280px;
    height:220px;
}

.caselist dd{
	color:#D80000;
	padding:25px 0 30px;
	margin-bottom:15px;
	border-bottom:1px dotted #777;	
}


/* flow
--------------------------------------- */

.flow-list{
	border:1px solid #79796A;
}

.flow-list dt{
	position:relative;
	height:50px;
	padding-left:80px;
	color:#fff;
	font-size:22px;
	line-height:50px;
	background:#5C5C4D;
}

.flow-list dt img{
	position:absolute;
	left:11px;
	top:-4px;
}

.flow-list dd{
	padding:20px 35px 0 80px;
	color:#000;
}

.flow-list dd p img{
	margin-bottom:15px;
}

.flow-list dd p a{ padding-left:20px;}

.icon-flow{ padding:22px 0 35px; text-align:center;}


/* faq
------------------------------------- */
.faq-list{
	border:1px solid #79796A;
	margin-bottom:45px;
}

.faq-list dt{
	position:relative;
	background:#F1F1E2;
	padding-left:80px;
	color:#575747;
	font-size:22px;
	line-height:50px;
}

.faq-list dt img{
	position:absolute;
	top:-4px;
	left:9px;
}

.faq-list dd{
	padding:35px 30px 35px 100px;
	background:url(../img/faq/icon_a.png) no-repeat 25px 30px;
}

/* privacy
------------------------------------- */

#privacy p{ margin-bottom:25px;}

/* form
------------------------------------ */
#contact .txt {
	margin: 0 0 30px;
}

.formText {
	margin: 0 0 20px;
}

.formTable {
	width: 100%;
	margin: 0 0 10px;
	border-collapse: collapse;
}

.formTable th,
.formTable td {
	border: 1px solid #BDBDAE;
	padding: 20px;
}

.consultation {
	width: 680px;
	text-align: center;
	font-size: 24px;
	color: #F27252;
	margin: 0 0 26px;
	padding: 6px 0 10px 26px;
	border: none !important;
}

.formTable th {
	text-align: center;
	font-weight: bold;
	background: #F5F5EB;
}

.formTable th .reqIco{
	display: inline;
	margin: 0 0 0 10px;
}

.formTable textarea {
	width: 100%;
	height: 250px;
}

.formTable input[type="text"], 
.formTable textarea{
	font-size: 110%;	
	padding: 2px;
}

.formTable input::-webkit-input-placeholder {
    font-size: 14px;
}

.formTable input:-moz-placeholder {
    font-size: 14px;
}

.formTable input[name="zip[data][0]"] {
	width: 60px;
	margin: 0 0 0 10px;
}

.formTable input[name="zip[data][1]"] {
	width: 80px;
}

.formTable input[name="address"] {
	margin: 10px 0 0;
}

.btnArea {
	text-align: center;
	margin: 50px 0 100px;
}

.btnArea li {
	display: inline-block;
	margin: 0 20px;
}

.btnArea input {
	display: block;
	font-weight: inherit;
	vertical-align: middle;
	width: 401px;
	height: 80px;
	text-indent: -9999px;
	overflow: hidden;
	border: none;
	border-style: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	outline: none;
	appearance: none;
	cursor: pointer;
}

input[type="submit"] {
	background: url(../img/contact/btn_submit.png) no-repeat;
}

input[name="submitConfirm"] {
	background: url(../img/contact/btn_confirm.png) no-repeat;
}

input[name="submitBack"] {
	background: url(../img/contact/btn_back.png) no-repeat;
}

.error {
	margin: 10px 0 0;
	font-size: 110%;
	font-weight: bold;
}

.complete {
	padding: 20px;
	margin: 0 0 50px;
	background: #F5F5EB;
}

.complete p {
	margin: 0 0 20px;
}

.complete .lead {
	font-weight: bold;
}

.backTop {
	text-align: center;
	margin: 0 0 100px;
}

.backTop a {
	color: #C00;
	font-weight: bold;
}

#contact .lead {
	color: #EB0006
}

#contact .firstTxt {
	margin: 0 0 30px;
}

.error_message {
	text-align: center;
	font-weight: bold;
	color: #F00;
}


/* clearfix
------------------------------------ */
.cf:after,
.inner:after,
#gNavi ul:after,
.schedule .detail li:after,
.container:after,
.wrapper:after{
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    font-size:0;
    line-height:0;
}
.cf,
.inner,
#gNavi ul,
.schedule .detail li,
.container,
.wrapper {
    display:inline-block;
}
/* \*/
.cf,
.inner,
#gNavi ul,
.schedule .detail li,
.container,
.wrapper {
    display:block;
}
/* */
/*追記 */
#header ul{
    margin-left:15%;
}
.shortcut p{
    width: 410px; /* 要素の横幅を指定 */
    white-space: nowrap; /* 横幅のMAXに達しても改行しない */
    overflow: hidden; /* ハミ出した部分を隠す */
    text-overflow: ellipsis; /* 「…」と省略 */
    -webkit-text-overflow: ellipsis; /* Safari */
    -o-text-overflow: ellipsis; /* Opera */
}
.infocontent .case-area{
    position: relative;
}
.infocontent .case-area p img{
    position: absolute;
    bottom:5px;
    left:5px;
}
.infocontent .news-area{
    position: relative;
}
.infocontent .news-area p img{
    position: absolute;
    bottom:5px;
    left:5px;
}