@charset "utf-8";
html{
	width:100%;
  font-weight: 400;
		font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

body{
	width:100%;
	color:#333;
}
em{
	font-style:normal;
  font-weight: bold;
}
.bold{
  font-weight: bold;
}
.fNormal{
  font-weight: normal;
}
.sp{display:block;}
.pc{display:none;}

a:link,
a:visited{
	color:#534741;
	text-decoration:underline;
	}
a:active,
a:hover{
	color:#534741;
	text-decoration:underline;
	}
img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
.img100{
	width:100%;
}
.w1300{
	max-width:1300px;
	margin-left:auto;
	margin-right:auto;
}
.w1000{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.w940{
	max-width:940px;
	margin-left:auto;
	margin-right:auto;
}
.w900{
	max-width:900px;
	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;
}
.w80{
	width:80%;
	margin-left:auto;
	margin-right:auto;
}
.w90{
	width:90%;
	margin-left:auto;
	margin-right:auto;
}
.w94{
	width:94%;
	margin-left:auto;
	margin-right:auto;
}
.w96{
	width:96%;
	margin-left:auto;
	margin-right:auto;
}
.fGo{
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-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:50px;
	background-color: #fff;
	z-index:200;
	left:0;
	top:0;
	transition: all 0.3s ease-out;
	position:fixed;
	background-color:#000;
}
main{
	padding-top:50px;
}
.anchor{
	display:block;
	margin-top:-50px;
	padding-top:50px;
	z-index:-1;
	position:relative;
}
#hWrap{
	margin:0;
	height:50px;
	width:100%;
	margin:0 auto;
	max-width:1000px;
	color:#fff;
}
#hLogo{
	width:100%;
	font-size:12px;
	color:#fff;
	font-weight: normal;
	padding-left:5px;
	padding-top:10px;
	text-align:left;
}
#hLogo a{
	height:30px;
	color:#fff;
	text-decoration: none;
	display:flex;
	justify-content: flex-start;
	align-items: center;
}
#hLogo .hLogoImg{
	width:180px;
}
#hLogo .hLogoTxt{
	font-weight: normal;
	font-size:12px;
	margin-left:8px;
	line-height: 1.2;
}
#hWrap .hNav01{
	display:none;
}
@media (min-width:768px) {
	header{
		position:fixed;
		height:120px;
	}
	main{
		padding-top:120px;
	}
	.anchor{
		margin-top:-120px;
		padding-top:120px;
	}
	#hWrap{
		display:flex;
		justify-content: space-between;
		align-items: center;
		height: 60px;
	}
	#hWrap .hNav01{
		width:calc(100% - 400px);
		display:flex;
		justify-content: flex-end;
		align-items: center;
		padding-right:20px;
	}
	#hWrap .hNav01 .btn01{
		color:#fff;
		/*background : linear-gradient(45deg, rgba(21, 63, 118, 1) 0%, rgba(57, 62, 124, 1) 100%);*/
    background: linear-gradient(to right, #002186, #2746a4, #002186);
		padding:5px;
		width:120px;
		font-size:1.6rem;
		text-decoration: none;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-left:10px;
	}
  #hWrap .hNav01 .btn03{
		color:#fff;
		/*background : linear-gradient(45deg, rgba(59, 177, 206, 1) 0%, rgba(59, 177, 206, 1) 100%);*/
    background: linear-gradient(to right, #216879, #4e8d9d, #216879);
		padding:5px;
		width:120px;
		font-size:1.6rem;
		text-decoration: none;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-left:10px;
	}
	#hWrap .hNav01 .btn02{
		color:#fff;
		font-size:1.2rem;
		text-decoration: none;
		width:7em;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-left:10px;
	}
	#hWrap .hNav01 a img{
		max-width:16px;
		max-height:16px;
		margin-right:5px;
	}
	#hLogo{
		width:400px;
		padding-top:0;
		padding-left:20px;
	}
	#hLogo a{
		height:40px;
	}
	#hLogo .hLogoImg{
		width:200px;
	}
}
/*gnav*/
#gNav{
	position:fixed;
	display:none;
	top:50px;
	left:0;
	z-index:100;
	text-align:center;
	width:100%;
	background-color:#000;
}
#gNav ul{
	width:100%;
	padding:10px;
}
#gNav a{
	width:90%;
	display:block;
	text-align:center;
	text-decoration:none;
	line-height:1.5;
	color: #fff;
	font-size: 1.5rem;
	padding:10px;
	margin:0 auto;
}
/*active*/
body#index #gNav .index a,
body#lifestyle #gNav .lifestyle a,
body#legacy #gNav .legacy a,
body#location #gNav .location a,
body#access #gNav .access a,
body#landplan #gNav .landplan a,
body#plan #gNav .plan a,
body#quality #gNav .quality a{
	border-bottom:1px solid #77d4ff;
	/*
  background : linear-gradient(180deg, rgba(9, 30, 127, 1) 0.1%, rgba(38, 29, 46, 1) 100%);
  color:#fff;
  */
}
#gNav ul li.request{
  background : linear-gradient(180deg, rgba(9, 30, 127, 1) 0.1%, rgba(38, 29, 46, 1) 100%);
  background: linear-gradient(to right, #002186, #2746a4, #002186);
  position: relative;
  margin-bottom: 10px;

}
#gNav ul li.request::before{
	content:"";
	position: absolute;
	display: block;
	width:7px;
	height:7px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	right:15px;
	top:calc(50% - 3px);
	transform:rotate(45deg);
}
#gNav ul li.reserve02{
  /*background : linear-gradient(180deg, rgba(59, 177, 206, 1) 0.1%, rgba(38, 29, 46, 1) 100%);*/
  background: linear-gradient(to right, #216879, #4e8d9d, #216879);
  position: relative;

}
#gNav ul li.reserve02::before{
	content:"";
	position: absolute;
	display: block;
	width:7px;
	height:7px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	right:15px;
	top:calc(50% - 3px);
	transform:rotate(45deg);
}
@media (min-width:768px) {
	#gNav{
		width:100%;
		position:static;
		display:block;
		padding:0;
		}
	#gNav ul{
		width:100%;
		max-width:1000px;
		margin:0 auto;
		display:flex;
		justify-content: center;
		align-items: center;
		flex-wrap:wrap;
		height:60px;
	}
	#gNav li{
		width:14%;
		display:block;
		padding:0 5px;
		border-right:1px solid rgba(255,255,255,0.3);
		height:40px;
	}
	#gNav li:first-of-type{
		border-left:1px solid rgba(255,255,255,0.3);
	}
	#gNav li a{
		padding:0;
		height:40px;
		display:flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
	}
	#gNav li.request,
	#gNav li.reserve,
	#gNav li.outline,
  #gNav li.reserve02,
	#gNav li.map{
		display:none;
	}
}
/*ハンバーガーボタン*/	
#hBtnMenu{
	position:fixed;
	top:0;
	right:0;
	width:50px;
	height:50px;
	padding-top:10px;
	text-align:center;
	z-index:10;
}
#hBtnMenu span {
	position: absolute;
	top: 0;
	left: 13px;
	display: block;
	width: 24px; /* 横幅 */
	height: 2px; /* 1本辺りの高さ */
	background: #fff; /* 線の色 */
	transition: all 0.3s ease-out;
  }
