/*
Theme Name: 居酒屋ダイニングRen
Description: イタリアン居酒屋
Version: 1.0
Author: Ren
*/


@charset "UTF-8";

/*CSSライブラリのインポート*/
@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@100;200;300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese");
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');

html {
  font-family: 'Zen Maru Gothic';
}

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

body{
  font-family: "Zen Maru Gothic";
    overflow-x: hidden;
}

header{
  width: 100%;
  height: 150px;
  background-color: #292826;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 高さ中央にpaddingで調整 */
header img{
  width: 160px;
  height: 150px;
  margin: 0 auto 0 140px;
  object-fit: contain;
  max-width: 100%;
  position: relative;
  z-index: 200;
}

nav{
  width: 100%;
  height: 150px;
  justify-content: center;
  position: absolute;
  top:0;
  display: flex;
}

.hamburger-logo{
  display: none;
}

.nav-list{
  height: 150px;
  display: flex;
  justify-content: flex-start;
  line-height: 150px;
  list-style: none;
}

.nav-list-item a{
  margin-right:45px;
  text-align: center;
  color: #fbf5e7!important;
  font-size: 35px;
  font-weight: bold;
  line-height: 150px;
  text-decoration: none;
}

.nav-list-item a:hover{
  border-bottom: solid #fbf5e7 3px!important;
  margin-bottom: 40px;
}

.contact{
  color: #fbf5e7!important;
  font-weight: bold;
  line-height: 50px;
  text-align: right;
  width: 296px;
  padding-top: 20px;
  margin-right: 140px;
  margin-left: auto;
}

.contact-1{
  font-size: 24px;
}

.contact a{
  font-size: 48px;
  color: #fbf5e7!important;
  text-decoration: none;
}

.toggle_btn{
  display: none;
}

@media screen and (max-width: 1376px) {
  body.menu-open {
    overflow: hidden;
  }

  header.activ{
    position: fixed;
    z-index: 200;
  }

  header{
    height: 100px;
  }

  header img{
    height: 100px;
    margin: 0 0 0 25px;
    display: none;
  }

  nav{
    height: 100px;
  }

  .hamburger-logo{
    width: 130px;
    height: 100px;
    display: block;
    object-fit: contain;
    position: relative;
  }

  nav{
    display: none;
    height: auto;
    z-index: 100;
    transform: translateX(100%); /* 初期は画面外に隠す */
    transition: transform 0.5s ease-in-out;
  }

  nav.activ {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background-color: #292826;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    transform: translateX(0); /* メニューが表示される */
    overflow-y: auto; /* ← ココが重要！ */
    -webkit-overflow-scrolling: touch;
  }

  .nav-list{
    height: auto;
    display: block;
    margin-top: 8vh;
    text-align: center;
  }

  .nav-list-item{
    height: 90px;
  }

  .nav-list-item a{
    margin: 0;
    line-height: 70px;
  }

  .contact{
    margin: 50px auto 258px auto;
    display: block;
    text-align: center;
  }


  .toggle_btn{
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 1000;
    cursor: pointer;
    top: 15px;
    right: 25px;
    width: 70px;
    height: 70px;
  }

  .toggle_btn span, .toggle_btn span:before, .toggle_btn span:after {
    content: '';
    display: block;
    height: 8px;
    width: 70px;
    border-radius: 4px;
    background: #fbf5e7;
    transition: 0.5s;
    position: absolute;
  }

  .toggle_btn span:before {
    bottom: 20px;
  }

  .toggle_btn span:after {
    top: 20px;
  }

  .toggle_btn.activ span{
    background: rgba(255, 255, 255, 0);
  }

  .toggle_btn.activ span::before {
    bottom: 0;
    transform: rotate(45deg);
    z-index: 100;
    background: #fbf5e7;
  }

  .toggle_btn.activ span::after {
    top: 0;
    transform: rotate(-45deg);
    z-index: 100;
    background: #fbf5e7;
 }
}

.main-visual{
  margin: 0 auto;
  clip-path: none;
  width: 100%;
  height: 800px;
  position: relative;
}

.left{
  background-image: url(img/background/top.png);
  width: 50vw;
  height: 800px;
  object-fit: cover;
  max-width: 100%;
  /* 重なり順 */
  position: absolute;
  z-index: 0;
}

.right{
  position: relative;
  width: 50vw;
  height: 800px;
  object-fit: cover;
  max-width: 100%;
  margin: 0 0 0 auto;
  z-index: 20;
}

.slick-slide{
  list-style: none;
  width: 100%;
  height: 100%;
  /* 重なり順 */
  position: absolute;
  z-index: 30;
}

.slick-slide img{
  width: 100%;
  height: 100%;
  animation: linear infinite;
}

.main-visual-text{
  position: absolute; /* 絶対位置に設定 */
  top: 280px; /* 画面の上部に配置 */
  left: 0;
  width: 800px;
  height: 400px;
  margin-left: 140px;
  z-index: 80; /* 重なり順を調整 */
}

.main-visual-text-1{
  /* 重なり順 */
  position: absolute;
  z-index: 90;
  font-size: 5vw;
  color:#efe32d!important;
  text-shadow:
    8px 8px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10!important;
  -webkit-text-stroke: 0.1px #fbf5e7!important;
  letter-spacing:-5px;
  padding-left: 10px;
  font-weight: bold;
}

.main-visual-text-2{
  /* 重なり順 */
  position: absolute;
  z-index: 90;
  margin-top: 150px;
  line-height: 400%;
}

.yellow{
  font-size: 6.5vw;
  color:#efe32d!important;
  text-shadow:
    8px 8px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10!important;
  -webkit-text-stroke: 0.1px #fef5e7!important;
  letter-spacing:-7px;
  font-weight: bold;
}

.yellow-1{
  font-size: 6.5vw;
  color:#efe32d!important;
  text-shadow:
    8px 8px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10!important;
  -webkit-text-stroke: 0.1px #fef5e7!important;
  letter-spacing:-40px;
  font-weight: bold;
}

.white{
  font-size: 6.5vw;
  color:#fbf5e7!important;
  text-shadow:
    8px 8px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10!important;
  -webkit-text-stroke: 0.1px #fbf5e7!important;
  font-weight: bold;
}

.white-1{
  font-size: 6.5vw;
  color:#fbf5e7!important;
  text-shadow:
    8px 8px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10!important;
  -webkit-text-stroke: 0.1px #fbf5e7!important;
  letter-spacing:-20px;
  font-weight: bold;
}

.small{
  font-size: 4vw;
  color:#fbf5e7!important;
  text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10!important;
  -webkit-text-stroke: 0.1px #fbf5e7!important;
  font-weight: bold;
  letter-spacing: -10px;
}

@media (min-width: 821px) and (max-width: 1376px){
  .main-visual{
    height: 650px;
  }

  .left{
    height: 650px;
  }

  .right{
    height: 650px;
  }

  .main-visual-text{
    top: 255px; /* 画面の上部に配置 */
    height: 350px;
  }

  .main-visual-text-1{
    text-shadow:
    5px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-2px;
  }

  .main-visual-text-2{
    margin-top: 123px;
  }

  .yellow{
    text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-3px;
  }

  .yellow-1{
    text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-26px;
  }

  .white-1{
    text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-10px;
  }

  .small{
    text-shadow:
    5px 5px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing: -5px;
  }
}

@media (min-width: 481px) and (max-width: 820px){
  .main-visual{
    height: 550px;
  }

  .left{
    height: 550px;
  }

  .right{
    height: 550px;
  }

  .main-visual-text{
    top: 240px; /* 画面の上部に配置 */
    height: auto;
    width: 100%;
    margin-left: 0;
  }

  .main-visual-text-1{
    text-shadow:
    5px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-2px;
    width: 100%;
    padding-left: 110px;
  }

  .main-visual-text-2{
    margin-top: 73px;
    width: 100%;
    padding-left: 110px;
  }

  .yellow{
    text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-3px;
  }

  .yellow-1{
    text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-26px;
  }

  .white-1{
    text-shadow:
    7px 7px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing:-10px;
  }

  .small{
    text-shadow:
    5px 5px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
    letter-spacing: -5px;
  }
}

@media screen and (max-width: 480px) {
  .main-visual{
    margin: 0 auto;
    height: 400px;
  }

  .left{
    background-image: url(img/background/top2.jpg);
    z-index: 21;
    top: 195px;
    height: 165px;
    margin: 0 25px;
    width: 315px;
    display: none;
  }

  .right{
    width: 100%;
    height: 400px;
    margin: 0 auto;
  }


  .slick-slide img{
    height: 400px;
  }

  .main-visual-text{
    top: 0;
    width: auto;
    height: auto;
    margin-left: 0;
    position: absolute;
  }

  .main-visual-text-1{
    font-size: 4vw;
    padding-left: 0;
    -webkit-text-stroke: 0;
    margin-top: 10px;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    letter-spacing: normal;
    right: -41vw;
    position: relative;
  }

  .main-visual-text-2{
    /* 重なり順 */
    margin-top: 10px;
    line-height: 215%;
    position: relative;
    right: -40vw;
  }

  .yellow{
    font-size: 7.5vw;
    letter-spacing:-4px;
    -webkit-text-stroke: 0;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }

  .yellow-1{
    font-size: 7.5vw;
    letter-spacing:-17px;
    -webkit-text-stroke: 0;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }

  .white{
    font-size: 7.5vw;
    -webkit-text-stroke: 0;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }

  .white-1{
    font-size: 7.5vw;
    letter-spacing:-9px;
    -webkit-text-stroke: 0;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }

  .small{
    font-size: 4vw;
    letter-spacing: -4px;
    -webkit-text-stroke: 0;
    color: rgba(255, 255, 255, 1);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  }
}

.main-2{
  clear: both;
  margin: auto;
  width: 100%;
  position: relative;
}

.news{
  margin-top: -70px;
  position: absolute;
  z-index: 150;
}

.news-1{
  background-image: url(img/background/news.jpg);
  background-size: 100% auto;
  background-repeat: round;
  background-position: center top;
  margin: 0 auto 0 0;
  padding: 26.5px 25px 0 190px;
  box-shadow: 10px 10px 8px 0 rgba(0,0,0,50%);
  height: auto;
}

.news-2{
  display: flex;
}

.news-3{
  margin-top: 0;
  display: flex;
}

.news-4{
  width: 180px;
  height: 130px;
}

.news-4 img{
  width: 180px;
  height: 130px;
  object-fit: cover;
  max-width: 100%;
}

.news-6{
  margin-left: 30px;
}

.news-text{
  color: #fbf5e7;
  font-size: 16px;
}

.news-subtitle{
  color: #fbf5e7;
  margin: 20px 0 20px 0;
  font-size: 24px;
  width: 400px;
  line-height: 15px;
}

.news-5{
  margin: 0 0 25px 280px;
}

.news-5 a{
  width: 116px;
  height: 41px;
  display: block;
}

@media (min-width: 481px) and (max-width: 820px){
  .news{
    margin-top: -35px;
  }

  .news-1{
    background-image: url(img/background/news3.jpg);
    padding: 26.5px 25px 0 95px;
  }
}

@media screen and (max-width: 480px) {
  .news{
    display: block;
    margin-top: 0;
    width: 100%;
  }

  .news-1{
    background-image: url(img/background/news2.jpg);
    margin: 40px 25px;
    padding: 16.5px 0;
  }

  .news-4{
    display: none;
  }

  .news-6{
    margin-left: 65px;
  }

  .news-text{
    color: #fbf5e7;
    font-size: 10px;
  }

  .news-subtitle{
    color: #fbf5e7;
    margin: 10px 0;
    font-size: 16px;
    width: 260px;
  }

  .news-5{
    margin:0 0 0 140px;
  }
}

.restaurant{
  background-image: url(img/background/restaurant.jpg);
  background-size: 100% auto;
  background-repeat: round;
  background-position: center top;
  object-fit: cover;
  width: 100%;
  height: 1200px;
  padding: 200px 140px;
}

.restaurant p{
  font-size: 24px;
  line-height: 1.2em;
  color: #381d10;
  position: relative;
  width: 820px;
  height: 200px;
  margin-top: 175px;
}

.slider{
  display: flex;
  gap: 25px;
  position: absolute;
  margin-top: 25px;
}

.slider img{
  object-fit: cover;
  width: 430px;
  height: 400px;
  box-shadow: 0 0 8px 4px rgba(0, 0, 0, 50%);
}

.kanban{
  display: none;
}

.swiper-button-next , .swiper-button-prev {
  display: none;
}

@media (min-width: 1520px) and (max-width: 1920px){
  .restaurant{
    padding: 200px 240px;
  }
}

@media (min-width: 481px) and (max-width: 1376px){
  .restaurant{
    background-image: url(img/background/restaurant_4.png);
    height: 945px;
    padding: 100px 25px;
  }

  .restaurant p {
    width: 665px;
    height: 200px;
    margin-top: 220px;
    line-height: 1.8em;
  }

  .restaurant br{
    display: none;
  }

  .slider img{
    width: 330px;
    height: 300px;
  }
}

@media (min-width: 481px) and (max-width: 820px){
  .restaurant p {
    width: 530px;
    height: 235px;
  }

  .slider img{
    width: 255px;
    height: 225px;
  }
}

@media screen and (max-width: 480px) {
  .restaurant{
    background-image: url(img/background/restaurant_3.png);
    height: auto;
    padding: 100px 25px;
  }

  .restaurant p {
    font-size: 16px;
    line-height: 1.8em;
    position: relative;
    width: auto;
    height: auto;
    margin-top: 200px;
  }

  .restaurant br{
    display: none;
  }

  .slider {
    width: 100%;
    height: 300px;
    position: relative;
  }

  .slider div {
    width: 47vw;
    text-align: center;
  }

  .slider img {
    width: 100%;
    height: 64vw;
  }

  .kanban{
    display: block;
    margin-top: -300px;
    z-index: 100;
    position: relative;
    text-align: right;
  }

  .kanban img{
    width: 41.5vw;
  }

  /* Swiperのカスタム矢印 */
  .swiper-button-next::after{
    content: " > "!important; /* 矢印を明示的に指定 */
    font-size: 24px!important;
    color: #FAF4E6!important;  /* 矢印の色 */
    font-weight: bold!important;
    display: block!important;
    text-align: center!important;
  }

  .swiper-button-prev::after {
    content: " < "!important; /* 矢印を明示的に指定 */
    font-size: 24px!important;
    color: #FAF4E6!important;  /* 矢印の色 */
    font-weight: bold!important;
    display: block!important;
    text-align: center!important;
  }

   /* カスタム矢印 */
  .swiper-button-prev, .swiper-button-next {
    border: none!important;
    position: absolute!important;
    top: 73%!important;
    cursor: pointer!important;
    display: block!important;
    z-index: 100!important;
  }

  .swiper-button-prev { left: 23px!important; }
  .swiper-button-next { right: 47%!important; }

  .swiper-pagination {
    position: absolute!important;
    bottom: 10px!important;  /* 下に配置 */
    text-align: center!important;
    display: block!important;
  }
}

#menu{
  background-image: url(img/background/MENU.png);
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  gap: 100px;
  padding: 200px 140px;
  margin: 0 auto;
  background-size: 100% auto;
  background-repeat: round;
  background-position: center top;
}

