@charset "utf-8";


/* Google fonts import */

@import url("https://fonts.googleapis.com/earlyaccess/sawarabimincho.css"); /* mincho [font-family: "Sawarabi Mincho";] */
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css"); /* gothic [font-family: "Noto Sans Japanese";] */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic&family=EB+Garamond:wght@400;500;600&display=swap');


/*■reset----------------------------------------------*/
*{
	padding:0;
	margin:0;
}
h1,h2,h3,h4,h5,h6{
	font-size:14px;
	font-weight:normal;
}
ul,ol,li{
	list-style-type:none;
}
a{
	font-size:14px;
	transition:all 0.5s;
	text-decoration:none;
	color:#333333;
}
a:hover{
	opacity:0.65;
}
img{
	border:none;
	display:block;
}
p{
	font-size:14px;
	line-height:140%;
}

body{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-family: "Noto Serif Japanese", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-family: "Noto Sans Japanese";
        font-family: 'Noto Serif JP', serif;
	background:#FFFFFF;
	margin-top:70px;
}
body.Pop{
	margin-top:0 !important;
}

br.sp{
	display:none;
}


.Ceffect{
	transition:all 1s;
	opacity:0;
	position:relative;
	top:-20px;
}
.Ceffect.Cmove{
	opacity:1;
	top:0;
}


@media screen and (max-width: 600px) {
	body{
		margin-top:50px;
	}
	br.sp{
		display: block;
	}
	br.Spnone{
		display: none;
	}
}







header{
	width:100%;
	position:fixed;
	top:0;
	left:0;
	background:#FFFFFF;
	z-index:10;
}
header .Area{
	width:100%;
	position:relative;
	padding:10px 0;
	height:50px;
}
header a.Logo{
	width:210px;
	display:block;
	margin:3px 0 0 10px;
}
header a.Logo img{
	width:100%;
	display:block;
}

header a.wr{
	width:140px;
	height:70px;
	display:block;
	position:absolute;
	color:#FFFFFF;
}
header a.wr div{
	position:relative;
	width:100%;
	height:100%;
}
header a.wr div span{
	width:100%;
	text-align:center;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-60%);
	display:block;
	font-size:14px;
	letter-spacing:3px;
}
header a.wr div span::after{
	content:"";
	display: block;
	width:15px;
	height:15px;
	border-top:1px solid #FFFFFF;
	border-right:1px solid #FFFFFF;
	transform: rotate(135deg);
	margin:auto;
}
header a.wr.h_req{
	top:0;
	right:0;
	background:#7B2D30;
}
header a.wr.h_res{
	top:0;
	right:140px;
	background:#88523a;
}
@media screen and (max-width: 600px) {
	header .Area{
		width:100%;
		position:relative;
		padding:5px 0;
		height:40px;
	}
	header a.Logo{
		width:160px;
		margin: auto;
		margin-top:4px;
	}
	
	header a.wr{
		display:none;
	}
}



header .Mlink{
	width:500px;
	position:absolute;
	top:10px;
	right:295px;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
}
header .Mlink li{
	margin-left:12px;
}
header .Mlink li a{
	font-size:13px;
	letter-spacing:1px;
}
@media screen and (max-width: 600px) {
	header .Mlink{
		display:none;
	}
}



header .Gnavi ul{
	width:695px;
	position:absolute;
	bottom:10px;
	right:295px;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
}
header .Gnavi ul li{
	margin-left:12px;
}
header .Gnavi ul li.f{
	font-size:14px;
	color:#333333;
	position:relative;
	padding-right:12px;
}
header .Gnavi ul li.f::after{
	content:"";
	width: 0;
	height: 0;
	display:block;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #333333;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
}
header .Gnavi ul li a{
	font-size:13px;
	letter-spacing:1px;
	display:block;
}
header .Gnavi ul li a[href*="javascript"]{
	opacity:0.3;
	cursor:default;
	pointer-events:none;
}
@media screen and (max-width: 600px) {
	header .Gnavi{
		display:none;
	}
	header .Gnavi ul{
		width:100%;
		position: fixed;
		bottom:auto;
		top:50px;
		right:0;
		justify-content: space-between;
		background:rgba(255,255,255,0.975);
		padding:20px 0;
	}
	header .Gnavi ul li{
		width:42%;
		margin-left:0;
		margin:0 4%;
		text-align:center;
	}
	header .Gnavi ul li.f{
		width:100%;
		font-size:18px;
		padding-right:0;
		margin-bottom:5px;
		color:#7B2D30;
	}
	header .Gnavi ul li.f::after{
		display:none;
	}
	header .Gnavi ul li a{
		text-align:center;
		border-bottom:solid 1px #AAAAAA;
		padding:15px 0;
		font-size:14px;
	}
}


#Spm{
	display:none;
}
@media screen and (max-width: 600px) {
	#Spm{
		position:fixed;
		top:0;
		right:0;
		display:block;
		width:50px;
		height:50px;
		background: url(../_img/spm.png) no-repeat center center;
		background-size:50px;
		transition:all 0.5s;
	}
	#Spm.ac{
		background: url(../_img/spc.png) no-repeat center center;
		background-size:50px;
	}
}





