/*Grid
-----------------------------*/
.container {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
 }
.container:after {
	content: "";
	display: table;
	clear: both;
 }
#main {
	margin: 0 0 60px;
}
.section {
	margin-bottom: 70px;
}
/*style
-----------------------------*/
.inviewfadeIn {
	opacity: 0;
	transition: 1s;
}
.fadeIn {
	opacity: 1.0;
}
.txt_line {
	background: linear-gradient(transparent 70%, #ffed00 70%);
}
.fontol {
	color: #fc7403;
}
.txt_ctr {
	text-align: center;
}
.ttl {
	margin-bottom: 30px;
	font-size: 35px;
	font-size: 3.5rem;
	text-align: center;
}
.arrow{
	position: relative;
	display: inline-block;
}
.arrow::before{
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -6px;
    transition: all 0.2s ease 0s;
}
.arrow:hover::before {
	right: 25px;
}
/* ボタンの光沢 */
.btn_light a {
	overflow: hidden;
}
.btn_light a:after {
	-moz-animation: btn_light 4s ease-in-out infinite;
	-moz-transform: rotate(45deg);
	-ms-animation: btn_light 4s ease-in-out infinite;
	-ms-transform: rotate(45deg);
	-o-animation: btn_light 4s ease-in-out infinite;
	-o-transform: rotate(45deg);
	-webkit-animation: btn_light 4s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	animation: btn_light 4s ease-in-out infinite;
	background-color: #fff;
	content: " ";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: -180px;
	transform: rotate(45deg);
	width: 30px;
}
/* アニメーションを遅延させる */
.btn_light + .btn_light a:after {
	-webkit-animation-delay: .3s;
	animation-delay: .3s;
}
@keyframes btn_light {
	0% { -webkit-transform: scale(0) rotate(45deg); transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes btn_light {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
/*header
-----------------------------*/
#header {
	position: relative;
    width: 100%;
	height: 60px;
	background-color: #0b3190;
}
.page_thanks #header {
	margin-bottom: 60px;
}
#header .logo {
	width: 45%;
	max-width: 424px;
	margin: 0 auto;
	padding-top: 16px;
}
#header .logo img {
	display: block;
}

