@charset "UTF-8";
html{
 	font-size:62.5%;/*16px x 62.5%=10px=1rem*/
}
*{
	box-sizing: border-box;
}
body{
 	font-family:'Montserrat', 'Noto Sans JP', sans-serif;
 	color:#635245;
 	font-size: 1.6rem;
	font-feature-settings:"palt";
	letter-spacing: 0.025em;
	webkit-font-smoothing:antialiased;
	position:relative;
}
img{
 	max-width: 100%;
 	height: auto;
}
a{
	text-decoration: none;
	color:#635245;
}
iframe{
	width:100%;
}
p{
	line-height: 1.6;
}

/*-----------------
* utility
-------------------*/
.text-center{
	text-align: center;
}
.bg-cream{
	background-color: #f4ebbd;
}
.inner{
	padding:0 20px;
	margin:0 auto;
}
.uppercase{
	text-transform: uppercase;
}
.pc-only{
	display:none;
}
/*-----------------
* section
-------------------*/
.section-header{
	padding:55px 0 30px;
	display:flex;
	justify-content: center;
}
.section-header2{
	padding:55px 0 30px;
}
.section-header3{
	padding:30px 0 20px;
}
.section-lead{
	padding-bottom: 0;
}
.section-body{
	padding-bottom: 55px;
}
.section-body2{
	padding-bottom: 30px;
}
/*-----------------
* header
-------------------*/
.header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background-color: rgba(78,81,83,0.8);
	padding:25px 20px 28px;
	z-index: 50;
}
/*-----------------
* hero-image
-------------------*/
.hero-image-area{
	position:relative;
}
.hero-item{
	height: 100vh;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center;
}
.hero-item01{
	background-image: url(../image/home/home_main1.jpg);
}
.hero-item02{
	background-image: url(../image/home/home_main2.jpg);
}
.hero-item03{
	background-image: url(../image/home/home_main3.jpg);
}
.hero-item img{
	height: 100%;
	width: auto;
	max-width: auto;
}
.bx-wrapper {
	border: none!important;
}
@keyframes move{
	0%{
		bottom:100px;
	}
	50%{
		bottom:10px;
	}
	100%{
		bottom:100px;
	}
}
.scroll{
	position:absolute;
	bottom:100px;
	left:50%;
	transform:translate3d(-50%,0,0);
	width: 44px;
	animation-name:move;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-delay: 2s;
	animation-iteration-count: 3;
}


/*-----------------
* logo
-------------------*/
.logo{
	display:inline-block;
	width: 184px;		
}
.logo.header-logo{
	position:relative;
	z-index:110;
}
.logo.footer-logo{
	display:block;
	margin:0 auto;
	padding-bottom:30px;
}
/*-----------------
* navigation
-------------------*/

.btn-trigger{
	-webkit-appearance:none;
	appearance:none;
	position:fixed;
	top:24px;
	right:20px;
	z-index: 110;
	width: 40px;
	height: 20px;
	border:none;
	background-color: rgba(78,81,83,0);
}

.btn-trigger span{
	position:absolute;
	display: block;
	width: 28px;
	height: 1px;
	background-color: #fff;
	transition:all 0.5s;
}
.btn-trigger span:first-of-type{
	top:0;
	
}
.btn-trigger span:nth-of-type(2){
	top:9;
}
.btn-trigger span:last-of-type{
	bottom:0;
}

.btn-trigger.active span:first-of-type{
	transform:rotate(45deg);
	top:9px;
	
}

.btn-trigger.active span:nth-of-type(2){
	opacity:0;
	
}

.btn-trigger.active span:last-of-type{
	transform:rotate(-45deg);
	bottom:9px;
	
}

.header-nav {
	display: none;
}

.navigation{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	padding:143px 0 0;
	background-color: rgba(78,81,83,0.8);
	z-index: 100;

}

.nav-item{
	margin-bottom: 35px;
	
}
.nav-item:last-of-type{
	margin-bottom: 0;
}


.nav-item>a{
	color: #FFFFFF;
	font-size:1.5rem;
	text-transform:uppercase;	
}
.sns{
	font-size:3rem;
}

