@charset "utf-8";
/* CSS Document */

/*
-----------------------------------------------

	1: body
	2: header
	3: subContentArea
	4: footer
	
*/

/* 1: body
----------------------------------------------- */


html {font-size: 100%;}


body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

}


div#container {
	width: 100%;
	height: auto;
}

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

#container{
	min-width:1200px;
}

}


/* 2: header
----------------------------------------------- */


/* pc */

#headerContent {
	margin-bottom: 50px;
	border-bottom: 2px solid #ccc;
}
#home-p #headerContent,
.fair-contents-p #headerContent{
	margin-bottom:0;
}

#headerContent .contentWidth{
	position:relative;
	height:123px;
	width: 960px;
	margin: 0 auto;
}

#headerContent .siteLogo {
	position:absolute;
	left:0;
	top:20px;
	z-index:10;
}


#headerContent .grobalNav {
	position:absolute;
	top:87px;
	left:50%;
	width: 960px;
	margin-left: -480px;
}


#headerContent .grobalNav ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}

#headerContent .grobalNav li {
	font-size:13px;
}
#headerContent .grobalNav li:last-child{
	margin-right:0;
}


#headerContent .grobalNav a {
	text-decoration: none;
	color: #333;
}

.about-p #headerContent .grobalNav .li1 a,
.concept-p #headerContent .grobalNav .li2 a,
.space-p #headerContent .grobalNav .li3 a,
.report-p #headerContent .grobalNav .li4 a,
.fair-p #headerContent .grobalNav .li5 a,
.cuisine-p #headerContent .grobalNav .li6 a,
.dress-p #headerContent .grobalNav .li7 a,
.plan-p #headerContent .grobalNav .li8 a,
.access-p #headerContent .grobalNav .li9 a,
.blog #headerContent .grobalNav .li10 a,
.tokuten-p #headerContent .grobalNav .li11 a,
.gallery-p #headerContent .grobalNav .li12 a,
#headerContent .grobalNav a:hover,
#headerContent .grobalNav a.current {
	color: #367D84;
}

#headerContent .h-social{
	position:absolute;
	right:0;
	top:27px;
}
#headerContent .h-social li{
	float:left;
	margin-left:10px;
}

#headerContent .h-menu{
	position:absolute;
	top:28px;
	right:165px;
}
#headerContent .h-menu li{
	float:left;
	margin-left:5px;
}
#headerContent .h-menu li a{
	color:#fff;
	padding:10px 15px;
	display:block;
	background:#367D84;
	font-size: 13px;
}




/* sp */

*.mbheaderContent {
	width: 100%;
	position:relative;
	height:50px;
	border-bottom:1px solid #e3e4e3;
	margin-bottom:20px;
}

#home-p .mbheaderContent {
	border-bottom:0;
	margin-bottom:0;
}

#mbheader .logo{
	text-align:center;
	padding:6px 0 0 0;
}
#mbheader .logo img{
	height:36px;
}

#mbheader .mbMenuimg{
	position:absolute;
	top:5px;
	right:12px;
	cursor:pointer;
}
#mbheader .mbMenuimg img{
	height:40px;
}

.sp-menu-none #mbheader .mbMenuimg{
	display:none;
}



/* navi */

#mbnavi{
	background: #fff;
	color:#fff;
	padding:0px 0 0 0;
	position: fixed;
	top:0px;
	left:0;
	width:100%;
	display:none;
	z-index:100;
	border-bottom:1px solid #367d84;
}
#mbnavi a{
	color:#333333;
}

#mbnavi .top{
	background: #367d84;
}

#mbnavi .top a{
	color:#fff;
}

#mbnavi .name{
	text-align:center;
	padding:15px 0;
}


#mbnavi .close{
	margin-bottom: 5px;
	margin-left: 10px;
	position:absolute;
	right:10px;
	top:5px;
}
#mbnavi .close img{
	height:32px;
	cursor:pointer;
}

#mbnavi .menu{

    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
/*
  -webkit-align-items: baseline;
  align-items:         baseline;

  -webkit-align-items: center;
  align-items:         center;
*/  
}
#mbnavi .menu li{
	text-align:center;
	width:50%;
	border-top:1px solid #367d84;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;


}
#mbnavi .menu li:nth-child(odd){
	border-right:1px solid #367d84;
}
#mbnavi .menu li.w100{
	width:100%;
	border-right: none;
}
#mbnavi .menu1 li{
	border-color:#fff;
}
#mbnavi .menu1 li:nth-child(odd){
	border-right-color: #fff;
}