#hBtnMenu .hbBar01 { top: 10px; }
#hBtnMenu .hbBar02 { top: 18px; }
#hBtnMenu .hbBar03 { top: 26px; }
#hBtnMenu p{
	display:block;
	padding:22px 0 0 0;
	font-size:0.9em;
	color:#fff;
	text-align:center;
	}
#hBtnMenu.open span{
	background: #fff; /* 線の色 */
	}
/* 最上部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar01 {
  top: 20px; /* 上から2番目の線の位置に変更 */
  transform: rotate(45deg);
}
/* 上から2番目の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar02 {
  opacity: 0; /* 不透明度を下げて線を消す */
}
/* 最下部の線のスタイル ---------------------- */
#hBtnMenu.open .hbBar03 {
  top: 20px; /* 上から2番目の線の位置に変更 */
  transform: rotate(135deg);
}
@media (min-width:768px) {
	#hBtnMenu{
		display:none;
	}
}

/*footer
----------------------------------------------------------- */
footer{
	padding:0;
	margin:40px 0 60px;
}
@media (min-width:768px) {
	footer{
		padding:0;
		margin:40px 0 0;
	}
}

/*fNavPc*/
#fNavPc{
	display:none;
}
@media (min-width:768px) {
	#fNavPc{
		text-align:center;
		background-color:#000;
		width:100%;
		position:static;
		display:block;
		padding:0;
		}
	#fNavPc ul{
		padding:10px;
		width:100%;
		max-width:1000px;
		margin:0 auto;
		display:flex;
		justify-content: center;
		align-items: center;
		flex-wrap:wrap;
		height:60px;
	}
	#fNavPc li{
		width:14%;
		display:block;
		padding:0 5px;
		border-right:1px solid rgba(255,255,255,0.3);
		height:40px;
	}
	#fNavPc li:first-of-type{
		border-left:1px solid rgba(255,255,255,0.3);
	}
	#fNavPc li a{
		width:100%;
		text-decoration:none;
		line-height:1.5;
		color: #fff;
		font-size: 1.4rem;
		padding:0;
		height:40px;
		display:flex;
		justify-content: center;
		align-items: center;
	}
}
#footer01{
	background-image: url(../images/common/footer_bg.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	padding:40px 5%;
	color:#fff;
}
#footer01 .btnWrap{
	display:none;
}
@media(min-width:768px){
	#footer01 .btnWrap{
		width:100%;
		display:flex;
		justify-content: center;
		align-items: center;
		margin:0 0 40px;
	}
	#footer01 .btnWrap .btn01{
		color:#fff;
		/*background : linear-gradient(45deg, rgba(21, 63, 118, 1) 0%, rgba(57, 62, 124, 1) 100%);*/
    background: linear-gradient(to right, #002186, #2746a4, #002186);
		padding:10px;
		width:180px;
		font-size:1.6rem;
		text-decoration: none;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-left:20px;
	}
  #footer01 .btnWrap .btn03{
		color:#fff;
		/*background : linear-gradient(45deg, rgba(59, 177, 206, 1) 0%, rgba(59, 177, 206, 1) 100%);*/
    background: linear-gradient(to right, #216879, #4e8d9d, #216879);
		padding:10px;
		width:180px;
		font-size:1.6rem;
		text-decoration: none;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-left:20px;
	}
	#footer01 .btnWrap .btn02{
		color:#fff;
		font-size:1.2rem;
		text-decoration: none;
		width:7em;
		display:flex;
		justify-content: center;
		align-items: center;
		margin-left:20px;
	}
	#footer01 .btnWrap a img{
		max-width:16px;
		max-height:16px;
		margin-right:5px;
	}
}