.menu-item{
  list-style: none;
  text-align: center;
  width: auto;
  height: 985px;
}

@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-3deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

/* アニメーションを停止している状態 */
.signboard{
  margin-bottom: 70px;
  max-width: 380px;
  height: 202px;
  transform-origin: center top; /* 回転の基準を上部中央に */
}

/* アニメーションを動かすためのクラス */
.smooth-swing {
  animation: swing 3s linear infinite; /* アニメーションを適用 */
}

.nomal{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ipad{
  display: none;
}

.menu-img{
  box-shadow: 0 0 8px 4px rgba(0, 0, 0, 50%);
  margin-bottom: 70px;
  max-width: 380px;
  height: 315px;
}

.menu-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-text{
  height: 170px;
  margin-bottom: 70px;
}

.menu-text p{
  font-size: 24px;
  line-height: 1.2em;
  color: #381d10;
  width: 390px;
  height: 100%;
  text-align: left;
}

.menu-br{
  display: block;
}

.more-button{
  margin: 0 auto;
  width: 300px;
  height: 117px;
  list-style: none;
}

.more-button a{
  display: block;
  width: 100%;
  height: 100%;
  line-height: 105px;
  font-size: 48px;
  text-decoration: none;
  background-color: #FAF4E6;
  color: #2F2E2C;
  text-align: center;
  cursor: pointer;
  margin-top: -5px;
  box-shadow: 10px 10px 0 #2F2E2C;
  border-radius: 5px;
  font-weight: bold;
  border: solid 4px #2F2E2C;
  border-radius: 29px;
}

.more-button a:hover{
  transform: translateY(5px);
  box-shadow: 5px 5px 0 #2F2E2C;
}

.more-button-1{
  margin: 0 auto;
  width: 300px;
  height: 117px;
  list-style: none;
  position: absolute;
  z-index: 100;
  bottom: 25px;
  left: 33px;
}

.more-button-1 a{
  display: block;
  width: 100%;
  height: 100%;
  line-height: 105px;
  font-size: 48px;
  text-decoration: none;
  background-color: #FAF4E6;
  color: #2F2E2C;
  text-align: center;
  cursor: pointer;
  margin-top: -5px;
  box-shadow: 10px 10px 0 #2F2E2C;
  border-radius: 5px;
  font-weight: bold;
  border: solid 4px #2F2E2C;
  border-radius: 29px;
}

.more-button-1 a:hover{
  transform: translateY(5px);
  box-shadow: 5px 5px 0 #2F2E2C;
}

@media screen and (max-width: 480px){
  #menu{
    background-image: url(img/background/MENU2.png);
    display: grid;
    padding: 100px 25px 30px 25px;
    gap: 0;
  }

  .menu-item{
    height: 100%;
  }

  .menu-img{
    max-width: 100%;
    margin-bottom: 35px;
  }

  .menu-text{
    height: auto;
    margin-bottom: 35px;
  }

  .menu-text p{
    font-size: 16px;
    line-height: 1.8em;
    width: auto;
  }

  .menu-text br{
    display: none;
  }

  .more-button{
    width: 325px;
    height: 70px;
    margin-bottom: 70px;
  }

  .more-button a{
    line-height: 55px;
    font-size: 38px;
  }

  .more-button-1{
    width: 75vw;
    height: 70px;
    bottom: 50px;
    left: 15px;
  }

  .more-button-1 a{
    line-height: 55px;
    font-size: 38px;
  }
}