/*-----------------
* footer
-------------------*/
.footer{
	padding: 55px 0;
	background-color: #425a41;
}

.footer-nav-item{
	margin-bottom: 30px;
	font-size:1.5rem;
	text-transform: uppercase;
}

.footer-nav-item a{
	color:#fff;
}
.footer-nav-item:last-of-type{
	margin-bottom: 40px;
}
.copyright{
	display: block;
	color:#fff;
	font-size:1.1rem;
	line-height: 1.5;
}

/*-----------------
* title
-------------------*/
hr{
	width: 90px;
	height:3px;
	text-align:center;
	background-color:#eab71b;
	border:none;
	margin-top:3px;
}
.section-title{
	font-size:2rem;
	text-transform:uppercase;
	padding:0 10px 0;
}

.section-header .olive{
	width: auto;
	height: 25px;
}
.part-title{
	display:inline-block;
	font-size:1.6rem;
	line-height: 1.6;
	color:#fff;
	background-color: #990e12;
	border-radius: 3px;
	padding:2px 4px;
	margin-bottom:20px;
}
.news-title{
	line-height: 1.6;
}
.text-title{
		text-align:center;
	}
.topic-title{
	line-height: 1.6;
	padding-top:10px;
	padding-bottom: 20px;
}
.topic-title:last-of-type{
	margin-bottom: 30px;
}

/*-----------------
* btn
-------------------*/
.btn{
	position:relative;
	display:inline-block;
	font-size:1.8rem;
	color:#fff;
	text-transform: uppercase;
	background-color:#425a41;
	border-radius:3px;
	padding:8px 36px 8px 16px;
	margin-top: 15px;
}
.btn a{
	color: #fff;
}
@keyframes move2{
	0%{
		right:5px;
	}
	50%{
		right:15px;
	}
	100%{
		right:5px;
	}
}

.btn::after{
	display:inline-block;
	position:absolute;
	background: url("../image/common/link-arrow.svg")no-repeat center center;
	width: 28px;
	height: 28px;
	content:"";
	animation-name:move2;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
}

/*-----------------
* link
-------------------*/
.link-to-page{
	margin-bottom: 30px;
}

/*-----------------
* topic
-------------------*/
.topic-img{
	position:relative;
}
.img-caption{
	position:absolute;
	width:100%;
	bottom: 30px;
	left: 0;
	color:#fff;
	text-transform: uppercase;
}
.img-caption::after{
	display:inline-block;
	background:url("../image/common/link-arrow.svg")no-repeat center center;
	width: 30px;
	height: 12px;
	vertical-align: middle;
	content:"";
}

/*-----------------
* text
-------------------*/
.body-text{
	font-size:1.4rem;
	padding-bottom: 30px;
}
.underline{
	border-bottom:solid 1px #635245;
}

.sp-30{
	margin-bottom: 30px;
}
.bold{
	font-weight: 500;
}


/*-----------------
* menu
-------------------*/
.menu-item{
	margin-bottom: 30px;
}

.menu-details{
	font-size:1.4rem;
	line-height: 1.3;
	padding-top:5px;
}
.menu-title{
	line-height: 1.6;
	font-weight:500;
}
.menu-notes{
	font-size:1.4rem;
}
.lead-text{
	margin-bottom: 10px;
}
.lead-text-en{
	font-size:1.4rem;
	padding-bottom: 30px;
	line-height: 1.3;
}
/*-----------------
* map
-------------------*/
.map-area{
	position:relative;
	padding-top: 100%;
}
.map{
	position:absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}
.flex-container{
	padding: 0;
	display: block;
}


@media screen and (min-width:768px){
/*-----------------
* utility
-------------------*/	
	a:hover{
		opacity:0.6;
	}
	.inner{
		max-width: 700px;
		padding: 0;
		margin: 0 auto;
	}
	.pc-only{
		display: block;
	}
	.sp-only{
		display: none;
	}
	.sp-90{
		padding-left: 90px;
	}
	.sp-80{
		margin-bottom: 80px;
	}
	.pc-only .w100{
		width: 100%;
	}
/*-----------------
* header
-------------------*/	
.header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	}
	