#footer01 .tel01{
	font-size:clamp(3rem,4vw,4rem);
	line-height: 1.3;
}
#footer01 .tel01 small{
	font-size:60%;
}
#footer01 .saleWrap p{
	margin-bottom:5px;
}
#footer01 .saleWrap a{
	height:15px;
	margin-bottom:5px;
}
#footer01 .saleWrap a img{
	height:15px;
}
@media(min-width:768px){
	#footer01 .saleWrap{
		display:flex;
		justify-content: center;
		align-items: center;
	}
	#footer01 .saleWrap p{
		margin-bottom:0;
	}
	#footer01 .saleWrap a{
		margin-bottom:0;
		margin-right:20px;
	}
}

/*fNavsp*/
/*ボタン3〜4個
#fNavSp{
	display:block;
	width:100%;
	height:60px;
	position: fixed;
	left:0;
	bottom:0;
	display:flex;
	justify-content: space-between;
	align-items: stretch;
	z-index:1000;
}
#fNavSp a{
	color:#fff;
	width:calc(100% / 3);
	background : linear-gradient(180deg, rgba(9, 30, 127, 1) 0.1%, rgba(38, 29, 46, 1) 100%);
	text-decoration: none;
	font-size:1.2rem;
	padding-top:7px;
}
#fNavSp a:nth-of-type(3){
  background:#747374;
  background : linear-gradient(180deg, rgba(62, 127, 202, 1) 0%, rgba(0, 33, 134, 1) 100%);
  position:relative;
}
#fNavSp a:nth-of-type(3)::before{
	content:"";
	position: absolute;
	display: block;
	width:7px;
	height:7px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	right:15px;
	top:calc(50% - 3px);
	transform:rotate(45deg);
}
#fNavSp a figure{
	margin:2px auto 0;
	width:16px;
	height:16px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#fNavSp a figure img{
	max-width:16px;
	max-height:16px;
}
*/
#fNavSp{
	width:100%;
	height:60px;
	position: fixed;
	left:0;
	bottom:0;
	z-index:1000;
  display: flex;
}
#fNavSp div{
  width: 50%;
}
#fNavSp .fNavSp-reserve a {
	color:#fff;
	width:100%;
	height:60px;
  /*background : linear-gradient(180deg, rgba(59, 177, 206, 1) 0%, rgba(33, 104, 121, 1) 100%);*/
  background: linear-gradient(to right, #216879, #4e8d9d, #216879);
	text-decoration: none;
	font-size:1.4rem;
	display:flex;
	justify-content: center;
	align-items: center;
}
#fNavSp .fNavSp-materials a {
	color:#fff;
	width:100%;
	height:60px;
  /*background : linear-gradient(180deg, rgba(62, 127, 202, 1) 0%, rgba(0, 33, 134, 1) 100%);*/
  background: linear-gradient(to right, #002186, #2746a4, #002186);
	text-decoration: none;
	font-size:1.4rem;
	display:flex;
	justify-content: center;
	align-items: center;
}
#fNavSp a figure{
	margin:0 5px 0 0;
	width:20px;
	height:20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#fNavSp a figure img{
	width:20px;
	height:20px;
}
@media (min-width:768px) {
	#fNavSp{
		display:none;
	}
}