#mbnavi .menu2{
	border-bottom:1px solid #367d84;
}




#mbnavi .menu li a{
	display:block;
	padding:15px 0;
	font-size:90%;
}

#mbnavi .menu .icon{
	margin-bottom:5px;
}

#mbnavi .menu .icon img{
	height:40px;
}

#mbnavi .social{
	padding:15px;
	text-align:right;
}
#mbnavi .social li{
	display:inline-block;
	margin-left:15px;
	vertical-align:middle;
}

#mbnavi .social li img{
	height:32px;
	vertical-align:middle;
}




/* 3: subContentArea
----------------------------------------------- */

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

*.subContentArea {
	position:relative;
	width: 90%;
	height: auto;
	padding-top: 40px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px;
	border-top: 1px solid #ccc;
}
.about-p .subContentArea {
	border-top:0;
}

*.subContent_1, .subContent_2 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

*.subContent_1, .subContent_2 {
	padding-bottom: 47px;
	margin-bottom: 47px;
	border-bottom: 1px solid #ccc;
}

*.subContentImg {
	width: 40%;
	height: auto;
	margin-right: 4%;
}


*.subContentTextArea {
	position: relative;
	width: 55%;
	height: auto;
}

*.subContTitle {
	font-size: 1em;
	line-height: 1.5;
	margin-bottom:5px;
}
*.subContentText {
	font-size: 0.8em;
	line-height: 1.5;
}

*.link_btn {
	position: absolute;
	bottom: 0;
}

.link_btn .link-button a{
	font-size:90%;
	padding-top:10px;
	padding-bottom:10px;
}

/*	subContent_3	*/

.subContentArea .subContent_3 .subContTitle {
	font-size: 18px;
	text-align: center;
}

.subContentArea .subContent_3 > ul {
    overflow: hidden;
}

.subContentArea .subContent_3 > ul > li {
    display: block;
}

.subContentArea .subContent_3 > ul > li > a {
    padding: 15px 0;
    display: table;
}

.subContentArea .subContent_3 > ul > li a {
    color: #000;
    transition: opacity 0.3s;
}

.subContentArea .subContent_3 > ul > li + li > a {
    border-top: 1px solid #ddd;
}

.subContentArea .subContent_3 > ul > li figure {
    font-family: "FOT-筑紫明朝 Pr6 M";
}

.subContentArea .subContent_3 > ul > li figure img {
    width: 25%;
    height: auto;
}

.subContentArea .subContent_3 > ul > li figure figcaption {
    text-align: left;
    width: 70%;
    float: right;
    margin-top: 0;
}

.subContentArea .subContent_3 > ul > li figure figcaption h2 {
    font-size: 13px;
    line-height: 1.4;
}

.subContentArea .subContent_3 > .link_btn {
	position: relative;
}

.subContentArea .subContent_3 > .link_btn .link-button a {
    width: 240px;
    margin: 20px auto 0;
}


}

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


*.subContentArea {
	position:relative;
	width: 100%;
	height: auto;
	padding-top: 80px;
	margin-bottom: 80px;
	border-top: 1px solid #ccc;
}
.about-p .subContentArea {
	border-top:0;
}


*.subContent_1, .subContent_2 {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}

*.subContent_1, .subContent_2 {
	padding-bottom: 47px;
	margin-bottom: 47px;
	border-bottom: 1px solid #ccc;
}

*.subContentImg {
	width: 48%;
	height: auto;
	margin-right: 4%;
	overflow:hidden;
	position:relative;
}
*.subContentImg img{
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	min-width:100%;
}

*.subContentImg{
	height:250px;
}
*.subContentImg img{
	min-height:250px;
}


*.subContentTextArea {
	position:relative;
	width: 48%;
}

*.subContTitle {
	font-size: 28px;
	padding:0px 0 15px 0;
	margin:0;
	line-height:1.3;
}
*.subContentText {
	font-size: 18px;
}

*.link_btn {
	position: absolute;
	bottom: 0;
	width:100%;
}
*.link_btn .link-button a{
	display:block;
}

*.link_btn2 {
	position: relative;
	bottom: -165px;
}

/*	.subContent_3	*/

