@charset "UTF-8";
/*
----------------------------------------*/
.skip-link,
.skip-link + p,
#wpadminbar{
	display: none;
}
.single-featured-image-header,
.single-featured-image-header + p,
.skip-link,
a.skip-link,
.screen-reader-text,
a.screen-reader-text{
	display:none !important;
}

html,
body,
#page.site{
	margin: 0 !important;
	padding: 0 !important;
}
.clearfix:after {
    content: "."; 
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
 
.clearfix {
    min-height: 1px;
}
 
* html .clearfix {
    height: 1px;
    /*\*//*/
    height: auto;
    overflow: hidden;
    /**/
}
a{
	transition:.2s;
	border:0 !important;
    color: #000;
	}
a:hover{
opacity:0.5;
filter: alpha(opacity=50);        /* ie lt 8 */
-ms-filter: "alpha(opacity=50)";  /* ie 8 */
-moz-opacity:0.5;                 /* FF lt 1.5, Netscape */
-khtml-opacity: 0.5;              /* Safari 1.x */
	}
a:link{
    color: #000;
}

.special_fixed{
    position: fixed !important;
    top: -137px;
    z-index: 10000;
	}
.special_fixed:hover{
	}
/*
----------------------------------------*/
body{
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;

    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	font-weight: normal;
}

@media screen and (min-width: 1024px){
	body{
	}
}
#main{
	background: #fff;
    overflow: hidden;
}
	.builder{
		width:calc(100% - 80px);
		margin: 0 auto;
		overflow: visible;
		margin-bottom:20px;
        position: relative;
		}
	.flex-box{
		display: flex;
		flex-direction: column;
	}
	.pc{
		display:none;
		}
	.smh{
			display:block;
		}

.normal .limited,
.normal .limited2,
.limited .normal,
.limited .limited2,
.limited2 .limited,
.limited2 .normal{
	display: none !important;
}

.normal .normal,
.limited .limited,
.limited2 .limited2{
	display:block !important;
}

.short_ver .page_long_only{
    display: none;
}
@media screen and (min-width: 768px){
	.pc{
		display: block !important;
	}
	.smh{
		display: none !important;
	}
}
@media screen and (min-width: 1024px){
	#main{
		max-width: 1000px;
    	box-shadow: 0 0 3px 1px #eee;
		margin: 0 auto;
	}
	.builder{
		width:calc(100% - 200px);
        max-width: 1000px;
		}
	.builder.builder-s{
		width:calc(100% - 300px) !important;
		}
	.flex-box{
		display: flex;
	}
	.pc{
		display: block !important;
	}
	.smh{
		display: none !important;
	}

}
/*font
----------------------------------------*/
 @font-face {
      font-family: 'Noto Sans JP';
      font-style: normal;
      font-weight: 400;
      src: local("Noto Sans CJK JP Regular"),
           url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
           url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
           url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
   }

@font-face {
font-family: 'Antro Vectra Regular';
font-style: normal;
font-weight: normal;
src: local('Antro Vectra Regular'), url('../font/Antrovectra-DOLWD.woff') format('woff');
}

@font-face {
font-family: 'Antro Vectra Bolder';
font-style: normal;
font-weight: normal;
src: local('Antro Vectra Bolder'), url('../font/AntrovectraBolder-ALGPp.woff') format('woff');
}

@font-face {
font-family: 'Branch';
font-style: normal;
font-weight: normal;
src: local('Branch'), url('../font/Branch.woff') format('woff');
}

#special{
	font-size:16px;
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN', sans-serif,'Lucida Grande';
	color:#000;
	list-style:none;
	line-height:2;
	}
@media screen and (min-width: 1024px){
	#special{
		line-height: 2.4;
	}
}

.en{
	font-family: 'Branch', serif;;
	letter-spacing: 0.03em;
	font-weight: 300;
}
.script{
	font-family: 'Antro Vectra Regular';
}
.serif{
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	font-weight: normal;
}
.sans-serif{
    font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN', sans-serif,'Lucida Grande';
}
/*img
----------------------------------------*/
#special{
	position:relative;
	}
img{
	vertical-align:top;
	max-width: 100%;
	height: auto;
	width: 100%;
	}
a img{
	border:0;
	}
.contact .cont-left img{
	width: 40%;
}
@media screen and (min-width: 1024px){
	.contact .cont-left img{
		width: 20%;
	}
}
/*text-decoletion
----------------------------------------*/
area{
	border:none; outline:none; 
	}
