@charset "utf-8";
html{
	width:100%;
	font-family:"ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
/*	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
}

body{
	width:100%;
	color:#222;
}
em{
	font-style:normal;
	font-weight:bold;
}
.sp{display:block;}
.pc{display:none;}
a:link,
a:visited{
	color:#222;
	text-decoration:underline;
	}
a:active,
a:hover{
	color:#222;
	text-decoration:underline;
	}
img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
.img100{
	width:100%;
}
.w1000{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.w800{max-width:800px;margin-left:auto;margin-right:auto;}
.w700{max-width:700px;margin-left:auto;margin-right:auto;}
.w600{max-width:600px;margin-left:auto;margin-right:auto;}
.w500{max-width:500px;margin-left:auto;margin-right:auto;}
.w400{max-width:400px;margin-left:auto;margin-right:auto;}
.w300{max-width:300px;margin-left:auto;margin-right:auto;}

.w90{
	width:90%;
	margin-left:auto;
	margin-right:auto;
}
.w96{
	width:96%;
	margin-left:auto;
	margin-right:auto;
}
.bold{
	font-weight:bold;
}
.block{
	display: block;
}
.fMin{
		font-family:"ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.fGaramond {
  font-family: "Cormorant Garamond", serif;
}
@media screen and (min-width:768px) {
	.sp{display:none;}
	.pc{display:block;}
	a{
		transition-duration:0.3s;
		}
	a:hover{
		opacity: 0.7;
		}
}/* base */


/*header
----------------------------------------------------------- */
header{
	width:100%;
	height:var(--header-height-sp);
	background-color: #fff;
	z-index:200;
	left:0;
	top:0;
	transition-duration: 0.3s;
	position:fixed;
}
main{
	padding-top:var(--header-height-sp);
}
.anchor{
	display:block;
	margin-top:calc(var(--header-height-sp) * -1);
	padding-top:var(--header-height-sp);
	z-index:-1;
	position:relative;
}
#hWrap{
	margin:0;
	width:100%;
}

@media (min-width:768px) {
	header{
		position:fixed;
		height:var(--header-height-pc);
	}
	main{
		padding-top:var(--header-height-pc);
	}
	.anchor{
		margin-top:calc(var(--header-height-pc) * -1);
		padding-top:var(--header-height-pc);
	}
	#hWrap{
		display:flex;
		justify-content: space-between;
		align-items: center;
		height:var(--header-height-pc);
	}
}
.hLogoWrap{
	width:226px;
	margin-left:5px;
	margin-top:5px;
}
#hLogo{
	height:50px;
}
#hLogo a{
	display: block;
	height:50px;
}
#hLogo img{
	height:50px;
}
@media (min-width:768px) {
	.hLogoWrap{
		width:272px;
		margin-left:10px;
		margin-top:0;
	}
	#hLogo{
		height:60px;
	}
	#hLogo a{
		height:60px;
	}
	#hLogo img{
		height:60px;
	}
	#hLogo p{
	}
	#hBtnMenu{
		display:none;
	}
	.hWrap02{
		width:calc(100% - 370px);
	}
}

/*gnav*/
#gNav{
	position:absolute;
	display:none;
	top:60px;
	left:0;
	z-index:100;
	text-align:center;
	width:100%;
}
#gNav{
}
#gNav ul{
	width:100%;
	height:100%;
	overflow: auto;
	display:flex;
	justify-content: flex-end;
	align-items: center;
	background-color:#333;
	height:calc(100vh - 60px);
}
#gNav > ul{
	margin-top:60px;
}
#gNav li{
	position: relative;
}
#gNav a{
	width:100%;
	display:block;
	text-align:left;
	text-decoration:none;
	line-height:1.5;
	color:#fff;
	font-size: 1.6rem;
	font-weight: normal;
	padding:12px 20px;
	border-top:1px solid rgba(255,255,255,0.5);
}
@media (min-width:768px) {
	#gNav{
		width:100%;
		position:static;
		display:block !important;
		height:var(--header-height-pc);
	}
	#gNav ul{
		width:100%;
		height:var(--header-height-pc);
		display:flex;
		justify-content: flex-end;
		padding:0;
		background-color:#fff;
		overflow: visible;
	}
	#gNav > ul{
		margin-top:0;
	}
	#gNav .nav01 > li{
		display:inline-block;
		width:auto;
	}
	#gNav .nav01 > li  > a{
		display:flex;
		justify-content: center;
		align-items: center;
		height:var(--header-height-pc);
		margin:0;
		color:#000;
	}
	#gNav .contact a{
		width:100%;
		background-color:#88703a;
		color:#fff !important;
	}
}
@media (min-width:768px) {
	#gNav a{
		font-size: min(1.4vw,1.6rem);
	}
	#gNav .nav01 > li  > a{
		padding-left:1.5vw;
		padding-right:1.5vw;
	}
}

