/*------------- common -------------*/

.fsD1 { font-size:0.86em; letter-spacing:0; }
.red { color:#cc0000; }


@media screen and (max-width: 767px){
	.indentSp{
		display:inline-block;
		text-indent:1em;
		letter-spacing:0;
	}
	.viewPc {
		display:none;
	}
	.viewSp {
		display:block;
	}
}
@media screen and (min-width: 768px){
	.viewPc {
		display:block;
	}
	.viewSp {
		display:none;
	}
}
/*------------- #contactform -------------*/
#contactform{
	background: none;
    padding-bottom: 0;
    margin-bottom: 30px;
}

#contactform .m-container{
	width: 1100px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 767px) {
	#contactform .m-container {
		width: 100%;
		padding: 0 15px;
    }
}



/*------------- .p-bg -------------*/

.p-bg {
    padding:60px 0;
    background: url(https://www.repark.jp/images/common/bg_page_box_01.png)top left;
}

.p-bg .p-top-text {
    text-align: center;
    color: #292929;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8em;
    letter-spacing: 0.05em;
}

.p-service-box {
    padding: 60px 0;
    background: url(https://www.repark.jp/images/top/bg_service.png)top left;
}
.p-service-box .container {
    max-width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}
.p-service-box .container h3{
    max-width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}

@media screen and (max-width: 767px){
    .p-bg {
        padding:35px 0;
    }
    .p-bg .p-top-text {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.6em;
        letter-spacing: 0.2em;
        text-align: left;
    }
    .p-service-box {
        padding: 45px 0;
    }
    .p-service-box .container {
        max-width: 100%;
        min-width: 0;
	}
	.m-container {
		padding:0;
	}
}


/*------------- .p-link-box -------------*/

.p-link-box {
    margin: 35px auto 0;
}
.p-link-box.first {
    margin: 0 auto 0;
}
.p-link-box.pop {
	display:none;
    margin: 60px auto 0;
	position:relative;
}
.p-link-box.pop::after {
	content: "";
	left:0;
	right:0;
	top:-60px;
	margin:0 auto;
	width: 25px;
	height: 25px;
	border-top: 5px solid #a98c47;
	border-right: 5px solid #a98c47;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position:absolute;
}


.p-link-box .container {
    width: 100%;
    margin: 0 auto;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-pack: wrap;
    flex-wrap: wrap;
}
.p-link-box .container.center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.p-link-box .container .inC3{
	width: 100%;
}

.p-link-box .container a {
    width:48%;
    margin-bottom: 30px;
    display:block;
    vertical-align: middle;
    padding: 12px 0;
	border: 2px solid #a98c47;
	color: #a98c47;
    font-size: 18px;
    font-size: 1.8rem;
	line-height:1.6;
    letter-spacing: 0.05em;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position:relative;
}

.p-link-box .container a.l1 {
    line-height:3.2em;
}
.p-link-box .container a:hover {
    color: #fff;
    background-color: #a98c47!important;
}
.p-link-box .container a::before{
	content: "";
	right:8px;
	top:0;
	bottom:0;
	margin:auto 0;
	width: 6px;
	height: 6px;
	border-top: 1px solid #a98c47;
	border-right: 1px solid #a98c47;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
}
.p-link-box .container a.arrowD{
	cursor:pointer;
}
.p-link-box .container a.arrowD::before{
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.p-link-box .container a.arrowD.open{
	background-color:#a98c47!important;
	color:#ffffff;
}
.p-link-box .container a.arrowD.open::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


.p-link-box .container a:hover::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
}
.p-link-box .container a:hover span {
    background-image: url(https://www.repark.jp/images/common/icn_arrow_gold_on.png)no-repeat top 50% left;
}


.p-link-box .container a.f,
.p-link-box .container a.c {
	background-color:#c1a769;
	border-color:#a98c47;
	color:#ffffff;
}
.p-link-box .container a.f:hover,
.p-link-box .container a.c:hover {
	background-color:#a98c47!important;
	color:#ffffff;
}
.p-link-box .container a.c::before,
.p-link-box .container a.f::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
}
.p-link-box .container .inC2{
	width: 100%;
}
@media screen and (min-width: 768px){
	
	.p-link-box.first .container {
		-webkit-box-pack: normal;
		-ms-flex-pack: normal;
		justify-content: normal;
	}
	.p-link-box.first .container a {
		width:32.33%;
	    margin-bottom: 20px;
	}
	.p-link-box.first .container a:nth-child(3n+2) {
		margin-left:1.5%;
		margin-right:1.5%;
	}
	
	.p-link-box .container .inC3,
	.p-link-box .container .inC2{
		width: 100%;
		margin: 0 auto;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: space-between;
		-ms-flex-pack: space-between;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-pack: wrap;
		flex-wrap: wrap;
	}
	.p-link-box .container .inC3 a {
		width:32.33%;
	}
	.p-link-box .container .inC2 a {
		width:48%;
	}
}

@media screen and (max-width: 767px){
    .p-link-box {
        width: 100%;
    }
    .p-link-box .container {
        width: 100%;
        padding: 0px;
    }
    .p-link-box .container a {
    	width:100%;
        margin-bottom: 15px;
        padding: 10px 18px;
        font-size: 16px;
        font-size: 1.6rem;
        -webkit-transition: none;
        -moz-transition: none;
        transition: none;
		display:block;
		box-sizing:border-box;
    }

}



/*------------- .area-link-box -------------*/

.area-link-box {
    width: 100%;
    margin: 35px auto 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-pack: wrap;
    flex-wrap: wrap;
}
.area-link-box a {
    width:23%;
    margin:0 1% 15px;
    display:block;
    vertical-align: middle;
    padding: 12px 0;
    border: 2px solid #a98c47;
    color: #a98c47;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position:relative;
}
.area-link-box a:hover {
    color: #fff;
    background: #a98c47;
}

.area-link-box a::before{
	content: "";
	left:8px;
	top:0;
	bottom:0;
	margin:auto 0;
	width: 6px;
	height: 6px;
	border-top: 1px solid #a98c47;
	border-right: 1px solid #a98c47;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
}
.area-link-box a:hover::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
}
.area-link-box a:hover span {
    background: url(https://www.repark.jp/images/common/icn_arrow_gold_on.png)no-repeat top 50% left;
}

.area-link-box a.active {
    color: #fff;
    background: #a98c47;
}
.area-link-box a.active::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
}
.area-link-box a.active span {
    background: url(https://www.repark.jp/images/common/icn_arrow_gold_on.png)no-repeat top 50% left;
}



@media screen and (max-width: 767px){
    .area-link-box {
        width: 100%;
        padding: 0px;
    }
    .area-link-box a {
    	width:48%;
        margin-bottom: 8px;
        padding: 10px 18px;
        font-size: 14px;
        font-size: 1.4rem;
        -webkit-transition: none;
        -moz-transition: none;
        transition: none;
	display:block;
	box-sizing:border-box;
    }

}




/*------------- .p-title01 -------------*/

.p-title01 {
    font-family: 'Noto Serif Japanese';
    font-weight: 600;
    color: #292929;
    font-size: 30px;
    font-size: 3rem;
    letter-spacing: 0.1em;
    text-align: center;
}

@media screen and (max-width: 767px){
    .p-title01 {
        font-size: 23px;
        font-size: 2.3rem;
    }
	h1.p-title01{
		line-height: 20.8px;
		letter-spacing: .02rem;
	}
}

/*------------- .p-title02 -------------*/

.p-title02{
	font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    margin: 50px auto 24px;
}

@media screen and (max-width: 767px){
	.p-title02{
		font-size: 1.6rem;
		margin: 30px auto 0;
		line-height: 20.8px;
		letter-spacing: 0.02rem;
	}
}




/* .p-realestate-box
---------------------------------------------------------------------------- */
.p-realestate-box {
    width: 97.5%;
    padding: 50px 60px;
    margin: 40px auto 0;
    background: #fff;
    box-sizing:border-box;
}
.p-realestate-box.faq {
    padding: 40px 50px 1px;
}

.p-realestate-box h3 {
    font-family: 'Noto Serif Japanese';
    font-weight: 400;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.33;
    text-align: center;
    position: relative;
}
.p-realestate-box h3:before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #292929;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    margin: auto;
}
.p-realestate-box h3 span {
    padding: 0 20px;
    background: #fff;
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
}

h3.p-title02 {
	margin-bottom:25px;
    font-family: 'Noto Serif Japanese';
    font-weight: 400;
    font-size: 3rem;
    line-height: 1.33;
    text-align: center;
	position: relative;
	box-sizing:border-box;
}
h3.p-title02:before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #292929;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
	margin: auto;
	box-sizing:border-box;
}
h3.p-title02 span {
	padding: 0 20px;
    font-family: 'Noto Serif Japanese';
    background: #ffffff;
    position: relative;
    top: 0;
    left: 0;
	z-index: 2;
	box-sizing:border-box;
}

