@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 200;
  vertical-align: baseline;
  color: #000;
  box-sizing: border-box;
  letter-spacing: 0;
}

html {
	font-size: 62.5%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul,
li {
  list-style: none;
}

body {
  /*font-size: 1.6rem;
  line-height: 1.8;*/
  font-style: normal;
  position: relative;
  overflow-x: hidden;
}

.en_font {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 700;
}

a {
  text-decoration: none;
  color: #000000;
}

a:hover {
  cursor: pointer;
}

.pointer-none {
  pointer-events: none;
}

.tc{
	text-align: center;
}

.br767{
	display: none;
}
.flex_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
img {
  max-width: 100%;
  height: auto;
}

.mv_base {
  opacity: 0;
  transition-delay: 0.3s;
  transition-duration: 2s;
  transform: translate(0, 15px);
  -webkit-transform: translate(0, 30px);
}

.mv {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
@media (max-width: 767px) {
	.br767{
		display: block;
	}

}


/*fv*/
.fv{
	height: 100vh;
	width: 100%;
	position: relative;
	background-color: #eee;
	background: url(../images/main.jpg) no-repeat center;
	background-size: cover;
}
.overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	z-index: 3000;
}
header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 500;
	padding: 30px 35px;
}
header.scroll{
	background-color: #fff;
	box-shadow: 0 5px 7px #ddd;
}
header .scroll_logo{
	opacity: 0;
	transition: .3s;
	position: absolute;
	left: 40px;
	top: 22px;
	width: 100px;
	height: auto;
}
header.scroll .scroll_logo{
	opacity: 1;
}
header .header_col{
	justify-content: flex-end!important;
}
.gmenu{
	margin-right: 90px;
}
.gmenu li{
	margin-right: 30px;
}
.gmenu li:last-child{
	margin-right: 0px;
}
.gmenu li a{
	font-size: 14px;
	font-family: 'Josefin Sans', sans-serif;
	color: #818181;
	letter-spacing: 0.4rem;
}
.sns{
	margin-right: 30px;
}
.sns li{
	width: 18px;
	height: 18px;
}
.sns li:first-child{
	margin-right: 10px;
}
.lang li{
	position: relative;
}
.lang li:first-child{
	padding-right: 1rem;
	margin-right: 1rem;
}
.lang li:first-child::after{
	content: "/";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	font-size: 14px;
	font-family: 'Josefin Sans', sans-serif;
	color: #818181;
}
.lang a{
	font-size: 14px;
	font-family: 'Josefin Sans', sans-serif;
	color: #818181;
	letter-spacing: 0.4rem;
}
.logo{
	display: none;
	width: 270px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}


/*スクロールダウン全体の場所*/
.scrolldown{
    /*描画位置※位置は適宜調整してください*/
    position:absolute;
    left:50%;
    bottom: -20px;
    /*全体の高さ*/
    height:120px;
}
.scrolldown .fv_text{
	width: 200px;
	position: absolute;
	bottom: 120px;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
  -webkit- transform: translateY(0%) translateX(-50%);
}
.scrolldown h2{
	font-size: 22px;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.3rem;
	color: #fff;
}
.scrolldown p{
	font-size: 20px;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.3rem;
	margin: 10px 0;
	color: #fff;
}