.subContentArea .subContent_3 .subContTitle {
	text-align: center;
}

.subContentArea .subContent_3 > ul {
    overflow: hidden;
}

.subContentArea .subContent_3 > ul > li {
    display: block;
    width: 32%;
    margin-right: 2%;
    float: left;
}

.subContentArea .subContent_3 > ul > li a {
    color: #000;
    transition: opacity 0.3s;
}

.subContentArea .subContent_3 > ul > li figure img {
    max-width: 100%;
    max-height: 245px;
    width: auto;
    height: auto;
}

.subContentArea .subContent_3 > ul > li figure figcaption {
    margin-top: 10px;
    text-align: left;
}

.subContentArea .subContent_3 > ul > li figure figcaption h2 {
    font-family: "FOT-筑紫明朝 Pr6 M";
    line-height: 1.3;
    font-size: 14px;
}

.subContentArea .subContent_3 > ul > li:nth-child(3n) {
    margin-right: 0;
}

.subContentArea .subContent_3 > .link_btn {
	position: relative;
}

.subContentArea .subContent_3 > .link_btn .link-button a {
    width: 50%;
    box-sizing: border-box;
    margin: 40px auto 0;
}


}

/* 4: footer
----------------------------------------------- */

.form-p .form-hidden-area{
	display:none;
}


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

footer{
	padding-bottom:50px;
}

*.footerBg {
	background: #f6f7f7;
	padding: 40px 0;
}
*.footerInfo {
	width: 100%;
}

*.footerLogo {
	margin-left: auto;
	margin-right: auto;
	text-align:center;
}

.footerLogo img{
	height:34px;
}


*.telArea {
	width: 100%;
	text-align:center;
	margin-bottom: 30px;
}

*.addArea{
	width: 100%;
	text-align:center;
	margin-bottom: 30px;
}


*.telText {
	font-size: 100%;
	line-height: 1.5;
	margin: 0 0 0.8em;
}

*.telNumber {
	font-family: "Times New Roman", Times, serif;
	font-size: 280%;
	font-style:italic;
}
*.telhour {
	width: 90%;
	margin: 0 auto 0.6em;
	line-height: 1.6em;
	font-size: 100%;
}
*.callbtn {
	width: 80%;
	background: #367d83;
	font-size: 1.2em;
	line-height:1.6;
	padding: 11px 5%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2.4em;
	border-radius: 5px;

}

*.callbtn a {
	display: block;
	text-decoration: none;
	color:#fff;
}

*.addArea p {
	font-size: 100%;
	line-height: 2;
	margin:0 3%;
}
*.addArea a{
	color:#333;
	text-decoration:underline;
}



.sp-f-navi ul{
}
.sp-f-navi li a{
	border-bottom:1px solid #BABABA;
	display:block;
	text-decoration:none;
	position:relative;
	background:url(../img/sp-footer/arrow.png) 95% center no-repeat;
	background-size:8px 12px;
	color:#333333;
	padding-left:105px;
	line-height:76px;
	font-size:14px;

}
.sp-f-navi li img{
	height:62px;
	position:absolute;
	left:16px;
	top:5px;
	border-radius: 50%;
}




.sp-footerBtn {
	margin-bottom: 10px;
}
.sp-footerBtn div{
	margin-bottom:1px;
}
.sp-footerBtn a{
	display:block;
	text-align:center;
	color:#fff;
	padding:15px 0;
	font-size:14px;
	text-decoration:none;
	background:#977c52;
}
.sp-footerBtn .ftBtn2 a{
	background:#b59c7b;
}



.sp-ftLink1 {
	margin-bottom:20px;
}
.sp-ftLink1 div{
	border-bottom:1px solid #BABABA;
}
.sp-ftLink1 div img{
	vertical-align:top;
}



*.footerNav_3 {
	font-size: 11px;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 15px;
}

*.footerNav_3 li {
	display: inline-block;
	padding: 0 10px;
	margin-bottom:10px;
}

*.footerNav_3 li a {
	color: #333;
	text-decoration: none;
}

*.footerNav_3 li+li {
	border-left: 1px solid #ccc;
}
	
	




*.sp-ftLink2 {
	position:relative;
	width: 100%;
}
*.snsBtn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	margin: 0 auto;
	padding: 2em 0 0;
}
*.snsBtn li {
	width: 10%;
	margin: 0 3%;
}
*.snsBtn li img {
	width: 100%;
}
*.fbBtn {
}
*.snsBtn img{
}