/*sec_mainvisual
-----------------------------*/
.sec_mainvisual {
	position: relative;
	width: 100%;
	height: 480px;
	background-image: url('../images/img_bg_main.png');
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
.sec_mainvisual .maincatch {
	position: absolute;
	width: 1000px;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sec_mainvisual .btm_house {
	width: 100%;
	position: absolute;
    background-image: url('../images/bg_hd_house.png');
	background-size: 785px 63px;
	background-position: top;
    background-repeat: repeat-x;
	padding-top: 63px;
	bottom: 0;
}

/*sec_cta
-----------------------------*/
.sec_cta {
	background-color: #0b3190;
	padding: 40px 0;
}
.sec_cta .ctabox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	justify-content: space-between;
	background-color: #fff;
	border-radius: 20px;
	padding: 20px 30px;
}
.sec_cta .ctabox .telbox {
	width: 51%;/*510px*/
}
.sec_cta .ctabox .telbox .ttl_tel {
	color: #d61518;
	margin-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
}
.sec_cta .ctabox .telbox .ttl_tel > span {
	display: inline-block;
	border: 1px solid #0b3190;
	border-radius: 5px;
	color: #0b3190;
	margin-left: 5px;
	padding: 5px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
}
.sec_cta .ctabox .telbox .txt_tel {
	width: 99.41176470588235%;/*507px*/
	margin-bottom: 10px;
} 
.sec_cta .ctabox .telbox .txt_hours {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.4;
}
.sec_cta .ctabox .telbox .txt_hours dt {
	width: 75px;
} 
.sec_cta .ctabox .telbox .txt_fax {
	border-top: 1px solid #000;
	margin-top: 5px;
	padding-top: 5px;
	font-weight: bold;
}
.sec_cta .ctabox .mailbox {
	width: 41.3%;/*413px*/
	text-align: center;
}
.sec_cta .ctabox .mailbox .fukidashi {
	color: #0b3190;
	margin-bottom: 10px;
	font-weight: bold;
}
.sec_cta .ctabox .mailbox .fukidashi > span {
	display: inline-block;
	background-color: #0b3190;
	color: #fff;
	border-radius: 5px;
	margin-bottom: 5px;
	padding: 0 10px;
}
.sec_cta .ctabox .mailbox .fukidashi p {
  	display: inline-block;
  	letter-spacing: 0.06em;
  	background-image: url("../images/img_fukidashi_l.png"),url("../images/img_fukidashi_r.png");
	background-position: left center, right center;
  	background-repeat: no-repeat;
  	background-size: 25px 24px;
	padding: 0 30px;
}

.sec_cta .ctabox .mailbox .mail_btn a{
	display: inline-block;
	width: 100%;
	background-color: #fc7403;
	border: 3px solid #fff;
	border-radius: 40px;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
	color: #fff;
	font-size: 18px;
  	font-size: 1.8rem;
  	font-weight: bold;
	letter-spacing: 0.1rem;
	padding: 10px 0;
	outline: 0;
	cursor: pointer;
    transition: all 0.2s ease 0s;
}	
.sec_cta .ctabox .areabox {
	width: 100%;
	background-color: #f4f4f4;
	border-radius: 10px;
	color: #0b3190;
	margin-top: 15px;
	padding: 10px;
	font-weight: bold;
	text-align: center;
}
.sec_cta .ctabox .areabox dt {
	font-size: 18px;
	font-size: 1.8rem;
    text-align: center;
}
.sec_cta .ctabox .areabox dt span{
    position: relative;
    display: inline-block;
    padding: 0 0.5em;
}  
.sec_cta .ctabox .areabox dt span::before,
.sec_cta .ctabox .areabox dt span::after{
    position: absolute;
    top: 50%;
    content: '';
    width: 1.5em;
    height: 2px;
    background-color: #0b3190;
}
.sec_cta .ctabox .areabox dt span::before {
	left: 100%;
}
.sec_cta .ctabox .areabox dt span::after {
	right: 100%;
}

/*sec_ninbai
-----------------------------*/
.sec_ninbai .loanbox .blk01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	justify-content: space-between;
	margin: 60px 0 30px;
}
.sec_ninbai .loanbox .blk01 .txt_box {
	width: 66%;
}
.sec_ninbai .loanbox .blk01 .txt_box h3 {
    display: table;
    position: relative;
	height: 80px;
  	background-color: #dfeaf8;
  	color: #0b3190;
	margin: 0 0 30px;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
}
.sec_ninbai .loanbox .blk01 .txt_box h3::before {
  	display: block;
  	content: '';
  	position: absolute;
  	width: 0;
  	height: 0;
  	border: 40px solid transparent;
  	border-left-color: #dfeaf8;
  	border-right-width: 0;
  	right: -40px;
  	top: 0;
}
.sec_ninbai .loanbox .blk01 .txt_box h3 span {
	display: table-cell;
	padding: 10px 0 10px 20px;
	vertical-align: middle;
} 
.sec_ninbai .loanbox .blk01 figure {
	width: 30%;
}
.sec_ninbai .loanbox .blk02 {
	border-top: 2px dotted #000;
	padding-top: 30px;
}
.sec_ninbai .loanbox .blk02 .txt_box h3 {
  	color: #0b3190;
	margin-bottom: 20px;
	font-size: 20px;
	font-size: 2rem;	
}
.sec_ninbai .loanbox .blk02 .txt_box p .txt_line {
	font-weight: bold;
}
.sec_ninbai .eviction_step {
	margin: 60px 0;
}
.sec_ninbai .eviction_step ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content: space-between;
}
.sec_ninbai .eviction_step ul li {
	position: relative;
	width: 32%;/*320px*/
	background-color: #dfeaf8;
	border-radius: 20px;
	margin-bottom: 20px;
	padding: 20px;
	text-align: center;
}
.sec_ninbai .eviction_step ul li:after {
	display: block;
	content: "";
	position: absolute;
	background-image: url('../images/img_step_arrow.png');
  	background-repeat: no-repeat;
	background-size: contain;
	width: 45px;
	height: 50px;
	top: 0;
	right: -110%;
	bottom: 0;
   	left: 0;
   	margin:auto;
	z-index: 1;
}
.sec_ninbai .eviction_step ul li:nth-child(3n):after {
	display: none;
}
.sec_ninbai .eviction_step ul li > figure {
	width: 46.875%;/*150px*/
	margin: 0 auto 20px;
}
.sec_ninbai .eviction_step ul li > h4 {
	color: #0b3190;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.3;
}
.sec_ninbai .eviction_step ul li > h4 > span {
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
} 
.sec_ninbai .ninbaibox h2 {
	width: 38%;/*380px*/
	margin: 0 auto;
}
.sec_ninbai .ninbaibox .txt_box {
	border: 5px solid #0b3190;
	border-radius: 20px;
	margin-top: -25px;
	padding: 50px 30px 30px;
}
.sec_ninbai .ninbaibox .txt_box figure {
	width: 60.9%;/*609px*/
	margin: 60px auto 0;
}