/*footer
----------------------------------------------------------- */
footer{
	padding-bottom:min(4vw,20px);
	margin:0;
	width:100%;
	background-color: #333;
	color:#fff;
}
.footerWrap{
	width:100%;
	margin:0 auto;
	padding-bottom:min(4vw,40px);
}
.footerNav{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: min(6vw,60px);
}
.footerNav a{
	display: block;
	width:50%;
	color:#fff;
	text-decoration: none;
	padding:1em;
	font-size:1.4rem;
	border-right:1px solid #fff;
	border-bottom:1px solid #fff;
}
.footerNav a:nth-of-type(2n){
	border-right:0;
}
.footer01{
	width:150px;
	margin:0 auto 20px;
}
.footer02{
}
@media (min-width:768px) {
	footer{
		padding-top:min(6vw,60px);
	}
	.footerWrap{
		width:90%;
		max-width: 1000px;
		padding-bottom:min(4vw,40px);
		display: flex;
		align-items: center;
	}
	.footerNav{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		margin-bottom:0;
		order:3;
		height:120px;
		width:250px;
	}
	.footerNav a{
		width:50%;
		padding:0;
		border-right:0;
		border-bottom:0;
		margin-bottom: 1em;
		text-align: left;
	}
	.footer01{
		order:1;
		margin:0;
	}
	.footer02{
		width:calc(100% - 430px);
		order:2;
		text-align: left;
		margin-left: 30px;
	}
}




/*section
----------------------------------------------------------- */
.sec4{padding-top:4rem;padding-bottom:4rem;}
.sec4t{padding-top:4rem;}
.sec4b{padding-bottom:4rem;}
.sec6{padding-top:6rem;padding-bottom:6rem;}
.sec6t{padding-top:6rem;}
.sec6b{padding-bottom:6rem;}
.sec8{padding-top:8rem;padding-bottom:8rem;}
.sec8t{padding-top:8rem;}
.sec8b{padding-bottom:8rem;}
.sec10{padding-top:10rem;padding-bottom:10rem;}
.sec10t{padding-top:10rem;}
.sec10b{padding-bottom:10rem;}
.sec12{padding-top:12rem;padding-bottom:12rem;}
.sec12t{padding-top:12rem;}
.sec12b{padding-bottom:12rem;}
/**/



/*title
----------------------------------------------------------- */
/**/
.pageTtl{
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
	background-position: center center;
	color:#fff;
	height:min(40vw,300px);
}
/**/

/**/
.cTtl01{
	font-weight: normal;
}
.cTtl01 .en{
	font-size:min(11.2vw,5.6rem);
  font-family: "Cormorant Garamond", serif;
  line-height: 1.5;
}
.cTtl01 .jp{
	font-size:1.6rem;
}