/*Scrollテキストの描写*/
.scrolldown span{
    /*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
    /*テキストの形状*/
	color: #ddd;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 120px;
	background: #ddd;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 2s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:80px;
		opacity: 1;
	}
	100%{
		height:0;
		top:120px;
		opacity: 0;
	}
}
.sp_menu{
	position: fixed;
	z-index: 2000;
	background-color: rgba(255, 255, 255, .95);
	width: 100%;
	height: 100%;
	top: 0;
	right: -120%;
	transition: all 1.5s;
}
.active .sp_menu{
	right:0%;
}
@media (max-width: 1199px) {
	.gmenu{
		margin-right: 70px;
	}
	.gmenu li{
		margin-right: 25px;
	}
	.sns{
		margin-right: 25px;
	}
	.logo{
		width: 220px;
	}
	.scrolldown .fv_text h2{
		font-size: 20px;
	}
	.scrolldown .fv_text p{
		font-size: 17px;
	}
}
@media (max-width: 991px) {
	.gmenu{
		margin-right: 40px;
	}
	.gmenu li{
		margin-right: 20px;
	}
	.gmenu li a{
		letter-spacing: 0.3rem;
	}
	.sns{
		margin-right: 20px;
	}
	.logo{
		width: 200px;
	}
	.scrolldown .fv_text h2{
		font-size: 18px;
	}
	.scrolldown .fv_text p{
		font-size: 16px;
	}
}
@media (max-width: 800px) {
	header .gmenu{
		display: none;
	}
	header .sns{
		display: none;
	}
	header .lang{
		margin-right: 35px;
		transition: .3s;
	}
	.active header .lang{
		opacity: 0;
	}
	.logo{
		width: 180px;
	}
	.header_col{
		align-items: flex-start;
	}


	.hamburger {
		margin-left: 15px;
    display: inline-block;
    width: 26px;
    height: 18px;
    position: fixed;
    top: 30px;
    right: 30px;
    caret-color: transparent;
    cursor: pointer;
    z-index: 2500;
	}

	.hamburger span {
	  display: inline-block;
	  -webkit-transition: all .4s;
	  transition: all .4s;
	  /*アニメーションの設定*/
	  position: absolute;
	  width: 100%;
	  height: 1px;
	  left: 50%;
	  -webkit-transform: translateX(-50%);
	          transform: translateX(-50%);
	  background: #818181;
	}

	.hamburger span:nth-of-type(1) {
	  top: 0;
	}

	.hamburger span:nth-of-type(2) {
	  top: 10px;
	  top: 0.625rem;
	}

	.hamburger span:nth-of-type(3) {
	  top: 20px;
	  top: 1.25rem;
	}

	.active .hamburger span:nth-of-type(1) {
	  top: 0;
	  left: 0;
	  -webkit-transform: translateY(0.5125rem) rotate(-30deg);
	          transform: translateY(0.5125rem) rotate(-30deg);
	}

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

	.active .hamburger span:nth-of-type(3) {
	  top: 0;
	  left: 0;
	  -webkit-transform: translateY(0.5125rem) rotate(30deg);
	          transform: translateY(0.5125rem) rotate(30deg);
	}

	.sp_menu .sp_inner{
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translateY(-50%) translateX(-50%);
  	-webkit- transform: translateY(-50%) translateX(-50%);
	}
	.sp_menu h1{
		margin: 0 auto 70px;
		width: 130px;
	}
	.sp_menu .gmenu li{
		margin-bottom: 50px;
	}
	.sp_menu .gmenu li a{
		font-size: 15px;
	}
	.sp_menu .sns li{
		width: 30px;
		height: 30px;
	}
	.sp_menu a{
		font-size: 15px;
	}

}
@media (max-width: 767px) {
	.logo{
		width: 180px;
	}
}