/*sec_target
-----------------------------*/
.sec_target {
	background-color: #f5f5f5;
	padding: 60px 0;
}
.sec_target h2 {
	margin-bottom: 30px;
	font-size: 35px;
	font-size: 3.5rem;
	text-align: center;
}
.sec_target h2 > span {
	font-size: 50px;
	font-size: 5rem;
}
.sec_target .listbox ul li {
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    padding: 10px 10px 10px 100px;
	font-size: 30px;
    font-size: 3rem;
	line-height: 1.4;
}
.sec_target .listbox ul li:before {
    content: '';
    display: block;
    width: 55px;
    height: 45px;
    background: transparent url('../images/icon_check.png') no-repeat center 0;
    background-size: cover;
    position: absolute;
    top: calc(50% - 23px);
    left: 20px;
}
.sec_target .listbox ul li span {
    font-weight: bold
}

/*sec_represent
-----------------------------*/
.sec_represent .massagebox {
	position: relative;
	margin-top: 40px;
}
.sec_represent .massagebox .txt_box {
	position: absolute;
	display: inline-block;
	width: 75%;
	background-color: #fff;
	border: 3px solid #0b3190;
	border-radius: 10px;
	padding: 20px;
	left: 40px;
	z-index: 1;
}
.sec_represent .massagebox .ph_uenishi {
	width: 44.4%;/*444px*/
	padding-top: 30px;
	margin-left: auto;
}

/*sec_contact
-----------------------------*/
.contactbox .checkbox {
	text-align: center;
	padding: 0 30px;
}
.contactbox .check01{
	display: none;
}
.contactbox .check01:checked + .txtcheck::after{
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #0b3190;
	border-right: 3px solid #0b3190;
}
.contactbox .txtcheck{
  	position:relative;
  	padding-left: 25px;
  	margin-left: 25px;
	font-weight: bold;
}
.contactbox .txtcheck::before{
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #b4b3b3;
}
/*privacybox*/
.privacy {
	overflow: auto;
	height: 250px;
	background-color: #fff;
	border: 2px solid #e4e4e4;
	margin: 20px 0;
	padding: 20px;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: left;
	-webkit-overflow-scrolling: touch;
}
.privacy h3 {
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.8rem;
}
.privacy ol {
	margin-bottom: 20px;
	padding-left: 20px;
}
.privacy > ol > li {
	margin-bottom: 10px;
	list-style-type: disc;
	line-height: 1.4;
}
.privacy ol li:last-child {
	margin-bottom: 0;
}
.privacy > ol > li > ol > li {
	margin-top: 10px;
	list-style-type:circle;
	line-height: 1.4;
}
/*サンクスページ*/
.thanksbox .info_tel {
	width: 80%;
	border: 2px solid #e4e4e4;
	border-radius: 20px;
	margin: 30px auto;
	padding: 20px;
	text-align: center;
}
.thanksbox .info_tel .txt_tel {
	width: 50.7%;/*507px*/
	margin: 20px auto 10px;
} 
.thanksbox .btn_tp {
	text-align: center;
}
.thanksbox .btn_tp a {
	display: inline-block;
	width: 30%;
  	background-color: #0b3190;
	border: 3px solid #fff;
	border-radius: 40px;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
	color: #fff;
	font-size: 18px;
  	font-size: 1.8rem;
  	font-weight: bold;
	letter-spacing: 0.1rem;
	padding: 10px 0;
	outline: 0;
	cursor: pointer;
    transition: all 0.2s ease 0s;
}
.thanksbox .hp_link {
	margin-top: 20px;
	color: #0b3190;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
}
.thanksbox .hp_link a {
	display: inline-block;
	text-decoration: underline; 
}
.thanksbox .hp_link a:hover {
	text-decoration: none;
}