@media (min-width: 1000px) and (max-width: 1376px){
  #menu{
    background-image: url(img/background/MENU6.png);
    gap: 4vw;
    padding: 100px 25px;
  }

  .menu-item{
    height: auto;
    width: auto;
  }

  .nomal{
    display: none;
  }

  .ipad{
    display: block;
    width: 100%;
    height: 100%;
  }

  .menu-img{
    max-width: 278px;
    height: 213px;
  }

  .menu-text{
    height: 180px;
    margin-bottom: 0;
  }

  .menu-text br{
    display: none;
  }

  .menu-text p{
    line-height: 1.8em;
    width: auto;
    max-width: 278px;
  }

  .more-button{
    max-width: 100%;
    height: 117px;
    margin-top: 70px;
  }

  .more-button a{
    display: block;
    width: 100%;
    height: 100%;
    line-height: 105px;
    font-size: 48px;
    text-decoration: none;
    background-color: #FAF4E6;
    color: #2F2E2C;
    text-align: center;
    cursor: pointer;
    margin-top: -5px;
    box-shadow: 10px 10px 0 #2F2E2C;
    border-radius: 5px;
    font-weight: bold;
    border: solid 4px #2F2E2C;
    border-radius: 29px;
  }

  .more-button a:hover{
    transform: translateY(5px);
    box-shadow: 5px 5px 0 #2F2E2C;
  }

  .more-button-1{
    max-width: 261px;
    height: 100px;
    bottom: 20px;
    left: 10px;
  }

  .more-button-1 a{
    line-height: 85px;
  }
}