h1{
	font-size: 24px;
    line-height: 1.4;
    letter-spacing: 0.2em;
}
h1.large{
	font-size: 28px;
}
h1.small{
	font-size: 18px;
}
h2{
	font-size: 18px;
	line-height: 1.45;
	font-weight: normal;
	margin-bottom: 2em;
	margin-top: 3em;
}
p{
	margin-bottom: 2em;
}

@media screen and (min-width: 1024px){
	h1{
		font-size: 32px;
	}
h1.large{
	font-size: 30px;
}
h1.small{
	font-size: 24px;
    }
	h2{
		font-size: 26px;
	}
	
}
.bold{
	font-weight: 700;
}
.underline{
	text-decoration: underline;
}
.marker-red{
	background: linear-gradient(transparent 0%, #f9e1e1 0%);
	display: inline;
}
.marker-blue{
	background: linear-gradient(transparent 0%, #d7deee 0%);
	display: inline;
}
.marker-green{
	background: linear-gradient(transparent 0%, #e1e9ea 0%);
	display: inline;
}

.blue{
	color:#385baa;
}
.green{
	color: #689198;
}
.red{
	color: #e16a6a;
}
.black{
	color: #000;
}
.large{
	font-size: 120%;
}
.small{
	font-size: 85%;
	display: inline-block;
    line-height: 1.8;
}
.note{
	font-size: 80%;
}
.sup {
	font-size: 60%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
.align-center{
	text-align: center;
}
.align-right{
	text-align: right;
}
ul,ol{
	padding-left: 0;
}
ul li,
ol li{
	list-style: none;
}
.photo{
    margin: 3rem auto;
}

.photo-10{
    width: 10%;
    margin: 3rem auto;
}
.photo-20{
    width: 20%;
    margin: 3rem auto;
}
.photo-30{
    width: 30%;
    margin: 3rem auto;
}
.photo-40{
    width: 40%;
   margin: 3rem auto;
}
.photo-50{
    width: 50%;
    margin: 3rem auto;
}
.photo-60{
    width: 60%;
    margin: 3rem auto;
}
.photo-70{
    width: 70%;
    margin: 3rem auto;
}
.photo-80{
    width: 80%;
    margin: 3rem auto;
}
.photo-90{
    width: 90%;
    margin: 3rem auto;
}

.width-50{
    width: 50%;
    margin: auto;
    max-width: 500px;
}
.width-80{
    width: 80%;
    margin: auto;
    max-width: 800px;
}
.width-90{
    width: 90%;
    margin: auto;
    max-width: 900px;
}
.ContentOver-box{
  padding: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
@media screen and (min-width: 1023px){
.ContentOver-box{
  padding: 0;
  margin: 0 -100px !important;
  width: calc(100% + 200px) !important;
}  
}
@media screen and (max-width: 1023px){
    .width-50,.width-80,.width-90{
        width: 85%;
        margin: auto;
    }
    .photo-70,.photo-60,.photo-50{
        width: 90%;
    }
}
/*-----TOP
----------------------------------------*/
.top {
	position: relative;
}
.header {
	width: 17%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background-color: #97a397;
}
.header h1 {
	display: block;
	width: 60%;
	margin: 0 auto;
	padding: 15% 0 0;
}
.menu {
	padding: 30px 0 40px;
}
.menu ul {
    list-style: none;
    width: 70%;
    margin: 0 auto;
    padding: 0;
}
.menu li {
	line-height: 2;
	letter-spacing: 0.2em;
    font-family: 'Jost', sans-serif;
}
.menu li a {
    color: #fff;
    text-decoration: none;
    margin-bottom: 1em;
    display: block;
    font-size: 18px;
}
.menu li span{
    font-size: 10px;
    display: block;
    line-height: 1;
}
.menu li.insta{
    margin-top: 3em;
}
.menu li.insta img{
    width: 20px;
}
a {
	text-decoration: none;
}
.menu_bottom {
    width: 80%;
    position: absolute;
    bottom: 20px;
    font-family: 'Jost', sans-serif;
    font-size: 16px;
    left: 10%;
}
.menu_bottom span{
    display: block;
    font-size: 10px;
}
.menu_bottom .contact,.sp_menu_bottom .contact {
	width: 100%;
	color: #97a397;
	background: #fff;
	margin: 0 auto;
	text-align: center;
	letter-spacing: 0.2ex;
	padding: 15px 0;
    
}
.menu_bottom .booking,.sp_menu_bottom .booking {
	width: 100%;
	color: #97a397;
	background: #fff;
	margin: 0 auto;
	text-align: center;
	letter-spacing: 0.2ex;
	padding: 15px 0;
    margin-bottom: 0.5rem;
}
.top_contents {
	width: 83%;
	height: auto;
	margin-left: 17%;
	text-align: center;
}
.contents {
	width: 83%;
	height: auto;
	margin-left: 17%;
	text-align: center;
    overflow: hidden;
}
.top_slide {
	width: 100%;
	height: 100vh;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	padding: 0;
	z-index: 1;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.top_txt {
	position: absolute;
	top: 40%;
	right: 0;
	left: 0;
	margin: 0 auto;
	z-index: 100;
	text-align: center;
	padding: 0;
	color: #fff;
	font-size: 4vw;
	letter-spacing: 0.2ex;
	padding-left: 5vw;
	text-shadow:2px 2px 5px #666;
}
.hamburger, .sp_menu_bottom {
	display: none;
}

@media screen and (max-width: 1023px){
	.header {
        width: 100%;
        height: 12vh;
        position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 999;
        }
	.header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: inherit;
		position: relative;
		}
	.header h1 {
		width: 10vmax;
		margin: 0;
		padding: 20px;
		}
	.header__nav {
		position: absolute;
		right: 0;
		top: 0;
		width: 80%;
		height: 100vh;
		transform: translateX(100%);
		background-color:rgba(175,192,178,0.97);
		transition: ease .4s;
		}
	.nav-items {
position: absolute;
    top: 3em;
    left: 50%;
    transform: translate(-50%, 0%);
    padding: 0;
		}
	/* ナビのリンク */
	.menu {
		padding: 0;
	}
	.menu li {
		color: black;
		width: 100%;
		display: block;
		text-align: center;
		font-size: 17px;
		line-height: 3;
		margin-bottom: 10px;
	}
	.menu li:last-child a {
		margin-bottom: 0;
	}

	/* ハンバーガーメニュー */
	.header__hamburger {
		width: 55px;
		height: 100%;
	
	}
	.hamburger {
		display: block;
		background-color: transparent;
		border-color: transparent;
		z-index: 9999;
		margin-right: 10px;
	}
	/* ハンバーガーメニューの線 */
	.hamburger span {
		width: 100%;
		height: 1px;
		background-color: #fff;
		position: relative;
		transition: ease .4s;
		display: block;
	}
	
	.hamburger span:nth-child(1) {
		top: 0;
	}
	
	.hamburger span:nth-child(2) {
		margin: 8px 0;
	}
	
	.hamburger span:nth-child(3) {
		top: 0;
	}
	
	
	/* ハンバーガーメニュークリック後のスタイル */
	.header__nav.active {
		transform: translateX(0);
	}
	
	.hamburger.active span:nth-child(1) {
		top: 5px;
		transform: rotate(45deg);
	}
	
	.hamburger.active span:nth-child(2) {
		opacity: 0;
	
	}
	
	.hamburger.active span:nth-child(3) {
		top: -13px;
		transform: rotate(-45deg);
	}



	.menu_bottom  {
        bottom: 30px;
		
	}
	.top_contents {
		width: 100%;
		height: auto;
		margin: 12vh auto 0;
		text-align: center;
	}
	.contents {
		width: 100%;
		height: auto;
		margin: 12vh auto 0;
		text-align: center;
	}
	.top_slide {
		height: calc(88vh - 100px);
	}
	.top_txt {
		position: absolute;
		top: 46%;
		font-size: 7vw;
	}
	.sp_menu_bottom {
		display: block;
		width: 100%;
		margin: 0 auto;
		color: #fff;
		letter-spacing: 0.3ex;
	}
    .sp_menu_bottom .booking,
    .sp_menu_bottom .contact{
         font-family: 'Jost', sans-serif;
        font-size: 20px;
    }
    .sp_menu_bottom .booking span,
    .sp_menu_bottom .contact span{
         display: block;
        font-size: 12px;
    }

}

/*-----footer
----------------------------------------*/
footer{
text-align: center;
    font-size: 90%;
    background: #434343;
    padding: 4em 0 1em;
    color: #fff;
}
footer li{
	display: inline-block;
}
footer li a{
	display: inline-block;
	padding: 5px;
	color: #fff;
    font-size: 11px;
}
footer a,footer a:link{
    color: #fff;
}
footer li:after{
    content: "|";
    display: inline-block;
    margin-left: 0.5em;
}
footer li:first-of-type:before{
    content: "|";
    display: inline-block;
    margin-right: 0.5em;
}
footer .copyright{
	font-size: 10px;
}

