@media screen and (max-width: 640px) {
    body {
        font-size: 1.3rem;
        line-height: 1.5;
        min-width: 0;
    }
    .pc {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
	
	/*Grid
	-----------------------------*/
	.container {
		width: 100%;
		padding: 0 15px;
 	}
	#main {
		margin: 0 0 30px;
	}
	.section {
		margin-bottom: 35px;
	}
	/*style
	-----------------------------*/
	.txt_ctr {
		text-align: left;
	}
	.ttl {
		margin-bottom: 15px;
		font-size: 1.8rem;
	}
	.arrow::before{
		width: 8px;
		height: 8px;
		margin-top: -5px;
	}
	/*header
	-----------------------------*/
	#header {
		height: 50px;
	}
	.page_thanks #header {
		margin-bottom: 30px;
	}
	#header .logo {
		width: 50%;
		padding-top: 15px;
	}
	/*sec_mainvisual
	-----------------------------*/
	.sec_mainvisual {
		height: 210px;
		background-position: center;
		margin-bottom: -6px;
	}
	.sec_mainvisual .maincatch {
		width: 90%;
	}
	/*sec_cta
	-----------------------------*/
	.sec_cta {
		padding: 20px 0;
	}
	.sec_cta .ctabox {
    	display: block;
		border-radius: 10px;
		padding: 10px 15px 20px;
	}	
	.sec_cta .ctabox .telbox {
		width: 100%;
	}
	.sec_cta .ctabox .telbox .ttl_tel {
		font-size: 1.6rem;
		text-align: center;
	}
	.sec_cta .ctabox .telbox .ttl_tel > span {
		display: block;
		margin-top: 3px;
		margin-left: 0;
		padding: 5px;
		font-size: 1rem;
	}
	.sec_cta .ctabox .telbox .txt_tel {
		width: 100%;
		margin-bottom: 5px;
	} 
	.sec_cta .ctabox .telbox .txt_hours {
		font-size: 1.2rem;
	}
	.sec_cta .ctabox .telbox .txt_hours dt {
		width: 65px;
	} 
	.sec_cta .ctabox .telbox .txt_fax {
		font-size: 1.2rem;
	}
	.sec_cta .ctabox .mailbox {
		width: 100%;
		margin-top: 10px;
	}
	.sec_cta .ctabox .mailbox .fukidashi {
		margin-bottom: 3px;
	}
	.sec_cta .ctabox .mailbox .fukidashi > span {
		display: block;
		padding: 3px 5px;
		margin-bottom: 5px;
		font-size: 1rem;
	}
	.sec_cta .ctabox .mailbox .fukidashi p {
  		letter-spacing: 0.03em;
		line-height: 1.4;
		background-position: left bottom, right bottom;
	}
	.sec_cta .ctabox .mailbox .mail_btn a{
		display: block;
  		font-size: 1.6rem;
		padding: 5px 0;
	}
	.sec_cta .ctabox .areabox {
		border-radius: 5px;
		margin-top: 30px;
	}
	.sec_cta .ctabox .areabox dt {
		margin-bottom: 5px;
		font-size: 1.6rem;
	}	
	
	/*sec_leaseback
	-----------------------------*/
	.sec_leaseback .figure_box {
		margin: 20px 0 30px; 
	}
	.sec_leaseback .figure_box > figure {
		width: 100%;
	}
	.sec_leaseback .figure_box > .txt_ctr {
		margin-top: 0;
		text-align: center;
		font-size: 1.2rem;
	}
	.sec_leaseback .figure_box > .txt_ctr > span {
		margin-bottom: 5px;
		font-size: 1.8rem;
	}
	.sec_leaseback .merit_box {
		margin: 60px 0;
	}
	.sec_leaseback .merit_box > ul > li {
    	width: 49%;
		border: 3px solid #000;
		border-radius: 10px;
		margin-bottom: 50px;
		margin-right: 2%;
	}
	.sec_leaseback .merit_box > ul > li:nth-child(3n) {
		margin-right: 2%;
	}
	.sec_leaseback .merit_box > ul > li:nth-child(2n) {
		margin-right: 0;
	}
	.sec_leaseback .merit_box > ul > li:nth-last-child(2) {
		margin-bottom: 0;
	}
	.sec_leaseback .merit_box > ul > li .img_badge {
		top: -30px;
	}
	.sec_leaseback .merit_box > ul > li dl dt {
		border-radius: 5px 5px 0 0;
    	height: 100px;
		padding: 10px 5px;
	}
	.sec_leaseback .merit_box > ul > li dl dt span {
    	line-height: 1.4;
    	font-size: 1.6rem;
		padding-top: 10px;
	}
	.sec_leaseback .merit_box > ul > li dl dd {
    	padding: 10px;
	}
	.sec_leaseback .merit_plus {
		margin-top: 30px;
	}
	.sec_leaseback .merit_plus h2 {
		margin-bottom: 20px;
		font-size: 3rem;
	}
	.sec_leaseback .merit_plus h2:before {
    	width: 50px;
    	height: 50px;
	}
	.sec_leaseback .merit_plus > ul {
    	justify-content: space-between;
	}
	.sec_leaseback .merit_plus > ul > li {
    	width: 49%;
		border: 3px solid #000;
		border-radius: 10px;
		padding: 10px;
		margin-right: 0;
	}
	.sec_leaseback .merit_plus> ul > li dl dt {
    	margin-bottom: 10px;
	}
	.sec_leaseback .merit_plus > ul > li dl dt span {
    	line-height: 1.4;
    	font-size: 1.6rem;
	}	
	.sec_leaseback .case_box {
		margin-bottom: 60px;
	}
	.sec_leaseback .case_box .ttl {
		margin-bottom: 30px;
	}
	.sec_leaseback .case_box ul li {
    	width: 100%;
		margin-bottom: 60px;
	}
	.sec_leaseback .case_box ul li:last-child {
		margin-bottom: 0;
	}
	.sec_leaseback .case_box .commentbox {
		min-height: 80px;
		padding: 10px;
		border-radius: 10px;
	}
	.sec_leaseback .case_box .commentbox::before {
		left: 60px;
		bottom: -10px;
		border-width: 10px 15px 0 0;
	}
	.sec_leaseback .case_box .img {
		top: -25px;
		right: 10px;
	}
	.sec_leaseback .case_box .img > img {
		height: 100px;
	}
	.sec_leaseback .case_box .name {
		top: 10px;
		margin-left: 30px;
		font-size: 1.6rem;
	}
	.sec_leaseback .case_box .name > span {
		font-size: 2rem;
	} 
	.sec_leaseback .txt_box .txt_b {
		margin-top: 15px;
		font-size: 1.6rem;
		line-height: 1.4;
		text-align: center;
	}
	.sec_leaseback .txt_box .txt_b > span {
		font-size: 2rem;
	}
	
	/*sec_target
	-----------------------------*/
	.sec_target {
		padding: 30px 0;
	}
	.sec_target h2 {
		margin-bottom: 15px;
		font-size: 1.6rem;
	}
	.sec_target .listbox ul li {
		margin-bottom: 10px;
    	padding: 10px 10px 10px 48px;
    	font-size: 1.6rem;
		line-height: 1.3;
	}
	.sec_target .listbox ul li:before {
    	width: 28px;
    	height: 23px;
    	top: 8px;
    	left: 10px;
	}
	
	/*sec_represent
	-----------------------------*/
	.sec_represent .massagebox {
		margin-top: 20px;
	}
	.sec_represent .massagebox .txt_box {
		position: inherit;
		left: inherit;
		display: block;
		width: 100%;
		background-color: transparent;
		padding: 10px;
		z-index: -1;
	}
	.sec_represent .massagebox .ph_uenishi {
		width: 80%;
		margin-top: -50px;
	}
	
	/*sec_contact
	-----------------------------*/
	.contactbox .formarea01 > h3,
	.contactbox .formarea02 > h3 {
		margin: 10px 0 10px 10px;
		padding-left: 5px;
		font-size: 1.6rem;
	}
	.contactbox .formarea02 > h3 > span {
		display: block;
		margin-left: 0;
		font-size: 1.2rem;
	}
	.contactbox .formarea03 {
		margin: 10px 10px 0;
		padding: 15px 5px 15px;
	}
	.contactbox .formarea03 > h4 {
		margin-bottom: 10px;
		font-size: 1.5rem;
	}
	form#mail_form .formarea03 dl dt {
		padding: 0 0 5px 0;
	}
	form#mail_form .formarea03 dl dd {
		padding: 0 0 10px;
	}
	form#mail_form .formarea03 dl dd:last-child {
		padding: 0;
	}
	form#mail_form .formarea03 dl dd .txt_kome {
		font-size: 1.0rem;
	}
	.radio li {
		display: block;
		margin-right: 0;
		margin-bottom: 5px;
	}	
	.radio li:last-child {
		margin-bottom: 0;
	}	
	.frm20 {
		width: 40%!important;
	}
	.frm_row .txt_ttl {
		margin-bottom: 5px;
	}
	.frm_row .radio input[type="radio"] + label{
  		margin-right: 3px!important;
	}
	.contactbox .checkbox {
		padding: 0 15px;
	}
	/*privacybox*/
	.privacy {
		height: 130px;
		margin: 10px 0;
		padding: 10px;
		font-size: 1.2rem;
	}
	.privacy h3 {
		margin-bottom: 5px;
		font-size: 1.6rem;
	}
	.privacy ol {
		margin-bottom: 10px;
	}
	.privacy > ol > li {
		margin-bottom: 5px;
	}
	.privacy > ol > li > ol > li {
		margin-top: 5px;
	}
	/*サンクスページ*/
	.thanksbox .info_tel {
		width: 100%;
		border: 2px solid #e4e4e4;
		border-radius: 10px;
		margin: 15px auto;
		padding: 15px;
	}
	.thanksbox .info_tel .txt_tel {
		width: 90%;
		margin: 10px auto 10px;
	} 
	.thanksbox .btn_tp a {
		width: 80%;
  		font-size: 1.6rem;
		padding: 5px 0;
	}
	
	/*sec_relation
	-----------------------------*/
	.sec_relation h2 {
		width: 100%;
		margin: 0 auto 15px;
	}
	.sec_relation .relationbox ul li {
		width: 100%;/*320px*/
		border: 3px solid;
		border-radius: 10px;
		margin-bottom: 20px;
		padding: 20px 15px;
	}
	.sec_relation .relationbox ul li:last-child {
		margin-bottom: 0;
	}
	.sec_relation .relationbox ul li .txt_box {
		min-height: inherit;
		margin-bottom: 10px;
	}
	.sec_relation .relationbox ul li .txt_box h3 {
   	 	display: block;
		height: inherit;
		font-size: 1.6rem;
	}
	.sec_relation .relationbox ul li .txt_box p {
		font-size: 1.3rem;
	}
	.sec_relation .relationbox ul li .btn_link .arrow::before{
		margin-top: -5px;
	}
	
	/*totop
	-----------------------------*/
	#totop {
    	bottom: 10px;
    	right: 10px;
	}
	#totop a {
    	width: 30px;
    	height: 30px;
	}
	#totop a span {
    	width: 8px;
    	height: 8px;
    	border-top: solid 3px #000;
    	border-left: solid 3px #000;
		margin-top: 6px;
	}
	
	/*footer
	-----------------------------*/
	.footer {
		margin-top: 75px;
	}
	.footer .tp_house {
		background-size: 393px 31px;
		padding-top: 31px;
	}
	.footer .ft_info {
		padding: 20px 0;
		line-height: 1.4;
	}
	.footer .ft_info .ft_info_cont .ft_logo {
		width: 50%;
	}
	.footer .ft_info .ft_info_cont .info_homester {
		border-top: 2px dotted #fff;
		padding-top: 15px;
    	display: block;
	}
	.footer .ft_info .ft_info_cont .info_homester .ft_logo_homester {
		width: 50%;
		margin: 0 auto 10px;
	}
	.footer .ft_info .ft_info_cont .add_box {
		width: 100%;
		font-size: 1.2rem;
		line-height: 1.5;
		text-align: center;
	}
	.footer .ft_copy p {
		padding: 3px 0;
		font-size: 1.1rem;
	}
	
}