@media (min-width: 481px) and (max-width: 999px){
  #menu{
    background-image: url(img/background/MENU6.png);
    gap: 4vw;
    padding: 100px 25px;
  }

  .menu-item{
    height: auto;
    width: 218px;
  }

  .nomal{
    display: none;
  }

  .ipad{
    display: block;
    width: 100%;
    height: 100%;
  }

  .menu-img{
    max-width: 278px;
    height: 213px;
  }

  .menu-text{
    height: 180px;
    margin-bottom: 0;
  }

  .menu-text br{
    display: none;
  }

  .menu-text p{
    line-height: 1.3em;
    width: auto;
    max-width: 278px;
  }

  .more-button{
    max-width: 100%;
    height: 117px;
    margin-top: 70px;
  }

  .more-button a{
    display: block;
    width: 100%;
    height: 100%;
    line-height: 105px;
    font-size: 48px;
    text-decoration: none;
    background-color: #FAF4E6;
    color: #2F2E2C;
    text-align: center;
    cursor: pointer;
    margin-top: -5px;
    box-shadow: 10px 10px 0 #2F2E2C;
    border-radius: 5px;
    font-weight: bold;
    border: solid 4px #2F2E2C;
    border-radius: 29px;
  }

  .more-button a:hover{
    transform: translateY(5px);
    box-shadow: 5px 5px 0 #2F2E2C;
  }

  .more-button-1{
    max-width: 195px;
    height: 75px;
    bottom: 15px;
    left: 10px;
  }

  .more-button-1 a{
    line-height: 65px;
    font-size: 36px;
  }
}