/*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;}
/**/

.sec5r{
	padding-top:clamp(2.5rem,5vw,5rem);
	padding-bottom:clamp(2.5rem,5vw,5rem);
}
.sec5tr{padding-top:clamp(2.5rem,5vw,5rem);}
.sec5br{padding-bottom:clamp(2.5rem,5vw,5rem);}
.sec6r{
	padding-top:clamp(3rem,6vw,6rem);
	padding-bottom:clamp(3rem,6vw,6rem);
}
.sec6tr{padding-top:clamp(3rem,6vw,6rem);}
.sec6br{padding-bottom:clamp(3rem,6vw,6rem);}
.sec8r{
	padding-top:clamp(4rem,8vw,8rem);
	padding-bottom:clamp(4rem,8vw,8rem);
}
.sec8tr{padding-top:clamp(4rem,8vw,8rem);}
.sec8br{padding-bottom:clamp(4rem,8vw,8rem);}
.sec12r{
	padding-top:clamp(6rem,12vw,12rem);
	padding-bottom:clamp(6rem,12vw,12rem);
}


/*title
----------------------------------------------------------- */
.pageTtl01{
	background-size:cover;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height:120vw;
}
.pageTtl01 .en{
	margin-bottom:10px;
}
.pageTtl01 .en img{
	height:40px;
}
.pageTtl01 .jp{
	width:auto;
	display:inline-block;
	margin:0 auto;
	font-size: clamp(2rem,2.3vw,2.6rem);
	border-bottom:1px solid #fff;
	color:#fff;
}
@media (min-width:768px) {
	.pageTtl01{
		height:25vw;
	}
	.pageTtl01 .en img{
		height:60px;
	}
}
/**/