@media screen and (max-width: 767px){
    .p-realestate-box {
        width: 94%;
        padding: 35px 20px;
        margin: 20px auto 0;
	}
	.p-realestate-box.faq {
		padding: 20px 20px 0;
	}
    .p-realestate-box h3 {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.6;
    }
    .p-realestate-box h3 span {
        padding: 0 10px;
    }
    .p-realestate-box h3.l2sp span {
        padding:0!important;
	}
	
	h3.p-title02 {
		margin-bottom:20px;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.6;
	}
	h3.p-title02:before {
        padding: 0 10px;
	}
	h3.p-title02 span {
		padding:0 10px!important;
	}
	
}



/* .telTable
---------------------------------------------------------------------------- */
.telTable {
    width:100%;
    margin:45px 0 0;
    padding:0;
    border:none;
    border-collapse:collapse;
}
.telTable th,
.telTable td{
    vertical-align:middle;
    border:1px solid #cecece;
}
.telTable th{
    padding:20px 15px;
}

.telTable td{
	padding:10px 15px;
}
.telTable tbody tr:nth-of-type(even) {
    background: #f2f2f2;
}
.telTable thead th{
    background:#111111;
    color:#ffffff;
}
.telTable tbody th{
    text-align:left;
}
.telTable thead th:nth-child(1){
    width:30%;
}
.telTable thead th:nth-child(2){
    width:50%;
}
.telTable thead th:nth-child(3){
    width:20%;
}

