*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

/* ヘッダー */

.header{
background:#F8E8D5;
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
}

.header-inner{
max-width:1100px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
padding:15px 20px;
}

/* ロゴ */

.logo img{
height:80px;
}

/* メニュー */

.nav ul{
display:flex;
align-items:center;
list-style:none;
gap:40px;
}

.nav a{
text-decoration:none;
color:#333;
font-size:15px;
letter-spacing:0.1em;
}

/* Instagram */

.insta i{
font-size:40px;
}

/* スマホ ☰ */

.menu-btn{
display:none;
font-size:28px;
cursor:pointer;
}


/* スマホ */

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

	.logo img{
height:40px;
}
	
.header{
height:60px;
padding:0 15px;
}

.nav{
display:none;
position:absolute;
top:60px;
left:0;
width:100%;
background:#F8E8D5;
}

.nav ul{
flex-direction:column;
text-align:center;
gap:20px;
padding:20px 0;
}

.menu-btn{
display:block;
}

.nav.active{
display:block;
}
.fv{
margin-top:60px;
}
}



.fv{
margin-top:120px;
overflow:hidden;
}

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

.header{
height:60px;
}

.header-inner{
padding:5px 15px;
}

.fv{
margin-top:60px;
}

}

.fv picture img{
width:100%;
display:block;

/* アニメーション */
opacity:0;
transform:scale(1.05);

animation:fvFade 1.8s ease forwards;
}


/* アニメーション */

@keyframes fvFade{

0%{
opacity:0;
transform:scale(1.05);
}

100%{
opacity:1;
transform:scale(1);
}

}








.concept{
padding:120px 20px;
text-align:center;
}

.concept-title{
font-size:24px;
margin-bottom:20px;
}

.concept-text{
max-width:600px;
margin:0 auto 60px;
line-height:1.4;
	letter-spacing:0.05em;
}




/* 偉人写真 */

.concept-people{
display:flex;
justify-content:center;
gap:20px;
margin-top:20px;
}

.concept-people img{
width:240px !important;
height:240px !important;
object-fit:cover;
border-radius:50%;
}

@media(max-width:768px){

.concept-people{
gap:20px;
}

	.concept-people img{
width:120px !important;
height:120px !important;
object-fit:cover;
border-radius:50%;
}
	
.concept-title{
font-size:20px;
}

.concept-text{
font-size:14px;
}

p{
font-size:14px;
}
	
	
}

.concept{
padding:120px 20px;
text-align:center;

background-image:linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)),url("../images/tyuusei.jpeg");
background-size:cover;
background-position:center;
}


.concept{
color:white;
}


.fade-up{
opacity:0;
transform:translateY(40px);
transition:1s;
}

.fade-up.show{
opacity:1;
transform:translateY(0);
}




/* MENU */

.menu{
padding:120px 20px;
text-align:center;
background:#fff;
}

.menu-title{
font-size:28px;
margin-bottom:60px;
}

.menu-list{
display:flex;
justify-content:center;
gap:40px;
flex-wrap:wrap;
}

.menu-item{
width:250px;
}

.menu-item img{
width:100%;
border-radius:10px;
margin-bottom:15px;
}

.menu-item h3{
font-size:18px;
margin-bottom:10px;
}

.menu-item p{
font-size:14px;
color:#555;
}

/* メニューボタン */

.menu-more{
margin-top:50px;
}

.menu-more a{
display:inline-block;
padding:12px 30px;
border:1px solid #333;
text-decoration:none;
color:#333;
transition:0.3s;
}

.menu-more a:hover{
background:#333;
color:#fff;
}




@media(max-width:768px){

.menu-list{
flex-direction:column;
align-items:center;
}

}


.fade-up{
opacity:0;
transform:translateY(40px);
transition:1s;
}

.fade-up.show{
opacity:1;
transform:translateY(0);
}



/* NEWS */

.news{
padding:120px 20px;
background:#F4EFEA;
}

.news-title{
text-align:center;
font-size:28px;
margin-bottom:60px;
}