.course{
  background-image: url(img/background/course.png);
  background-size: 100% auto;
  background-repeat: round;
  background-position: center top;
}

.course h3{
  font-size: 64px;
  color: #fbf5e7;
  font-weight: bold;
  text-align: center;
  padding-top: 200px;
  border-bottom: solid #fbf5e7 2px;
  padding-bottom: 20px;
  width: 704px;
  margin: 0 auto;
}


.course_text_p{
  font-size: 24px;
  color: #fbf5e7;
  font-weight: bold;
  text-align: center;
  padding-top: 50px;
  line-height: 1.2em;
}

.course-signboard3 {
  position: relative;
}

.course-signboard{
  display: flex; /* 子要素を横並びにする */
  justify-content: center; /* 子要素を中央揃えにする */
  gap: 70px;
  padding: 70px 0;
}

.course-signboard img{
  width: 370px;
  height: auto;
  position: relative;
  display: inline-block;
}

.course_subtext{
  font-size: 24px;
  color: #fbf5e7;
  font-weight: bold;
  text-align: left;
  margin: 0 auto;
  padding-bottom: 200px;
  line-height: 1.1em;
  border-top: solid #fbf5e7 2px;
  padding-top: 20px;
  width: 816px;
}

@media screen and (max-width: 480px){
  .course{
    background-image: url(img/background/course_phone.png);
  }

  .course h3{
    font-size: 24px;
    padding-top: 100px;
    border-bottom: solid #fbf5e7 2px;
    width: 265px;
  }


  .course_text_p{
    font-size: 16px;
    text-align: left;
    line-height: 1.8em;
    width: 325px;
    margin: 0 auto;
  }

  .course_text_p br{
    display: none;
  }

  .course-signboard{
    display: grid;
    gap: 15px;
    padding: 70px 30px;
  }

  .course-signboard img{
    width: 100%;
    height: auto;
  }

  .course_subtext{
    font-size: 16px;
    padding-bottom: 100px;
    line-height: 1.8em;
    width: 325px;
  }
}