@media screen and (max-width: 767px){
    .telTable {
        margin:25px 0 0;
    }
    .telTable thead{
	font-size:14px;
    }
    .telTable tbody{
	font-size:12px;
    }
    .telTable thead th{
	padding:15px 10px;
    }
    .telTable tbody th,
    .telTable tbody td{
	padding:10px 10px;
    }
    .telTable thead th:nth-child(1){
	width:25%;
    }
    .telTable thead th:nth-child(2){
	width:45%;
    }
    .telTable thead th:nth-child(3){
	width:30%;
    }
}

@media screen and (min-width: 768px){
    .telTable .prefS{
		min-width:95px;
    }
}


/* l-pagetop
---------------------------------------------------------------------------- */
.pagetop {
    width: 90%;
    min-width: 1100px;
    margin: 0 auto;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 75px;
    z-index: 10;
}

.pagetop a {
    position: absolute;
    right: 0;
    bottom: 0;
}

.pagetop img {
    width: 48px;
    height: auto;
}

@media screen and (max-width: 767px){
    .pagetop {
        width: 100%;
        min-width: 0;
        bottom: 25px;
    }
    .pagetop a {
        right: 15px;
    }

    .pagetop img {
        width: 48px;
        height: auto;
    }
}



.btnM {
	margin-top:8px;
	width:200px;
	font-size:14px;
	line-height:30px;
	text-align:center;
	border:2px solid #a98c47;
	display:block;
	position:relative;
}
.btnM::before{
	content: "";
	right:8px;
	top:0;
	bottom:0;
	margin:auto 0;
	width: 4px;
	height: 4px;
	border-top: 1px solid #a98c47;
	border-right: 1px solid #a98c47;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
}
.btnM:hover {
	color:#ffffff;
	background:#a98c47;
}
.btnM:hover::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
}