.news-item{
max-width:800px;
margin:auto;
display:flex;
align-items:center;
gap:30px;
text-decoration:none;
color:#333;
}

.news-img img{
width:200px;
border-radius:8px;
}

.news-date{
font-size:14px;
color:#777;
margin-bottom:8px;
}

.news-head{
font-size:18px;
}

/* hover */

.news-item:hover{
opacity:0.7;
}


@media(max-width:768px){

.news-item{
flex-direction:column;
text-align:center;
}

.news-img img{
width:100%;
max-width:300px;
}

}

html{
scroll-behavior:smooth;
}




/* ACCESS */

.access{
padding:120px 20px;
text-align:center;
background:#fff;
}

.access-title{
font-size:28px;
margin-bottom:60px;
}

.access-map{
max-width:900px;
margin:auto;
}

.access-map iframe{
width:100%;
height:400px;
border-radius:10px;
}

.access-info{
margin-top:25px;
font-size:16px;
color:#555;
letter-spacing:0.05em;
}


/* 予約セクション */

.reserve-cta{
padding:120px 20px;
text-align:center;
background:#efe9e3;
}

.reserve-cta h2{
font-size:28px;
margin-bottom:20px;
}

.reserve-cta p{
margin-bottom:30px;
line-height:1.8;
}

.reserve-btn{
display:inline-block;
padding:14px 40px;
background:#c9a96e;
color:#fff;
text-decoration:none;
border-radius:30px;
font-weight:bold;
transition:0.3s;
}

.reserve-btn:hover{
transform:translateY(-3px);
background:#a8894f;
box-shadow:0 8px 20px rgba(0,0,0,0.15);
}


/* FOOTER */

.footer{
padding:100px 20px;
text-align:center;
color:#fff;

background-image:
linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)),
url("../images/gaikan.png");

background-size:cover;
background-position:center;
}

.footer-inner{
max-width:800px;
margin:auto;
}

.footer-logo img{
height:240px;
margin-bottom:30px;
}

.footer-address{
line-height:1.8;
margin-bottom:15px;
}

.footer-time{
margin-bottom:30px;
}

.footer-sns i{
font-size:30px;
margin-bottom:40px;
}

.footer-sns a{
color:white;
}

.footer-copy{
font-size:14px;
opacity:0.8;
}








/* キャンペーンバー */

.campaign-bar{
background:#3b2a22;
color:#fff;
text-align:center;
font-size:14px;
padding:8px 10px;
letter-spacing:0.05em;
}

.campaign-bar span{
color:#ffd700;
font-weight:bold;
}

.campaign-bar span{
animation:flash 1.5s infinite;
}

@keyframes flash{
0%{opacity:1;}
50%{opacity:0.5;}
100%{opacity:1;}
}

/* LPヘッダー */

.lp-header{
background:#F8E8D5;
position:sticky;
top:0;
z-index:1000;
}

.lp-header .logo img{
height:80px;
}

.lp-header-inner{
max-width:1100px;
margin:auto;
padding:15px 20px;

display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
}

.follow-btn{
display:flex;
align-items:center;
gap:8px;

background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);

color:#fff;
text-decoration:none;
	

padding:10px 20px;
border-radius:30px;
font-size:14px;
font-weight:bold;

transition:0.3s;
	
}

.follow-btn:hover{
transform:translateY(-2px);
opacity:0.9;
}

/* スマホ */

@media (max-width:768px){

.lp-header-inner{
padding:10px 15px;
}

.lp-header .logo img{
height:30px;
}

.follow-btn{
font-size:8px;
padding:8px 14px;
}

.campaign-bar{
font-size:12px;
padding:6px;
}

}



/* LPファーストビュー */

.lp-fv img{
width:100%;
display:block;
}

/* フォローエリア */

.follow-area{
text-align:center;
padding:60px 20px;
background:#F8E8D5;
}

.follow-text{
font-size:22px;
margin-bottom:25px;
}

.follow-text span{
color:#c40000;
font-weight:bold;
}

.follow-big{
display:inline-flex;
align-items:center;
gap:10px;

background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);