/**/
.cTtl01{
	font-size:clamp(2rem,2.5vw,2.5rem);
	border-bottom:2px solid #000;
	padding-bottom:10px;
	font-weight: normal;
}

/**/

/**/
.cLogo01{
	width:100px;
	margin:0 auto;
}
/**/
@media (min-width:768px) {
.cLogo01{
	width:178px;
}
}
/**/

/**/
.lh15{line-height:1.5 !important;}
.lh20{line-height:2 !important;}
.lh25{line-height:2.5 !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);}
.txt18r{font-size:clamp(1.5rem,1.8vw,1.8rem);}
.txt20r{font-size:clamp(1.6rem,2vw,2rem);}
.txt24r{font-size:clamp(1.8rem,2vw,2.4rem);}
.txt25r{font-size:clamp(1.8rem,2vw,2.5rem);}
.txt28r{font-size:clamp(1.8rem,3vw,2.8rem);}
.txt32r{font-size:clamp(2rem,3vw,3.2rem);}
.txt36r{font-size:clamp(2rem,3vw,3.6rem);}
.txt40r{font-size:clamp(2.2rem,3vw,4rem);}
.txt48r{font-size:clamp(3rem,4vw,4.8rem);}
.txtdots{
  -webkit-text-emphasis: filled;
  text-emphasis: filled;
}
.makerWhite01{
	background: linear-gradient(transparent 70%, #fff 70%);
}
/**/

/**/
.cBg01{
	background-image: url(../images/common/bg01.jpg);
	background-size: 100% auto;
	background-position: top center;
}
.cBgWhite{background-color: #fff;}
.cBgGray{background-color: #e8e8e8;}

.cBgGraySp{background-color: #e8e8e8;}
@media (min-width:768px) {
	.cBgGraySp{background-color: transparent;}
}
/**/

/**/
.cBtn01{
	display:block;
	width:100%;
	margin:0 auto;
	font-size:1.8rem;
	padding:30px 0;
	text-decoration: none !important;
  background : #000;
  color:#fff !important;
  position: relative;
}
.cBtn01::before{
	position:absolute;
	content: "";
	right: 20px;
	top:50%;
	width: 20px;
	height: 1px;
	background: #fff;
}
.cBtn01::after{
	position:absolute;
	content: "";
	display: block;
	right:20px;
	top:calc(50% - 5px);
	width:10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}





/*common column
----------------------------------------------------------- */
/*2カラム*/
.cClm2{
	width:100%;
}
.cClm2 > *{
	width:100%;
	margin-bottom:20px;
}
.cClm2.mar00 > *{
	margin-bottom:0;
}
@media print, screen and (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%;
		margin-bottom:40px;
	}
	.cClm2.mar00 > :nth-child(2n){
		margin-left:0;
	}
}
/*3カラム*/
.cClm3{
	width:100%;
}
.cClm3 > *{
	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: center;
		margin-bottom:40px;
	}
	.cClm3 > *{
		width:31%;
		margin-bottom:40px;
		margin: 1%;
	}
	.cClm3.mar00 > *{
		width:33.3%;
		margin-bottom:40px;
	}

}



/*メニュー非表示
----------------------------------------------------------- */
#gNav li.plan a,
#fNavPc li.plan a
{
	opacity:0.4;
	pointer-events: none;
}

/*来場予約ボタン・マップ非表示*/
#gNav li.map a,
#fNavPc li.map a{
	display:none;
}
@media (min-width: 768px) {
	#hWrap .hNav01 a:nth-of-type(3),
	#footer01 .btnWrap a:nth-of-type(3),
	#hWrap .hNav01 a:nth-of-type(5),
	#footer01 .btnWrap a:nth-of-type(5){
		display:none;
	}
}
#gNav .reserve,
#fNavSp a:nth-of-type(3){
	display:none;
}













