/**/
.cGold01{color:#88703a;}

.lh12{line-height:1.2 !important;}
.lh15{line-height:1.5 !important;}
.lh20{line-height:2 !important;}
.palt{font-feature-settings: "palt";}
.txt50{font-size:50% !important;}
.txt75{font-size:75% !important;}
.txt120{font-size:120%;}
.txt150{font-size:150%;}
.txt200{font-size:200%;}
.txt16r{font-size:clamp(1.4rem,1.6vw,1.6rem) !important;}
.txt18r{font-size:clamp(1.5rem,1.8vw,1.8rem) !important;}
.txt20r{font-size:clamp(1.6rem,2vw,2rem) !important;}
.txt24r{font-size:clamp(1.8rem,2vw,2.4rem) !important;}
.txt28r{font-size:clamp(1.8rem,3vw,2.8rem) !important;}
.txt30r{font-size:clamp(2rem,3vw,3rem) !important;}
.txt32r{font-size:clamp(2rem,3vw,3.2rem) !important;}
.txt36r{font-size:clamp(2rem,3vw,3.6rem) !important;}
.txt40r{font-size:clamp(3rem,4vw,4rem) !important;}
.txt50r{font-size:clamp(3.5rem,5vw,5rem) !important;}
.txt60r{font-size:clamp(4rem,6vw,6rem) !important !important;}
.txt70r{font-size:clamp(5rem,7vw,7rem);}
.txtdots{
  -webkit-text-emphasis: filled;
  text-emphasis: filled;
}

.cBg01{
	background: #f0f0f0;
}


/*btn
----------------------------------------------------------- */
.cBtn01{
	display:block;
	width:100%;
	font-size:clamp(1.4rem,1.6vw,1.6rem);
	padding:1.5em;
	background-color:#ab8b51;
	color:#fff !important;
	text-decoration: none !important;
	text-align:center;
	position:relative;
}
.cBtn01::after {
  content:"";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right:15px;
  top: calc(50% - 4px);
}


/*リスト*/
.cList01{
	margin:0 auto;
	font-size:16px;
	border-top:1px solid rgba(60,50,40,0.3);
	text-align: left;
}
.cList01 dt{
	padding:0.5em 1em;
	border-bottom:1px solid rgba(60,50,40,0.3);
	background: #eeeeee;
}
.cList01 dd{
	padding:1em;
	border-bottom:1px solid rgba(60,50,40,0.3);
}
@media (min-width:768px) {
	.cList01{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.cList01 dt{
		padding:1em;
		width:13em;
	}
	.cList01 dd{
		width:calc(100% - 13em);
	}
}


/*table*/
.cTable01 {
	width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
	border-top:1px solid rgba(60,50,40,0.3);
	border-left:1px solid rgba(60,50,40,0.3);
}
.cTable01 th,
.cTable01 td {
	border-right:1px solid rgba(60,50,40,0.3);
	border-bottom:1px solid rgba(60,50,40,0.3);
	padding:10px 15px;
	font-size:clamp(1.4rem,1.6vw,1.6rem);
}
.cTable01 th {
	text-align: center;
	background-color: rgba(0,0,0,0.1);
}
@media (min-width:768px) {
	.cTable01 th,
	.cTable01 td {
		padding:0.75em 1em;
	}
}


/*flex
----------------------------------------------------------- */
@media (min-width:768px) {
	.flex{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap:20px;
	}
	.flex.center{
		justify-content: center;
		align-items: center;
	}
}
.flex.fs{
	justify-content: flex-start;
	align-items: center;
}
/*2カラム*/
.cClm2{
	width:100%;
}
.cClm2 > *{
	width:100%;
	margin-bottom:30px;
	display: block;
}
.cClm2.mar00 > *{
	margin-bottom:0;
}
@media (min-width:768px) {
	.cClm2{
		display:flex;
		flex-wrap:wrap;
		margin-bottom:40px;
	}
	.cClm2 > *{
		width:48%;
		margin-bottom:40px;
	}
	.cClm2 > *:nth-child(2n){
		margin-left:4%;
	}
	.cClm2 > *:nth-last-child(1),
	.cClm2 > *:nth-last-child(2){
		margin-bottom:0;
	}
	.cClm2.mar00 > *{
		width:50%;
	}
	.cClm2.mar00 > *:nth-child(2n){
		margin-left:0%;
	}

}

/*3カラム*/
.cClm3{
	width:100%;
}
.cClm3 > *{
	display: block;
	width:100%;
	margin-bottom:20px;
}
.cClm2.mar00 > *{
	margin-bottom:0;
}
@media print, screen and (min-width:768px) {
.cClm3{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	margin-bottom:40px;
}
.cClm3 > *{
	width:30%;
	margin-bottom:40px;
}
.cClm3.mar00 > *{
	width:33.3%;
	margin-bottom:40px;
}

}



.gmap {
  width: 100%;
  height: 100vw;
  overflow: hidden;
  margin: 0 auto 20px;
  max-height:500px;
}
.gmap iframe {
  width: 100%;
  height: 100vw;
  max-height:500px;
}


/*メニュー非表示*/
/*
#gNav .nav01 > li:nth-of-type(3){
	display: none;
}
@media (min-width:768px) {
	#gNav .nav01 > li:nth-of-type(3){
		display: none;
	}
}
.footerNav a:nth-of-type(4){
		display: none;
}
*/