color:white;
text-decoration:none;
padding:14px 35px;
border-radius:30px;
font-weight:bold;
font-size:16px;
	animation:followPulse 2s infinite;
}



@media (max-width:768px){

.follow-text{
font-size:18px;
}

.follow-big{
font-size:14px;
padding:12px 25px;
}

}




.lp-fv img{
width:100%;
display:block;

opacity:0;
transform:scale(1.05);

animation:fvFade 2s ease forwards;
}

@keyframes fvFade{

0%{
opacity:0;
transform:scale(1.05);
}

100%{
opacity:1;
transform:scale(1);
}

}





.follow-area{
text-align:center;
padding:60px 20px;
background:#F8E8D5;

opacity:0;
transform:translateY(30px);

animation:followFade 1s ease forwards;
animation-delay:1.5s;
}

@keyframes followFade{

0%{
opacity:0;
transform:translateY(30px);
}

100%{
opacity:1;
transform:translateY(0);
}

}



/* OPEN告知 */

.open-info{
text-align:center;
padding:120px 20px;
background:#fff;
}

.open-title{
font-size:28px;
letter-spacing:0.2em;
margin-bottom:20px;
}

.open-date{
font-size:40px;
font-weight:bold;
margin-bottom:30px;
}

.open-text{
max-width:600px;
margin:auto;
line-height:2;
}



@media(max-width:768px){

.open-date{
font-size:30px;
}

.open-text{
font-size:14px;
}

}





/* LP CONCEPT */

.lp-concept{
padding:120px 20px;
background:#f9f6f2;
}

.concept-title{
text-align:center;
font-size:28px;
margin-bottom:60px;
}

.concept-inner{
max-width:1100px;
margin:auto;

display:flex;
align-items:center;
gap:60px;
}

.concept-text{
flex:1;
line-height:2;
}

.concept-text h3{
font-size:22px;
margin-bottom:20px;
}

.concept-images{
flex:1;

display:flex;
gap:20px;
justify-content:center;
}

.concept-images img{
width:120px;
height:120px;

object-fit:cover;
border-radius:50%;
}




@media(max-width:768px){

.concept-inner{
flex-direction:column;
text-align:center;
}

.concept-images img{
width:100px;
height:100px;
}

	
	.concept-title{
font-size:22px;
}

.concept-text h3{
font-size:18px;
}

.concept-text{
font-size:14px;
}
	
	.concept-text{
line-height:1.8;
}
	
}




/* LP MENU */

.lp-menu{
padding:120px 20px;
text-align:center;
background:#fff;
}

.menu-title{
font-size:28px;
margin-bottom:60px;
}

.menu-list{
max-width:1100px;
margin:auto;

display:flex;
justify-content:center;
gap:40px;
}

.menu-item{
width:300px;
}

.menu-item img{
width:100%;
border-radius:10px;
margin-bottom:20px;
}

.menu-item h3{
font-size:20px;
margin-bottom:10px;
}

.menu-item p{
font-size:14px;
line-height:1.8;
color:#555;
}



@media(max-width:768px){

.menu-list{
flex-direction:column;
align-items:center;
}

.menu-item{
width:90%;
}

}




/* Instagramフォロー */

.follow-section{
padding:120px 20px;
text-align:center;
background:#f8f5f2;
}

.follow-title{
font-size:32px;
margin-bottom:30px;
}

.follow-title span{
color:#e1306c;
}

.follow-text{
line-height:1.8;
margin-bottom:40px;
}

/* 大きいフォローボタン */

.follow-big-btn{
display:inline-flex;
align-items:center;
gap:10px;

padding:16px 40px;

background:linear-gradient(
45deg,
#f09433,
#e6683c,
#dc2743,
#cc2366,
#bc1888
);

color:#fff;
text-decoration:none;
font-weight:bold;

border-radius:50px;

font-size:18px;

transition:0.3s;
}

.follow-big-btn:hover{
transform:translateY(-3px);
opacity:0.9;
}


.follow-big-btn{
animation:followPulse 2s infinite;
}