a.ReqBtn{
	display:block;
	width:280px;
	padding:14px 0;
	background:#7B2D30;
	color:#FFFFFF;
	position:relative;
	text-align:center;
	font-size:16px;
	letter-spacing:6px;
	margin:25px auto;
}
a.ReqBtn.s{
	background:#88523a;
}
a.ReqBtn::after{
	content:"";
	display: block;
	width:15px;
	height:15px;
	border-top:1px solid #FFFFFF;
	border-right:1px solid #FFFFFF;
	transform: rotate(45deg) translateY(-50%);
	position:absolute;
	top:50%;
	right:20px;
}
@media screen and (max-width: 600px) {
	a.ReqBtn{
		width:240px;
		padding:12px 0;
		font-size:14px;
		letter-spacing:5px;
	}
	a.ReqBtn::after{
		width:9px;
		height:9px;
		right:15px;
	}
}





footer{
	margin-top:70px;
	padding-top:20px;
	border-top:solid 1px #7B2D30;
}
footer .Area{
	width:92%;
	max-width:1200px;
	margin:auto;
}
footer .Flink{
	width:100%;
	text-align:center;
}
footer .Flink li{
	display:inline-block;
	margin:0 4px;
}
footer .Flink li.l{
	margin-left:20px;
}
footer .Flink li.f{
	font-size:13px;
	color:#333333;
	position:relative;
	padding-right:12px;
}
footer .Flink li.f::after{
	content:"";
	width: 0;
	height: 0;
	display:block;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #333333;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
}
footer .Flink li a{
	font-size:13px;
	letter-spacing:1px;
	display:block;
}
footer .Flink li a[href*="javascript"]{
	opacity:0.3;
	cursor:default;
	pointer-events:none;
}

footer .Finfo{
	margin:40px auto;
}
footer .Finfo a.F_tel{
	width:92%;
	max-width:480px;
	margin:auto;
	display:block;
	margin-bottom:30px;
	cursor:default;
}
footer .Finfo a.F_tel:hover{
	opacity:1;
}
footer .Finfo a.F_tel img{
	width:100%;
	display:block;
}

footer .Flogo{
	margin:50px auto;
	text-align:center;
}
footer .Flogo a{
	display:inline-block;
	margin:0 10px;
	vertical-align:top;
}
footer .Flogo a.f_logo1{
	width:340px;
}
footer .Flogo a.f_logo2{
	width:320px;
}
footer .Flogo a img{
	display:block;
	width:100%;
}

footer address{
	text-align:center;
	display:block;
	font-size:12px;
	font-style:normal;
	color:#333333;
	padding:20px 0;
}
@media screen and (max-width: 600px) {
	footer{
		margin-top:40px;
		padding-top:15px;
	}
	footer .Flink{
		display:none;
	}
	footer .Finfo{
		margin:20px auto;
	}
	
	footer .Flogo{
		margin:40px auto 20px auto;
	}
	footer .Flogo a{
		display:block;
		margin:0 auto;
	}
	footer .Flogo a.f_logo1{
		width:270px;
	}
	footer .Flogo a.f_logo2{
		width:240px;
	}
	
	footer address{
		font-size:10px;
		padding:20px 0 80px 0;
	}
	body.Pop footer address{
		padding:20px 0;
	}
}


#SpFoot{
	display:none;
}
@media screen and (max-width: 600px) {
	#SpFoot{
		display: block;
		position:fixed;
		bottom:0;
		left:0;
		width:100%;
		z-index:11;
	}
	#SpFoot ul{
		display: flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	#SpFoot ul li{
		width:20%;
	}
	#SpFoot ul li a{
		display:block;
		background:#EAEAEA;
		border-right:solid 1px #999999;
		padding:6px 0 4px 0;
	}
	#SpFoot ul li.g a{
		background:#3A6B4F;
		border-right:solid 1px #FFFFFF;
	}
	#SpFoot ul li.r a{
		background:#7B2D30;
		border-right:none;
	}
	#SpFoot ul li.s a{
		background:#88523a;
	}
	#SpFoot ul li a img{
		width:60px;
		display:block;
		margin:auto;
	}
}


/* page top btn Style ---------------------------------------------------------------- */
.Ptop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
	z-index:10;
}
.Ptop a {
    display: block;
	width:50px;
	height:50px;
	background:rgba(0,0,0,0.55);
	position:relative;
	box-shadow:0 0 5px rgba(0,0,0,0.45);
	transition:all 0.5s;
}
.Ptop a::after {
	content:"";
	background-color:#ffffff;
	position:absolute;
	top:23px;
	left:13px;
	width:15px;
	height:2px;
	transform:rotate(-45deg);
}
.Ptop a::before {
	content:"";
	background-color:#ffffff;
	position:absolute;
	top:23px;
	right:13px;
	width:15px;
	height:2px;
	transform:rotate(45deg);
}
@media screen and (max-width: 600px) {
	.Ptop {
		display: none;
		position: fixed;
		bottom: 60px;
		right: 10px;
	}
	.Ptop a {
		width:40px;
		height:40px;
	}
	.Ptop a::after {
		top:19px;
		left:11px;
		width:11px;
		height:1px;
	}
	.Ptop a::before {
		top:19px;
		right:11px;
		width:11px;
		height:1px;
	}
}




a.CloseBtn{
	width:210px;
	display:block;
	background:#DADADA;
	color:#333333;
	text-align:center;
	font-size:14px;
	letter-spacing:4px;
	padding:14px 0;
	margin:30px auto;
}
@media screen and (max-width: 600px) {
	a.CloseBtn{
		width:180px;
		font-size:13px;
		letter-spacing:3px;
		padding:10px 0;
		margin:22px auto;
	}
}