.center{
	text-align:center;
}
.btnF {
	padding:5px 0;
	width:90%;
	max-width:320px;
	font-size:14px;
	line-height:1.5em;
	text-align:center;
	border:2px solid #a98c47;
	display:inline-block;
	position:relative;
}
.btnF::before{
	content: "";
	right:8px;
	top:0;
	bottom:0;
	margin:auto 0;
	width: 4px;
	height: 4px;
	border-top: 1px solid #a98c47;
	border-right: 1px solid #a98c47;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
}
.btnF:hover {
	color:#ffffff;
	background:#a98c47;
}
.btnF:hover::before{
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
}

.contactBtn {
	display:block;
	width:90%;
	max-width:360px;
	margin:0 auto;
	padding:12px 0;
	font-size:18px;
	line-height:1.6;
	text-align:center;
	border:2px solid #a98c47;
	position:relative;
}
.contactBtn:hover {
	color:#ffffff;
	background:#a98c47;
}
.contactBtn::before{
	content: "";
	right:12px;
	top:0;
	bottom:0;
	margin:auto 0;
	width: 4px;
	height: 4px;
	border-top: 1px solid #a98c47;
	border-right: 1px solid #a98c47;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position:absolute;
}
@media screen and (max-width: 767px){

.btnF {
	width:280px;
	display:block;
}
.btnF.spCenter {
	margin-left:auto;
	margin-right:auto;
}

.contactBtn {
	max-width:300px;
	font-size:14px;
}

}

/*------------- .contact-faq-wrap -------------*/
.contact-faq-wrap{
	max-width: 1119px;
    margin: 0 auto;
}

@media screen and (max-width: 767px){
	.contact-faq-wrap{
		max-width: 100%;
		margin: 0 auto;
	}
}


/* faqBox
---------------------------------------------------------------------------- */
#faqBox .box{
	display: grid;
    grid-template-columns: repeat(4, 238px);
    justify-content: space-between;
    max-width: 1119px;
    margin: 0 auto;
    padding-bottom: 10px;
}
#faqBox .box .faq-item{
	display: block;
    width: 100%;
    max-width: 238px;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    box-shadow: 0px 0px 4px 0px #00000040;
}

#faqBox .box .faq-item:hover{
    border: 1px solid #169870;
    background: #F0F0F0;
}

#faqBox .box .faq-item img{
	width: 50px;
	height: 50px;
	object-fit: contain;
}

#faqBox .box .faq-item .faq-text{
	padding-top: 8px;
    color: #000;
    font-size: 1.4rem;
    line-height: 24px;
    letter-spacing: .02rem;
}
#faqBox .box .faq-item .faq-text span{
	color: #169870;
    font-weight: 700;
}

@media screen and (max-width: 767px){
	#faqBox .box{
		grid-template-columns: repeat(2, 1fr);
        max-width: 100%;
		gap: 12px;
		margin-top: 24px;
	}
	#faqBox .box .faq-item img{
		width: 39px;
		height: 39px;
	}
}