@keyframes followPulse{

0%{transform:scale(1);}
50%{transform:scale(1.05);}
100%{transform:scale(1);}

}



/* LP ACCESS */

.lp-access{
padding:120px 20px;
text-align:center;
background:#fff;
}

.access-title{
font-size:28px;
margin-bottom:50px;
}

.access-map{
max-width:900px;
margin:0 auto 40px;
}

.access-info h3{
font-size:20px;
margin-bottom:10px;
}

.access-info p{
line-height:1.8;
}


/* LP 予約セクション */

.lp-reserve{
padding:120px 20px;
text-align:center;
background:#efe9e3;
}

.lp-reserve h2{
font-size:28px;
margin-bottom:20px;
}

.lp-reserve p{
margin-bottom:30px;
line-height:1.8;
}

.lp-reserve-btn{
display:inline-block;
padding:16px 50px;
background:#c9a96e;
color:#fff;
text-decoration:none;
border-radius:50px;
font-weight:bold;
font-size:18px;
transition:0.3s;
animation:followPulse 2s infinite;
}

.lp-reserve-btn:hover{
transform:translateY(-3px);
background:#a8894f;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

/* LP FOOTER */

.lp-footer{

background-image:
linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),
url("../images/gaikan.png");

background-size:cover;
background-position:center;

color:#fff;
text-align:center;

padding:80px 20px;
}

.footer-inner{
max-width:900px;
margin:auto;
}

.footer-logo{
height:240px;
margin-bottom:30px;
}

.footer-address{
line-height:1.8;
margin-bottom:15px;
}

.footer-time{
margin-bottom:30px;
}

.footer-insta{
display:inline-flex;
align-items:center;
gap:8px;

color:#fff;
text-decoration:none;

font-size:18px;
margin-bottom:30px;
}

.footer-insta i{
font-size:22px;
}

.footer-insta:hover{
opacity:0.7;
}

.copyright{
font-size:13px;
opacity:0.8;
}



/* LP ヘッダー戻る */

.back-home{
font-size:14px;
text-decoration:none;
color:#333;
}

.back-home:hover{
opacity:0.6;
}



/* スクロール矢印 */

.scroll-down{

position:absolute;
bottom:40px;
left:50%;

transform:translateX(-50%);

text-align:center;
color:white;

}

.scroll-down span{

display:block;

width:20px;
height:20px;

border-bottom:2px solid white;
border-right:2px solid white;

transform:rotate(45deg);

margin:0 auto;

animation:arrowMove 2s infinite;

}

.scroll-down p{

font-size:12px;
letter-spacing:0.2em;
margin-top:8px;

}

/* 矢印アニメーション */

@keyframes arrowMove{

0%{
transform:rotate(45deg) translate(0,0);
opacity:0;
}

50%{
opacity:1;
}

100%{
transform:rotate(45deg) translate(10px,10px);
opacity:0;
}

}

.fv{
position:relative;
}





/* メニューページ */

.menu-page .lp-header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
}

.menu-page {
  background: #f9f6f2;
  color: #333;
}

.menu-page h2 {
  text-align: center;
  margin: 80px 0 10px;
  font-size: 30px;
  letter-spacing: 0.1em;
}

.menu-page .copy {
  text-align: center;
  margin-bottom: 50px;
  color: #666;
  font-size: 15px;
}



.menu-page .menu-item {
  display: flex;
  gap: 60px;
  align-items: center;
  justify-content: space-between;

  margin: 80px auto;
  max-width: 1100px;
  width: 90%;

  background: #fff;
  padding: 40px;
  border-radius: 10px;
}

.menu-page .menu-image {
  position: relative;
  width: 50%;
}

.menu-page .menu-image img {
  width: 100%;
  border-radius: 10px;
}


.menu-page .chef-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0.08;
}

.menu-page .menu-content {
  width: 50%;
}


.menu-page .badge {
  color: #c9a96e;
  font-weight: bold;
  font-size: 14px;
}



.menu-page .menu-content h3 {
  font-size: 26px;
  margin: 10px 0;
}

.menu-page .menu-content h3 span {
  font-size: 18px;
  margin-left: 10px;
  color: #c9a96e;
}