/*common*/
.container{
	max-width: 1040px;
	margin: 0 auto;
	padding-left: 30px;
	padding-right: 30px;
}
article{
	background: url(../images/bgimg.jpg);
}
article p{
	font-size: 14px;
	line-height: 33px;
	color: #666;
	letter-spacing: 0.3rem;
}
.ttl{
	font-size: 25px;
	font-weight: 400;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.6rem;
	color: #666;
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 25px;
}
.ttl::after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 16px;
	height: 1px;
	background-color: #333;
	left: 0;
}
.ttl.tc::after{
	left: 50%;
	margin-left: -8px;
}
.ptb{
	padding-top: 140px;
	padding-bottom: 140px;
}
.bgphoto{
	width: 100%;
	height: 350px;
}
.bgphoto.img01{
	background: url(../images/img01.jpg) no-repeat center;
	background-size: cover;
}
.bgphoto.img02{
	background: url(../images/img02.jpg) no-repeat center;
	background-size: cover;
}
@media (max-width: 991px) {
	article p{
		letter-spacing: 0.2rem;
	}
	.ttl{
		font-size: 22px;
		letter-spacing: 0.4rem;
		padding-bottom: 15px;
	}
	.ptb{
		padding-top: 110px;
		padding-bottom: 110px;
	}
	.bgphoto{
		height: 300px;
	}
}
@media (max-width: 767px) {
	article p{
		letter-spacing: 0.15rem;
	}
	.ptb{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.bgphoto{
		height: 60vw;
	}
}



/*greeting*/
.greeting h2{
	font-size: 14px;
	line-height: 32px;
	color: #666;
	letter-spacing: 0.2rem;
	text-align: center;
	margin-bottom: 15px;
}
.greeting p{
	text-align: center;
}
.greeting .mt{
	margin-top: 50px;
}
@media (max-width: 767px) {
	.greeting .mt{
		margin-top: 20px;
	}
}


/*menu*/
.menu p{
	text-align: center;
}
.menu ul{
	justify-content: center;
	align-items: flex-start;
	margin: 50px 0;
}
.menu li{
	width: 360px;
	margin: 0 30px;
}
.menu li:last-child{
	padding-top: 50px;
}
@media (max-width: 767px) {
	.menu ul{
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 30px 0;
	}
	.menu li{
		width: 70vw;
		max-width: 300px;
		margin: 0 10px;
	}
	.menu li:last-child{
		padding-top: 30px;
		margin-left: auto;
	}
}


/*profile*/
.profile{
	background-color: #9d9b99;
}
.profile .ttl{
	color: #fff;
}
.profile .ttl::after{
	background-color: #fff;
}

.profile .flex_inner{
	align-items: flex-start;
}
.profile figure{
	width: 48%;
	padding-right: 80px;
}
.profile .profile_text{
	width: 52%;
}
.profile .profile_inner{
	width: 70%;
}
.profile h2,
.profile p{
	color: #fff;
}
.profile h2{
	font-size: 17px;
	border-bottom: 1px solid #fff;
	letter-spacing: 0.3rem;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.profile p{
	font-size: 12px;
	line-height: 26px;
	margin-bottom: 25px;
}
.profile li{
	border-bottom: 1px solid #fff;
	padding: 12px 0;
}
.profile li:last-child{
	border-bottom: none;
}
.profile dl{
	display: flex;
	flex-wrap: wrap;
}
.profile dt{
	width: 32%;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.15rem;
}
.profile dd{
	width: 68%;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.15rem;
}
.profile .last{
	margin-top: 100px;
	flex-direction: row-reverse;
}
.profile .last h2 .inner{
	width: 70%;
	color: #fff;
	font-size: 17px;
	letter-spacing: 0.3rem;
}
.profile .last figure{
	padding-right: 0px;
	margin-left: auto;
}
.profile .last figure div{
	padding-left: 80px;
}
.profile .last .profile_text .flex_inner{
	justify-content: flex-end;
}
@media (max-width: 1299px) {
	.profile figure{
		width: 45%;
		padding-right: 70px;
	}
	.profile .profile_text{
		width: 55%;
	}
	.profile dt{
		width: 35%;
		letter-spacing: 0.1rem;
	}
	.profile dd{
		width: 65%;
		letter-spacing: 0.1rem;
	}
}
@media (max-width: 1199px) {
	.profile figure{
		width: 43%;
		padding-right: 50px;
	}
	.profile .profile_inner{
		width: 80%;
	}
	.profile .profile_text{
		width: 57%;
	}
	.profile .last h2 .inner{
		width: 80%;
	}
	.profile .last figure div{
		padding-left: 50px;
	}
}
@media (max-width: 991px) {
	.profile figure{
		width: 40%;
		padding-right: 40px;
	}
	.profile .profile_inner{
		width: 90%;
	}
	.profile .profile_text{
		width: 60%;
	}
	.profile h2{
		font-size: 15px;
		letter-spacing: 0.2rem;
		padding-bottom: 10px;
	}
	.profile p{
		letter-spacing: 0.15rem;
	}
	.profile dt{
		letter-spacing: 0.05rem;
		font-size: 11px;
	}
	.profile dd{
		letter-spacing: 0.05rem;
		font-size: 11px;
	}
	.profile .last h2 .inner{
		width: 90%;
	}
	.profile .last figure div{
		padding-left: 40px;
	}
}
@media (max-width: 767px) {
	.profile .profile_col{
		display: block;
	}
	.profile figure{
		width: 85%;
		padding-right: 0px;
	}
	.profile .profile_text{
		width: 100%;
		padding-left: 30px;
		margin-top: 20px;
	}
	.profile h2{
		font-size: 17px;
		line-height: 27px;
	}
	.profile p{
		font-size: 14px;
		line-height: 24px;
		letter-spacing: 0.4rem;
	}
	.profile .profile_inner{
		width: 100%;
		padding-right: 30px;
	}
	.profile dt{
		letter-spacing: 0.2rem;
		font-size: 12px;
	}
	.profile dd{
		letter-spacing: 0.2rem;
		font-size: 12px;
	}
	.profile .last figure div{
		padding-left: 0;
	}
	.profile .last .profile_text{
		padding-left: 0;
		padding-right: 30px;
	}
	.profile .last h2 .inner{
		width: 100%;
		padding-left: 30px;
	}
	.profile .last .profile_inner{
		padding-right: 0;
		padding-left: 30px;
	}
}



/*information*/
.information li{
	border-bottom: 1px solid #666;
	padding: 20px 0;
}
.information li:last-child{
	border: none;
}
.information li a{
	text-decoration: underline;
	letter-spacing: 0.3rem;
}
.information dl{
	display: flex;
	flex-wrap: wrap;
}
.information dt,
.information dd{
	font-size: 14px;
	line-height: 32px;
	color: #666;
	letter-spacing: 0.3rem;
}
.information dt{
	width: 15%;
}
.information dd{
	width: 85%;
}
@media (max-width: 767px) {
	.information{
		padding-bottom: 40px;
	}
	.information dt{
		width: 33%;
	}
	.information dd{
		width: 67%;
	}
}


.googlemap{
	width: 100%;
	height: 280px;
	background-color: #ccc;
	position: relative;
	background-color: #818181;
}
.googlemap iframe{
	width: 100%;
	height: 280px;
	opacity: .5;
}
@media (max-width: 767px) {
	.googlemap{
		height: 60vw;
	}
	.googlemap iframe{
		height: 60vw;
	}
}



/*footer*/
footer{
	background-color: #e9e9e9;
}
footer>.flex_inner{
	padding: 70px 100px;
}
footer h1{
	width: 180px;
}
footer li a{
	font-weight: 400;
}
footer .gmenu{
	margin-right: 0;
}
footer .sns_lang{
	justify-content: flex-end;
	margin-bottom: 25px;
}
footer .sns,
footer .lang{
	justify-content: flex-end;
}
footer .sns_sp{
	display: none;
}
.copyright{
	background-color: #fff;
	text-align: center;
	padding: 20px 0;
	font-size: 11px;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: .1rem;
	color: #818181;
}
@media (max-width: 1199px) {
	footer>.flex_inner{
		padding: 60px;
	}
	footer h1{
		width: 160px;
	}
}
@media (max-width: 991px) {
	footer>.flex_inner{
		padding: 60px 30px;
	}
	footer h1{
		width: 130px;
	}
	footer .sns_lang{
		margin-bottom: 20px;
	}
}
@media (max-width: 767px) {
	footer>.flex_inner{
		display: block;
		padding: 35px 30px 15px;
	}
	footer h1{
		margin: 0 auto;
	}
	footer .sns_lang{
		margin: 30px 0;
	}
	footer .sns_lang .sns{
		display: none;
	}
	footer .sns_sp{
		display: block;
	}
	footer .sns,
	footer .lang{
		width: 100%;
		justify-content: center;
	}
	footer .lang a{
		font-weight: 300;
	}
	footer .sns li{
		width: 30px;
		height: 30px;
	}
	footer .sns li:first-child {
	    margin-right: 40px;
	}
	footer .gmenu{
		flex-wrap: wrap;
		padding: 0 30px;
		margin-top: 30px;
	}
	footer .gmenu li{
		margin-right: 0;
		margin-bottom: 20px;
	}
	footer .gmenu li a{
		position: relative;
		padding-right: 3rem;
		font-weight: 300;
	}
	footer .gmenu li a::after{
		content: "｜";
		display: block;
		position: absolute;
		right: 0;
		top: -4px;
		font-size: 14px;
	}
	footer .gmenu li:nth-child(3) a,
	footer .gmenu li:nth-child(5) a{
		padding-right: 0;
	}
	footer .gmenu li:nth-child(3) a::after,
	footer .gmenu li:nth-child(5) a::after{
		display: none;
	}
	footer .gmenu li:nth-child(4) a{
		padding-right: 4rem;
	}
}


/*20241118*/
.menu_omakase{
	display: flex;
	justify-content: center;
}
.menu_omakase p{
	margin: 0	10px;
}
.information dd p:first-child{
	margin-bottom: 10px;
}
@media (max-width: 767px) {
	.menu_omakase{
		display: block;
	}
}