@media (min-width: 481px) and (max-width: 820px){
  .course{
    background-image: url(img/background/course_tab.png);
  }

  .course h3{
    font-size: 56px;
    padding-top: 100px;
  }

  .course-signboard{
    gap: 4vw;
  }

  .course-signboard img{
    width: 220px;
  }

  .course_subtext{
    width: 710px;
    padding-bottom: 100px;
  }

  .course_text_p{
    line-height: 20px;
  }
}

@media (min-width: 821px) and (max-width: 1376px){
  .course{
    background-image: url(img/background/course_tab.png);
  }

  .course h3{
    padding-top: 100px;
  }

  .course-signboard{
    gap: 4vw;
  }

  .course-signboard img{
    width: 290px;
  }

  .course_subtext{
    padding-bottom: 100px;
  }

  .course_text_p{
    line-height: 20px;
  }
}

#restaurant-inside{
  background-image: url(img/background/restaurant-inside.jpg);
  background-size: 100% auto;
  background-repeat: round;
  background-position: center top;
  width: 100%;
  padding-bottom: 200px;
}

.restaurant-inside-text{
  display: inline-block;
  margin: 200px auto 100px auto;
  text-align: center;
  width: -webkit-fill-available;
}

.restaurant-inside-text span{
  font-size: 64px;
  font-weight: bold;
  color: #fbf5e7;
  display: inline-block;
  background-color: #2a2827;
  line-height: 150%;
  margin: 5px;
  width: 100px;
  height: 100px;
}

.restaurant-inside-img{
  width: 100%;
  height: 375px;
  padding: 0 140px 70px 140px;
  object-fit: cover;
}

.guidance,.guidance1{
  display: flex;
  padding: 0 140px 20px 140px;
}

.guidance img,.guidance1 img{
  width: 99%;
  height: 357px;
  object-fit: cover;
  padding-top: 25px;
}

.guidance-text{
  width: 100%;
  text-align: center;
}

.guidance-text h5{
  font-size: 6.5vw;
  font-weight: bold;
  color:#efe32d;
  text-shadow:
    6px 6px 0 #381d10,
    -2px 2px 0 #381d10,
    2px -2px 0 #381d10,
    -2px -2px 0 #381d10;
  -webkit-text-stroke: 0.1px #fbf5e7;
  letter-spacing:-5px;
  padding-bottom: 13px;
}

.guidance_text_p p{
  font-size: 24px;
  line-height: 1.2em;
  color: #381d10;
  width: auto;
  text-align: left;
  padding-left: 40px;
}

.guidance_text_p,.guidance_text_2{
  height: 201px;
}

.guidance_text_2 p{
  font-size: 24px;
  line-height: 1.2em;
  color: #381d10;
  width: auto;
  text-align: center;
}

@media screen and (max-width: 480px) {
  /* background変更する */
  #restaurant-inside{
    background-image: url(img/background/restaurant-inside_2.png);
    padding-bottom: 75px;
  }

  .restaurant-inside-img{
    display: none;
  }

  .restaurant-inside-text{
    margin: 100px auto 70px auto;
  }

  .restaurant-inside-text span{
    font-size: 24px;
    line-height: 1.3em;
    width: 31px;
    height: 31px;
  }

  .restaurant-inside-img{
    padding: 0 25px 70px 25px;
  }

  .guidance{
    margin: 0 25px 40px 25px;
    padding: 0;
    display: block;
    box-shadow:  0 0 8px 4px rgba(0, 0, 0, 20%);
  }

  .guidance1{
    margin: 0 25px 40px 25px;
    padding: 0;
    box-shadow:  0 0 8px 4px rgba(0, 0, 0, 20%);
    flex-direction: column-reverse;
  }

  .guidance img,.guidance1 img{
    width: 100%;
    padding-top: 0;
  }

  .guidance-text{
    width: auto;
    height: 100%;
  }

  .guidance-text h5{
    font-size: 24px;
    line-height: 1.3em;
    text-shadow:
      2px 2px 0 #381d10,
      -1px 1px 0 #381d10,
      1px -1px 0 #381d10,
      -1px -1px 0 #381d10;
    -webkit-text-stroke: 0.6px #fbf5e7;
    letter-spacing:-1px;
  }

  .guidance_text_p p{
    font-size: 16px;
    line-height: 1.8em;
    padding-left: 0;
  }

  .guidance_text_p br,.guidance_text_2 br{
    display: none;
  }

  .guidance_text_p,.guidance_text_2{
    height: auto;
  }

  .guidance_text_2 p{
    font-size: 16px;
    line-height: 1.8em;
    text-align: left;
  }
}