.menu-page .desc {
  margin-bottom: 15px;
  line-height: 1.8;
}


.menu-page .set-list {
  margin-bottom: 20px;
  padding-left: 20px;
}

.menu-page .set-list li {
  margin-bottom: 6px;
}


.menu-page .chef-name {
  font-size: 12px;
  color: #999;
  margin-bottom: 15px;
}


.menu-page .more {
  font-size: 12px;
  color: #777;
  margin-bottom: 15px;
}

.menu-page .reserve-btn {
  display: block;
  margin: 20px auto 0;

  padding: 12px 28px;
  background: #c9a96e;
  color: #fff;
  text-align: center;

  border-radius: 30px;
  font-weight: bold;
}

.menu-page .reserve-btn:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

.menu-page .menu-content {
  width: 50%;
  position: relative;
}

.menu-page .chef-side {
float: right;
  width: 120px;
  opacity: 0.25;
  margin: 0 0 10px 20px;
}


.menu-page {
  padding-top: 70px;
}

@media (max-width: 768px) {

  .menu-page .menu-item {
    flex-direction: column;
    padding: 20px;
  }

  .menu-page .menu-image,
  .menu-page .menu-content {
    width: 100%;
  }

  .menu-page h2 {
    font-size: 22px;
  }

  .menu-page .menu-content h3 {
    font-size: 20px;
  }

	.menu-page .chef-side {
  position: static;
  width: 80px;
  margin: 10px auto;
  display: block;
}

	.menu-page{
    padding-top:60px;
  }
	
}
	


.course {
  padding: 100px 20px;
  background: #efe9e3;
  text-align: center;
}

.course-box {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  padding: 50px 30px;
  border-radius: 10px;
	border: 1px solid #e0d6cc;
}

.course h3 {
  font-size: 26px;
  margin: 15px 0;
}

.course h3 span {
  font-size: 18px;
  color: #c9a96e;
  margin-left: 10px;
}

.course .desc {
  line-height: 1.8;
  margin-bottom: 20px;
}

.course-list {
  list-style: none;
  margin-bottom: 20px;
  padding: 0;
}

.course-list li {
  margin-bottom: 8px;
}

.course .badge {
  color: #c9a96e;
  font-weight: bold;
}


.reserve-btn {
  transition: all 0.3s ease;
}

.reserve-btn:hover {
  transform: translateY(-3px);
  background: #a8894f;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}


.menu-page .menu-item {
  transition: all 0.4s ease;
}

.menu-page .menu-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}


.menu-page .menu-image img {
  transition: transform 0.5s ease;
}

.menu-page .menu-item:hover .menu-image img {
  transform: scale(1.05);
}


.course-box {
  transition: all 0.4s ease;
}

.course-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}


.menu-page .menu-item {
  border: 1px solid transparent;
}

.menu-page .menu-item {
  border: 1px solid transparent;
}

.menu-page .menu-item:hover {
  border: 1px solid #e0d6cc;
}




.reserve-page {
  background: #f9f6f2;
  padding-top: 70px;
}

.reserve-page .lp-header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
}

.reserve {
  max-width: 600px;
  margin: 80px auto;
  padding: 40px;
  background: #fff;
  border-radius: 10px;
}

.reserve h2 {
  text-align: center;
  margin-bottom: 10px;
}

.reserve .copy {
  text-align: center;
  margin-bottom: 30px;
  color: #666;
}

.reserve-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.reserve-form label {
  font-size: 14px;
}

.reserve-form input,
.reserve-form select,
.reserve-form textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-family: inherit;
}

.reserve-form textarea {
  height: 100px;
}

.reserve-form button {
  margin-top: 20px;
  padding: 12px;
  background: #c9a96e;
  color: #fff;
  border: none;
  border-radius: 30px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
}

.reserve-form button:hover {
  background: #a8894f;
}

.note {
  font-size: 12px;
  color: #777;
  margin-top: 20px;
  text-align: center;
}

.time-note{
  font-size:12px;
  color:#777;
  margin-top:5px;
}