/*sec_relation
-----------------------------*/
.sec_relation h2 {
	width: 72.2%;
	margin: 0 auto 30px;
}
.sec_relation .relationbox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content: space-between;
}
.sec_relation .relationbox ul li {
	width: 32%;/*320px*/
	border: 5px solid;
	border-radius: 20px;
	padding: 20px 10px;
}
.sec_relation .relationbox ul li figure {
	width: 31.25%;/*100px*/
	margin: 0 auto;
}
.sec_relation .relationbox ul li .txt_box {
	min-height: 185px;
}
.sec_relation .relationbox ul li .txt_box h3 {
    display: flex;
    justify-content: center;
    align-items: center;
	height: 50px;
	margin: 10px 0;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.2;
	text-align: center;
}
.sec_relation .relationbox ul li .txt_box p {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
}
.sec_relation .relationbox ul li:nth-child(1) {
	border-color: #2aa502;
}
.sec_relation .relationbox ul li:nth-child(2) {
	border-color: #d6b703;
}
.sec_relation .relationbox ul li:nth-child(3) {
	border-color: #fc7403;
}
.sec_relation .relationbox ul li:nth-child(1) .txt_box h3 {
	color: #2aa502;	
}
.sec_relation .relationbox ul li:nth-child(2) .txt_box h3 {
	color: #d6b703;	
}
.sec_relation .relationbox ul li:nth-child(3) .txt_box h3 {
	color: #fc7403;	
}
.sec_relation .relationbox ul li .btn_link a {
	display: block;
  	position: relative;
  	background-color: transparent;
	border-radius: 10px;
	color: #fff;
	font-weight: bold;
	padding: 5px 0;
	text-align: center;
}
.sec_relation .relationbox ul li:nth-child(1) .btn_link a {
	background-color: #2aa502;
}
.sec_relation .relationbox ul li:nth-child(2) .btn_link a {
	background-color: #d6b703;
}
.sec_relation .relationbox ul li:nth-child(3) .btn_link a {
	background-color: #fc7403;
}
.sec_relation .relationbox ul li .btn_link .arrow::before{
	width: 8px;
	height: 8px;
	margin-top: -4px;
}

/*totop
-----------------------------*/
#totop {
    position: fixed;
    bottom: 60px;
    right: 30px;
    z-index: 1;
}
#totop a {
    width: 60px;
    height: 60px;
    background-color: #fff;
	border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center
}
#totop a span {
	display: block;
    width: 15px;
    height: 15px;
    border-top: solid 5px #000;
    border-left: solid 5px #000;
	margin-top: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*footer
-----------------------------*/
.footer {
	margin-top: 150px;
}
.footer .ft_top {
	position: relative;
}
.footer .tp_house {
	width: 100%;
	position: absolute;
    background-image: url('../images/bg_ft_house.png');
	background-size: 810px 64px;
	background-position: top;
    background-repeat: repeat-x;
	padding-top: 64px;
	bottom: 0;
}
.footer .ft_info {
	background-color: #0b3190;
	padding: 20px 0;
	color: #fff;
	font-weight: bold;
	line-height: 1.5;
}
.footer .ft_info .ft_info_cont .ft_logo {
	width: 42.4%;/*424px*/
	margin: 0 auto 15px;
}
.footer .ft_info .ft_info_cont .info_homester {
	border-top: 2px dotted #fff;
	padding-top: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	justify-content: space-between;
}
.footer .ft_info .ft_info_cont .info_homester .ft_logo_homester {
	width: 19.8%;/*198px*/
	margin-right: 3%;
}
.footer .ft_info .ft_info_cont .add_box {
	width: 77.2%;
	font-size: 14px;
	font-size: 1.4rem;
}
.footer .ft_info .ft_info_cont .add_box p a { 
	display: inline-block;
	padding-left: 5px;
	color: #fff;
	line-height: 1;
	text-decoration: underline;
}

.footer .ftadd {
  line-height: 1.2;
  margin: 10px 0;
}

.footer .ftadd dl{
	margin-bottom: 5px;
}

.footer .ftadd dt {
  display: inline-block;
  font-weight: 700;
  margin-right: 10px;
}

@media screen and (max-width: 750px) {
  .footer .ftadd dt {
    margin-right: 0;
  }
}

.footer .ftadd dd {
  display: inline-block;
  font-weight: 700;
}

.footer .ft_copy p {
	padding: 5px 0;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: 1px;
}