*.copyright {
	font-size: 10px;
	text-align:center;
	margin-bottom: 20px;
	padding-top:5px;
	margin-left:54px;
	padding-bottom: 15em;
}



.sp-bottom-fixed-menu{
	position:fixed;
	left:0;
	bottom:0;
	width:100%;
	background: linear-gradient(top, #f9fcfb, #e2f3ec);
	background: -ms-linear-gradient(top, #f9fcfb, #e2f3ec);
	background: -moz-linear-gradient(top, #f9fcfb, #e2f3ec);
	background: -webkit-gradient(linear, left top, left bottom, from(#f9fcfb), to(#e2f3ec));
	
	overflow:hidden;
	transition: all .4s;
	border-top:1px solid #bababa;

}
.sp-bottom-fixed-menu.move{
	opacity:0;
}

.sp-bottom-fixed-menu ul{
	width:102%;
}
.sp-bottom-fixed-menu li{
	float:left;
	width:33%;
}

.sp-bottom-fixed-menu a{
	height:50px;
	padding-top:8px;
	text-align:center;
	position:relative;
	display:block;
	color:#808080;
	font-size:8px;
}
.sp-bottom-fixed-menu a i{
	display:block;
	width:22px;
	height:22px;
	margin:0px auto 5px auto;
	background-size:100% 100%;
}
.sp-bottom-fixed-menu .report a i{background-image:url(../img/sp-footer/bottom/report-gray.png);}
.sp-bottom-fixed-menu .fair a i{background-image:url(../img/sp-footer/bottom/fair-gray.png);}
.sp-bottom-fixed-menu .access a i{background-image:url(../img/sp-footer/bottom/access-gray.png);}


.sp-bottom-fixed-menu a:before{
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:100%;
	content:"";
	background:#bababa;
}
.sp-bottom-fixed-menu li:last-child a:before{
	display:none;
}





}

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


*.footerBg {
	background: #f6f7f7;
	padding: 30px 0;
	margin-bottom: 50px;
}
*.footerInfo {
}

.telArea {
	float: left;
	width: 50%;
	margin: 0 0 24px;
	text-align: center;
}

.addArea{
	width: 100%;
	text-align: center;
	border-top: 1px solid #CCC;
	padding: 24px 0 0;
}
.footerInfo a{
	color:#fff;
	text-decoration:underline;
}

.footerInfo .telText{
	font-size: 1.1em;
	margin: 0 auto 10px;
}
.footerInfo  .telNumber {
	font-family: "Times New Roman", Times, serif;
	font-size: 2.4em;
	font-style: italic;
	margin: 0 auto 10px;
}
.footerInfo .telhour{
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0 auto 0;
}

.callbtn {
	display: none;
}

.addArea p {
	font-size: 1.1em;
	line-height: 2;
}
*.addArea a{
	color:#333;
	text-decoration:underline;
}



*.footerNav {
    margin-bottom: 30px;
	font-size:18px;
}
*.footerNav:after{content: ""; display: block; clear: both;height: 0;}

.footerNav ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

*.footerNav li {
	margin-bottom:20px;
	padding: 0 10px;
}

*.footerNav li a{
	background:url(../img/f-arrow.png) right no-repeat;
	background-size: 5px auto;
	padding-right:10px;
	color:#333;
}




.footerBtn {
	margin-bottom: 50px;
}
.footerBtn:after{content: ""; display: block; clear: both;height: 0;}

.ftBtn1,
.ftBtn2 {
	width: 50%;
	float:left;
	position:relative;
}
.ftBtn2{
	float:right;
}
.ftBtn2:before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	background:#fff;
	height:100%;
	width:1px;
}


.footerBtn a{
	text-align:center;
	color:#fff;
	font-size:20px;
	line-height:50px;
	display:block;
	background:#977c52;
}
.footerBtn .ftBtn2 a{
	background:#b59c7b;
}



*.ftlinkBox {
	width: 100%;
	margin-bottom: 35px;
	position:relative;
}

.ftlinkBox .ftLink1:after{content: ""; display: block; clear: both;height: 0;}

.ftLink1 .ftLink1_img{
	float:left;
	margin-left:50px;
}
.ftLink1 .ftLink1_img.sola{
	position:relative;
	top:-3px;
}



*.ftLink2 {
	position: relative;
}
.ftLink2 .snsBtn {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 50px;
}

.ftLink2 .snsBtn li {
	width: 3%;
	margin: 0 3%;
}
.ftLink2 .snsBtn li img {
	width: 100%;
}



*.footerNav_3 {
	text-align: center;
	margin-bottom: 30px;
	display:table;
	width:100%;
}

.footerNav_3 li {
	display:table-cell;
	text-align:center;
	font-size:16px;
	position:relative;
	padding:0 10px;
}
.footerNav_3 li:after{
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:100%;
	background:#ccc;
	content:"";
}
.footerNav_3 li:last-child:after{
	display:none;
}


*.footerNav_3 li a {
	color: #333;
	text-decoration: none;
}
.footerNav_3 .external{
	background:url(../img/parts/icon-external.png) right no-repeat;
	background-size:21px 16px;
	padding-right:30px;
}

	

*.copyright {
	width: 100%;
	text-align:center;
	margin-bottom: 35px;
	line-height: 2.0em;
	font-size: 11px;
}
*.copyright a {
	color: #666;
}


}



/*=============================================
	
	Instagram API
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#instagram_wrap {
	}
	#instagram_wrap .container {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		width:80vw;
		margin:3em auto;
	}
	#instagram_wrap .container > h3 {
		width: 40%;
		margin: 0 5% 0 0;
	}
	#instagram_wrap .container > div.icon {
		width: 10%;
		margin: 0 2% 0 0;
	}
	#instagram_wrap .container > div.account {
		font-size: 1.1em;
		text-align: center;
		margin-bottom: 0;
	}
	#instagram_wrap .container > ul#insta_feed {
		text-align: center;
		margin: 0 0 1.6em;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: flex-start;
		gap:2vw;
		padding-top: 1.2em;
	}
	#instagram_wrap .container > ul#insta_feed li {
		width: calc((100% - 4vw)/3);
		height: calc((80vw - 4vw)/3);
	}
	#instagram_wrap .container > ul#insta_feed li a {
		display: block;
	}
	#instagram_wrap .container > ul#insta_feed li a img {
		object-fit: cover;
		width: 100%;
		height: calc((80vw - 4vw)/3);
	}
	#instagram_wrap .container .insta_btns {
		display: flex;
		align-items: center;
		justify-content: center;
		gap:6px;
		width: 100%;
	}
	#instagram_wrap .container .insta_btns a {
		width:52%;
		text-align: center;
		border:1px solid #666;
		color:#666;
		padding:0.7em 0.4em;
	}
	#instagram_wrap .container .insta_btns a#more_insta {
		width:48%;
	}
	#instagram_wrap .container .insta_btns a.disabled {
		pointer-events: none;
		opacity: 0.4;
	}
}
@media print, screen and (min-width: 769px) {
	#instagram_wrap {
		text-align: center;
	}
	#instagram_wrap .container {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		max-width: 960px;
        margin: 0 auto 64px;
        font-size: 13px;
	}
	#instagram_wrap .container > h3 {
		width: 12%;
		margin: 0 20px 0 0;
	}
	#instagram_wrap .container > div.icon {
		width: 3%;
		margin: 0 10px 0 0;
	}
	#instagram_wrap .container > div.account {
		font-size: 16px;
		text-align: center;
	}
	#instagram_wrap .container > ul#insta_feed {
		text-align: center;
		margin: 0 0 2.0em;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: flex-start;
		gap:6px;
		padding-top: 20px;
	}
	#instagram_wrap .container > ul#insta_feed li {
		width: 150px;
		height: 150px;
	}
	#instagram_wrap .container > ul#insta_feed li a {
		display: block;
	}
	#instagram_wrap .container > ul#insta_feed li a img {
		object-fit: cover;
		width: 100%;
		height: 150px;
	}
	#instagram_wrap .container .insta_btns {
		text-align: center;
	}
	#instagram_wrap .container .insta_btns a {
		width:240px;
		display: inline-block;
		vertical-align: top;
		margin:0 3px;
		text-align: center;
		border:1px solid #666;
		color:#666;
		padding:1em;
	}
	#instagram_wrap .container .insta_btns a#more_insta {
		width:160px;
	}
	#instagram_wrap .container .insta_btns a.disabled {
		pointer-events: none;
		opacity: 0.4;
	}
}