@media (min-width: 481px) and (max-width: 1376px){
  #restaurant-inside{
    background-image: url(img/background/restaurant-inside_3.png);
    padding-bottom: 100px;
  }

  .restaurant-inside-text{
    margin: 100px auto 100px auto;
  }

  .restaurant-inside-text span{
    font-size: 51px;
    line-height: 1.3em;
    width: 70px;
    height: 70px;
  }

  .restaurant-inside-img{
    padding: 0 25px 70px 25px;
  }

  .guidance,.guidance1{
    padding: 0 25px 15px 25px;
  }

  .guidance img,.guidance1 img{
    height: 390px;
    width: 50%;
  }

  .guidance-text{
    height: auto;
    width: 50%;
  }

  .guidance-text h5{
    line-height: 1.3em;
    text-shadow:
      2px 2px 0 #381d10,
      -1px 1px 0 #381d10,
      1px -1px 0 #381d10,
      -1px -1px 0 #381d10;
    -webkit-text-stroke: 0.6px #fbf5e7;
    letter-spacing:-1px;
  }

  .guidance_text_p p{
    font-size: 24px;
    line-height: 1.8em;
    padding-left: 15px;
  }

  .guidance_text_2 p{
    font-size: 24px;
    line-height: 1.8em;
    text-align: left;
    padding-right: 15px;
  }

  .guidance_text_p br,.guidance_text_2 br{
    display: none;
  }

  .guidance_text_p,.guidance_text_2{
    height: auto;
  }
}

@media (min-width: 1520px) and (max-width: 1920px){
  .restaurant-inside-img{
    padding: 0 240px 70px 240px;
  }

  .guidance{
    margin: 0 0 40px 0;
  }

  .guidance,.guidance1{
    display: flex;
    padding: 0 240px 15px 240px;
  }
}

footer{
  background-image: url(img/background/footer.png);
  background-size: cover;
  background-position: center;
  width: 100%;
  padding: 100px 0;
}

.footer-1{
  background-image: url('https://ren2022.main.jp/wp-content/themes/ren_php/img/background/footer_top.png');
  display: flex;
  justify-content: center; /* 水平方向中央揃え */
  align-items: center;    /* 垂直方向中央揃え */
  height: 100%;           /* 高さを親要素に合わせる */
}

.link-btn{
  display: flex;
  margin: 100px auto 0 auto;
  gap: 377px;
  list-style: none;
}

.link-btn li{
  transition: all 0.35s ease;
  width: 300px;
  height: 117px;
}

.link-btn a{
  line-height: 105px;
  font-size: 48px;
  text-decoration: none;
  background-color: #2F2E2C;
  color: #FAF4E6;
  text-align: center;
  cursor: pointer;
  margin-top: -5px;
  box-shadow: 10px 10px 0 #FAF4E6;
  border-radius: 5px;
  font-weight: bold;
  border: solid 4px #FAF4E6;
  border-radius: 29px;
  display: block;
}

.link-btn a:hover{
  transform: translateY(5px);
  box-shadow: 5px 5px 0 #FAF4E6;
}

.link-btn span{
  line-height: 105px;
  font-size: 48px;
  text-decoration: none;
  background-color: #2F2E2C;
  color: #FAF4E6;
  text-align: center;
  cursor: pointer;
  margin-top: -5px;
  box-shadow: 10px 10px 0 #FAF4E6;
  border-radius: 5px;
  font-weight: bold;
  border: solid 4px #FAF4E6;
  border-radius: 29px;
  display: block;
}

.link-btn span:hover{
  transform: translateY(5px);
  box-shadow: 5px 5px 0 #FAF4E6;
}

.link-btn span.copied {
  font-size: 40px;
}

.footer-2{
  display: flex;
  margin: 0 auto;
  justify-content: space-between; /* 子要素の間隔を自動調整 */
  width: 1500px;
}

.left-1{
  margin-left: 140px;
}

.footer-img img{
  width: 509px;
  height: auto;
  position: relative;     /* 要素の重なり防止 */
  object-fit: cover;
  padding: 0 50px 100px 50px;
}

.footer-tel{
  width: 100%;
  height: auto;
  display: inline-block;   /* テキストの幅に合わせた枠を作る */
  padding: 25px 0;       /* 枠と文字の間に余白を作る */
  border: 2px solid #fcf6e8;  /* 枠線のスタイル */
  border-radius: 0;        /* 角を丸めない（四角のまま） */
  background-color: transparent; /* 背景色を透明にする */
}

.tel-1{
  font-size: 35px;
  font-weight: bold;
  line-height: 115%;
  color: #fcf6e8;
  text-align: center;
  margin-bottom: 20px;
}

.footer-tel dd{
  display: flex;
  align-items: center;    /* 縦方向に中央揃え */
  justify-content: center; /* 横方向も中央揃え */
  gap: 15px;              /* imgとspanの間に余白を追加 */
  position: relative;     /* 要素の重なり防止 */
}

.footer-tel img{
  width: 76px;
  height: 76px;
  position: relative;     /* 要素の重なり防止 */
  object-fit: cover;
}

