@charset "UTF-8";


/*Garamond semibold*/
.gfooter-cr p,
.btn-pt a{
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.gfooter-info h2,
.gfooter-info .gfooter-info-time{
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}
/*noto semibold*/
.gfooter-info-tel{
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-style: normal;	
}

@media screen and (min-width: 768px) {

	.gfooter{
		position: relative;
		margin: 80px 0 0;
		width: 100%;
		height: 365px;
		overflow: hidden;
	}
	.gfooter:after{
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		display: block;
		width: 100%;
		height: 365px;
		min-width: 1360px;
		background: url(../img/common/bg_footer.png) 50% 0 no-repeat;
		background-size: 100% 100%;
		z-index: 20;

	}
	.gfooter-inner{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		z-index: 50;
	}
	.gfooter-logo{
		margin: auto;
		width: 350px;
		height: 59px;
	}
	.gfooter-logo a{
		display: block;
		width: 100%;
		height: 100%;
		background: url(../img/common/logo_wh.svg) 50% 0 no-repeat;
		background-size: 100% 100%;
	}
	.gfooter-info{
		margin: 30px 0 0;
		text-align: center;
		color: #fff;
	}
	.gfooter-info h2{
		font-size: 14px;
	}
	.gfooter-info-tel{
		margin: 12px 0 0;
		font-size: 30px;
	}
	.gfooter-info-time{
		display: inline-block;
		margin: 15px 0 0;
		padding: 10px 15px 0;
		border-top: 1px solid #b2a5a0;
	}
	.gfooter-cr{
		position: absolute;
		bottom: 15px;
		text-align: center;
		color: #fff;
	}
	.btn-pt{
		position: absolute;
		right: 60px;
		bottom: 60px;
		width: 102px;
		height: 102px;
		overflow: hidden;
	}

	@keyframes ptcircle{
		0%{transform: rotate(0)}
		100%{transform: rotate(360deg)}
	}


	.btn-pt a{
		position: relative;
		display: block;
		width: 100px;
		height: 100px;
		border: 1px solid rgba(255,255,255,0.3);
		border-radius: 50px;
	}
	.btn-pt-circle{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.btn-pt a span{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100px;
		height: 100px;
		border: 1px solid rgba(255,255,255);
		border-radius: 50px;
		clip-path: inset(0 0 50px 50px);
		animation: ptcircle 6000ms linear infinite;
	}

	.btn-pt a:hover .btn-pt-circle{
		animation: ptcircle 2000ms linear infinite;
	}
	.btn-pt a .btn-pt__txt{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		display: block;
		width: 100%;
	}
	.btn-pt a .btn-pt__txt:after{
		content: "";
		margin: auto;
		display: block;
		width: 10px;
		height: 12px;
		background: url(../img/common/arrow_pt.svg) 0 0 no-repeat;
	}
	@keyframes pagetop{
		0%{transform: translateY(0)}
		49%{transform: translateY(-100px)}
		50%{transform: translateY(100px)}
		100%{transform: translateY(0)}
	}
	.btn-pt a:hover .btn-pt__txt:after{
		animation: pagetop 800ms ease 1;
	}

	.btn-pt a .btn-pt__txt strong{
		position: absolute;
		top: 22px;
		width: 100%;
		text-align: center;
		color: #fff;
		font-size: 15px;
	}
	.gfooter-cr p{
		font-size: 13px;
		color: #a7918a;
	}

}



@media screen and (max-width: 767px) {


	.gfooter{
		position: relative;
		margin: 50px 0 0;
		padding: 40px 0 20px;
		width: 100%;
		overflow: hidden;
	}
	.gfooter:after{
		content: "";
		position: absolute;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: url(../img/common/bg_footer_sp.png) 50% 0 no-repeat;
		background-size: 100% 100%;
		z-index: 20;

	}
	.gfooter-inner{
		position: relative;
		height: 100%;
		z-index: 50;
	}
	.gfooter-logo{
		margin: auto;
		width: 200px;
		height: 34px;
	}
	.gfooter-logo a{
		display: block;
		width: 100%;
		height: 100%;
		background: url(../img/common/logo_wh.svg) 50% 0 no-repeat;
		background-size: 100% 100%;
	}
	.gfooter-info{
		margin: 30px 0 0;
		padding: 0 40px;
		display: flex;
		justify-content: flex-start;
		text-align: center;
		color: #fff;
	}
	.gfooter-info h2{
		font-size: 14px;
	}
	.gfooter-info-tel{
		margin: 12px 0 0;
		font-size: 30px;
	}
	.gfooter-info-time{
		display: inline-block;
		margin: 15px 0 0;
		padding: 10px 15px 0;
		border-top: 1px solid #b2a5a0;
		line-height: calc(24/14);
	}
	.gfooter-cr{
		margin: 30px 0 0;
/*		position: absolute;
		bottom: 15px;*/
		text-align: center;
	}
	.btn-pt{
		position: absolute;
		right: 20px;
		bottom: 50px;
		width: 70px;
		height: 70px;
	}

	@keyframes ptcircle{
		0%{transform: rotate(0)}
		100%{transform: rotate(360deg)}
	}


	.btn-pt a{
		position: relative;
		display: block;
		width: 70px;
		height: 70px;
		border: 1px solid rgba(255,255,255,0.3);
		border-radius: 50px;
	}
	.btn-pt-circle{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.btn-pt a span{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 70px;
		height: 70px;
		border: 1px solid rgba(255,255,255);
		border-radius: 50px;
		clip-path: inset(0 0 35px 35px);
		animation: ptcircle 6000ms linear infinite;
	}
	.btn-pt a .btn-pt__txt{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		display: block;
		width: 100%;
	}
	.btn-pt a .btn-pt__txt:after{
		content: "";
		margin: auto;
		display: block;
		width: 10px;
		height: 12px;
		background: url(../img/common/arrow_pt.svg) 0 0 no-repeat;
	}
	.btn-pt a .btn-pt__txt strong{
		position: absolute;
		top: 14px;
		width: 100%;
		text-align: center;
		color: #fff;
		font-size: 13px;
	}
	.gfooter-cr p{
		font-size: 13px;
		color: #a7918a;
	}

}


@media screen  and (max-width: 374px){

	.gfooter-info{
		padding: 0 20px;
	}

}