/* contactBox
---------------------------------------------------------------------------- */
#contactBox .box {
	width:100%;
	margin-bottom: 40px;
}
#contactBox .box .heading {
	background: #169870;
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: .02rem;
    padding: 15px 16px;
}
#contactBox .box ul{
	display: grid;
    grid-template-columns: repeat(3, minmax(0, 313px));
    justify-content: space-between;
    row-gap: 24px;
    max-width: 1119px;
    padding: 24px 52px;
    margin: 0 auto;
    background: #F0F0F0;
}
#contactBox .box ul li a {
	width: 313px;
    height: 48px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border-radius: 4px;
    border: 1px solid #E5E5E5;
    box-shadow: 0px 1px 10px 0px #0000001F;
    padding: 12px;
    color: #000;
    font-size: 1.4rem;
    letter-spacing: .02rem;
    font-weight: 400px;
}
#contactBox .box ul li a:hover {
	border: 1px solid #169870;
    background: #F0F0F0;
}

@media screen and (max-width: 767px){
	#contactBox .box {
		width:100%;
		margin-top: 24px;
		margin-bottom: 0;
	}
	#contactBox .box .heading {
		background: #fff;
    	color: #000;
    	display: flex;
    	justify-content: space-between;
    	align-items: center;
    	border: 2px solid #169870;
    	box-shadow: 0px 3px 6px 0px #00000026;
	}
	#contactBox .box .heading.is-open{
		background: #169870;
    	color: #fff;
	}
	#contactBox .box .heading img{
		transition: transform 0.3s;
	}
	#contactBox .box .heading.is-open img{
		transform: rotate(180deg);
	}
	#contactBox .box .inq-box{
		grid-template-columns: 1fr;
    	row-gap: 12px;
    	max-width: 100%;
		padding: 16px;
		display: none !important;
	}
	#contactBox .box .inq-box.js-is-open{
		display: grid !important;
	}
	#contactBox .box .inq-box li a {
		width: 100%;
	}
}



.telBox {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	width:100%;
	max-width:924px;
	margin:20px auto 20px;
	padding:20px;
	text-align:center;
	background:#eee;
	border-radius:10px;
	box-sizing:border-box;
}
.telBox dl {
	width:100%;
}
.telBox dl.tel .subTitle {
	padding:10px 0;
	font-size:16px;
	font-weight:bold;
	letter-spacing:0.1em;
	text-align:center;
}

.telBox dl.tel dd .areaTxt {
	margin:12px auto 8px;
	padding:0;
	width:150px;
	line-height:24px;
	color:#fff;
	background:#333;
	border-radius:100vh;
}
.telBox dl.tel dd .number {
	display:inline-block;
	margin:5px 0 5px;
	padding-left:36px;
	font-size:34px;
	line-height:36px;
	font-family:arial;
	font-weight:bold;
	letter-spacing:0.05em;
	transition:all 0.5s ease;
	background:url(/contact/img/icon_tel.png) no-repeat top 50% left 0;
	background-size:36px auto;
}
.telBox dl.tel dd .number:hover {
	opacity:0.6;
}
.telBox dl.tel dd .number .ruby {
	position:relative;
}
.telBox dl.tel dd .number .ruby > span {
	font-size:12px;
	line-height:1.0;
	letter-spacing:0.08em;
	position:absolute;
	top:-14px;
	left:-40%;
	text-align:center;
	width:180%;
	display:block;
}
.telBox dl.tel dd .subTxt {
	margin:0;
	font-size:12px;
	line-height:20px;
	letter-spacing:0.05em;
}

@media screen and (min-width: 768px){
	
	.telBox dl.tel .subTitle {
		font-size:28px;
	}
	.telBox dl.tel dd .areaTxt {
		width:200px;
		font-size:20px;
		line-height:30px;
	}
	.telBox dl.tel dd .number {
		font-size:54px;
		padding-left:60px;
		line-height:60px;
		background-size:60px auto;
	}
	.telBox dl.tel dd .number .ruby > span {
		font-size:18px;
		top:-20px;
	}
	.telBox dl.tel dd .subTxt {
		margin:5px 0 0;
		font-size:18px;
		line-height:24px;
	}
}