.footer-tel span a{
  font-size: 64px;
  font-weight: bold;
  line-height: 115%;
  color: #fcf6e8;
  position: relative;     /* 要素の重なり防止 */
  text-decoration: none;
}

.sns{
  display: flex; /* 子要素を横並びに */
  gap: 100px; /* アイコン間のスペース */
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 100px 0 20px 0;
  width: 505px;
}

.footer-sns{
  list-style: none;
}

.footer-sns a{
  display: flex;
  width: 76px;
  height: 76px;
}

.footer-sns img{
  width: 76px;
  height: 76px;
  object-fit: cover;
}

.sns-text{
  color: #fcf6e8;
  font-size: 20px;
  text-align: center;
  width: 505px;
}

.right-1{
  margin-right: 140px;
  color: #fcf6e8;
  font-size: 24px;
  font-weight: bold;
  line-height: 135%;
}

.right-1 dl{
  display: flex;
  padding-bottom: 30px;
}

.right-1 dt{
  width: 215px;
}

.right-1 dd{
  flex: 1;
  text-align: left; /* 左揃え */
  margin: 0; /* デフォルトの余白をリセット */
  line-height: 0.8em;
}

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

.tel-br{
  display: none;
}

@media screen and (max-width: 480px) {
  footer{
    width: 100%;
    padding: 100px 25px ;
  }

  .link-btn{
    margin: 100px auto 0 auto;
    gap: 0;
    display: block;
  }

  .link-btn li{
    width: 325px;
    height: 70px;
    margin-bottom: 70px;
  }

  .link-btn a{
    line-height: 70px;
    font-size: 38px;
  }

  .link-btn span{
    line-height: 70px;
    font-size: 38px;
  }

  .link-btn span.copied {
    font-size: 38px;
  }

  .footer-2{
    display:block;
    width: 100%;
  }

  .left-1{
    margin: 0;
  }

  .footer-img img{
    width: 100%;
    padding: 0 0 40px 0;
  }

  .footer-tel{
    align-items: center;
    display: grid;
  }

  .tel-1{
    font-size: 28px;
  }

  .footer-tel img{
    width: 44px;
    height: 44px;
  }

  .footer-tel span a{
    font-size: 42px;
  }

  .sns{
    margin: 40px 0 20px 0;
    width: 100%;
  }

  .footer-sns{
    list-style: none;
  }

  .footer-sns a{
    display: flex;
    width: 76px;
    height: 76px;
  }

  .footer-sns img{
    width: 76px;
    height: 76px;
    object-fit: cover;
  }

  .sns-text{
    width: 100%;
    font-size: 15px;
  }

  .right-1{
    margin-right: 0;
    font-size: 16px;
    margin-top: 70px;
  }

  .right-1 dt{
    width: 38%;
  }

  .span-7 br{
    display: none;
  }
}

@media (min-width: 481px) and (max-width: 820px){
  .link-btn span{
    font-size: 44px;
  }

  .link-btn span.copied {
    font-size: 36px;
  }

  .left-1{
    width: 31%;
  }

  .tel-br{
    display: block;
  }
  .sns{
    gap: 50px;
  }

  .span-7 br{
    display: none;
  }
}

@media (min-width: 481px) and (max-width: 1376px) {
  footer{
    width: 100%;
    padding: 100px 25px ;
  }

  .link-btn{
    gap: 17vw;
  }

  .footer-2{
    width: 100%;
  }

  .left-1 {
    margin: 0 25px 0 0;
  }

  .footer-img img{
    width: 100%;
    padding: 0 0 100px 0;
  }

  .footer-tel{
    align-items: center;
    display: grid;
  }

  .tel-1{
    font-size: 28px;
  }

  .footer-tel img{
    width: 44px;
    height: 44px;
  }

  .footer-tel span a{
    font-size: 45px;
  }

  .sns{
    margin: 100px 0 20px 0;
    width: 100%;
  }

  .footer-sns{
    list-style: none;
  }

  .footer-sns a{
    display: flex;
    width: 76px;
    height: 76px;
  }

  .footer-sns img{
    width: 76px;
    height: 76px;
    object-fit: cover;
  }

  .sns-text{
    width: 100%;
  }

  .right-1{
    margin-right: 0;
    font-size: 24px;
  }

  .right-1 dt{
    width: 33%;
  }

  .span-7 br{
    display: none;
  }
}

.scroll-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 70px;
  height: 70px;
  background: #fcf6e8;
  color: #2F2E2C;
  font-size: 52px;
  text-align: center;
  line-height: 50px;
  cursor: pointer;
  display: none; /* 最初は非表示 */
  transition: opacity 0.3s ease-in-out;
  padding-top: 7px;
  text-decoration: none;
}

.scroll-top:hover {
  background: #2F2E2C;
  color: #fcf6e8;
}

.scroll-top.show {
  display: block;
  opacity: 1;
}