.header-nav {
	display: block;
}
	
.btn-trigger {
	display: none;
}
	
.navigation {
	position: relative;
  top: auto;
  left: auto;
  width: 100%;
  height: auto;
  padding: 0;
  background-color: rgba(78,81,83,0);
}
	
	.nav-list {
		display: flex;
	}
	
	.nav-item {
		margin: 0 20px 0 0;
	}
	.nav-item:hover{
		text-decoration: underline;
		text-decoration-color: #fff;
	}


	/*-----------------
* btn
-------------------*/	
	.btn{
	font-size:2rem;
	padding:8px 85px 8px 75px;
	margin-top: 15px;
	}
	
	.btn::after{
	height: 32px;
}
	
	
/*-----------------
* section
-------------------*/
		
.section-header{
	padding:80px 0 45px;
}
.section-header2{
	padding:80px 0 45px;
}
.section-header3{
	padding:45px 0 30px;
	text-align: left;
}
.section-body{
	padding-bottom: 80px;
}
.section-body2{
	padding-bottom: 45px;
}	


/*-----------------
* title
-------------------*/
	hr{
	width: 130px;
	height:5px;
}
	.section-title{
		font-size:2.6rem;
	}	
  .section-header .olive{
	height: 30px;
}
	.text-title{
		font-size:1.8rem;
		text-align:left;
	}
/*-----------------
* text
-------------------*/		
	.text-left{
		text-align: left;
	}	
	.body-text{
		font-size:1.6rem;
	}
	.body-text:first-of-type{
		padding-top: 0;
	}
	.lead-text-en{
		padding-bottom: 45px;
	}
	
/*-----------------
* topic
-------------------*/

.topic-img::after{
	position:absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.9));
	z-index: 10;
	opacity: 0;
	transition: .2s all;
}

.topic-img:hover::after {
	opacity: 1;
}


.img-caption{
	position:absolute;
	width:100%;
	bottom: 0px;
	left: 0;
	color:#fff;
	text-transform: uppercase;
	z-index: 20;
	transition: .2s all;
	opacity: 0;
}

.topic-img:hover .img-caption{
	bottom: 30px;
	opacity: 1;
}
	
	.topic-item{
		padding-right: 20px;
	}
	.topic-item:last-of-type{
		padding-right: 0;
	}
	
/*-----------------
* flex-box
-------------------*/		
	.flex-container{
		display: flex;
		justify-content: space-between;
	}
	.align-center{
		align-items: center;
	}
	.row-reverse{
		flex-direction: row-reverse;
	}
	.flex-container2{
		display: flex;
	}
	.flex-container2.sp-30:last-of-type{
		margin-bottom: 50px;
	}
	.flex-text{
		width: 73%;
		padding-left: 90px;
	}
	
/*-----------------
* news
-------------------*/		
	.news-title{
		padding: 0;
		margin-bottom: 0;
		text-align: left;
	}
	.news-title:last-of-type{
		margin-bottom: 0;
	}
	.part-title{
		margin-right: 30px;
		align-self: flex-start;
	}
/*-----------------
* illustration
-------------------*/	
.basil{
	background-image: url("../image/common/Basil_glay.png");
	background-size: 60%;
	background-repeat:no-repeat;
	background-position: 5% 80%;
	}
	
.rosemary-basil{
	background-image: url("../image/common/Rosemary_glay.png"),url("../image/common/Basil_glay.png");
	background-size: 60%, 50%;
	background-repeat:no-repeat, no-repeat;
	background-position: right 80%, left 60%;	
	}	

/*-----------------
* map
-------------------*/
.map-area{
	display:block;
	position:relative;
	width:70%;
	padding-top: 40%;
	margin-left:70px;
}	
/*-----------------
* footer
-------------------*/
	.logo.footer-logo{
		margin:0;
		padding-bottom: 0;
}
	.footer-nav-item{
		margin-bottom: 0;
		margin-right:20px;
	}
	.footer-nav-item:last-of-type{
	margin-bottom: 0;
	}
	
}

@media screen and (min-width:960px){
	.inner{
		max-width: 960px;
		
	}
}
	


